diff --git a/.gitignore b/.gitignore
index 1260266..b4253b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -203,3 +203,8 @@ minio-data/
# Browser test output
playwright-report/
test-results/
+
+.graphify_python
+.graphify_root
+cost.json
+graphify-out/cache/
\ No newline at end of file
diff --git a/.kilo/kilo.json b/.kilo/kilo.json
new file mode 100644
index 0000000..2dafe5b
--- /dev/null
+++ b/.kilo/kilo.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "https://app.kilo.ai/config.json",
+ "plugin": [
+ "file:///home/k1nq/repos/finance/.kilo/plugins/graphify.js"
+ ],
+ "mcp": {
+ "graphify": {
+ "type": "local",
+ "command": [
+ "/home/k1nq/.local/bin/graphify-mcp",
+ "/home/k1nq/repos/finance/graphify-out/graph.json"
+ ],
+ "enabled": true,
+ "timeout": 10000
+ }
+}
+}
\ No newline at end of file
diff --git a/frontend/.dockerignore b/frontend/.dockerignore
new file mode 100644
index 0000000..e5dd0c2
--- /dev/null
+++ b/frontend/.dockerignore
@@ -0,0 +1,8 @@
+node_modules
+dist
+.eslintcache
+coverage
+playwright-report
+test-results
+.env
+.env.*
diff --git a/frontend/package.json b/frontend/package.json
index 35c3bca..dabbd76 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -43,8 +43,5 @@
"typescript-eslint": "^8.33.0",
"vite": "^6.3.5",
"vitest": "^3.2.0"
- },
- "allowScripts": {
- "esbuild@0.25.12": true
}
}
diff --git a/frontend/pnpm-workspace.yaml b/frontend/pnpm-workspace.yaml
new file mode 100644
index 0000000..e89b8fe
--- /dev/null
+++ b/frontend/pnpm-workspace.yaml
@@ -0,0 +1,2 @@
+allowBuilds:
+ esbuild@0.25.12: true
diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json
new file mode 100644
index 0000000..a2f2b6b
--- /dev/null
+++ b/graphify-out/.graphify_labels.json
@@ -0,0 +1,64 @@
+{
+ "0": "Identity and Configuration",
+ "1": "Budget Domain Services",
+ "2": "Database Models",
+ "3": "Database Context and Exports",
+ "4": "Statement Import Services",
+ "5": "Parser Adapters",
+ "6": "Ledger Services",
+ "7": "API Domain Types",
+ "8": "Authentication UI",
+ "9": "Ledger API",
+ "10": "Import Review UI",
+ "11": "TypeScript Configuration",
+ "12": "Analytics UI",
+ "13": "API and Analytics",
+ "14": "Frontend Development Dependencies",
+ "15": "Accounts UI",
+ "16": "Frontend Runtime Dependencies",
+ "17": "Import Detail Mutations",
+ "18": "Operations UI",
+ "19": "Query Keys and Operations",
+ "20": "Frontend Bootstrap",
+ "21": "Frontend Test Support",
+ "22": "Budget UI",
+ "23": "HTTP API Client",
+ "24": "Form Fields",
+ "25": "Infrastructure and CI",
+ "26": "Core Finance Domain",
+ "27": "Frontend Scripts",
+ "28": "Settings and Data Lifecycle",
+ "29": "Budget Allocation Model",
+ "30": "MVP and Import Design",
+ "31": "Data Security and Recovery",
+ "32": "Ledger Concepts",
+ "33": "Parser Versioning",
+ "34": "Frontend Architecture",
+ "35": "Beta Release Governance",
+ "36": "Package Metadata",
+ "37": "Tenant Isolation",
+ "38": "Deletion and Restore",
+ "39": "API Generation Script",
+ "40": "OpenAPI Schema",
+ "41": "API Integration Tests",
+ "42": "Localization Tests",
+ "43": "Income Classification",
+ "44": "Accessibility ESLint",
+ "45": "JavaScript Globals",
+ "46": "JSDOM Dependency",
+ "47": "React Type Definitions",
+ "48": "React DOM Types",
+ "49": "TypeScript ESLint",
+ "50": "Vite React Plugin",
+ "51": "Vitest Dependency",
+ "52": "Favicon Design",
+ "53": "Database Role Initialization",
+ "54": "Application Package",
+ "55": "Spaces Package",
+ "56": "Payee Concept",
+ "57": "ESLint Configuration",
+ "58": "Money Utilities Tests",
+ "59": "Vite Environment Types",
+ "60": "Vite Configuration",
+ "61": "Backend Package Metadata"
+}
\ No newline at end of file
diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md
new file mode 100644
index 0000000..8b3c14c
--- /dev/null
+++ b/graphify-out/GRAPH_REPORT.md
@@ -0,0 +1,293 @@
+# Graph Report - finance (2026-09-14)
+
+## Corpus Check
+- 147 files · ~51,467 words
+- Verdict: corpus is large enough that graph structure adds value.
+
+## Summary
+- 1078 nodes · 3099 edges · 62 communities (42 shown, 14 thin omitted)
+- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 50 edges (avg confidence: 0.93)
+- Token cost: 0 input · 0 output
+
+## Community Hubs (Navigation)
+- Identity and Configuration
+- Budget Domain Services
+- Database Models
+- Database Context and Exports
+- Statement Import Services
+- Parser Adapters
+- Ledger Services
+- API Domain Types
+- Authentication UI
+- Ledger API
+- Import Review UI
+- TypeScript Configuration
+- Analytics UI
+- API and Analytics
+- Frontend Development Dependencies
+- Accounts UI
+- Frontend Runtime Dependencies
+- Import Detail Mutations
+- Operations UI
+- Query Keys and Operations
+- Frontend Bootstrap
+- Frontend Test Support
+- Budget UI
+- HTTP API Client
+- Form Fields
+- Infrastructure and CI
+- Core Finance Domain
+- Frontend Scripts
+- Settings and Data Lifecycle
+- Budget Allocation Model
+- MVP and Import Design
+- Data Security and Recovery
+- Ledger Concepts
+- Parser Versioning
+- Frontend Architecture
+- Beta Release Governance
+- Package Metadata
+- Tenant Isolation
+- Deletion and Restore
+- API Generation Script
+- OpenAPI Schema
+- API Integration Tests
+- Localization Tests
+- Income Classification
+- Accessibility ESLint
+- JavaScript Globals
+- JSDOM Dependency
+- React Type Definitions
+- React DOM Types
+- TypeScript ESLint
+- Vite React Plugin
+- Vitest Dependency
+- Favicon Design
+- Database Role Initialization
+- Payee Concept
+- Backend Package Metadata
+
+## God Nodes (most connected - your core abstractions)
+1. `Session` - 111 edges
+2. `Base` - 46 edges
+3. `AppError` - 41 edges
+4. `get_settings()` - 38 edges
+5. `PkMixin` - 38 edges
+6. `TimestampMixin` - 37 edges
+7. `conflict()` - 34 edges
+8. `record()` - 32 edges
+9. `bad_request()` - 27 edges
+10. `not_found()` - 26 edges
+
+## Surprising Connections (you probably didn't know these)
+- `Versioned Statement Imports` --conceptually_related_to--> `Statement Import` [INFERRED]
+ docs/adr/0003-versioned-statement-imports.md → CONTEXT.md
+- `MVP Release Gates` --conceptually_related_to--> `Closed Beta Launch Gates` [INFERRED]
+ .kilo/plans/1789034192214-financial-tracker-mvp.md → docs/operations/beta-release-runbook.md
+- `Financial Space Ownership` --conceptually_related_to--> `Financial Space` [INFERRED]
+ docs/adr/0001-financial-space-ownership-and-rls.md → CONTEXT.md
+- `Typed Same-Origin API Client` --conceptually_related_to--> `Same-Origin Reverse Proxy` [INFERRED]
+ frontend/README.md → infra/README.md
+- `Compose and Nginx Validation` --references--> `Docker Compose Development Stack` [EXTRACTED]
+ .github/workflows/ci.yml → infra/docker-compose.yml
+
+## Import Cycles
+- None detected.
+
+## Hyperedges (group relationships)
+- **Financial Space Tenancy Boundary** — context_financial_space, context_membership, docs_adr_0001_financial_space_ownership_and_rls_defense_in_depth_authorization, docs_adr_0001_financial_space_ownership_and_rls_transaction_local_rls, docs_adr_0001_financial_space_ownership_and_rls_cross_space_integrity [EXTRACTED 1.00]
+- **Auditable Financial Model** — context_operation, context_posting, docs_adr_0002_journal_and_budget_reserves_derived_balances, docs_adr_0002_journal_and_budget_reserves_plan_funding_separation, docs_adr_0002_journal_and_budget_reserves_closure_snapshots [EXTRACTED 1.00]
+- **Safe Statement Import Flow** — context_statement_import, context_parse_run, context_source_record, docs_adr_0003_versioned_statement_imports_immutable_statement_document, docs_adr_0003_versioned_statement_imports_conservative_deduplication, docs_adr_0003_versioned_statement_imports_atomic_confirm_revert [EXTRACTED 1.00]
+
+## Communities (62 total, 14 thin omitted)
+
+### Community 0 - "Identity and Configuration"
+Cohesion: 0.05
+Nodes (87): get_settings(), Settings, current_context(), current_session(), alias, Context, CurrentSession, Db (+79 more)
+
+### Community 1 - "Budget Domain Services"
+Cohesion: 0.09
+Nodes (84): balances(), cash_flow(), category_spend(), plan_fact(), date, UUID, BudgetPeriod, Calendar month budget period in the space timezone (month granularity). (+76 more)
+
+### Community 2 - "Database Models"
+Cohesion: 0.08
+Nodes (64): downgrade(), upgrade(), AuditEvent, Append-only domain/security event. Never stores raw financial payloads., ExpectedIncome, ExpectedIncomeMatch, FundingMovement, PeriodClosure (+56 more)
+
+### Community 3 - "Database Context and Exports"
+Cohesion: 0.06
+Nodes (46): get_db(), get_session_factory(), Any, sessionmaker, Transaction-local RLS context. No-op on SQLite (tests); fail-closed on…, Transactional scope for workers/endpoints that own the transaction lifecycle., session_scope(), set_space_context() (+38 more)
+
+### Community 4 - "Statement Import Services"
+Cohesion: 0.10
+Nodes (55): detect_adapter(), magic_kind(), new_object_key(), decrypt_file(), encrypt_file(), EncryptedFile, Per-file random DEK; DEK wrapped with the KEK from the secret manager., Crypto-shred hook: deleting wrapped DEK rows in DB plus blobs removes access. (+47 more)
+
+### Community 5 - "Parser Adapters"
+Cohesion: 0.08
+Nodes (42): AppError, Any, Domain error rendered as a machine-readable JSON error payload., unprocessable(), AlfaCreditXlsxAdapter, AlfaDebitXlsxAdapter, AlfaXlsxAdapterBase, _cell_str() (+34 more)
+
+### Community 6 - "Ledger Services"
+Cohesion: 0.14
+Nodes (48): Any, record(), get_income_source(), conflict(), not_found(), confirm_document(), Operation, Posting (+40 more)
+
+### Community 7 - "API Domain Types"
+Cohesion: 0.07
+Nodes (39): AccountStatus, BalanceItem, BalancesReport, BudgetBlocker, BudgetCategory, BudgetStatus, BudgetSummary, BudgetWarning (+31 more)
+
+### Community 8 - "Authentication UI"
+Cohesion: 0.10
+Nodes (33): AcceptInvitePayload, LoginPayload, PasswordResetPayload, AcceptInvitePage, AccountsPage, BudgetPage, LoginPage, OperationsPage (+25 more)
+
+### Community 9 - "Ledger API"
+Cohesion: 0.15
+Nodes (31): account_json(), AccountBody, accounts(), archive_account(), create_account(), create_operation(), delete_account(), operation_json() (+23 more)
+
+### Community 10 - "Import Review UI"
+Cohesion: 0.11
+Nodes (21): Operation, ImportsPage, NotFoundPage, ReviewQueuePage, Badge(), BadgeTone, EmptyState(), EmptyStateProps (+13 more)
+
+### Community 11 - "TypeScript Configuration"
+Cohesion: 0.07
+Nodes (28): compilerOptions, baseUrl, esModuleInterop, forceConsistentCasingInFileNames, isolatedModules, jsx, lib, module (+20 more)
+
+### Community 12 - "Analytics UI"
+Cohesion: 0.12
+Nodes (19): AnalyticsPage, CashFlowColumn, ColumnChart(), ColumnChartProps, BarRow, HorizontalBars(), HorizontalBarsProps, PlanFactBars() (+11 more)
+
+### Community 13 - "API and Analytics"
+Cohesion: 0.14
+Nodes (22): balances(), cash_flow(), category_spend(), plan_fact(), Context, date, Db, get (+14 more)
+
+### Community 14 - "Frontend Development Dependencies"
+Cohesion: 0.10
+Nodes (21): eslint, @eslint/js, eslint-plugin-react-hooks, devDependencies, eslint, @eslint/js, eslint-plugin-react-hooks, openapi-typescript (+13 more)
+
+### Community 15 - "Accounts UI"
+Cohesion: 0.16
+Nodes (15): Account, AccountType, ConfirmDialog(), ConfirmDialogProps, Modal(), ModalProps, useAccounts(), useArchiveAccount() (+7 more)
+
+### Community 16 - "Frontend Runtime Dependencies"
+Cohesion: 0.11
+Nodes (19): dependencies, @hookform/resolvers, i18next, react, react-dom, react-hook-form, react-i18next, react-router-dom (+11 more)
+
+### Community 17 - "Import Detail Mutations"
+Cohesion: 0.27
+Nodes (15): RowDecision, ImportDetailPage, useToast(), useConfirmImport(), useImport(), useImportErrorToaster(), useReparseImport(), useRevertImport() (+7 more)
+
+### Community 18 - "Operations UI"
+Cohesion: 0.27
+Nodes (14): useActiveAccounts(), useCreateOperation(), useLedgerMutation(), useOperations(), useVoidOperation(), amountField(), dateField(), ExpenseForm() (+6 more)
+
+### Community 19 - "Query Keys and Operations"
+Cohesion: 0.22
+Nodes (10): api, invalidationRoots, queryKeys, SESSION_ROOT, sessionInvalidationRoot, SPACE_ROOT, spaceInvalidationRoot, OperationFilters (+2 more)
+
+### Community 20 - "Frontend Bootstrap"
+Cohesion: 0.17
+Nodes (10): Locale, App(), queryClient, AppRoutes(), createI18n(), detectLocale(), i18n, LOCALES (+2 more)
+
+### Community 21 - "Frontend Test Support"
+Cohesion: 0.17
+Nodes (12): User, ToastApi, ToastContext, ToastItem, ToastKind, ToastProvider(), createTestQueryClient(), renderWithProviders() (+4 more)
+
+### Community 22 - "Budget UI"
+Cohesion: 0.36
+Nodes (12): useBudgetCategories(), useBudgetErrorToaster(), useBudgetSummary(), useCloseMonth(), useCopyPreviousMonth(), useFundCategory(), usePeriodMutation(), useReopenMonth() (+4 more)
+
+### Community 23 - "HTTP API Client"
+Cohesion: 0.23
+Nodes (10): apiClient, ApiError, buildUrl(), ErrorEnvelope, parseErrorEnvelope(), QueryValue, readCsrfToken(), request() (+2 more)
+
+### Community 24 - "Form Fields"
+Cohesion: 0.23
+Nodes (10): FieldChrome, InputProps, MoneyField(), MoneyFieldProps, SelectFieldProps, SelectProps, TextareaField(), TextareaFieldProps (+2 more)
+
+### Community 25 - "Infrastructure and CI"
+Cohesion: 0.18
+Nodes (12): Backend Quality Gate, CI Pipeline, Compose and Nginx Validation, Frontend Quality Gate, Commodity Infrastructure Services, Docker Compose Development Stack, Internal Backend Network, Same-Origin Frontend Service (+4 more)
+
+### Community 26 - "Core Finance Domain"
+Cohesion: 0.22
+Nodes (9): Credit Reserve, Financial Account, Financial Space, Membership, User, Carry-Over Budget Reserves, Closed Beta Zero-Based Budgeting, Finance Tracker (+1 more)
+
+### Community 27 - "Frontend Scripts"
+Cohesion: 0.22
+Nodes (9): scripts, api:generate, build, dev, lint, preview, test, test:watch (+1 more)
+
+### Community 28 - "Settings and Data Lifecycle"
+Cohesion: 0.44
+Nodes (7): useCancelDeletion(), useRequestDeletion(), useRequestExport(), useSpaceDeletion(), DeletionForm(), DeletionFormValues, SettingsPage()
+
+### Community 29 - "Budget Allocation Model"
+Cohesion: 0.29
+Nodes (8): Budget Period, Funding, General Pool, Monthly Category, Plan Assignment, Savings Envelope, Immutable Closure Snapshots, Plan and Funding Separation
+
+### Community 30 - "MVP and Import Design"
+Cohesion: 0.25
+Nodes (8): Atomic Import Confirm and Revert, Conservative Deduplication, Versioned Statement Imports, Budget Invariants, Critical User Path, Financial Tracker MVP, Statement Import Pipeline, Modular Monolith
+
+### Community 31 - "Data Security and Recovery"
+Cohesion: 0.25
+Nodes (8): Immutable Statement Document, Per-File Envelope Encryption, Provider-Neutral Data Boundary, Russian Federation Data Residency, Backup and Restore Runbook, Mandatory KEK Backup, Quarterly Restore Drill, Provider-Neutral Infrastructure
+
+### Community 32 - "Ledger Concepts"
+Cohesion: 0.38
+Nodes (7): Internal Transfer, Operation, Posting, Refund, Derived Account Balances, Operations and Postings Journal, Ledger Invariants
+
+### Community 33 - "Parser Versioning"
+Cohesion: 0.33
+Nodes (7): Parse Run, Source Record, Statement Import, Parser Versioning and Review Diff, Layout Drift Re-Gating, Parser Private Fixture Gate, Private Statement Test Contract
+
+### Community 34 - "Frontend Architecture"
+Cohesion: 0.29
+Nodes (7): Server-Side Secret Boundary, Grossbukh Application Shell, Accessible Responsive UI, Finance Frontend SPA, RU and EN Localization, Space-Scoped Query Keys, Typed Same-Origin API Client
+
+### Community 35 - "Beta Release Governance"
+Cohesion: 0.29
+Nodes (7): Closed Beta Release Runbook, Forward-Fix Rollback Policy, Financial Data Incident Response, Closed Beta Launch Gates, Production Launch Sequence, Adapter Beta Eligibility, MVP Release Gates
+
+### Community 36 - "Package Metadata"
+Cohesion: 0.29
+Nodes (6): allowScripts, esbuild@0.25.12, name, private, type, version
+
+### Community 37 - "Tenant Isolation"
+Cohesion: 0.33
+Nodes (6): Audited Break-Glass Access, Cross-Space Referential Integrity, Defense-in-Depth Authorization, Financial Space Ownership, Transaction-Local RLS Context, Tenant Boundary
+
+### Community 38 - "Deletion and Restore"
+Cohesion: 0.40
+Nodes (6): Crypto-Shredded Deletion, Disaster Restore Procedure, Thirty-Day Space Deletion, Durable Deletion Ledger, Idempotent Resumable Purge, Post-Restore Deletion Replay
+
+### Community 39 - "API Generation Script"
+Cohesion: 0.40
+Nodes (5): firstReadable(), LOCAL_CANDIDATES, main(), OUT_DIR, REMOTE_CANDIDATES
+
+### Community 40 - "OpenAPI Schema"
+Cohesion: 0.33
+Nodes (5): components, $defs, operations, paths, webhooks
+
+### Community 41 - "API Integration Tests"
+Cohesion: 0.67
+Nodes (3): TestClient, test_invite_login_and_authenticated_space(), test_openapi_contains_critical_paths()
+
+## Knowledge Gaps
+- **176 isolated node(s):** `finance-backend`, `name`, `private`, `version`, `type` (+171 more)
+ These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 296 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
+- **14 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
+
+## Suggested Questions
+_Questions this graph is uniquely positioned to answer:_
+
+- **Why does `Session` connect `Budget Domain Services` to `Identity and Configuration`, `Database Models`, `Database Context and Exports`, `Statement Import Services`, `Ledger Services`?**
+ _High betweenness centrality (0.072) - this node is a cross-community bridge._
+- **Why does `AppError` connect `Parser Adapters` to `Identity and Configuration`, `Budget Domain Services`, `Database Models`, `Database Context and Exports`, `Statement Import Services`, `Ledger Services`, `API and Analytics`?**
+ _High betweenness centrality (0.035) - this node is a cross-community bridge._
+- **Why does `get_settings()` connect `Identity and Configuration` to `Database Models`, `Database Context and Exports`, `Statement Import Services`, `Parser Adapters`, `API and Analytics`?**
+ _High betweenness centrality (0.024) - this node is a cross-community bridge._
+- **Are the 2 inferred relationships involving `Session` (e.g. with `UTCDateTime` and `test_postgres_rls_requires_matching_transaction_context()`) actually correct?**
+ _`Session` has 2 INFERRED edges - model-reasoned connections that need verification._
+- **Are the 3 inferred relationships involving `Base` (e.g. with `downgrade()` and `upgrade()`) actually correct?**
+ _`Base` has 3 INFERRED edges - model-reasoned connections that need verification._
+- **Are the 13 inferred relationships involving `AppError` (e.g. with `request_export()` and `login()`) actually correct?**
+ _`AppError` has 13 INFERRED edges - model-reasoned connections that need verification._
+- **What connects `finance-backend`, `name`, `private` to the rest of the system?**
+ _176 weakly-connected nodes found - possible documentation gaps or missing edges._
\ No newline at end of file
diff --git a/graphify-out/graph.html b/graphify-out/graph.html
new file mode 100644
index 0000000..22ec91c
--- /dev/null
+++ b/graphify-out/graph.html
@@ -0,0 +1,345 @@
+
+
+
+
+graphify - graphify-out/graph.html
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/graphify-out/graph.json b/graphify-out/graph.json
new file mode 100644
index 0000000..b2c9d47
--- /dev/null
+++ b/graphify-out/graph.json
@@ -0,0 +1,49095 @@
+{
+ "directed": false,
+ "multigraph": false,
+ "graph": {
+ "hyperedges": [
+ {
+ "id": "auditable_financial_model",
+ "label": "Auditable Financial Model",
+ "nodes": [
+ "context_operation",
+ "context_posting",
+ "docs_adr_0002_journal_and_budget_reserves_derived_balances",
+ "docs_adr_0002_journal_and_budget_reserves_plan_funding_separation",
+ "docs_adr_0002_journal_and_budget_reserves_closure_snapshots"
+ ],
+ "relation": "form",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md"
+ },
+ {
+ "id": "financial_space_tenancy_boundary",
+ "label": "Financial Space Tenancy Boundary",
+ "nodes": [
+ "context_financial_space",
+ "context_membership",
+ "docs_adr_0001_financial_space_ownership_and_rls_defense_in_depth_authorization",
+ "docs_adr_0001_financial_space_ownership_and_rls_transaction_local_rls",
+ "docs_adr_0001_financial_space_ownership_and_rls_cross_space_integrity"
+ ],
+ "relation": "form",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md"
+ },
+ {
+ "id": "safe_statement_import_flow",
+ "label": "Safe Statement Import Flow",
+ "nodes": [
+ "context_statement_import",
+ "context_parse_run",
+ "context_source_record",
+ "docs_adr_0003_versioned_statement_imports_immutable_statement_document",
+ "docs_adr_0003_versioned_statement_imports_conservative_deduplication",
+ "docs_adr_0003_versioned_statement_imports_atomic_confirm_revert"
+ ],
+ "relation": "participate_in",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0003-versioned-statement-imports.md"
+ }
+ ]
+ },
+ "nodes": [
+ {
+ "id": "backend_app_config_settings",
+ "label": "Settings",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "settings",
+ "source_file": "backend/app/config.py",
+ "source_location": "L8"
+ },
+ {
+ "id": "backend_app_dependencies_requestcontext",
+ "label": "RequestContext",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "requestcontext",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L21"
+ },
+ {
+ "id": "backend_app_identity_router_acceptinvitebody",
+ "label": "AcceptInviteBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "acceptinvitebody",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L21"
+ },
+ {
+ "id": "backend_app_identity_router_invitebody",
+ "label": "InviteBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "invitebody",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L17"
+ },
+ {
+ "id": "backend_app_identity_router_loginbody",
+ "label": "LoginBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "loginbody",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L31"
+ },
+ {
+ "id": "backend_app_identity_router_resetbody",
+ "label": "ResetBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "resetbody",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L40"
+ },
+ {
+ "id": "backend_app_identity_router_resetrequestbody",
+ "label": "ResetRequestBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "resetrequestbody",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L36"
+ },
+ {
+ "id": "backend_app_spaces_models_membership",
+ "label": "Membership",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "membership",
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L18"
+ },
+ {
+ "id": "backend_app_spaces_router_deletionbody",
+ "label": "DeletionBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "deletionbody",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L17"
+ },
+ {
+ "id": "backend_app_spaces_router_memberinvitebody",
+ "label": "MemberInviteBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "memberinvitebody",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L21"
+ },
+ {
+ "id": "backend_app_budgeting_models_budgetperiod",
+ "label": "BudgetPeriod",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "budgetperiod",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L25"
+ },
+ {
+ "id": "backend_app_budgeting_router_assignmentitem",
+ "label": "AssignmentItem",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "assignmentitem",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L19"
+ },
+ {
+ "id": "backend_app_budgeting_router_assignmentsbody",
+ "label": "AssignmentsBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "assignmentsbody",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L24"
+ },
+ {
+ "id": "backend_app_budgeting_router_categorybody",
+ "label": "CategoryBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "categorybody",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L14"
+ },
+ {
+ "id": "backend_app_budgeting_router_categoryfundingbody",
+ "label": "CategoryFundingBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "categoryfundingbody",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L54"
+ },
+ {
+ "id": "backend_app_budgeting_router_expectedincomebody",
+ "label": "ExpectedIncomeBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "expectedincomebody",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L35"
+ },
+ {
+ "id": "backend_app_budgeting_router_fundingbody",
+ "label": "FundingBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "fundingbody",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L28"
+ },
+ {
+ "id": "backend_app_budgeting_router_monthbody",
+ "label": "MonthBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "monthbody",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L46"
+ },
+ {
+ "id": "backend_app_budgeting_router_planbody",
+ "label": "PlanBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "planbody",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L50"
+ },
+ {
+ "id": "backend_app_identity_models_session",
+ "label": "Session",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "session",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L54"
+ },
+ {
+ "id": "backend_app_ledger_models_category",
+ "label": "Category",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "category",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L159"
+ },
+ {
+ "id": "frontend_src_api_types_operation",
+ "label": "Operation",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "operation",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L38"
+ },
+ {
+ "id": "frontend_src_components_ui_badge_badgetone",
+ "label": "BadgeTone",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "badgetone",
+ "source_file": "frontend/src/components/ui/Badge.tsx",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_src_components_ui_emptystate_emptystateprops",
+ "label": "EmptyStateProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "emptystateprops",
+ "source_file": "frontend/src/components/ui/EmptyState.tsx",
+ "source_location": "L4"
+ },
+ {
+ "id": "frontend_src_components_ui_pageheader_pageheaderprops",
+ "label": "PageHeaderProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "pageheaderprops",
+ "source_file": "frontend/src/components/ui/PageHeader.tsx",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_src_components_ui_querygate_querygateprops",
+ "label": "QueryGateProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "querygateprops",
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_src_components_charts_columnchart_cashflowcolumn",
+ "label": "CashFlowColumn",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "cashflowcolumn",
+ "source_file": "frontend/src/components/charts/ColumnChart.tsx",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_src_components_charts_columnchart_columnchartprops",
+ "label": "ColumnChartProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "columnchartprops",
+ "source_file": "frontend/src/components/charts/ColumnChart.tsx",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_components_charts_horizontalbars_barrow",
+ "label": "BarRow",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "barrow",
+ "source_file": "frontend/src/components/charts/HorizontalBars.tsx",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_src_components_charts_horizontalbars_horizontalbarsprops",
+ "label": "HorizontalBarsProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "horizontalbarsprops",
+ "source_file": "frontend/src/components/charts/HorizontalBars.tsx",
+ "source_location": "L9"
+ },
+ {
+ "id": "frontend_src_components_charts_planfactbars_planfactbarsprops",
+ "label": "PlanFactBarsProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "planfactbarsprops",
+ "source_file": "frontend/src/components/charts/PlanFactBars.tsx",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_components_charts_planfactbars_planfactrow",
+ "label": "PlanFactRow",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "planfactrow",
+ "source_file": "frontend/src/components/charts/PlanFactBars.tsx",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_src_components_ui_monthswitcher_monthswitcherprops",
+ "label": "MonthSwitcherProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "monthswitcherprops",
+ "source_file": "frontend/src/components/ui/MonthSwitcher.tsx",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_src_api_types_account",
+ "label": "Account",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "account",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L14"
+ },
+ {
+ "id": "frontend_src_api_types_accounttype",
+ "label": "AccountType",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "accounttype",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L11"
+ },
+ {
+ "id": "frontend_src_components_ui_confirmdialog_confirmdialogprops",
+ "label": "ConfirmDialogProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "confirmdialogprops",
+ "source_file": "frontend/src/components/ui/ConfirmDialog.tsx",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_src_components_ui_modal_modalprops",
+ "label": "ModalProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "modalprops",
+ "source_file": "frontend/src/components/ui/Modal.tsx",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_src_pages_accountspage_accountformvalues",
+ "label": "AccountFormValues",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "accountformvalues",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L20"
+ },
+ {
+ "id": "frontend_src_api_types_rowdecision",
+ "label": "RowDecision",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "rowdecision",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L216"
+ },
+ {
+ "id": "frontend_src_api_types_operationfilters",
+ "label": "OperationFilters",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "operationfilters",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L93"
+ },
+ {
+ "id": "backend_app_audit_models_auditevent",
+ "label": "AuditEvent",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "auditevent",
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L10"
+ },
+ {
+ "id": "backend_app_budgeting_models_expectedincome",
+ "label": "ExpectedIncome",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "expectedincome",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L77"
+ },
+ {
+ "id": "backend_app_budgeting_models_expectedincomematch",
+ "label": "ExpectedIncomeMatch",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "expectedincomematch",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L103"
+ },
+ {
+ "id": "backend_app_budgeting_models_fundingmovement",
+ "label": "FundingMovement",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "fundingmovement",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L132"
+ },
+ {
+ "id": "backend_app_budgeting_models_periodclosure",
+ "label": "PeriodClosure",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "periodclosure",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L166"
+ },
+ {
+ "id": "backend_app_budgeting_models_planassignment",
+ "label": "PlanAssignment",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "planassignment",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L47"
+ },
+ {
+ "id": "backend_app_categorization_models_bankcategorymapping",
+ "label": "BankCategoryMapping",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "bankcategorymapping",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L103"
+ },
+ {
+ "id": "backend_app_categorization_models_categorizationrule",
+ "label": "CategorizationRule",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "categorizationrule",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L64"
+ },
+ {
+ "id": "backend_app_categorization_models_incomesource",
+ "label": "IncomeSource",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "incomesource",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L17"
+ },
+ {
+ "id": "backend_app_categorization_models_mcccode",
+ "label": "MccCode",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "mcccode",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L93"
+ },
+ {
+ "id": "backend_app_categorization_models_payee",
+ "label": "Payee",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "payee",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L31"
+ },
+ {
+ "id": "backend_app_categorization_models_payeealias",
+ "label": "PayeeAlias",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "payeealias",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L45"
+ },
+ {
+ "id": "backend_app_db_base_base",
+ "label": "Base",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "base",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L17"
+ },
+ {
+ "id": "backend_app_db_base_pkmixin",
+ "label": "PkMixin",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "pkmixin",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L44"
+ },
+ {
+ "id": "backend_app_db_base_timestampmixin",
+ "label": "TimestampMixin",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "timestampmixin",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L48"
+ },
+ {
+ "id": "backend_app_db_base_utcdatetime",
+ "label": "UTCDateTime",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "utcdatetime",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L21"
+ },
+ {
+ "id": "backend_app_exports_models_dataexport",
+ "label": "DataExport",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "dataexport",
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L10"
+ },
+ {
+ "id": "backend_app_exports_models_deletionledger",
+ "label": "DeletionLedger",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "deletionledger",
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L29"
+ },
+ {
+ "id": "backend_app_identity_models_invitation",
+ "label": "Invitation",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "invitation",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L23"
+ },
+ {
+ "id": "backend_app_identity_models_passwordreset",
+ "label": "PasswordReset",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "passwordreset",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L43"
+ },
+ {
+ "id": "backend_app_identity_models_user",
+ "label": "User",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "user",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L10"
+ },
+ {
+ "id": "backend_app_imports_models_dedupcandidate",
+ "label": "DedupCandidate",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "dedupcandidate",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L169"
+ },
+ {
+ "id": "backend_app_imports_models_parserun",
+ "label": "ParseRun",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "parserun",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L74"
+ },
+ {
+ "id": "backend_app_imports_models_sourcerecord",
+ "label": "SourceRecord",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "sourcerecord",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L97"
+ },
+ {
+ "id": "backend_app_imports_models_sourcerecordlink",
+ "label": "SourceRecordLink",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "sourcerecordlink",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L143"
+ },
+ {
+ "id": "backend_app_ledger_models_account",
+ "label": "Account",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "account",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L26"
+ },
+ {
+ "id": "backend_app_spaces_models_financialspace",
+ "label": "FinancialSpace",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "financialspace",
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_api_types_locale",
+ "label": "Locale",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "locale",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_api_types_user",
+ "label": "User",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "user",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_src_components_ui_toaster_toastapi",
+ "label": "ToastApi",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "toastapi",
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L12"
+ },
+ {
+ "id": "frontend_src_components_ui_toaster_toastitem",
+ "label": "ToastItem",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "toastitem",
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L6"
+ },
+ {
+ "id": "frontend_src_components_ui_toaster_toastkind",
+ "label": "ToastKind",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "toastkind",
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L4"
+ },
+ {
+ "id": "frontend_src_api_client_apierror",
+ "label": "ApiError",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "apierror",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_api_client_errorenvelope",
+ "label": "ErrorEnvelope",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "errorenvelope",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L47"
+ },
+ {
+ "id": "frontend_src_api_client_queryvalue",
+ "label": "QueryValue",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "queryvalue",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L19"
+ },
+ {
+ "id": "frontend_src_api_client_requestoptions",
+ "label": "RequestOptions",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "requestoptions",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L21"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_fieldchrome",
+ "label": "FieldChrome",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "fieldchrome",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L17"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_inputprops",
+ "label": "InputProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "inputprops",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_moneyfieldprops",
+ "label": "MoneyFieldProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "moneyfieldprops",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L73"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_selectfieldprops",
+ "label": "SelectFieldProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "selectfieldprops",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L111"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_selectprops",
+ "label": "SelectProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "selectprops",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L11"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_textareafieldprops",
+ "label": "TextareaFieldProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "textareafieldprops",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L137"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_textareaprops",
+ "label": "TextareaProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "textareaprops",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L12"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_textfieldprops",
+ "label": "TextFieldProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "textfieldprops",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L50"
+ },
+ {
+ "id": "frontend_src_pages_settingspage_deletionformvalues",
+ "label": "DeletionFormValues",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "Settings and Data Lifecycle",
+ "file_type": "code",
+ "norm_label": "deletionformvalues",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L19"
+ },
+ {
+ "id": "backend_app_imports_blob_blobstore",
+ "label": "BlobStore",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "blobstore",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L11"
+ },
+ {
+ "id": "backend_app_imports_blob_localdirectoryblobstore",
+ "label": "LocalDirectoryBlobStore",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "localdirectoryblobstore",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L17"
+ },
+ {
+ "id": "backend_app_imports_blob_s3blobstore",
+ "label": "S3BlobStore",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "s3blobstore",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L42"
+ },
+ {
+ "id": "backend_app_imports_crypto_encryptedfile",
+ "label": "EncryptedFile",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "encryptedfile",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L14"
+ },
+ {
+ "id": "backend_app_imports_models_statementdocument",
+ "label": "StatementDocument",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "statementdocument",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L39"
+ },
+ {
+ "id": "backend_app_imports_router_confirmbody",
+ "label": "ConfirmBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "confirmbody",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L27"
+ },
+ {
+ "id": "backend_app_imports_router_decisionbody",
+ "label": "DecisionBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "decisionbody",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L20"
+ },
+ {
+ "id": "backend_app_imports_router_reviewbody",
+ "label": "ReviewBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "reviewbody",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L14"
+ },
+ {
+ "id": "frontend_src_api_generated_schema_d_components",
+ "label": "components",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "OpenAPI Schema",
+ "file_type": "code",
+ "norm_label": "components",
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L747"
+ },
+ {
+ "id": "frontend_src_api_generated_schema_d_defs",
+ "label": "$defs",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "OpenAPI Schema",
+ "file_type": "code",
+ "norm_label": "$defs",
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L1000"
+ },
+ {
+ "id": "frontend_src_api_generated_schema_d_operations",
+ "label": "operations",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "OpenAPI Schema",
+ "file_type": "code",
+ "norm_label": "operations",
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L1001"
+ },
+ {
+ "id": "frontend_src_api_generated_schema_d_paths",
+ "label": "paths",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "OpenAPI Schema",
+ "file_type": "code",
+ "norm_label": "paths",
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L6"
+ },
+ {
+ "id": "frontend_src_api_generated_schema_d_webhooks",
+ "label": "webhooks",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "OpenAPI Schema",
+ "file_type": "code",
+ "norm_label": "webhooks",
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L746"
+ },
+ {
+ "id": "backend_app_errors_apperror",
+ "label": "AppError",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "apperror",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L4"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_alfacreditxlsxadapter",
+ "label": "AlfaCreditXlsxAdapter",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "alfacreditxlsxadapter",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L207"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_alfadebitxlsxadapter",
+ "label": "AlfaDebitXlsxAdapter",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "alfadebitxlsxadapter",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L201"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase",
+ "label": "AlfaXlsxAdapterBase",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "alfaxlsxadapterbase",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L25"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_sourcerow",
+ "label": "SourceRow",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "sourcerow",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L15"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_statementadapter",
+ "label": "StatementAdapter",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "statementadapter",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L55"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_statementdraft",
+ "label": "StatementDraft",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "statementdraft",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L30"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "label": "UnsupportedStatementLayout",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "unsupportedstatementlayout",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L44"
+ },
+ {
+ "id": "backend_app_imports_adapters_ozon_pdf_ozoncreditpdfadapter",
+ "label": "OzonCreditPdfAdapter",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "ozoncreditpdfadapter",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L131"
+ },
+ {
+ "id": "backend_app_imports_adapters_ozon_pdf_ozondebitpdfadapter",
+ "label": "OzonDebitPdfAdapter",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "ozondebitpdfadapter",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L125"
+ },
+ {
+ "id": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase",
+ "label": "OzonPdfAdapterBase",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "ozonpdfadapterbase",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L28"
+ },
+ {
+ "id": "backend_app_imports_adapters_rocketbank_pdf_rocketbankdebitpdfadapter",
+ "label": "RocketbankDebitPdfAdapter",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "rocketbankdebitpdfadapter",
+ "source_file": "backend/app/imports/adapters/rocketbank_pdf.py",
+ "source_location": "L6"
+ },
+ {
+ "id": "backend_app_ledger_models_operation",
+ "label": "Operation",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "operation",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L54"
+ },
+ {
+ "id": "backend_app_ledger_models_posting",
+ "label": "Posting",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "posting",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L125"
+ },
+ {
+ "id": "frontend_src_api_types_accountstatus",
+ "label": "AccountStatus",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "accountstatus",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L12"
+ },
+ {
+ "id": "frontend_src_api_types_balanceitem",
+ "label": "BalanceItem",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "balanceitem",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L284"
+ },
+ {
+ "id": "frontend_src_api_types_balancesreport",
+ "label": "BalancesReport",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "balancesreport",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L291"
+ },
+ {
+ "id": "frontend_src_api_types_budgetblocker",
+ "label": "BudgetBlocker",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "budgetblocker",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L134"
+ },
+ {
+ "id": "frontend_src_api_types_budgetcategory",
+ "label": "BudgetCategory",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "budgetcategory",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L166"
+ },
+ {
+ "id": "frontend_src_api_types_budgetstatus",
+ "label": "BudgetStatus",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "budgetstatus",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L127"
+ },
+ {
+ "id": "frontend_src_api_types_budgetsummary",
+ "label": "BudgetSummary",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "budgetsummary",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L150"
+ },
+ {
+ "id": "frontend_src_api_types_budgetwarning",
+ "label": "BudgetWarning",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "budgetwarning",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L129"
+ },
+ {
+ "id": "frontend_src_api_types_cashflowmonth",
+ "label": "CashFlowMonth",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "cashflowmonth",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L276"
+ },
+ {
+ "id": "frontend_src_api_types_categorykind",
+ "label": "CategoryKind",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "categorykind",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L164"
+ },
+ {
+ "id": "frontend_src_api_types_categoryspenditem",
+ "label": "CategorySpendItem",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "categoryspenditem",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L256"
+ },
+ {
+ "id": "frontend_src_api_types_confirmimportpayload",
+ "label": "ConfirmImportPayload",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "confirmimportpayload",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L251"
+ },
+ {
+ "id": "frontend_src_api_types_createaccountpayload",
+ "label": "CreateAccountPayload",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "createaccountpayload",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L26"
+ },
+ {
+ "id": "frontend_src_api_types_createoperationpayload",
+ "label": "CreateOperationPayload",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "createoperationpayload",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L58"
+ },
+ {
+ "id": "frontend_src_api_types_expectedincome",
+ "label": "ExpectedIncome",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "expectedincome",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L141"
+ },
+ {
+ "id": "frontend_src_api_types_expectedincomestatus",
+ "label": "ExpectedIncomeStatus",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "expectedincomestatus",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L139"
+ },
+ {
+ "id": "frontend_src_api_types_exportinfo",
+ "label": "ExportInfo",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "exportinfo",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L301"
+ },
+ {
+ "id": "frontend_src_api_types_exportstatus",
+ "label": "ExportStatus",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "exportstatus",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L299"
+ },
+ {
+ "id": "frontend_src_api_types_importdetail",
+ "label": "ImportDetail",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "importdetail",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L231"
+ },
+ {
+ "id": "frontend_src_api_types_importissue",
+ "label": "ImportIssue",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "importissue",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L200"
+ },
+ {
+ "id": "frontend_src_api_types_importrow",
+ "label": "ImportRow",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "importrow",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L218"
+ },
+ {
+ "id": "frontend_src_api_types_importstatus",
+ "label": "ImportStatus",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "importstatus",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L179"
+ },
+ {
+ "id": "frontend_src_api_types_importsummary",
+ "label": "ImportSummary",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "importsummary",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L188"
+ },
+ {
+ "id": "frontend_src_api_types_operationkind",
+ "label": "OperationKind",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "operationkind",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L35"
+ },
+ {
+ "id": "frontend_src_api_types_operationstatus",
+ "label": "OperationStatus",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "operationstatus",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L36"
+ },
+ {
+ "id": "frontend_src_api_types_page",
+ "label": "Page",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "page",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L106"
+ },
+ {
+ "id": "frontend_src_api_types_planfactitem",
+ "label": "PlanFactItem",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "planfactitem",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L263"
+ },
+ {
+ "id": "frontend_src_api_types_planfactreport",
+ "label": "PlanFactReport",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "planfactreport",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L271"
+ },
+ {
+ "id": "frontend_src_api_types_reconciliation",
+ "label": "Reconciliation",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "reconciliation",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L208"
+ },
+ {
+ "id": "frontend_src_api_types_reconciliationstatus",
+ "label": "ReconciliationStatus",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "reconciliationstatus",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L206"
+ },
+ {
+ "id": "frontend_src_api_types_saverowdecisionpayload",
+ "label": "SaveRowDecisionPayload",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "saverowdecisionpayload",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L246"
+ },
+ {
+ "id": "frontend_src_api_types_spacedeletionstatus",
+ "label": "SpaceDeletionStatus",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "spacedeletionstatus",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L308"
+ },
+ {
+ "id": "frontend_src_api_types_acceptinvitepayload",
+ "label": "AcceptInvitePayload",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "acceptinvitepayload",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L116"
+ },
+ {
+ "id": "frontend_src_api_types_loginpayload",
+ "label": "LoginPayload",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "loginpayload",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L111"
+ },
+ {
+ "id": "frontend_src_api_types_passwordresetpayload",
+ "label": "PasswordResetPayload",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "passwordresetpayload",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L122"
+ },
+ {
+ "id": "frontend_src_components_ui_button_buttonprops",
+ "label": "ButtonProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "buttonprops",
+ "source_file": "frontend/src/components/ui/Button.tsx",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_src_components_ui_button_variant",
+ "label": "Variant",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "variant",
+ "source_file": "frontend/src/components/ui/Button.tsx",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_src_components_ui_errorstate_errorstateprops",
+ "label": "ErrorStateProps",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "errorstateprops",
+ "source_file": "frontend/src/components/ui/ErrorState.tsx",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_src_pages_acceptinvitepage_acceptinvitevalues",
+ "label": "AcceptInviteValues",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "acceptinvitevalues",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L13"
+ },
+ {
+ "id": "frontend_src_pages_loginpage_loginformvalues",
+ "label": "LoginFormValues",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "loginformvalues",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L13"
+ },
+ {
+ "id": "frontend_src_pages_resetpasswordpage_resetvalues",
+ "label": "ResetValues",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "resetvalues",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L13"
+ },
+ {
+ "id": "backend_app_ledger_router_accountbody",
+ "label": "AccountBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "accountbody",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L17"
+ },
+ {
+ "id": "backend_app_ledger_router_operationbody",
+ "label": "OperationBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "operationbody",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L28"
+ },
+ {
+ "id": "backend_app_ledger_router_operationpatchbody",
+ "label": "OperationPatchBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "operationpatchbody",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L49"
+ },
+ {
+ "id": "backend_app_ledger_router_voidbody",
+ "label": "VoidBody",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "voidbody",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L45"
+ },
+ {
+ "id": "backend_app_config_get_settings",
+ "label": "get_settings()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "get_settings()",
+ "source_file": "backend/app/config.py",
+ "source_location": "L67"
+ },
+ {
+ "id": "backend_app_config_settings_broker_url",
+ "label": ".broker_url()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": ".broker_url()",
+ "source_file": "backend/app/config.py",
+ "source_location": "L50"
+ },
+ {
+ "id": "backend_app_config_settings_kek",
+ "label": ".kek()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": ".kek()",
+ "source_file": "backend/app/config.py",
+ "source_location": "L54"
+ },
+ {
+ "id": "backend_app_dependencies_current_context",
+ "label": "current_context()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "current_context()",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L44"
+ },
+ {
+ "id": "backend_app_dependencies_current_session",
+ "label": "current_session()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "current_session()",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L28"
+ },
+ {
+ "id": "backend_app_dependencies_require_csrf",
+ "label": "require_csrf()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "require_csrf()",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L59"
+ },
+ {
+ "id": "backend_app_errors_forbidden",
+ "label": "forbidden()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "forbidden()",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L35"
+ },
+ {
+ "id": "backend_app_errors_unauthorized",
+ "label": "unauthorized()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "unauthorized()",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L31"
+ },
+ {
+ "id": "backend_app_identity_mailer_send_token_email",
+ "label": "send_token_email()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "send_token_email()",
+ "source_file": "backend/app/identity/mailer.py",
+ "source_location": "L7"
+ },
+ {
+ "id": "backend_app_identity_router_accept_invite",
+ "label": "accept_invite()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "accept_invite()",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L84"
+ },
+ {
+ "id": "backend_app_identity_router_confirm_password_reset",
+ "label": "confirm_password_reset()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "confirm_password_reset()",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L133"
+ },
+ {
+ "id": "backend_app_identity_router_create_invite",
+ "label": "create_invite()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "create_invite()",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L69"
+ },
+ {
+ "id": "backend_app_identity_router_login",
+ "label": "login()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "login()",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L98"
+ },
+ {
+ "id": "backend_app_identity_router_logout",
+ "label": "logout()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "logout()",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L159"
+ },
+ {
+ "id": "backend_app_identity_router_me",
+ "label": "me()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "me()",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L147"
+ },
+ {
+ "id": "backend_app_identity_router_request_password_reset",
+ "label": "request_password_reset()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "request_password_reset()",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L117"
+ },
+ {
+ "id": "backend_app_identity_router_set_auth_cookies",
+ "label": "_set_auth_cookies()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "_set_auth_cookies()",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L45"
+ },
+ {
+ "id": "backend_app_identity_service_accept_invitation",
+ "label": "accept_invitation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "accept_invitation()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L58"
+ },
+ {
+ "id": "backend_app_identity_service_authenticate",
+ "label": "authenticate()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "authenticate()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L104"
+ },
+ {
+ "id": "backend_app_identity_service_create_invitation",
+ "label": "create_invitation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "create_invitation()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L28"
+ },
+ {
+ "id": "backend_app_identity_service_create_password_reset",
+ "label": "create_password_reset()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "create_password_reset()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L147"
+ },
+ {
+ "id": "backend_app_identity_service_create_session",
+ "label": "create_session()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "create_session()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L115"
+ },
+ {
+ "id": "backend_app_identity_service_get_active_session",
+ "label": "get_active_session()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "get_active_session()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L131"
+ },
+ {
+ "id": "backend_app_identity_service_normalize_email",
+ "label": "normalize_email()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "normalize_email()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L15"
+ },
+ {
+ "id": "backend_app_identity_service_reset_password",
+ "label": "reset_password()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "reset_password()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L167"
+ },
+ {
+ "id": "backend_app_identity_service_revoke_session",
+ "label": "revoke_session()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "revoke_session()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L140"
+ },
+ {
+ "id": "backend_app_identity_service_validate_profile",
+ "label": "validate_profile()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "validate_profile()",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L19"
+ },
+ {
+ "id": "backend_app_imports_celery_app_create_celery_app",
+ "label": "create_celery_app()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "create_celery_app()",
+ "source_file": "backend/app/imports/celery_app.py",
+ "source_location": "L6"
+ },
+ {
+ "id": "backend_app_ratelimit_allow",
+ "label": "allow()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "allow()",
+ "source_file": "backend/app/ratelimit.py",
+ "source_location": "L15"
+ },
+ {
+ "id": "backend_app_security_constant_time_equals",
+ "label": "constant_time_equals()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "constant_time_equals()",
+ "source_file": "backend/app/security.py",
+ "source_location": "L29"
+ },
+ {
+ "id": "backend_app_security_hash_password",
+ "label": "hash_password()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "hash_password()",
+ "source_file": "backend/app/security.py",
+ "source_location": "L10"
+ },
+ {
+ "id": "backend_app_security_new_token",
+ "label": "new_token()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "new_token()",
+ "source_file": "backend/app/security.py",
+ "source_location": "L21"
+ },
+ {
+ "id": "backend_app_security_token_digest",
+ "label": "token_digest()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "token_digest()",
+ "source_file": "backend/app/security.py",
+ "source_location": "L25"
+ },
+ {
+ "id": "backend_app_security_verify_password",
+ "label": "verify_password()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "verify_password()",
+ "source_file": "backend/app/security.py",
+ "source_location": "L14"
+ },
+ {
+ "id": "backend_app_spaces_router_cancel_deletion",
+ "label": "cancel_deletion()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "cancel_deletion()",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L77"
+ },
+ {
+ "id": "backend_app_spaces_router_current",
+ "label": "current()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "current()",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L26"
+ },
+ {
+ "id": "backend_app_spaces_router_deletion_status",
+ "label": "deletion_status()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "deletion_status()",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L63"
+ },
+ {
+ "id": "backend_app_spaces_router_invite_member",
+ "label": "invite_member()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "invite_member()",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L36"
+ },
+ {
+ "id": "backend_app_spaces_router_schedule_deletion",
+ "label": "schedule_deletion()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "schedule_deletion()",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L50"
+ },
+ {
+ "id": "backend_app_spaces_service_get_membership",
+ "label": "get_membership()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "get_membership()",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L22"
+ },
+ {
+ "id": "backend_app_spaces_service_get_space_for_member",
+ "label": "get_space_for_member()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "get_space_for_member()",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L29"
+ },
+ {
+ "id": "backend_app_spaces_service_list_spaces_for_user",
+ "label": "list_spaces_for_user()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "list_spaces_for_user()",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L49"
+ },
+ {
+ "id": "backend_app_spaces_service_require_owner",
+ "label": "require_owner()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "require_owner()",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L44"
+ },
+ {
+ "id": "backend_app_analytics_service_balances",
+ "label": "balances()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "balances()",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L92"
+ },
+ {
+ "id": "backend_app_analytics_service_cash_flow",
+ "label": "cash_flow()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "cash_flow()",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L60"
+ },
+ {
+ "id": "backend_app_analytics_service_category_spend",
+ "label": "category_spend()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "category_spend()",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L15"
+ },
+ {
+ "id": "backend_app_analytics_service_plan_fact",
+ "label": "plan_fact()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "plan_fact()",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L83"
+ },
+ {
+ "id": "backend_app_budgeting_router_assignments",
+ "label": "assignments()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "assignments()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L202"
+ },
+ {
+ "id": "backend_app_budgeting_router_categories",
+ "label": "categories()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "categories()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L116"
+ },
+ {
+ "id": "backend_app_budgeting_router_close",
+ "label": "close()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "close()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L250"
+ },
+ {
+ "id": "backend_app_budgeting_router_close_frontend",
+ "label": "close_frontend()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "close_frontend()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L273"
+ },
+ {
+ "id": "backend_app_budgeting_router_copy_frontend",
+ "label": "copy_frontend()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "copy_frontend()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L291"
+ },
+ {
+ "id": "backend_app_budgeting_router_copy_previous",
+ "label": "copy_previous()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "copy_previous()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L265"
+ },
+ {
+ "id": "backend_app_budgeting_router_create_category",
+ "label": "create_category()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "create_category()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L152"
+ },
+ {
+ "id": "backend_app_budgeting_router_expected_income",
+ "label": "expected_income()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "expected_income()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L230"
+ },
+ {
+ "id": "backend_app_budgeting_router_frontend_summary",
+ "label": "frontend_summary()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "frontend_summary()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L70"
+ },
+ {
+ "id": "backend_app_budgeting_router_fund",
+ "label": "fund()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "fund()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L217"
+ },
+ {
+ "id": "backend_app_budgeting_router_fund_category",
+ "label": "fund_category()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "fund_category()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L180"
+ },
+ {
+ "id": "backend_app_budgeting_router_parse_month",
+ "label": "parse_month()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "parse_month()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L58"
+ },
+ {
+ "id": "backend_app_budgeting_router_period_for",
+ "label": "period_for()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "period_for()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L42"
+ },
+ {
+ "id": "backend_app_budgeting_router_reopen",
+ "label": "reopen()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "reopen()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L256"
+ },
+ {
+ "id": "backend_app_budgeting_router_reopen_frontend",
+ "label": "reopen_frontend()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "reopen_frontend()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L282"
+ },
+ {
+ "id": "backend_app_budgeting_router_summary",
+ "label": "summary()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "summary()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L108"
+ },
+ {
+ "id": "backend_app_budgeting_router_update_plan",
+ "label": "update_plan()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "update_plan()",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L164"
+ },
+ {
+ "id": "backend_app_budgeting_service_add_expected_income",
+ "label": "add_expected_income()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "add_expected_income()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L610"
+ },
+ {
+ "id": "backend_app_budgeting_service_archive_category",
+ "label": "archive_category()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "archive_category()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L531"
+ },
+ {
+ "id": "backend_app_budgeting_service_balance_until",
+ "label": "_balance_until()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "_balance_until()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L98"
+ },
+ {
+ "id": "backend_app_budgeting_service_close_blockers",
+ "label": "_close_blockers()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "_close_blockers()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L435"
+ },
+ {
+ "id": "backend_app_budgeting_service_close_period",
+ "label": "close_period()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "close_period()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L709"
+ },
+ {
+ "id": "backend_app_budgeting_service_closure_snapshot",
+ "label": "_closure_snapshot()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "_closure_snapshot()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L81"
+ },
+ {
+ "id": "backend_app_budgeting_service_compute_period_state",
+ "label": "compute_period_state()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "compute_period_state()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L114"
+ },
+ {
+ "id": "backend_app_budgeting_service_copy_previous_month",
+ "label": "copy_previous_month()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "copy_previous_month()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L809"
+ },
+ {
+ "id": "backend_app_budgeting_service_create_category",
+ "label": "create_category()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "create_category()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L479"
+ },
+ {
+ "id": "backend_app_budgeting_service_ensure_credit_reserve_category",
+ "label": "ensure_credit_reserve_category()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "ensure_credit_reserve_category()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L502"
+ },
+ {
+ "id": "backend_app_budgeting_service_fund",
+ "label": "fund()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "fund()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L678"
+ },
+ {
+ "id": "backend_app_budgeting_service_get_category",
+ "label": "get_category()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "get_category()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L472"
+ },
+ {
+ "id": "backend_app_budgeting_service_get_or_create_period",
+ "label": "get_or_create_period()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "get_or_create_period()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L54"
+ },
+ {
+ "id": "backend_app_budgeting_service_get_period",
+ "label": "get_period()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "get_period()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L47"
+ },
+ {
+ "id": "backend_app_budgeting_service_list_categories",
+ "label": "list_categories()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "list_categories()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L522"
+ },
+ {
+ "id": "backend_app_budgeting_service_list_periods",
+ "label": "list_periods()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "list_periods()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L68"
+ },
+ {
+ "id": "backend_app_budgeting_service_match_expected_income",
+ "label": "match_expected_income()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "match_expected_income()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L637"
+ },
+ {
+ "id": "backend_app_budgeting_service_period_bounds",
+ "label": "period_bounds()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "period_bounds()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L31"
+ },
+ {
+ "id": "backend_app_budgeting_service_previous_ym",
+ "label": "_previous_ym()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "_previous_ym()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L77"
+ },
+ {
+ "id": "backend_app_budgeting_service_rename_category",
+ "label": "rename_category()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "rename_category()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L548"
+ },
+ {
+ "id": "backend_app_budgeting_service_reopen_period",
+ "label": "reopen_period()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "reopen_period()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L777"
+ },
+ {
+ "id": "backend_app_budgeting_service_require_open",
+ "label": "require_open()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "require_open()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L465"
+ },
+ {
+ "id": "backend_app_budgeting_service_set_assignments",
+ "label": "set_assignments()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "set_assignments()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L566"
+ },
+ {
+ "id": "backend_app_budgeting_service_shift_month",
+ "label": "shift_month()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "shift_month()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L40"
+ },
+ {
+ "id": "backend_app_budgeting_service_validate_year_month",
+ "label": "validate_year_month()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "validate_year_month()",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L26"
+ },
+ {
+ "id": "backend_app_categorization_service_resolve_category_name",
+ "label": "resolve_category_name()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "resolve_category_name()",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L8"
+ },
+ {
+ "id": "backend_app_errors_bad_request",
+ "label": "bad_request()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "bad_request()",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L27"
+ },
+ {
+ "id": "backend_tests_test_budget_seed",
+ "label": "seed()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "seed()",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L22"
+ },
+ {
+ "id": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "label": "test_copy_previous_month_clamps_expected_day()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "test_copy_previous_month_clamps_expected_day()",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L54"
+ },
+ {
+ "id": "backend_tests_test_budget_test_periods_must_close_in_calendar_order",
+ "label": "test_periods_must_close_in_calendar_order()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "test_periods_must_close_in_calendar_order()",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L92"
+ },
+ {
+ "id": "backend_tests_test_budget_test_reopen_preserves_immutable_closure_history",
+ "label": "test_reopen_preserves_immutable_closure_history()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "test_reopen_preserves_immutable_closure_history()",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L83"
+ },
+ {
+ "id": "backend_tests_test_budget_test_uncategorized_expense_blocks_close",
+ "label": "test_uncategorized_expense_blocks_close()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "test_uncategorized_expense_blocks_close()",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L29"
+ },
+ {
+ "id": "frontend_src_components_ui_badge_badge",
+ "label": "Badge()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "badge()",
+ "source_file": "frontend/src/components/ui/Badge.tsx",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_src_components_ui_emptystate_emptystate",
+ "label": "EmptyState()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "emptystate()",
+ "source_file": "frontend/src/components/ui/EmptyState.tsx",
+ "source_location": "L9"
+ },
+ {
+ "id": "frontend_src_components_ui_errorstate_errorstate",
+ "label": "ErrorState()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "errorstate()",
+ "source_file": "frontend/src/components/ui/ErrorState.tsx",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_selectfield",
+ "label": "SelectField()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "selectfield()",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L118"
+ },
+ {
+ "id": "frontend_src_components_ui_pageheader_pageheader",
+ "label": "PageHeader()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "pageheader()",
+ "source_file": "frontend/src/components/ui/PageHeader.tsx",
+ "source_location": "L9"
+ },
+ {
+ "id": "frontend_src_components_ui_querygate_querygate",
+ "label": "QueryGate()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "querygate()",
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L13"
+ },
+ {
+ "id": "frontend_src_components_ui_spinner_spinner",
+ "label": "Spinner()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "spinner()",
+ "source_file": "frontend/src/components/ui/Spinner.tsx",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_src_hooks_useimports_useimports",
+ "label": "useImports()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "useimports()",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L14"
+ },
+ {
+ "id": "frontend_src_hooks_useoperations_usecategorizeoperation",
+ "label": "useCategorizeOperation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "usecategorizeoperation()",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L51"
+ },
+ {
+ "id": "frontend_src_pages_importspage_importspage",
+ "label": "ImportsPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "importspage()",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L77"
+ },
+ {
+ "id": "frontend_src_pages_importspage_uploadmodal",
+ "label": "UploadModal()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "uploadmodal()",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L17"
+ },
+ {
+ "id": "frontend_src_pages_notfoundpage_notfoundpage",
+ "label": "NotFoundPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "notfoundpage()",
+ "source_file": "frontend/src/pages/NotFoundPage.tsx",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_src_pages_reviewqueuepage_reviewqueuepage",
+ "label": "ReviewQueuePage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "reviewqueuepage()",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L68"
+ },
+ {
+ "id": "frontend_src_pages_reviewqueuepage_uncategorizedrow",
+ "label": "UncategorizedRow()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "uncategorizedrow()",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L18"
+ },
+ {
+ "id": "frontend_src_components_charts_columnchart_columnchart",
+ "label": "ColumnChart()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "columnchart()",
+ "source_file": "frontend/src/components/charts/ColumnChart.tsx",
+ "source_location": "L23"
+ },
+ {
+ "id": "frontend_src_components_charts_horizontalbars_horizontalbars",
+ "label": "HorizontalBars()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "horizontalbars()",
+ "source_file": "frontend/src/components/charts/HorizontalBars.tsx",
+ "source_location": "L16"
+ },
+ {
+ "id": "frontend_src_components_charts_planfactbars_planfactbars",
+ "label": "PlanFactBars()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "planfactbars()",
+ "source_file": "frontend/src/components/charts/PlanFactBars.tsx",
+ "source_location": "L18"
+ },
+ {
+ "id": "frontend_src_components_ui_monthswitcher_monthswitcher",
+ "label": "MonthSwitcher()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "monthswitcher()",
+ "source_file": "frontend/src/components/ui/MonthSwitcher.tsx",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_hooks_useanalytics_useanalyticsbalances",
+ "label": "useAnalyticsBalances()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "useanalyticsbalances()",
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L26"
+ },
+ {
+ "id": "frontend_src_hooks_useanalytics_useanalyticscashflow",
+ "label": "useAnalyticsCashFlow()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "useanalyticscashflow()",
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L19"
+ },
+ {
+ "id": "frontend_src_hooks_useanalytics_useanalyticscategoryspend",
+ "label": "useAnalyticsCategorySpend()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "useanalyticscategoryspend()",
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_src_hooks_useanalytics_useanalyticsplanfact",
+ "label": "useAnalyticsPlanFact()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "useanalyticsplanfact()",
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L12"
+ },
+ {
+ "id": "frontend_src_pages_analyticspage_analyticspage",
+ "label": "AnalyticsPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "analyticspage()",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L23"
+ },
+ {
+ "id": "backend_app_analytics_router_balances",
+ "label": "balances()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "balances()",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L89"
+ },
+ {
+ "id": "backend_app_analytics_router_cash_flow",
+ "label": "cash_flow()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "cash_flow()",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L34"
+ },
+ {
+ "id": "backend_app_analytics_router_category_spend",
+ "label": "category_spend()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "category_spend()",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L12"
+ },
+ {
+ "id": "backend_app_analytics_router_plan_fact",
+ "label": "plan_fact()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "plan_fact()",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L67"
+ },
+ {
+ "id": "backend_app_db_session_get_engine",
+ "label": "get_engine()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "get_engine()",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L15"
+ },
+ {
+ "id": "backend_app_main_app_error_handler",
+ "label": "app_error_handler()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "app_error_handler()",
+ "source_file": "backend/app/main.py",
+ "source_location": "L27"
+ },
+ {
+ "id": "backend_app_main_health",
+ "label": "health()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "health()",
+ "source_file": "backend/app/main.py",
+ "source_location": "L54"
+ },
+ {
+ "id": "backend_app_main_healthz",
+ "label": "healthz()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "healthz()",
+ "source_file": "backend/app/main.py",
+ "source_location": "L59"
+ },
+ {
+ "id": "backend_app_main_readiness",
+ "label": "readiness()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "readiness()",
+ "source_file": "backend/app/main.py",
+ "source_location": "L64"
+ },
+ {
+ "id": "backend_app_main_security_headers",
+ "label": "security_headers()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "security_headers()",
+ "source_file": "backend/app/main.py",
+ "source_location": "L43"
+ },
+ {
+ "id": "backend_app_main_stale_data_handler",
+ "label": "stale_data_handler()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "stale_data_handler()",
+ "source_file": "backend/app/main.py",
+ "source_location": "L35"
+ },
+ {
+ "id": "frontend_src_components_ui_confirmdialog_confirmdialog",
+ "label": "ConfirmDialog()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "confirmdialog()",
+ "source_file": "frontend/src/components/ui/ConfirmDialog.tsx",
+ "source_location": "L15"
+ },
+ {
+ "id": "frontend_src_components_ui_modal_modal",
+ "label": "Modal()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "modal()",
+ "source_file": "frontend/src/components/ui/Modal.tsx",
+ "source_location": "L12"
+ },
+ {
+ "id": "frontend_src_hooks_useaccounts_useaccounts",
+ "label": "useAccounts()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "useaccounts()",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L9"
+ },
+ {
+ "id": "frontend_src_hooks_useaccounts_usearchiveaccount",
+ "label": "useArchiveAccount()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "usearchiveaccount()",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L33"
+ },
+ {
+ "id": "frontend_src_hooks_useaccounts_usecreateaccount",
+ "label": "useCreateAccount()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "usecreateaccount()",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L18"
+ },
+ {
+ "id": "frontend_src_pages_accountspage_accountform",
+ "label": "AccountForm()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "accountform()",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L29"
+ },
+ {
+ "id": "frontend_src_pages_accountspage_accountspage",
+ "label": "AccountsPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "accountspage()",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L116"
+ },
+ {
+ "id": "frontend_src_pages_accountspage_usememoschema",
+ "label": "useMemoSchema()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "usememoschema()",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L102"
+ },
+ {
+ "id": "frontend_src_test_accounts_page_test_account",
+ "label": "account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "account()",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L21"
+ },
+ {
+ "id": "frontend_src_components_ui_toaster_usetoast",
+ "label": "useToast()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "usetoast()",
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L51"
+ },
+ {
+ "id": "frontend_src_hooks_useimports_useconfirmimport",
+ "label": "useConfirmImport()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "useconfirmimport()",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L70"
+ },
+ {
+ "id": "frontend_src_hooks_useimports_useimport",
+ "label": "useImport()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "useimport()",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L25"
+ },
+ {
+ "id": "frontend_src_hooks_useimports_useimporterrortoaster",
+ "label": "useImportErrorToaster()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "useimporterrortoaster()",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L34"
+ },
+ {
+ "id": "frontend_src_hooks_useimports_usereparseimport",
+ "label": "useReparseImport()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "usereparseimport()",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L85"
+ },
+ {
+ "id": "frontend_src_hooks_useimports_userevertimport",
+ "label": "useRevertImport()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "userevertimport()",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L101"
+ },
+ {
+ "id": "frontend_src_hooks_useimports_usesaverowdecision",
+ "label": "useSaveRowDecision()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "usesaverowdecision()",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L56"
+ },
+ {
+ "id": "frontend_src_hooks_useimports_useuploadimport",
+ "label": "useUploadImport()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "useuploadimport()",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L40"
+ },
+ {
+ "id": "frontend_src_pages_importdetailpage_confirmmodal",
+ "label": "ConfirmModal()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "confirmmodal()",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L40"
+ },
+ {
+ "id": "frontend_src_pages_importdetailpage_importdetailpage",
+ "label": "ImportDetailPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "importdetailpage()",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L93"
+ },
+ {
+ "id": "frontend_src_pages_importdetailpage_stepindexfor",
+ "label": "stepIndexFor()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "stepindexfor()",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L33"
+ },
+ {
+ "id": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "label": "useActiveAccounts()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "useactiveaccounts()",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L13"
+ },
+ {
+ "id": "frontend_src_hooks_useoperations_usecreateoperation",
+ "label": "useCreateOperation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "usecreateoperation()",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L37"
+ },
+ {
+ "id": "frontend_src_hooks_useoperations_useledgermutation",
+ "label": "useLedgerMutation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "useledgermutation()",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L17"
+ },
+ {
+ "id": "frontend_src_hooks_useoperations_useoperations",
+ "label": "useOperations()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "useoperations()",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L9"
+ },
+ {
+ "id": "frontend_src_hooks_useoperations_usevoidoperation",
+ "label": "useVoidOperation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "usevoidoperation()",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L44"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_accountselect",
+ "label": "AccountSelect()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "accountselect()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L36"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_amountfield",
+ "label": "amountField()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "amountfield()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L30"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_datefield",
+ "label": "dateField()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "datefield()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L33"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_expenseform",
+ "label": "ExpenseForm()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "expenseform()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L60"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_incomeform",
+ "label": "IncomeForm()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "incomeform()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L143"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_operationmodal",
+ "label": "OperationModal()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "operationmodal()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L379"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_operationspage",
+ "label": "OperationsPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "operationspage()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L450"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_refundform",
+ "label": "RefundForm()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "refundform()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L296"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_transferform",
+ "label": "TransferForm()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "transferform()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L217"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_voidmodal",
+ "label": "VoidModal()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "voidmodal()",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L404"
+ },
+ {
+ "id": "backend_alembic_env_run_migrations_offline",
+ "label": "run_migrations_offline()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "run_migrations_offline()",
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L18"
+ },
+ {
+ "id": "backend_alembic_env_run_migrations_online",
+ "label": "run_migrations_online()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "run_migrations_online()",
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L30"
+ },
+ {
+ "id": "backend_alembic_versions_20260911_0001_initial_schema_downgrade",
+ "label": "downgrade()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "downgrade()",
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L80"
+ },
+ {
+ "id": "backend_alembic_versions_20260911_0001_initial_schema_upgrade",
+ "label": "upgrade()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "upgrade()",
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L36"
+ },
+ {
+ "id": "backend_app_categorization_service_add_alias",
+ "label": "add_alias()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "add_alias()",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L46"
+ },
+ {
+ "id": "backend_app_categorization_service_ensure_income_source",
+ "label": "ensure_income_source()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "ensure_income_source()",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L26"
+ },
+ {
+ "id": "backend_app_categorization_service_find_payee_by_description",
+ "label": "find_payee_by_description()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "find_payee_by_description()",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L61"
+ },
+ {
+ "id": "backend_app_categorization_service_get_or_create_payee",
+ "label": "get_or_create_payee()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "get_or_create_payee()",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L35"
+ },
+ {
+ "id": "backend_app_categorization_service_rule_category_for_payee",
+ "label": "rule_category_for_payee()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "rule_category_for_payee()",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L75"
+ },
+ {
+ "id": "backend_app_categorization_service_set_payee_rule",
+ "label": "set_payee_rule()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "set_payee_rule()",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L81"
+ },
+ {
+ "id": "backend_app_db_base_utcdatetime_process_bind_param",
+ "label": ".process_bind_param()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": ".process_bind_param()",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L27"
+ },
+ {
+ "id": "backend_app_db_base_utcdatetime_process_result_value",
+ "label": ".process_result_value()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": ".process_result_value()",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L34"
+ },
+ {
+ "id": "backend_app_db_base_utcnow",
+ "label": "utcnow()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "utcnow()",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L40"
+ },
+ {
+ "id": "backend_app_exports_service_cancel_deletion",
+ "label": "cancel_deletion()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "cancel_deletion()",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L163"
+ },
+ {
+ "id": "backend_app_exports_service_request_export",
+ "label": "request_export()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "request_export()",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L23"
+ },
+ {
+ "id": "backend_app_exports_service_schedule_deletion",
+ "label": "schedule_deletion()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "schedule_deletion()",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L148"
+ },
+ {
+ "id": "backend_tests_test_imports_ready_document",
+ "label": "ready_document()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "ready_document()",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L40"
+ },
+ {
+ "id": "backend_tests_test_imports_seed",
+ "label": "seed()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "seed()",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L24"
+ },
+ {
+ "id": "backend_tests_test_imports_test_confirm_and_revert_are_idempotent",
+ "label": "test_confirm_and_revert_are_idempotent()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "test_confirm_and_revert_are_idempotent()",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L79"
+ },
+ {
+ "id": "backend_tests_test_imports_test_confirm_rejects_arithmetic_mismatch",
+ "label": "test_confirm_rejects_arithmetic_mismatch()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "test_confirm_rejects_arithmetic_mismatch()",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L94"
+ },
+ {
+ "id": "backend_tests_test_imports_test_confirmed_import_must_be_reverted_before_reparse",
+ "label": "test_confirmed_import_must_be_reverted_before_reparse()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "test_confirmed_import_must_be_reverted_before_reparse()",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L102"
+ },
+ {
+ "id": "backend_tests_test_imports_test_duplicate_candidate_can_reuse_unique_operation_without_client_id",
+ "label": "test_duplicate_candidate_can_reuse_unique_operation_without_client_id()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "test_duplicate_candidate_can_reuse_unique_operation_without_client_id()",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L164"
+ },
+ {
+ "id": "backend_tests_test_imports_test_transfer_merge_revert_restores_counterpart_operation",
+ "label": "test_transfer_merge_revert_restores_counterpart_operation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "test_transfer_merge_revert_restores_counterpart_operation()",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L220"
+ },
+ {
+ "id": "backend_tests_test_imports_test_unexpected_parser_failure_reaches_terminal_state",
+ "label": "test_unexpected_parser_failure_reaches_terminal_state()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "test_unexpected_parser_failure_reaches_terminal_state()",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L132"
+ },
+ {
+ "id": "frontend_src_app_app",
+ "label": "App()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "app()",
+ "source_file": "frontend/src/App.tsx",
+ "source_location": "L21"
+ },
+ {
+ "id": "frontend_src_app_router_approutes",
+ "label": "AppRoutes()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "approutes()",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L60"
+ },
+ {
+ "id": "frontend_src_i18n_index_createi18n",
+ "label": "createI18n()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "createi18n()",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L29"
+ },
+ {
+ "id": "frontend_src_i18n_index_detectlocale",
+ "label": "detectLocale()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "detectlocale()",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L20"
+ },
+ {
+ "id": "frontend_src_i18n_index_localelabel",
+ "label": "localeLabel()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "localelabel()",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L55"
+ },
+ {
+ "id": "frontend_src_i18n_index_storedlocale",
+ "label": "storedLocale()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "storedlocale()",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L11"
+ },
+ {
+ "id": "frontend_src_components_ui_toaster_toastprovider",
+ "label": "ToastProvider()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "toastprovider()",
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L20"
+ },
+ {
+ "id": "frontend_src_test_helpers_createtestqueryclient",
+ "label": "createTestQueryClient()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "createtestqueryclient()",
+ "source_file": "frontend/src/test/helpers.tsx",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_src_test_helpers_renderwithproviders",
+ "label": "renderWithProviders()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "renderwithproviders()",
+ "source_file": "frontend/src/test/helpers.tsx",
+ "source_location": "L16"
+ },
+ {
+ "id": "frontend_src_test_login_page_test_renderlogin",
+ "label": "renderLogin()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "renderlogin()",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L32"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget_usebudgetcategories",
+ "label": "useBudgetCategories()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "usebudgetcategories()",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L12"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget_usebudgeterrortoaster",
+ "label": "useBudgetErrorToaster()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "usebudgeterrortoaster()",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L19"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget_usebudgetsummary",
+ "label": "useBudgetSummary()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "usebudgetsummary()",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L8"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget_useclosemonth",
+ "label": "useCloseMonth()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "useclosemonth()",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L77"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget_usecopypreviousmonth",
+ "label": "useCopyPreviousMonth()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "usecopypreviousmonth()",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L85"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget_usefundcategory",
+ "label": "useFundCategory()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "usefundcategory()",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L42"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget_useperiodmutation",
+ "label": "usePeriodMutation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "useperiodmutation()",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L59"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget_usereopenmonth",
+ "label": "useReopenMonth()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "usereopenmonth()",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L81"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget_useupdateplan",
+ "label": "useUpdatePlan()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "useupdateplan()",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L25"
+ },
+ {
+ "id": "frontend_src_pages_budgetpage_budgetpage",
+ "label": "BudgetPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "budgetpage()",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L123"
+ },
+ {
+ "id": "frontend_src_pages_budgetpage_fundmodal",
+ "label": "FundModal()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "fundmodal()",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L77"
+ },
+ {
+ "id": "frontend_src_pages_budgetpage_planmodal",
+ "label": "PlanModal()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "planmodal()",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L29"
+ },
+ {
+ "id": "frontend_src_api_client_apierror_constructor",
+ "label": ".constructor()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": ".constructor()",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L6"
+ },
+ {
+ "id": "frontend_src_api_client_buildurl",
+ "label": "buildUrl()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "buildurl()",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L31"
+ },
+ {
+ "id": "frontend_src_api_client_isapierror",
+ "label": "isApiError()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "isapierror()",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L15"
+ },
+ {
+ "id": "frontend_src_api_client_parseerrorenvelope",
+ "label": "parseErrorEnvelope()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "parseerrorenvelope()",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L54"
+ },
+ {
+ "id": "frontend_src_api_client_readcsrftoken",
+ "label": "readCsrfToken()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "readcsrftoken()",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L42"
+ },
+ {
+ "id": "frontend_src_api_client_request",
+ "label": "request()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "request()",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L78"
+ },
+ {
+ "id": "frontend_src_api_client_toapierror",
+ "label": "toApiError()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "toapierror()",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L67"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_fieldchromewrap",
+ "label": "FieldChromeWrap()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "fieldchromewrap()",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L23"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_moneyfield",
+ "label": "MoneyField()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "moneyfield()",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L80"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_textareafield",
+ "label": "TextareaField()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "textareafield()",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L143"
+ },
+ {
+ "id": "frontend_src_hooks_usespacelifecycle_usecanceldeletion",
+ "label": "useCancelDeletion()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "Settings and Data Lifecycle",
+ "file_type": "code",
+ "norm_label": "usecanceldeletion()",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L50"
+ },
+ {
+ "id": "frontend_src_hooks_usespacelifecycle_userequestdeletion",
+ "label": "useRequestDeletion()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "Settings and Data Lifecycle",
+ "file_type": "code",
+ "norm_label": "userequestdeletion()",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L36"
+ },
+ {
+ "id": "frontend_src_hooks_usespacelifecycle_userequestexport",
+ "label": "useRequestExport()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "Settings and Data Lifecycle",
+ "file_type": "code",
+ "norm_label": "userequestexport()",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L12"
+ },
+ {
+ "id": "frontend_src_hooks_usespacelifecycle_usespacedeletion",
+ "label": "useSpaceDeletion()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "Settings and Data Lifecycle",
+ "file_type": "code",
+ "norm_label": "usespacedeletion()",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L8"
+ },
+ {
+ "id": "frontend_src_pages_settingspage_deletionform",
+ "label": "DeletionForm()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "Settings and Data Lifecycle",
+ "file_type": "code",
+ "norm_label": "deletionform()",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L23"
+ },
+ {
+ "id": "frontend_src_pages_settingspage_settingspage",
+ "label": "SettingsPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "Settings and Data Lifecycle",
+ "file_type": "code",
+ "norm_label": "settingspage()",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L58"
+ },
+ {
+ "id": "backend_app_db_session_get_db",
+ "label": "get_db()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "get_db()",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L37"
+ },
+ {
+ "id": "backend_app_db_session_get_session_factory",
+ "label": "get_session_factory()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "get_session_factory()",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L30"
+ },
+ {
+ "id": "backend_app_db_session_session_scope",
+ "label": "session_scope()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "session_scope()",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L59"
+ },
+ {
+ "id": "backend_app_db_session_set_space_context",
+ "label": "set_space_context()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "set_space_context()",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L49"
+ },
+ {
+ "id": "backend_app_exports_router_download",
+ "label": "download()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "download()",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L54"
+ },
+ {
+ "id": "backend_app_exports_router_export_status",
+ "label": "export_status()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "export_status()",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L41"
+ },
+ {
+ "id": "backend_app_exports_router_request_export",
+ "label": "request_export()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "request_export()",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L13"
+ },
+ {
+ "id": "backend_app_exports_service_build_export",
+ "label": "build_export()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "build_export()",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L50"
+ },
+ {
+ "id": "backend_app_exports_service_consume_export",
+ "label": "consume_export()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "consume_export()",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L118"
+ },
+ {
+ "id": "backend_app_exports_service_csv_bytes",
+ "label": "_csv_bytes()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "_csv_bytes()",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L41"
+ },
+ {
+ "id": "backend_app_exports_service_get_export",
+ "label": "get_export()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "get_export()",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L30"
+ },
+ {
+ "id": "backend_app_exports_service_json_rows",
+ "label": "_json_rows()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "_json_rows()",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L37"
+ },
+ {
+ "id": "backend_app_exports_service_purge_due_spaces",
+ "label": "purge_due_spaces()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "purge_due_spaces()",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L173"
+ },
+ {
+ "id": "backend_app_exports_tasks_build_export_task",
+ "label": "build_export_task()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "build_export_task()",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L9"
+ },
+ {
+ "id": "backend_app_exports_tasks_enqueue_export",
+ "label": "enqueue_export()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "enqueue_export()",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L20"
+ },
+ {
+ "id": "backend_app_exports_tasks_purge_due_spaces_task",
+ "label": "purge_due_spaces_task()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "purge_due_spaces_task()",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L25"
+ },
+ {
+ "id": "backend_app_imports_blob_blobstore_delete",
+ "label": ".delete()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".delete()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L14"
+ },
+ {
+ "id": "backend_app_imports_blob_blobstore_get",
+ "label": ".get()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".get()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L13"
+ },
+ {
+ "id": "backend_app_imports_blob_blobstore_put",
+ "label": ".put()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".put()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L12"
+ },
+ {
+ "id": "backend_app_imports_blob_get_blob_store",
+ "label": "get_blob_store()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "get_blob_store()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L69"
+ },
+ {
+ "id": "backend_app_imports_blob_localdirectoryblobstore_delete",
+ "label": ".delete()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".delete()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L36"
+ },
+ {
+ "id": "backend_app_imports_blob_localdirectoryblobstore_get",
+ "label": ".get()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".get()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L33"
+ },
+ {
+ "id": "backend_app_imports_blob_localdirectoryblobstore_init",
+ "label": ".__init__()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".__init__()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L20"
+ },
+ {
+ "id": "backend_app_imports_blob_localdirectoryblobstore_path",
+ "label": "._path()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "._path()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L23"
+ },
+ {
+ "id": "backend_app_imports_blob_localdirectoryblobstore_put",
+ "label": ".put()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".put()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L28"
+ },
+ {
+ "id": "backend_app_imports_blob_s3blobstore_delete",
+ "label": ".delete()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".delete()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L65"
+ },
+ {
+ "id": "backend_app_imports_blob_s3blobstore_get",
+ "label": ".get()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".get()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L61"
+ },
+ {
+ "id": "backend_app_imports_blob_s3blobstore_init",
+ "label": ".__init__()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".__init__()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L43"
+ },
+ {
+ "id": "backend_app_imports_blob_s3blobstore_put",
+ "label": ".put()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": ".put()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L58"
+ },
+ {
+ "id": "backend_tests_conftest_client",
+ "label": "client()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "client()",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L47"
+ },
+ {
+ "id": "backend_tests_conftest_db",
+ "label": "db()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "db()",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L40"
+ },
+ {
+ "id": "backend_tests_conftest_db_factory",
+ "label": "db_factory()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "db_factory()",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L21"
+ },
+ {
+ "id": "backend_tests_test_postgres_and_s3_test_postgres_rls_requires_matching_transaction_context",
+ "label": "test_postgres_rls_requires_matching_transaction_context()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "test_postgres_rls_requires_matching_transaction_context()",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L17"
+ },
+ {
+ "id": "backend_tests_test_postgres_and_s3_test_s3_blob_round_trip",
+ "label": "test_s3_blob_round_trip()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "test_s3_blob_round_trip()",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L46"
+ },
+ {
+ "id": "frontend_scripts_generate_api_firstreadable",
+ "label": "firstReadable()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "API Generation Script",
+ "file_type": "code",
+ "norm_label": "firstreadable()",
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L16"
+ },
+ {
+ "id": "frontend_scripts_generate_api_main",
+ "label": "main()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "API Generation Script",
+ "file_type": "code",
+ "norm_label": "main()",
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L28"
+ },
+ {
+ "id": "backend_app_imports_adapters_init_detect_adapter",
+ "label": "detect_adapter()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "detect_adapter()",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L26"
+ },
+ {
+ "id": "backend_app_imports_adapters_init_magic_kind",
+ "label": "magic_kind()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "magic_kind()",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L18"
+ },
+ {
+ "id": "backend_app_imports_blob_new_object_key",
+ "label": "new_object_key()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "new_object_key()",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L76"
+ },
+ {
+ "id": "backend_app_imports_crypto_decrypt_file",
+ "label": "decrypt_file()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "decrypt_file()",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L37"
+ },
+ {
+ "id": "backend_app_imports_crypto_encrypt_file",
+ "label": "encrypt_file()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "encrypt_file()",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L21"
+ },
+ {
+ "id": "backend_app_imports_crypto_shred_dek_material",
+ "label": "shred_dek_material()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "shred_dek_material()",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L56"
+ },
+ {
+ "id": "backend_app_imports_router_confirm",
+ "label": "confirm()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "confirm()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L185"
+ },
+ {
+ "id": "backend_app_imports_router_decide_row",
+ "label": "decide_row()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "decide_row()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L165"
+ },
+ {
+ "id": "backend_app_imports_router_delete_source",
+ "label": "delete_source()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "delete_source()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L244"
+ },
+ {
+ "id": "backend_app_imports_router_detail",
+ "label": "detail()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "detail()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L98"
+ },
+ {
+ "id": "backend_app_imports_router_imports",
+ "label": "imports()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "imports()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L53"
+ },
+ {
+ "id": "backend_app_imports_router_reparse",
+ "label": "reparse()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "reparse()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L209"
+ },
+ {
+ "id": "backend_app_imports_router_revert",
+ "label": "revert()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "revert()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L236"
+ },
+ {
+ "id": "backend_app_imports_router_review",
+ "label": "review()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "review()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L154"
+ },
+ {
+ "id": "backend_app_imports_router_summary",
+ "label": "summary()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "summary()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L36"
+ },
+ {
+ "id": "backend_app_imports_router_upload",
+ "label": "upload()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "upload()",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58"
+ },
+ {
+ "id": "backend_app_imports_service_build_candidates",
+ "label": "_build_candidates()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "_build_candidates()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L161"
+ },
+ {
+ "id": "backend_app_imports_service_create_document",
+ "label": "create_document()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "create_document()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L44"
+ },
+ {
+ "id": "backend_app_imports_service_decide_source_record",
+ "label": "decide_source_record()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "decide_source_record()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L381"
+ },
+ {
+ "id": "backend_app_imports_service_delete_source_file",
+ "label": "delete_source_file()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "delete_source_file()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L906"
+ },
+ {
+ "id": "backend_app_imports_service_document",
+ "label": "_document()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "_document()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L35"
+ },
+ {
+ "id": "backend_app_imports_service_document_detail",
+ "label": "document_detail()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "document_detail()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L344"
+ },
+ {
+ "id": "backend_app_imports_service_list_documents",
+ "label": "list_documents()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "list_documents()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L335"
+ },
+ {
+ "id": "backend_app_imports_service_prepare_reparse",
+ "label": "prepare_reparse()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "prepare_reparse()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L725"
+ },
+ {
+ "id": "backend_app_imports_service_process_statement_document",
+ "label": "process_statement_document()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "process_statement_document()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L237"
+ },
+ {
+ "id": "backend_app_imports_service_revert_document",
+ "label": "revert_document()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "revert_document()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L750"
+ },
+ {
+ "id": "backend_app_imports_service_set_review_confirmation",
+ "label": "set_review_confirmation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "set_review_confirmation()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L452"
+ },
+ {
+ "id": "backend_app_imports_service_source_from_row",
+ "label": "_source_from_row()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "_source_from_row()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L128"
+ },
+ {
+ "id": "backend_app_imports_tasks_enqueue_process_statement",
+ "label": "enqueue_process_statement()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "enqueue_process_statement()",
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L21"
+ },
+ {
+ "id": "backend_app_imports_tasks_process_statement_task",
+ "label": "process_statement_task()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "process_statement_task()",
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L7"
+ },
+ {
+ "id": "backend_tests_test_api_test_invite_login_and_authenticated_space",
+ "label": "test_invite_login_and_authenticated_space()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "API Integration Tests",
+ "file_type": "code",
+ "norm_label": "test_invite_login_and_authenticated_space()",
+ "source_file": "backend/tests/test_api.py",
+ "source_location": "L4"
+ },
+ {
+ "id": "backend_tests_test_api_test_openapi_contains_critical_paths",
+ "label": "test_openapi_contains_critical_paths()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "API Integration Tests",
+ "file_type": "code",
+ "norm_label": "test_openapi_contains_critical_paths()",
+ "source_file": "backend/tests/test_api.py",
+ "source_location": "L39"
+ },
+ {
+ "id": "frontend_src_test_i18n_parity_test_collect",
+ "label": "collect()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "Localization Tests",
+ "file_type": "code",
+ "norm_label": "collect()",
+ "source_file": "frontend/src/test/i18n-parity.test.ts",
+ "source_location": "L7"
+ },
+ {
+ "id": "backend_app_errors_apperror_init",
+ "label": ".__init__()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": ".__init__()",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L10"
+ },
+ {
+ "id": "backend_app_errors_unprocessable",
+ "label": "unprocessable()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "unprocessable()",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L47"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_detect",
+ "label": ".detect()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": ".detect()",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L32"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "label": ".parse()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": ".parse()",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L40"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_cell_str",
+ "label": "_cell_str()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_cell_str()",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L139"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_find_account_value",
+ "label": "_find_account_value()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_find_account_value()",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L182"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_find_header",
+ "label": "_find_header()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_find_header()",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L162"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_get_settings_row_cap",
+ "label": "get_settings_row_cap()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "get_settings_row_cap()",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L113"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_parse_date",
+ "label": "_parse_date()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_parse_date()",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L146"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_rows_text",
+ "label": "_rows_text()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_rows_text()",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L130"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_scan_text",
+ "label": "_scan_text()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_scan_text()",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L119"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_account_fingerprint",
+ "label": "account_fingerprint()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "account_fingerprint()",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L80"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_amount_to_kopecks",
+ "label": "amount_to_kopecks()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "amount_to_kopecks()",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L62"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_normalize_description",
+ "label": "normalize_description()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "normalize_description()",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L85"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_record_fingerprint",
+ "label": "record_fingerprint()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "record_fingerprint()",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L91"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_statementadapter_detect",
+ "label": ".detect()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": ".detect()",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L58"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_statementadapter_parse",
+ "label": ".parse()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": ".parse()",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L59"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_unsupportedstatementlayout_init",
+ "label": ".__init__()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": ".__init__()",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L47"
+ },
+ {
+ "id": "backend_app_imports_adapters_ozon_pdf_first_page_text",
+ "label": "_first_page_text()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_first_page_text()",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L118"
+ },
+ {
+ "id": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_detect",
+ "label": ".detect()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": ".detect()",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L36"
+ },
+ {
+ "id": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_parse",
+ "label": ".parse()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": ".parse()",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L46"
+ },
+ {
+ "id": "backend_app_imports_adapters_ozon_pdf_parse_row",
+ "label": "_parse_row()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_parse_row()",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L97"
+ },
+ {
+ "id": "backend_app_imports_readers_open_pdf",
+ "label": "open_pdf()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "open_pdf()",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L52"
+ },
+ {
+ "id": "backend_app_imports_readers_open_xlsx",
+ "label": "open_xlsx()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "open_xlsx()",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L23"
+ },
+ {
+ "id": "backend_app_imports_readers_quota_error",
+ "label": "_quota_error()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_quota_error()",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L14"
+ },
+ {
+ "id": "backend_app_imports_service_draft_json",
+ "label": "_draft_json()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "_draft_json()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L116"
+ },
+ {
+ "id": "backend_tests_test_imports_test_invalid_direction_is_critical",
+ "label": "test_invalid_direction_is_critical()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "test_invalid_direction_is_critical()",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L110"
+ },
+ {
+ "id": "backend_app_audit_service_record",
+ "label": "record()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "record()",
+ "source_file": "backend/app/audit/service.py",
+ "source_location": "L8"
+ },
+ {
+ "id": "backend_app_categorization_service_get_income_source",
+ "label": "get_income_source()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "get_income_source()",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L19"
+ },
+ {
+ "id": "backend_app_errors_conflict",
+ "label": "conflict()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "conflict()",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L43"
+ },
+ {
+ "id": "backend_app_errors_not_found",
+ "label": "not_found()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "not_found()",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L39"
+ },
+ {
+ "id": "backend_app_imports_service_confirm_document",
+ "label": "confirm_document()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "confirm_document()",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L492"
+ },
+ {
+ "id": "backend_app_ledger_service_account_balance",
+ "label": "account_balance()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "account_balance()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L63"
+ },
+ {
+ "id": "backend_app_ledger_service_apply_suggestion",
+ "label": "_apply_suggestion()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "_apply_suggestion()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L119"
+ },
+ {
+ "id": "backend_app_ledger_service_archive_account",
+ "label": "archive_account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "archive_account()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L462"
+ },
+ {
+ "id": "backend_app_ledger_service_create_account",
+ "label": "create_account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "create_account()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L76"
+ },
+ {
+ "id": "backend_app_ledger_service_create_expense",
+ "label": "create_expense()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "create_expense()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L138"
+ },
+ {
+ "id": "backend_app_ledger_service_create_income",
+ "label": "create_income()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "create_income()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L194"
+ },
+ {
+ "id": "backend_app_ledger_service_create_refund",
+ "label": "create_refund()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "create_refund()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L324"
+ },
+ {
+ "id": "backend_app_ledger_service_create_transfer",
+ "label": "create_transfer()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "create_transfer()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L248"
+ },
+ {
+ "id": "backend_app_ledger_service_delete_account",
+ "label": "delete_account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "delete_account()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L484"
+ },
+ {
+ "id": "backend_app_ledger_service_ensure_period_open_for_date",
+ "label": "ensure_period_open_for_date()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "ensure_period_open_for_date()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L390"
+ },
+ {
+ "id": "backend_app_ledger_service_existing_by_request_key",
+ "label": "_existing_by_request_key()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "_existing_by_request_key()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L111"
+ },
+ {
+ "id": "backend_app_ledger_service_get_account",
+ "label": "get_account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "get_account()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L30"
+ },
+ {
+ "id": "backend_app_ledger_service_get_operation",
+ "label": "get_operation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "get_operation()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L37"
+ },
+ {
+ "id": "backend_app_ledger_service_list_accounts",
+ "label": "list_accounts()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "list_accounts()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L551"
+ },
+ {
+ "id": "backend_app_ledger_service_list_operations",
+ "label": "list_operations()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "list_operations()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L506"
+ },
+ {
+ "id": "backend_app_ledger_service_refunded_kopecks",
+ "label": "refunded_kopecks()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "refunded_kopecks()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L311"
+ },
+ {
+ "id": "backend_app_ledger_service_require_active_account",
+ "label": "_require_active_account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "_require_active_account()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L44"
+ },
+ {
+ "id": "backend_app_ledger_service_to_kopecks",
+ "label": "to_kopecks()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "to_kopecks()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L19"
+ },
+ {
+ "id": "backend_app_ledger_service_update_operation",
+ "label": "update_operation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "update_operation()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L430"
+ },
+ {
+ "id": "backend_app_ledger_service_validate_category",
+ "label": "_validate_category()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "_validate_category()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L51"
+ },
+ {
+ "id": "backend_app_ledger_service_void_operation",
+ "label": "void_operation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "void_operation()",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L411"
+ },
+ {
+ "id": "backend_app_spaces_service_create_space",
+ "label": "create_space()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "create_space()",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L12"
+ },
+ {
+ "id": "backend_tests_test_ledger_properties_seed",
+ "label": "seed()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "seed()",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L23"
+ },
+ {
+ "id": "backend_tests_test_ledger_properties_test_credit_expense_is_negative_balance_and_refund_is_capped",
+ "label": "test_credit_expense_is_negative_balance_and_refund_is_capped()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "test_credit_expense_is_negative_balance_and_refund_is_capped()",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L71"
+ },
+ {
+ "id": "backend_tests_test_ledger_properties_test_cross_space_lookup_fails_closed",
+ "label": "test_cross_space_lookup_fails_closed()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "test_cross_space_lookup_fails_closed()",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L110"
+ },
+ {
+ "id": "backend_tests_test_ledger_properties_test_idempotency_key_prevents_duplicate_income",
+ "label": "test_idempotency_key_prevents_duplicate_income()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "test_idempotency_key_prevents_duplicate_income()",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L126"
+ },
+ {
+ "id": "backend_tests_test_ledger_properties_test_transfer_postings_conserve_money",
+ "label": "test_transfer_postings_conserve_money()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "test_transfer_postings_conserve_money()",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L33"
+ },
+ {
+ "id": "frontend_src_test_import_polling_test_detail",
+ "label": "detail()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "detail()",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L25"
+ },
+ {
+ "id": "frontend_src_test_import_polling_test_makewrapper",
+ "label": "makeWrapper()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "makewrapper()",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L51"
+ },
+ {
+ "id": "frontend_src_app_router_requireauth",
+ "label": "RequireAuth()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "requireauth()",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L44"
+ },
+ {
+ "id": "frontend_src_components_layout_applayout_applayout",
+ "label": "AppLayout()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "applayout()",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L17"
+ },
+ {
+ "id": "frontend_src_components_layout_langswitcher_langswitcher",
+ "label": "LangSwitcher()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "langswitcher()",
+ "source_file": "frontend/src/components/layout/LangSwitcher.tsx",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_src_components_ui_button_button",
+ "label": "Button()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "button()",
+ "source_file": "frontend/src/components/ui/Button.tsx",
+ "source_location": "L9"
+ },
+ {
+ "id": "frontend_src_components_ui_fields_textfield",
+ "label": "TextField()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "textfield()",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L56"
+ },
+ {
+ "id": "frontend_src_hooks_useauth_useacceptinvite",
+ "label": "useAcceptInvite()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "useacceptinvite()",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L30"
+ },
+ {
+ "id": "frontend_src_hooks_useauth_useconfirmpasswordreset",
+ "label": "useConfirmPasswordReset()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "useconfirmpasswordreset()",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L38"
+ },
+ {
+ "id": "frontend_src_hooks_useauth_uselogin",
+ "label": "useLogin()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "uselogin()",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L26"
+ },
+ {
+ "id": "frontend_src_hooks_useauth_uselogout",
+ "label": "useLogout()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "uselogout()",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L42"
+ },
+ {
+ "id": "frontend_src_hooks_useauth_useme",
+ "label": "useMe()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "useme()",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L6"
+ },
+ {
+ "id": "frontend_src_hooks_useauth_userequestpasswordreset",
+ "label": "useRequestPasswordReset()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "userequestpasswordreset()",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L34"
+ },
+ {
+ "id": "frontend_src_hooks_useauth_usesessionmutation",
+ "label": "useSessionMutation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "usesessionmutation()",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L15"
+ },
+ {
+ "id": "frontend_src_i18n_index_setlocale",
+ "label": "setLocale()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "setlocale()",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L46"
+ },
+ {
+ "id": "frontend_src_pages_acceptinvitepage_acceptinvitepage",
+ "label": "AcceptInvitePage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "acceptinvitepage()",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L19"
+ },
+ {
+ "id": "frontend_src_pages_loginpage_loginpage",
+ "label": "LoginPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "loginpage()",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L18"
+ },
+ {
+ "id": "frontend_src_pages_resetpasswordpage_resetpasswordpage",
+ "label": "ResetPasswordPage()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "resetpasswordpage()",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L19"
+ },
+ {
+ "id": "backend_app_ledger_router_account_json",
+ "label": "account_json()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "account_json()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L55"
+ },
+ {
+ "id": "backend_app_ledger_router_accounts",
+ "label": "accounts()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "accounts()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L100"
+ },
+ {
+ "id": "backend_app_ledger_router_archive_account",
+ "label": "archive_account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "archive_account()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L116"
+ },
+ {
+ "id": "backend_app_ledger_router_create_account",
+ "label": "create_account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "create_account()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L105"
+ },
+ {
+ "id": "backend_app_ledger_router_create_operation",
+ "label": "create_operation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "create_operation()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L174"
+ },
+ {
+ "id": "backend_app_ledger_router_delete_account",
+ "label": "delete_account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "delete_account()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L132"
+ },
+ {
+ "id": "backend_app_ledger_router_operation_json",
+ "label": "operation_json()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "operation_json()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L71"
+ },
+ {
+ "id": "backend_app_ledger_router_operations",
+ "label": "operations()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "operations()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137"
+ },
+ {
+ "id": "backend_app_ledger_router_patch_account",
+ "label": "patch_account()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "patch_account()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L124"
+ },
+ {
+ "id": "backend_app_ledger_router_patch_operation",
+ "label": "patch_operation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "patch_operation()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L264"
+ },
+ {
+ "id": "backend_app_ledger_router_void_operation",
+ "label": "void_operation()",
+ "_callable": true,
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "void_operation()",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L250"
+ },
+ {
+ "id": "backend_app_audit_init",
+ "label": "audit/__init__.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "audit/__init__.py",
+ "source_file": "backend/app/audit/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_config",
+ "label": "config.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "config.py",
+ "source_file": "backend/app/config.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_dependencies",
+ "label": "dependencies.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "dependencies.py",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_dependencies_py_alias",
+ "label": "alias",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "alias",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_dependencies_py_context",
+ "label": "Context",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "context",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_dependencies_py_currentsession",
+ "label": "CurrentSession",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "currentsession",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_dependencies_py_db",
+ "label": "Db",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "db",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_dependencies_py_header",
+ "label": "Header",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "header",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_dependencies_py_user",
+ "label": "User",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "user",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_errors",
+ "label": "errors.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "errors.py",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_identity_init",
+ "label": "identity/__init__.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "identity/__init__.py",
+ "source_file": "backend/app/identity/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_identity_mailer",
+ "label": "mailer.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "mailer.py",
+ "source_file": "backend/app/identity/mailer.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_identity_router",
+ "label": "identity/router.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "identity/router.py",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_identity_router_py_alias",
+ "label": "alias",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "alias",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_router_py_basemodel",
+ "label": "BaseModel",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "basemodel",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_router_py_currentsession",
+ "label": "CurrentSession",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "currentsession",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_router_py_db",
+ "label": "Db",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "db",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_router_py_get",
+ "label": "get",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "get",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_router_py_header",
+ "label": "Header",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "header",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_router_py_post",
+ "label": "post",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "post",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_router_py_request",
+ "label": "Request",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "request",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_router_py_response",
+ "label": "Response",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "response",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_service",
+ "label": "identity/service.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "identity/service.py",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_identity_service_py_user",
+ "label": "User",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "user",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_service_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_celery_app",
+ "label": "celery_app.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "celery_app.py",
+ "source_file": "backend/app/imports/celery_app.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_ratelimit",
+ "label": "ratelimit.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "ratelimit.py",
+ "source_file": "backend/app/ratelimit.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_security",
+ "label": "security.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "security.py",
+ "source_file": "backend/app/security.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_spaces_router",
+ "label": "spaces/router.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "spaces/router.py",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_spaces_router_py_alias",
+ "label": "alias",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "alias",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_router_py_basemodel",
+ "label": "BaseModel",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "basemodel",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_router_py_context",
+ "label": "Context",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "context",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_router_py_csrf",
+ "label": "Csrf",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "csrf",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_router_py_currentsession",
+ "label": "CurrentSession",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "currentsession",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_router_py_db",
+ "label": "Db",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "db",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_router_py_delete",
+ "label": "delete",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "delete",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_router_py_get",
+ "label": "get",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "get",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_router_py_header",
+ "label": "Header",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "header",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_router_py_post",
+ "label": "post",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "post",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_service",
+ "label": "spaces/service.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "spaces/service.py",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_spaces_service_py_user",
+ "label": "User",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "user",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_spaces_service_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_worker",
+ "label": "worker.py",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "worker.py",
+ "source_file": "backend/app/worker.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "basesettings",
+ "label": "BaseSettings",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "basesettings",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "celery",
+ "label": "Celery",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "celery",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "cookie",
+ "label": "Cookie",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "cookie",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "dbsession",
+ "label": "DbSession",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "dbsession",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "session_cookie_name",
+ "label": "session_cookie_name",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "session_cookie_name",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "usersession",
+ "label": "UserSession",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "code",
+ "norm_label": "usersession",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ratelimit_rationale_16",
+ "label": "Distributed fixed-window limiter with a local fail-safe fallback.",
+ "_origin": "ast",
+ "community": 0,
+ "community_name": "Identity and Configuration",
+ "file_type": "rationale",
+ "norm_label": "distributed fixed-window limiter with a local fail-safe fallback.",
+ "source_file": "backend/app/ratelimit.py",
+ "source_location": "L16"
+ },
+ {
+ "id": "backend_app_analytics_service",
+ "label": "analytics/service.py",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "analytics/service.py",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_analytics_service_py_date",
+ "label": "date",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "date",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_analytics_service_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_init",
+ "label": "budgeting/__init__.py",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "budgeting/__init__.py",
+ "source_file": "backend/app/budgeting/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_budgeting_router",
+ "label": "budgeting/router.py",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "budgeting/router.py",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_budgeting_router_py_basemodel",
+ "label": "BaseModel",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "basemodel",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_router_py_context",
+ "label": "Context",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "context",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_router_py_csrf",
+ "label": "Csrf",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "csrf",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_router_py_db",
+ "label": "Db",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "db",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_router_py_get",
+ "label": "get",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "get",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_router_py_patch",
+ "label": "patch",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "patch",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_router_py_post",
+ "label": "post",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "post",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_router_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_service",
+ "label": "budgeting/service.py",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "budgeting/service.py",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_budgeting_service_py_account",
+ "label": "Account",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "account",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_service_py_date",
+ "label": "date",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "date",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_service_py_user",
+ "label": "User",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "user",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_service_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_tests_test_budget",
+ "label": "test_budget.py",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "test_budget.py",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "expectedincome",
+ "label": "ExpectedIncome",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "expectedincome",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "put",
+ "label": "put",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "code",
+ "norm_label": "put",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_budgeting_models_rationale_26",
+ "label": "Calendar month budget period in the space timezone (month granularity).",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "rationale",
+ "norm_label": "calendar month budget period in the space timezone (month granularity).",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L26"
+ },
+ {
+ "id": "backend_app_budgeting_service_rationale_115",
+ "label": "Deterministic budget state. Resource model: - income lands in the general pool;\u2026",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "rationale",
+ "norm_label": "deterministic budget state. resource model: - income lands in the general pool;...",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L115"
+ },
+ {
+ "id": "backend_app_categorization_service_rationale_9",
+ "label": "Standard categories resolve to a translation key; overrides/customs are literal.",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "rationale",
+ "norm_label": "standard categories resolve to a translation key; overrides/customs are literal.",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L9"
+ },
+ {
+ "id": "backend_app_ledger_models_rationale_160",
+ "label": "Budget category. Kept in ledger module to avoid circular imports.",
+ "_origin": "ast",
+ "community": 1,
+ "community_name": "Budget Domain Services",
+ "file_type": "rationale",
+ "norm_label": "budget category. kept in ledger module to avoid circular imports.",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L160"
+ },
+ {
+ "id": "frontend_src_app_router_importspage",
+ "label": "ImportsPage",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "importspage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L22"
+ },
+ {
+ "id": "frontend_src_app_router_notfoundpage",
+ "label": "NotFoundPage",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "notfoundpage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L28"
+ },
+ {
+ "id": "frontend_src_app_router_reviewqueuepage",
+ "label": "ReviewQueuePage",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "reviewqueuepage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L34"
+ },
+ {
+ "id": "frontend_src_components_ui_badge",
+ "label": "Badge.tsx",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "badge.tsx",
+ "source_file": "frontend/src/components/ui/Badge.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_emptystate",
+ "label": "EmptyState.tsx",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "emptystate.tsx",
+ "source_file": "frontend/src/components/ui/EmptyState.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_pageheader",
+ "label": "PageHeader.tsx",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "pageheader.tsx",
+ "source_file": "frontend/src/components/ui/PageHeader.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_querygate",
+ "label": "QueryGate.tsx",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "querygate.tsx",
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_spinner",
+ "label": "Spinner.tsx",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "spinner.tsx",
+ "source_file": "frontend/src/components/ui/Spinner.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_importspage",
+ "label": "ImportsPage.tsx",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "importspage.tsx",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_notfoundpage",
+ "label": "NotFoundPage.tsx",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "notfoundpage.tsx",
+ "source_file": "frontend/src/pages/NotFoundPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_reviewqueuepage",
+ "label": "ReviewQueuePage.tsx",
+ "_origin": "ast",
+ "community": 10,
+ "community_name": "Import Review UI",
+ "file_type": "code",
+ "norm_label": "reviewqueuepage.tsx",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_tsconfig",
+ "label": "tsconfig.json",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "tsconfig.json",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions",
+ "label": "compilerOptions",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "compileroptions",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L2"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_baseurl",
+ "label": "baseUrl",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "baseurl",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L22"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_esmoduleinterop",
+ "label": "esModuleInterop",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "esmoduleinterop",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L15"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_forceconsistentcasinginfilenames",
+ "label": "forceConsistentCasingInFileNames",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "forceconsistentcasinginfilenames",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L16"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_isolatedmodules",
+ "label": "isolatedModules",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "isolatedmodules",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L14"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_jsx",
+ "label": "jsx",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "jsx",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_lib",
+ "label": "lib",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "lib",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L4"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_module",
+ "label": "module",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "module",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_moduleresolution",
+ "label": "moduleResolution",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "moduleresolution",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L6"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_noemit",
+ "label": "noEmit",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "noemit",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L20"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_nofallthroughcasesinswitch",
+ "label": "noFallthroughCasesInSwitch",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "nofallthroughcasesinswitch",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L11"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_nouncheckedindexedaccess",
+ "label": "noUncheckedIndexedAccess",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "nouncheckedindexedaccess",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L12"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_nounusedlocals",
+ "label": "noUnusedLocals",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "nounusedlocals",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L9"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_nounusedparameters",
+ "label": "noUnusedParameters",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "nounusedparameters",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_paths",
+ "label": "paths",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "paths",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L23"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_resolvejsonmodule",
+ "label": "resolveJsonModule",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "resolvejsonmodule",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L18"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_skiplibcheck",
+ "label": "skipLibCheck",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "skiplibcheck",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L19"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_strict",
+ "label": "strict",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "strict",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L8"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_target",
+ "label": "target",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "target",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_types",
+ "label": "types",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "types",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L21"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_usedefineforclassfields",
+ "label": "useDefineForClassFields",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "usedefineforclassfields",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L17"
+ },
+ {
+ "id": "frontend_tsconfig_compileroptions_verbatimmodulesyntax",
+ "label": "verbatimModuleSyntax",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "verbatimmodulesyntax",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L13"
+ },
+ {
+ "id": "frontend_tsconfig_include",
+ "label": "include",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "code",
+ "norm_label": "include",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L27"
+ },
+ {
+ "id": "ref_dom",
+ "label": "DOM",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "concept",
+ "norm_label": "dom",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L4"
+ },
+ {
+ "id": "ref_dom_iterable",
+ "label": "DOM.Iterable",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "concept",
+ "norm_label": "dom.iterable",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L4"
+ },
+ {
+ "id": "ref_es2022",
+ "label": "ES2022",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "concept",
+ "norm_label": "es2022",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L4"
+ },
+ {
+ "id": "ref_src",
+ "label": "src",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "concept",
+ "norm_label": "src",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L27"
+ },
+ {
+ "id": "ref_vite_client",
+ "label": "vite/client",
+ "_origin": "ast",
+ "community": 11,
+ "community_name": "TypeScript Configuration",
+ "file_type": "concept",
+ "norm_label": "vite/client",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L21"
+ },
+ {
+ "id": "frontend_src_app_router_analyticspage",
+ "label": "AnalyticsPage",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "analyticspage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L13"
+ },
+ {
+ "id": "frontend_src_components_charts_columnchart",
+ "label": "ColumnChart.tsx",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "columnchart.tsx",
+ "source_file": "frontend/src/components/charts/ColumnChart.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_charts_horizontalbars",
+ "label": "HorizontalBars.tsx",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "horizontalbars.tsx",
+ "source_file": "frontend/src/components/charts/HorizontalBars.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_charts_planfactbars",
+ "label": "PlanFactBars.tsx",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "planfactbars.tsx",
+ "source_file": "frontend/src/components/charts/PlanFactBars.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_monthswitcher",
+ "label": "MonthSwitcher.tsx",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "monthswitcher.tsx",
+ "source_file": "frontend/src/components/ui/MonthSwitcher.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_hooks_useanalytics",
+ "label": "useAnalytics.ts",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "useanalytics.ts",
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_analyticspage",
+ "label": "AnalyticsPage.tsx",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "analyticspage.tsx",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_analyticspage_range_choices",
+ "label": "RANGE_CHOICES",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "range_choices",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L21"
+ },
+ {
+ "id": "frontend_src_test_chart_accessible_table_test",
+ "label": "chart-accessible-table.test.tsx",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "chart-accessible-table.test.tsx",
+ "source_file": "frontend/src/test/chart-accessible-table.test.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_chart_accessible_table_test_rows",
+ "label": "rows",
+ "_origin": "ast",
+ "community": 12,
+ "community_name": "Analytics UI",
+ "file_type": "code",
+ "norm_label": "rows",
+ "source_file": "frontend/src/test/chart-accessible-table.test.tsx",
+ "source_location": "L6"
+ },
+ {
+ "id": "backend_app_analytics_init",
+ "label": "analytics/__init__.py",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "analytics/__init__.py",
+ "source_file": "backend/app/analytics/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_analytics_router",
+ "label": "analytics/router.py",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "analytics/router.py",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_analytics_router_py_context",
+ "label": "Context",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "context",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_analytics_router_py_date",
+ "label": "date",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "date",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_analytics_router_py_db",
+ "label": "Db",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "db",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_analytics_router_py_get",
+ "label": "get",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "get",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_main",
+ "label": "main.py",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "main.py",
+ "source_file": "backend/app/main.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_main_py_get",
+ "label": "get",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "get",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_main_py_request",
+ "label": "Request",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "request",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "engine",
+ "label": "Engine",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "engine",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "exception_handler",
+ "label": "exception_handler",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "exception_handler",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "jsonresponse",
+ "label": "JSONResponse",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "jsonresponse",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "middleware",
+ "label": "middleware",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "middleware",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "staledataerror",
+ "label": "StaleDataError",
+ "_origin": "ast",
+ "community": 13,
+ "community_name": "API and Analytics",
+ "file_type": "code",
+ "norm_label": "staledataerror",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "frontend_package_devdependencies",
+ "label": "devDependencies",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "devdependencies",
+ "source_file": "frontend/package.json",
+ "source_location": "L27"
+ },
+ {
+ "id": "frontend_package_devdependencies_eslint",
+ "label": "eslint",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "eslint",
+ "source_file": "frontend/package.json",
+ "source_location": "L36"
+ },
+ {
+ "id": "frontend_package_devdependencies_eslint_js",
+ "label": "@eslint/js",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "@eslint/js",
+ "source_file": "frontend/package.json",
+ "source_location": "L28"
+ },
+ {
+ "id": "frontend_package_devdependencies_eslint_plugin_react_hooks",
+ "label": "eslint-plugin-react-hooks",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "eslint-plugin-react-hooks",
+ "source_file": "frontend/package.json",
+ "source_location": "L38"
+ },
+ {
+ "id": "frontend_package_devdependencies_openapi_typescript",
+ "label": "openapi-typescript",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "openapi-typescript",
+ "source_file": "frontend/package.json",
+ "source_location": "L41"
+ },
+ {
+ "id": "frontend_package_devdependencies_testing_library_dom",
+ "label": "@testing-library/dom",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "@testing-library/dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L29"
+ },
+ {
+ "id": "frontend_package_devdependencies_testing_library_jest_dom",
+ "label": "@testing-library/jest-dom",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "@testing-library/jest-dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L30"
+ },
+ {
+ "id": "frontend_package_devdependencies_testing_library_react",
+ "label": "@testing-library/react",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "@testing-library/react",
+ "source_file": "frontend/package.json",
+ "source_location": "L31"
+ },
+ {
+ "id": "frontend_package_devdependencies_testing_library_user_event",
+ "label": "@testing-library/user-event",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "@testing-library/user-event",
+ "source_file": "frontend/package.json",
+ "source_location": "L32"
+ },
+ {
+ "id": "frontend_package_devdependencies_typescript",
+ "label": "typescript",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "typescript",
+ "source_file": "frontend/package.json",
+ "source_location": "L42"
+ },
+ {
+ "id": "frontend_package_devdependencies_vite",
+ "label": "vite",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "code",
+ "norm_label": "vite",
+ "source_file": "frontend/package.json",
+ "source_location": "L44"
+ },
+ {
+ "id": "eslint",
+ "label": "eslint",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "eslint",
+ "source_file": "frontend/package.json",
+ "source_location": "L36"
+ },
+ {
+ "id": "eslint_js",
+ "label": "@eslint/js",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "@eslint/js",
+ "source_file": "frontend/package.json",
+ "source_location": "L28"
+ },
+ {
+ "id": "eslint_plugin_react_hooks",
+ "label": "eslint-plugin-react-hooks",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "eslint-plugin-react-hooks",
+ "source_file": "frontend/package.json",
+ "source_location": "L38"
+ },
+ {
+ "id": "openapi_typescript",
+ "label": "openapi-typescript",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "openapi-typescript",
+ "source_file": "frontend/package.json",
+ "source_location": "L41"
+ },
+ {
+ "id": "testing_library_dom",
+ "label": "@testing-library/dom",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "@testing-library/dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L29"
+ },
+ {
+ "id": "testing_library_jest_dom",
+ "label": "@testing-library/jest-dom",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "@testing-library/jest-dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L30"
+ },
+ {
+ "id": "testing_library_react",
+ "label": "@testing-library/react",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "@testing-library/react",
+ "source_file": "frontend/package.json",
+ "source_location": "L31"
+ },
+ {
+ "id": "testing_library_user_event",
+ "label": "@testing-library/user-event",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "@testing-library/user-event",
+ "source_file": "frontend/package.json",
+ "source_location": "L32"
+ },
+ {
+ "id": "typescript",
+ "label": "typescript",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "typescript",
+ "source_file": "frontend/package.json",
+ "source_location": "L42"
+ },
+ {
+ "id": "vite",
+ "label": "vite",
+ "_origin": "ast",
+ "community": 14,
+ "community_name": "Frontend Development Dependencies",
+ "file_type": "concept",
+ "norm_label": "vite",
+ "source_file": "frontend/package.json",
+ "source_location": "L44"
+ },
+ {
+ "id": "frontend_src_components_ui_confirmdialog",
+ "label": "ConfirmDialog.tsx",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "confirmdialog.tsx",
+ "source_file": "frontend/src/components/ui/ConfirmDialog.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_modal",
+ "label": "Modal.tsx",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "modal.tsx",
+ "source_file": "frontend/src/components/ui/Modal.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_accountspage",
+ "label": "AccountsPage.tsx",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "accountspage.tsx",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_accounts_page_test",
+ "label": "accounts-page.test.tsx",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "accounts-page.test.tsx",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_accounts_page_test_createmock",
+ "label": "createMock",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "createmock",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L19"
+ },
+ {
+ "id": "frontend_src_test_accounts_page_test_listmock",
+ "label": "listMock",
+ "_origin": "ast",
+ "community": 15,
+ "community_name": "Accounts UI",
+ "file_type": "code",
+ "norm_label": "listmock",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L18"
+ },
+ {
+ "id": "frontend_package_dependencies",
+ "label": "dependencies",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "dependencies",
+ "source_file": "frontend/package.json",
+ "source_location": "L16"
+ },
+ {
+ "id": "frontend_package_dependencies_hookform_resolvers",
+ "label": "@hookform/resolvers",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "@hookform/resolvers",
+ "source_file": "frontend/package.json",
+ "source_location": "L17"
+ },
+ {
+ "id": "frontend_package_dependencies_i18next",
+ "label": "i18next",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "i18next",
+ "source_file": "frontend/package.json",
+ "source_location": "L19"
+ },
+ {
+ "id": "frontend_package_dependencies_react",
+ "label": "react",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "react",
+ "source_file": "frontend/package.json",
+ "source_location": "L20"
+ },
+ {
+ "id": "frontend_package_dependencies_react_dom",
+ "label": "react-dom",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "react-dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L21"
+ },
+ {
+ "id": "frontend_package_dependencies_react_hook_form",
+ "label": "react-hook-form",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "react-hook-form",
+ "source_file": "frontend/package.json",
+ "source_location": "L22"
+ },
+ {
+ "id": "frontend_package_dependencies_react_i18next",
+ "label": "react-i18next",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "react-i18next",
+ "source_file": "frontend/package.json",
+ "source_location": "L23"
+ },
+ {
+ "id": "frontend_package_dependencies_react_router_dom",
+ "label": "react-router-dom",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "react-router-dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L24"
+ },
+ {
+ "id": "frontend_package_dependencies_tanstack_react_query",
+ "label": "@tanstack/react-query",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "@tanstack/react-query",
+ "source_file": "frontend/package.json",
+ "source_location": "L18"
+ },
+ {
+ "id": "frontend_package_dependencies_zod",
+ "label": "zod",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "code",
+ "norm_label": "zod",
+ "source_file": "frontend/package.json",
+ "source_location": "L25"
+ },
+ {
+ "id": "hookform_resolvers",
+ "label": "@hookform/resolvers",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "concept",
+ "norm_label": "@hookform/resolvers",
+ "source_file": "frontend/package.json",
+ "source_location": "L17"
+ },
+ {
+ "id": "i18next",
+ "label": "i18next",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "concept",
+ "norm_label": "i18next",
+ "source_file": "frontend/package.json",
+ "source_location": "L19"
+ },
+ {
+ "id": "react",
+ "label": "react",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "concept",
+ "norm_label": "react",
+ "source_file": "frontend/package.json",
+ "source_location": "L20"
+ },
+ {
+ "id": "react_dom",
+ "label": "react-dom",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "concept",
+ "norm_label": "react-dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L21"
+ },
+ {
+ "id": "react_hook_form",
+ "label": "react-hook-form",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "concept",
+ "norm_label": "react-hook-form",
+ "source_file": "frontend/package.json",
+ "source_location": "L22"
+ },
+ {
+ "id": "react_i18next",
+ "label": "react-i18next",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "concept",
+ "norm_label": "react-i18next",
+ "source_file": "frontend/package.json",
+ "source_location": "L23"
+ },
+ {
+ "id": "react_router_dom",
+ "label": "react-router-dom",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "concept",
+ "norm_label": "react-router-dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L24"
+ },
+ {
+ "id": "tanstack_react_query",
+ "label": "@tanstack/react-query",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "concept",
+ "norm_label": "@tanstack/react-query",
+ "source_file": "frontend/package.json",
+ "source_location": "L18"
+ },
+ {
+ "id": "zod",
+ "label": "zod",
+ "_origin": "ast",
+ "community": 16,
+ "community_name": "Frontend Runtime Dependencies",
+ "file_type": "concept",
+ "norm_label": "zod",
+ "source_file": "frontend/package.json",
+ "source_location": "L25"
+ },
+ {
+ "id": "frontend_src_app_router_importdetailpage",
+ "label": "ImportDetailPage",
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "importdetailpage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L19"
+ },
+ {
+ "id": "frontend_src_hooks_useimports",
+ "label": "useImports.ts",
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "useimports.ts",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_importdetailpage",
+ "label": "ImportDetailPage.tsx",
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "importdetailpage.tsx",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_importdetailpage_decisions",
+ "label": "DECISIONS",
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "decisions",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L24"
+ },
+ {
+ "id": "frontend_src_pages_importdetailpage_step_order",
+ "label": "STEP_ORDER",
+ "_origin": "ast",
+ "community": 17,
+ "community_name": "Import Detail Mutations",
+ "file_type": "code",
+ "norm_label": "step_order",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L31"
+ },
+ {
+ "id": "frontend_src_pages_operationspage",
+ "label": "OperationsPage.tsx",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "operationspage.tsx",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_operationspage_operation_kinds",
+ "label": "OPERATION_KINDS",
+ "_origin": "ast",
+ "community": 18,
+ "community_name": "Operations UI",
+ "file_type": "code",
+ "norm_label": "operation_kinds",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L28"
+ },
+ {
+ "id": "i1",
+ "label": "i1",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "confidence": "EXTRACTED",
+ "file_type": "code",
+ "norm_label": "i1",
+ "source_file": "i1"
+ },
+ {
+ "id": "i2",
+ "label": "i2",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "confidence": "EXTRACTED",
+ "file_type": "code",
+ "norm_label": "i2",
+ "source_file": "i2"
+ },
+ {
+ "id": "frontend_src_api_endpoints_api",
+ "label": "api",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "api",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L27"
+ },
+ {
+ "id": "frontend_src_api_querykeys",
+ "label": "queryKeys.ts",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "querykeys.ts",
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_api_querykeys_invalidationroots",
+ "label": "invalidationRoots",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "invalidationroots",
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_api_querykeys_querykeys",
+ "label": "queryKeys",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "querykeys",
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L20"
+ },
+ {
+ "id": "frontend_src_api_querykeys_session_root",
+ "label": "SESSION_ROOT",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "session_root",
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L4"
+ },
+ {
+ "id": "frontend_src_api_querykeys_sessioninvalidationroot",
+ "label": "sessionInvalidationRoot",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "sessioninvalidationroot",
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L6"
+ },
+ {
+ "id": "frontend_src_api_querykeys_space_root",
+ "label": "SPACE_ROOT",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "space_root",
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_src_api_querykeys_spaceinvalidationroot",
+ "label": "spaceInvalidationRoot",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "spaceinvalidationroot",
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L8"
+ },
+ {
+ "id": "frontend_src_hooks_useaccounts",
+ "label": "useAccounts.ts",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "useaccounts.ts",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_hooks_useoperations",
+ "label": "useOperations.ts",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "useoperations.ts",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_query_keys_test",
+ "label": "query-keys.test.ts",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "query-keys.test.ts",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_query_keys_test_sample_filters",
+ "label": "SAMPLE_FILTERS",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "sample_filters",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_test_query_keys_test_sample_keys",
+ "label": "SAMPLE_KEYS",
+ "_origin": "ast",
+ "community": 19,
+ "community_name": "Query Keys and Operations",
+ "file_type": "code",
+ "norm_label": "sample_keys",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L12"
+ },
+ {
+ "id": "backend_alembic_env",
+ "label": "env.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "env.py",
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_alembic_versions_20260911_0001_initial_schema",
+ "label": "20260911_0001_initial_schema.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "20260911_0001_initial_schema.py",
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_audit_models",
+ "label": "audit/models.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "audit/models.py",
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_budgeting_models",
+ "label": "budgeting/models.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "budgeting/models.py",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_categorization_models",
+ "label": "categorization/models.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "categorization/models.py",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_categorization_service",
+ "label": "categorization/service.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "categorization/service.py",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_db_base",
+ "label": "db/base.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "db/base.py",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_db_base_py_any",
+ "label": "Any",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "any",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_db_base_py_datetime",
+ "label": "datetime",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "datetime",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_db_init",
+ "label": "db/__init__.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "db/__init__.py",
+ "source_file": "backend/app/db/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_db_models",
+ "label": "db/models.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "db/models.py",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_exports_models",
+ "label": "exports/models.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "exports/models.py",
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_exports_service",
+ "label": "exports/service.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "exports/service.py",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_exports_service_py_datetime",
+ "label": "datetime",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "datetime",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_identity_models",
+ "label": "identity/models.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "identity/models.py",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_init",
+ "label": "imports/__init__.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "imports/__init__.py",
+ "source_file": "backend/app/imports/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_models",
+ "label": "imports/models.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "imports/models.py",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_ledger_models",
+ "label": "ledger/models.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "ledger/models.py",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_spaces_models",
+ "label": "spaces/models.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "spaces/models.py",
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_tests_test_imports",
+ "label": "test_imports.py",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "test_imports.py",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "declarativebase",
+ "label": "DeclarativeBase",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "declarativebase",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "typedecorator",
+ "label": "TypeDecorator",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "code",
+ "norm_label": "typedecorator",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_audit_models_rationale_11",
+ "label": "Append-only domain/security event. Never stores raw financial payloads.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "append-only domain/security event. never stores raw financial payloads.",
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L11"
+ },
+ {
+ "id": "backend_app_budgeting_models_rationale_104",
+ "label": "Links one actual income operation to one expected income (1:1 per operation).",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "links one actual income operation to one expected income (1:1 per operation).",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L104"
+ },
+ {
+ "id": "backend_app_budgeting_models_rationale_133",
+ "label": "Manual money movement between the general pool and a category/reserve.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "manual money movement between the general pool and a category/reserve.",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L133"
+ },
+ {
+ "id": "backend_app_budgeting_models_rationale_167",
+ "label": "Immutable-at-rest snapshot written when a period closes.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "immutable-at-rest snapshot written when a period closes.",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L167"
+ },
+ {
+ "id": "backend_app_categorization_models_rationale_104",
+ "label": "Maps a bank's raw category string to an MCC for suggestion purposes.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "maps a bank's raw category string to an mcc for suggestion purposes.",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L104"
+ },
+ {
+ "id": "backend_app_categorization_models_rationale_65",
+ "label": "Confirmed payee rule: auto-applies category to matching future operations.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "confirmed payee rule: auto-applies category to matching future operations.",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L65"
+ },
+ {
+ "id": "backend_app_categorization_models_rationale_94",
+ "label": "Global versioned MCC dictionary (not space-scoped, outside RLS).",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "global versioned mcc dictionary (not space-scoped, outside rls).",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L94"
+ },
+ {
+ "id": "backend_app_db_base_rationale_22",
+ "label": "Datetimes stored as naive UTC in the DB and exposed tz-aware (UTC) in Python.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "datetimes stored as naive utc in the db and exposed tz-aware (utc) in python.",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L22"
+ },
+ {
+ "id": "backend_app_db_models_rationale_1",
+ "label": "Import every mapped class so Alembic sees complete metadata.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "import every mapped class so alembic sees complete metadata.",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_exports_models_rationale_30",
+ "label": "Durable deletion marker reapplied after disaster restore.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "durable deletion marker reapplied after disaster restore.",
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L30"
+ },
+ {
+ "id": "backend_app_imports_models_rationale_98",
+ "label": "Immutable extracted bank fact with document origin coordinates.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "immutable extracted bank fact with document origin coordinates.",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L98"
+ },
+ {
+ "id": "backend_app_ledger_models_rationale_27",
+ "label": "Financial account. Balance is always derived: opening + confirmed postings.",
+ "_origin": "ast",
+ "community": 2,
+ "community_name": "Database Models",
+ "file_type": "rationale",
+ "norm_label": "financial account. balance is always derived: opening + confirmed postings.",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L27"
+ },
+ {
+ "id": "frontend_src_app",
+ "label": "App.tsx",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "app.tsx",
+ "source_file": "frontend/src/App.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_app_queryclient",
+ "label": "queryClient",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "queryclient",
+ "source_file": "frontend/src/App.tsx",
+ "source_location": "L9"
+ },
+ {
+ "id": "frontend_src_i18n_index",
+ "label": "index.ts",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "index.ts",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_i18n_index_i18n",
+ "label": "i18n",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "i18n",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L44"
+ },
+ {
+ "id": "frontend_src_i18n_index_locales",
+ "label": "LOCALES",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "locales",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_src_main",
+ "label": "main.tsx",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "main.tsx",
+ "source_file": "frontend/src/main.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_main_container",
+ "label": "container",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "container",
+ "source_file": "frontend/src/main.tsx",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_src_test_setup",
+ "label": "setup.ts",
+ "_origin": "ast",
+ "community": 20,
+ "community_name": "Frontend Bootstrap",
+ "file_type": "code",
+ "norm_label": "setup.ts",
+ "source_file": "frontend/src/test/setup.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_toaster",
+ "label": "Toaster.tsx",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "toaster.tsx",
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_toaster_toastcontext",
+ "label": "ToastContext",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "toastcontext",
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L16"
+ },
+ {
+ "id": "frontend_src_test_helpers",
+ "label": "helpers.tsx",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "helpers.tsx",
+ "source_file": "frontend/src/test/helpers.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_login_page_test",
+ "label": "login-page.test.tsx",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "login-page.test.tsx",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_login_page_test_loginmock",
+ "label": "loginMock",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "loginmock",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L22"
+ },
+ {
+ "id": "frontend_src_test_login_page_test_memock",
+ "label": "meMock",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "memock",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L21"
+ },
+ {
+ "id": "frontend_src_test_login_page_test_user",
+ "label": "user",
+ "_origin": "ast",
+ "community": 21,
+ "community_name": "Frontend Test Support",
+ "file_type": "code",
+ "norm_label": "user",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L24"
+ },
+ {
+ "id": "frontend_src_hooks_usebudget",
+ "label": "useBudget.ts",
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "usebudget.ts",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_budgetpage",
+ "label": "BudgetPage.tsx",
+ "_origin": "ast",
+ "community": 22,
+ "community_name": "Budget UI",
+ "file_type": "code",
+ "norm_label": "budgetpage.tsx",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_api_client",
+ "label": "client.ts",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "client.ts",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_api_client_apiclient",
+ "label": "apiClient",
+ "_origin": "ast",
+ "community": 23,
+ "community_name": "HTTP API Client",
+ "file_type": "code",
+ "norm_label": "apiclient",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L113"
+ },
+ {
+ "id": "frontend_src_components_ui_fields",
+ "label": "fields.tsx",
+ "_origin": "ast",
+ "community": 24,
+ "community_name": "Form Fields",
+ "file_type": "code",
+ "norm_label": "fields.tsx",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_package_scripts",
+ "label": "scripts",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "Frontend Scripts",
+ "file_type": "code",
+ "norm_label": "scripts",
+ "source_file": "frontend/package.json",
+ "source_location": "L6"
+ },
+ {
+ "id": "frontend_package_scripts_api_generate",
+ "label": "api:generate",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "Frontend Scripts",
+ "file_type": "code",
+ "norm_label": "api:generate",
+ "source_file": "frontend/package.json",
+ "source_location": "L14"
+ },
+ {
+ "id": "frontend_package_scripts_build",
+ "label": "build",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "Frontend Scripts",
+ "file_type": "code",
+ "norm_label": "build",
+ "source_file": "frontend/package.json",
+ "source_location": "L8"
+ },
+ {
+ "id": "frontend_package_scripts_dev",
+ "label": "dev",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "Frontend Scripts",
+ "file_type": "code",
+ "norm_label": "dev",
+ "source_file": "frontend/package.json",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_package_scripts_lint",
+ "label": "lint",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "Frontend Scripts",
+ "file_type": "code",
+ "norm_label": "lint",
+ "source_file": "frontend/package.json",
+ "source_location": "L11"
+ },
+ {
+ "id": "frontend_package_scripts_preview",
+ "label": "preview",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "Frontend Scripts",
+ "file_type": "code",
+ "norm_label": "preview",
+ "source_file": "frontend/package.json",
+ "source_location": "L9"
+ },
+ {
+ "id": "frontend_package_scripts_test",
+ "label": "test",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "Frontend Scripts",
+ "file_type": "code",
+ "norm_label": "test",
+ "source_file": "frontend/package.json",
+ "source_location": "L12"
+ },
+ {
+ "id": "frontend_package_scripts_test_watch",
+ "label": "test:watch",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "Frontend Scripts",
+ "file_type": "code",
+ "norm_label": "test:watch",
+ "source_file": "frontend/package.json",
+ "source_location": "L13"
+ },
+ {
+ "id": "frontend_package_scripts_typecheck",
+ "label": "typecheck",
+ "_origin": "ast",
+ "community": 27,
+ "community_name": "Frontend Scripts",
+ "file_type": "code",
+ "norm_label": "typecheck",
+ "source_file": "frontend/package.json",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_hooks_usespacelifecycle",
+ "label": "useSpaceLifecycle.ts",
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "Settings and Data Lifecycle",
+ "file_type": "code",
+ "norm_label": "usespacelifecycle.ts",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_settingspage",
+ "label": "SettingsPage.tsx",
+ "_origin": "ast",
+ "community": 28,
+ "community_name": "Settings and Data Lifecycle",
+ "file_type": "code",
+ "norm_label": "settingspage.tsx",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_db_session",
+ "label": "session.py",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "session.py",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_db_session_py_any",
+ "label": "Any",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "any",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_db_session_py_sessionmaker",
+ "label": "sessionmaker",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "sessionmaker",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_init",
+ "label": "exports/__init__.py",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "exports/__init__.py",
+ "source_file": "backend/app/exports/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_exports_router",
+ "label": "exports/router.py",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "exports/router.py",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_exports_router_py_context",
+ "label": "Context",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "context",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_router_py_csrf",
+ "label": "Csrf",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "csrf",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_router_py_db",
+ "label": "Db",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "db",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_router_py_get",
+ "label": "get",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "get",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_router_py_post",
+ "label": "post",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "post",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_router_py_response",
+ "label": "Response",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "response",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_router_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_service_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_tasks",
+ "label": "exports/tasks.py",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "exports/tasks.py",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_exports_tasks_py_task",
+ "label": "task",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "task",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_exports_tasks_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_blob",
+ "label": "blob.py",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "blob.py",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_blob_py_protocol",
+ "label": "Protocol",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "protocol",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_tests_conftest",
+ "label": "conftest.py",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "conftest.py",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_tests_conftest_py_sessionmaker",
+ "label": "sessionmaker",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "sessionmaker",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_tests_conftest_py_testclient",
+ "label": "TestClient",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "testclient",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_tests_test_postgres_and_s3",
+ "label": "test_postgres_and_s3.py",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "test_postgres_and_s3.py",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "fixture",
+ "label": "fixture",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "fixture",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "path",
+ "label": "Path",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "path",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "skipif",
+ "label": "skipif",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "code",
+ "norm_label": "skipif",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_db_session_rationale_50",
+ "label": "Transaction-local RLS context. No-op on SQLite (tests); fail-closed on\u2026",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "rationale",
+ "norm_label": "transaction-local rls context. no-op on sqlite (tests); fail-closed on...",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L50"
+ },
+ {
+ "id": "backend_app_db_session_rationale_60",
+ "label": "Transactional scope for workers/endpoints that own the transaction lifecycle.",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "rationale",
+ "norm_label": "transactional scope for workers/endpoints that own the transaction lifecycle.",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L60"
+ },
+ {
+ "id": "backend_app_imports_blob_rationale_18",
+ "label": "S3-neutral local store; production swaps in an S3-compatible client.",
+ "_origin": "ast",
+ "community": 3,
+ "community_name": "Database Context and Exports",
+ "file_type": "rationale",
+ "norm_label": "s3-neutral local store; production swaps in an s3-compatible client.",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L18"
+ },
+ {
+ "id": "frontend_package",
+ "label": "package.json",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "Package Metadata",
+ "file_type": "code",
+ "norm_label": "package.json",
+ "source_file": "frontend/package.json",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_package_allowscripts",
+ "label": "allowScripts",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "Package Metadata",
+ "file_type": "code",
+ "norm_label": "allowscripts",
+ "source_file": "frontend/package.json",
+ "source_location": "L47"
+ },
+ {
+ "id": "frontend_package_allowscripts_esbuild_0_25_12",
+ "label": "esbuild@0.25.12",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "Package Metadata",
+ "file_type": "code",
+ "norm_label": "esbuild@0.25.12",
+ "source_file": "frontend/package.json",
+ "source_location": "L48"
+ },
+ {
+ "id": "frontend_package_name",
+ "label": "name",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "Package Metadata",
+ "file_type": "code",
+ "norm_label": "name",
+ "source_file": "frontend/package.json",
+ "source_location": "L2"
+ },
+ {
+ "id": "frontend_package_private",
+ "label": "private",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "Package Metadata",
+ "file_type": "code",
+ "norm_label": "private",
+ "source_file": "frontend/package.json",
+ "source_location": "L3"
+ },
+ {
+ "id": "frontend_package_type",
+ "label": "type",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "Package Metadata",
+ "file_type": "code",
+ "norm_label": "type",
+ "source_file": "frontend/package.json",
+ "source_location": "L5"
+ },
+ {
+ "id": "frontend_package_version",
+ "label": "version",
+ "_origin": "ast",
+ "community": 36,
+ "community_name": "Package Metadata",
+ "file_type": "code",
+ "norm_label": "version",
+ "source_file": "frontend/package.json",
+ "source_location": "L4"
+ },
+ {
+ "id": "frontend_scripts_generate_api",
+ "label": "generate-api.mjs",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "API Generation Script",
+ "file_type": "code",
+ "norm_label": "generate-api.mjs",
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_scripts_generate_api_local_candidates",
+ "label": "LOCAL_CANDIDATES",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "API Generation Script",
+ "file_type": "code",
+ "norm_label": "local_candidates",
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_scripts_generate_api_out_dir",
+ "label": "OUT_DIR",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "API Generation Script",
+ "file_type": "code",
+ "norm_label": "out_dir",
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L6"
+ },
+ {
+ "id": "frontend_scripts_generate_api_remote_candidates",
+ "label": "REMOTE_CANDIDATES",
+ "_origin": "ast",
+ "community": 39,
+ "community_name": "API Generation Script",
+ "file_type": "code",
+ "norm_label": "remote_candidates",
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L11"
+ },
+ {
+ "id": "backend_app_imports_crypto",
+ "label": "crypto.py",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "crypto.py",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_router",
+ "label": "imports/router.py",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "imports/router.py",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_router_py_alias",
+ "label": "alias",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "alias",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_any",
+ "label": "Any",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "any",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_basemodel",
+ "label": "BaseModel",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "basemodel",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_context",
+ "label": "Context",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "context",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_csrf",
+ "label": "Csrf",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "csrf",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_db",
+ "label": "Db",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "db",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_delete",
+ "label": "delete",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "delete",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_get",
+ "label": "get",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "get",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_patch",
+ "label": "patch",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "patch",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_post",
+ "label": "post",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "post",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_router_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_service",
+ "label": "imports/service.py",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "imports/service.py",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_service_py_user",
+ "label": "User",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "user",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_service_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_tasks",
+ "label": "imports/tasks.py",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "imports/tasks.py",
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_tasks_py_task",
+ "label": "task",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "task",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_tasks_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "file",
+ "label": "File",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "file",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "form",
+ "label": "Form",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "form",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "uploadfile",
+ "label": "UploadFile",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "code",
+ "norm_label": "uploadfile",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_crypto_rationale_22",
+ "label": "Per-file random DEK; DEK wrapped with the KEK from the secret manager.",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "rationale",
+ "norm_label": "per-file random dek; dek wrapped with the kek from the secret manager.",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L22"
+ },
+ {
+ "id": "backend_app_imports_crypto_rationale_57",
+ "label": "Crypto-shred hook: deleting wrapped DEK rows in DB plus blobs removes access.",
+ "_origin": "ast",
+ "community": 4,
+ "community_name": "Statement Import Services",
+ "file_type": "rationale",
+ "norm_label": "crypto-shred hook: deleting wrapped dek rows in db plus blobs removes access.",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L57"
+ },
+ {
+ "id": "frontend_src_api_generated_schema_d",
+ "label": "schema.d.ts",
+ "_origin": "ast",
+ "community": 40,
+ "community_name": "OpenAPI Schema",
+ "file_type": "code",
+ "norm_label": "schema.d.ts",
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_tests_test_api",
+ "label": "test_api.py",
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "API Integration Tests",
+ "file_type": "code",
+ "norm_label": "test_api.py",
+ "source_file": "backend/tests/test_api.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_tests_test_api_py_testclient",
+ "label": "TestClient",
+ "_origin": "ast",
+ "community": 41,
+ "community_name": "API Integration Tests",
+ "file_type": "code",
+ "norm_label": "testclient",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "frontend_src_test_i18n_parity_test",
+ "label": "i18n-parity.test.ts",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "Localization Tests",
+ "file_type": "code",
+ "norm_label": "i18n-parity.test.ts",
+ "source_file": "frontend/src/test/i18n-parity.test.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_i18n_parity_test_enkeys",
+ "label": "enKeys",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "Localization Tests",
+ "file_type": "code",
+ "norm_label": "enkeys",
+ "source_file": "frontend/src/test/i18n-parity.test.ts",
+ "source_location": "L30"
+ },
+ {
+ "id": "frontend_src_test_i18n_parity_test_rukeys",
+ "label": "ruKeys",
+ "_origin": "ast",
+ "community": 42,
+ "community_name": "Localization Tests",
+ "file_type": "code",
+ "norm_label": "rukeys",
+ "source_file": "frontend/src/test/i18n-parity.test.ts",
+ "source_location": "L29"
+ },
+ {
+ "id": "frontend_package_devdependencies_eslint_plugin_jsx_a11y",
+ "label": "eslint-plugin-jsx-a11y",
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "Accessibility ESLint",
+ "file_type": "code",
+ "norm_label": "eslint-plugin-jsx-a11y",
+ "source_file": "frontend/package.json",
+ "source_location": "L37"
+ },
+ {
+ "id": "eslint_plugin_jsx_a11y",
+ "label": "eslint-plugin-jsx-a11y",
+ "_origin": "ast",
+ "community": 44,
+ "community_name": "Accessibility ESLint",
+ "file_type": "concept",
+ "norm_label": "eslint-plugin-jsx-a11y",
+ "source_file": "frontend/package.json",
+ "source_location": "L37"
+ },
+ {
+ "id": "frontend_package_devdependencies_globals",
+ "label": "globals",
+ "_origin": "ast",
+ "community": 45,
+ "community_name": "JavaScript Globals",
+ "file_type": "code",
+ "norm_label": "globals",
+ "source_file": "frontend/package.json",
+ "source_location": "L39"
+ },
+ {
+ "id": "globals",
+ "label": "globals",
+ "_origin": "ast",
+ "community": 45,
+ "community_name": "JavaScript Globals",
+ "file_type": "concept",
+ "norm_label": "globals",
+ "source_file": "frontend/package.json",
+ "source_location": "L39"
+ },
+ {
+ "id": "frontend_package_devdependencies_jsdom",
+ "label": "jsdom",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "JSDOM Dependency",
+ "file_type": "code",
+ "norm_label": "jsdom",
+ "source_file": "frontend/package.json",
+ "source_location": "L40"
+ },
+ {
+ "id": "jsdom",
+ "label": "jsdom",
+ "_origin": "ast",
+ "community": 46,
+ "community_name": "JSDOM Dependency",
+ "file_type": "concept",
+ "norm_label": "jsdom",
+ "source_file": "frontend/package.json",
+ "source_location": "L40"
+ },
+ {
+ "id": "frontend_package_devdependencies_types_react",
+ "label": "@types/react",
+ "_origin": "ast",
+ "community": 47,
+ "community_name": "React Type Definitions",
+ "file_type": "code",
+ "norm_label": "@types/react",
+ "source_file": "frontend/package.json",
+ "source_location": "L33"
+ },
+ {
+ "id": "types_react",
+ "label": "@types/react",
+ "_origin": "ast",
+ "community": 47,
+ "community_name": "React Type Definitions",
+ "file_type": "concept",
+ "norm_label": "@types/react",
+ "source_file": "frontend/package.json",
+ "source_location": "L33"
+ },
+ {
+ "id": "frontend_package_devdependencies_types_react_dom",
+ "label": "@types/react-dom",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "React DOM Types",
+ "file_type": "code",
+ "norm_label": "@types/react-dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L34"
+ },
+ {
+ "id": "types_react_dom",
+ "label": "@types/react-dom",
+ "_origin": "ast",
+ "community": 48,
+ "community_name": "React DOM Types",
+ "file_type": "concept",
+ "norm_label": "@types/react-dom",
+ "source_file": "frontend/package.json",
+ "source_location": "L34"
+ },
+ {
+ "id": "frontend_package_devdependencies_typescript_eslint",
+ "label": "typescript-eslint",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "TypeScript ESLint",
+ "file_type": "code",
+ "norm_label": "typescript-eslint",
+ "source_file": "frontend/package.json",
+ "source_location": "L43"
+ },
+ {
+ "id": "typescript_eslint",
+ "label": "typescript-eslint",
+ "_origin": "ast",
+ "community": 49,
+ "community_name": "TypeScript ESLint",
+ "file_type": "concept",
+ "norm_label": "typescript-eslint",
+ "source_file": "frontend/package.json",
+ "source_location": "L43"
+ },
+ {
+ "id": "backend_app_errors_py_any",
+ "label": "Any",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "any",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx",
+ "label": "alfa_xlsx.py",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "alfa_xlsx.py",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_py_date",
+ "label": "date",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "date",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_adapters_base",
+ "label": "adapters/base.py",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "adapters/base.py",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_py_date",
+ "label": "date",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "date",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_adapters_base_py_protocol",
+ "label": "Protocol",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "protocol",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_imports_adapters_init",
+ "label": "adapters/__init__.py",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "adapters/__init__.py",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_adapters_ozon_pdf",
+ "label": "ozon_pdf.py",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "ozon_pdf.py",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_adapters_rocketbank_pdf",
+ "label": "rocketbank_pdf.py",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "rocketbank_pdf.py",
+ "source_file": "backend/app/imports/adapters/rocketbank_pdf.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_readers",
+ "label": "readers.py",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "readers.py",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_imports_service_py_any",
+ "label": "Any",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "any",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "exception",
+ "label": "Exception",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "code",
+ "norm_label": "exception",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_errors_rationale_5",
+ "label": "Domain error rendered as a machine-readable JSON error payload.",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "rationale",
+ "norm_label": "domain error rendered as a machine-readable json error payload.",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L5"
+ },
+ {
+ "id": "backend_app_imports_adapters_alfa_xlsx_rationale_26",
+ "label": "Alfa statement contract: XLSX with a header row and bank marker '\u0410\u043b\u044c\u0444\u0430'.",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "rationale",
+ "norm_label": "alfa statement contract: xlsx with a header row and bank marker '\u0430\u043b\u044c\u0444\u0430'.",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L26"
+ },
+ {
+ "id": "backend_app_imports_adapters_base_rationale_45",
+ "label": "Stable diagnostic for unknown bank layouts; never guesses.",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "rationale",
+ "norm_label": "stable diagnostic for unknown bank layouts; never guesses.",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L45"
+ },
+ {
+ "id": "backend_app_imports_adapters_ozon_pdf_rationale_29",
+ "label": "Ozon statement contract: text-layer PDF, per-page line scanning.",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "rationale",
+ "norm_label": "ozon statement contract: text-layer pdf, per-page line scanning.",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L29"
+ },
+ {
+ "id": "backend_app_imports_adapters_rocketbank_pdf_rationale_7",
+ "label": "Rocketbank debit statement contract: same text-layer line scanning shape.",
+ "_origin": "ast",
+ "community": 5,
+ "community_name": "Parser Adapters",
+ "file_type": "rationale",
+ "norm_label": "rocketbank debit statement contract: same text-layer line scanning shape.",
+ "source_file": "backend/app/imports/adapters/rocketbank_pdf.py",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_package_devdependencies_vitejs_plugin_react",
+ "label": "@vitejs/plugin-react",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "Vite React Plugin",
+ "file_type": "code",
+ "norm_label": "@vitejs/plugin-react",
+ "source_file": "frontend/package.json",
+ "source_location": "L35"
+ },
+ {
+ "id": "vitejs_plugin_react",
+ "label": "@vitejs/plugin-react",
+ "_origin": "ast",
+ "community": 50,
+ "community_name": "Vite React Plugin",
+ "file_type": "concept",
+ "norm_label": "@vitejs/plugin-react",
+ "source_file": "frontend/package.json",
+ "source_location": "L35"
+ },
+ {
+ "id": "frontend_package_devdependencies_vitest",
+ "label": "vitest",
+ "_origin": "ast",
+ "community": 51,
+ "community_name": "Vitest Dependency",
+ "file_type": "code",
+ "norm_label": "vitest",
+ "source_file": "frontend/package.json",
+ "source_location": "L45"
+ },
+ {
+ "id": "vitest",
+ "label": "vitest",
+ "_origin": "ast",
+ "community": 51,
+ "community_name": "Vitest Dependency",
+ "file_type": "concept",
+ "norm_label": "vitest",
+ "source_file": "frontend/package.json",
+ "source_location": "L45"
+ },
+ {
+ "id": "infra_postgres_init_app_role",
+ "label": "init-app-role.sh",
+ "_origin": "ast",
+ "community": 53,
+ "community_name": "Database Role Initialization",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "file"
+ },
+ "norm_label": "init-app-role.sh",
+ "source_file": "infra/postgres/init-app-role.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "infra_postgres_init_app_role_sh__entry",
+ "label": "init-app-role.sh script",
+ "_origin": "ast",
+ "community": 53,
+ "community_name": "Database Role Initialization",
+ "file_type": "code",
+ "metadata": {
+ "language": "bash",
+ "kind": "bash_entrypoint"
+ },
+ "norm_label": "init-app-role.sh script",
+ "source_file": "infra/postgres/init-app-role.sh",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_init",
+ "label": "app/__init__.py",
+ "_origin": "ast",
+ "community": 54,
+ "community_name": "Application Package",
+ "file_type": "code",
+ "norm_label": "app/__init__.py",
+ "source_file": "backend/app/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_spaces_init",
+ "label": "spaces/__init__.py",
+ "_origin": "ast",
+ "community": 55,
+ "community_name": "Spaces Package",
+ "file_type": "code",
+ "norm_label": "spaces/__init__.py",
+ "source_file": "backend/app/spaces/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_eslint_config",
+ "label": "eslint.config.js",
+ "_origin": "ast",
+ "community": 57,
+ "community_name": "ESLint Configuration",
+ "file_type": "code",
+ "norm_label": "eslint.config.js",
+ "source_file": "frontend/eslint.config.js",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_money_test",
+ "label": "money.test.ts",
+ "_origin": "ast",
+ "community": 58,
+ "community_name": "Money Utilities Tests",
+ "file_type": "code",
+ "norm_label": "money.test.ts",
+ "source_file": "frontend/src/test/money.test.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_vite_env_d",
+ "label": "vite-env.d.ts",
+ "_origin": "ast",
+ "community": 59,
+ "community_name": "Vite Environment Types",
+ "file_type": "code",
+ "norm_label": "vite-env.d.ts",
+ "source_file": "frontend/src/vite-env.d.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_audit_service",
+ "label": "audit/service.py",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "audit/service.py",
+ "source_file": "backend/app/audit/service.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_audit_service_py_any",
+ "label": "Any",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "any",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_service",
+ "label": "ledger/service.py",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "ledger/service.py",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_ledger_service_py_account",
+ "label": "Account",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "account",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_service_py_any",
+ "label": "Any",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "any",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_service_py_date",
+ "label": "date",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "date",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_service_py_user",
+ "label": "User",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "user",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_service_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_tests_test_ledger_properties",
+ "label": "test_ledger_properties.py",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "test_ledger_properties.py",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "decimal",
+ "label": "Decimal",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "decimal",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "given",
+ "label": "given",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "given",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "operation",
+ "label": "Operation",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "operation",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "settings",
+ "label": "settings",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "code",
+ "norm_label": "settings",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_models_rationale_126",
+ "label": "Signed balance change of one account within one operation. Sign convention\u2026",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "rationale",
+ "norm_label": "signed balance change of one account within one operation. sign convention...",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L126"
+ },
+ {
+ "id": "backend_app_ledger_models_rationale_55",
+ "label": "User financial fact. amount_kopecks is always positive; direction lives in\u2026",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "rationale",
+ "norm_label": "user financial fact. amount_kopecks is always positive; direction lives in...",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L55"
+ },
+ {
+ "id": "backend_app_ledger_service_rationale_126",
+ "label": "Precedence: explicit choice (already set) > confirmed payee rule.",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "rationale",
+ "norm_label": "precedence: explicit choice (already set) > confirmed payee rule.",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L126"
+ },
+ {
+ "id": "backend_app_ledger_service_rationale_20",
+ "label": "Convert a decimal ruble amount to integer kopecks. Floats are rejected upstream.",
+ "_origin": "ast",
+ "community": 6,
+ "community_name": "Ledger Services",
+ "file_type": "rationale",
+ "norm_label": "convert a decimal ruble amount to integer kopecks. floats are rejected upstream.",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L20"
+ },
+ {
+ "id": "frontend_vite_config",
+ "label": "vite.config.ts",
+ "_origin": "ast",
+ "community": 60,
+ "community_name": "Vite Configuration",
+ "file_type": "code",
+ "norm_label": "vite.config.ts",
+ "source_file": "frontend/vite.config.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "pkg_finance_backend",
+ "label": "finance-backend",
+ "_origin": "ast",
+ "community": 61,
+ "community_name": "Backend Package Metadata",
+ "ecosystem": "python",
+ "file_type": "code",
+ "norm_label": "finance-backend",
+ "source_file": "backend/pyproject.toml",
+ "source_location": "L1",
+ "type": "package",
+ "version": "0.1.0"
+ },
+ {
+ "id": "frontend_src_api_endpoints",
+ "label": "endpoints.ts",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "endpoints.ts",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_api_types",
+ "label": "types.ts",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "types.ts",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_budget_plan_test",
+ "label": "budget-plan.test.tsx",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "budget-plan.test.tsx",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_budget_plan_test_categories",
+ "label": "categories",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "categories",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L43"
+ },
+ {
+ "id": "frontend_src_test_budget_plan_test_categoriesmock",
+ "label": "categoriesMock",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "categoriesmock",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L24"
+ },
+ {
+ "id": "frontend_src_test_budget_plan_test_month",
+ "label": "month",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "month",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L27"
+ },
+ {
+ "id": "frontend_src_test_budget_plan_test_summary",
+ "label": "summary",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "summary",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L29"
+ },
+ {
+ "id": "frontend_src_test_budget_plan_test_summarymock",
+ "label": "summaryMock",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "summarymock",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L23"
+ },
+ {
+ "id": "frontend_src_test_budget_plan_test_updateplanmock",
+ "label": "updatePlanMock",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "updateplanmock",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L25"
+ },
+ {
+ "id": "frontend_src_test_import_polling_test",
+ "label": "import-polling.test.tsx",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "import-polling.test.tsx",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_test_import_polling_test_getimport",
+ "label": "getImport",
+ "_origin": "ast",
+ "community": 7,
+ "community_name": "API Domain Types",
+ "file_type": "code",
+ "norm_label": "getimport",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L23"
+ },
+ {
+ "id": "frontend_src_app_router",
+ "label": "router.tsx",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "router.tsx",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_app_router_acceptinvitepage",
+ "label": "AcceptInvitePage",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "acceptinvitepage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_src_app_router_accountspage",
+ "label": "AccountsPage",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "accountspage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L10"
+ },
+ {
+ "id": "frontend_src_app_router_budgetpage",
+ "label": "BudgetPage",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "budgetpage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L16"
+ },
+ {
+ "id": "frontend_src_app_router_loginpage",
+ "label": "LoginPage",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "loginpage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L25"
+ },
+ {
+ "id": "frontend_src_app_router_operationspage",
+ "label": "OperationsPage",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "operationspage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L31"
+ },
+ {
+ "id": "frontend_src_app_router_resetpasswordpage",
+ "label": "ResetPasswordPage",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "resetpasswordpage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L37"
+ },
+ {
+ "id": "frontend_src_app_router_settingspage",
+ "label": "SettingsPage",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "settingspage",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L40"
+ },
+ {
+ "id": "frontend_src_components_layout_applayout",
+ "label": "AppLayout.tsx",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "applayout.tsx",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_layout_applayout_nav_items",
+ "label": "NAV_ITEMS",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "nav_items",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L7"
+ },
+ {
+ "id": "frontend_src_components_layout_langswitcher",
+ "label": "LangSwitcher.tsx",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "langswitcher.tsx",
+ "source_file": "frontend/src/components/layout/LangSwitcher.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_button",
+ "label": "Button.tsx",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "button.tsx",
+ "source_file": "frontend/src/components/ui/Button.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_components_ui_errorstate",
+ "label": "ErrorState.tsx",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "errorstate.tsx",
+ "source_file": "frontend/src/components/ui/ErrorState.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_hooks_useauth",
+ "label": "useAuth.ts",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "useauth.ts",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_acceptinvitepage",
+ "label": "AcceptInvitePage.tsx",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "acceptinvitepage.tsx",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_loginpage",
+ "label": "LoginPage.tsx",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "loginpage.tsx",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "frontend_src_pages_resetpasswordpage",
+ "label": "ResetPasswordPage.tsx",
+ "_origin": "ast",
+ "community": 8,
+ "community_name": "Authentication UI",
+ "file_type": "code",
+ "norm_label": "resetpasswordpage.tsx",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_categorization_init",
+ "label": "categorization/__init__.py",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "categorization/__init__.py",
+ "source_file": "backend/app/categorization/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_ledger_init",
+ "label": "ledger/__init__.py",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "ledger/__init__.py",
+ "source_file": "backend/app/ledger/__init__.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_ledger_router",
+ "label": "ledger/router.py",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "ledger/router.py",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L1"
+ },
+ {
+ "id": "backend_app_ledger_router_py_alias",
+ "label": "alias",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "alias",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_any",
+ "label": "Any",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "any",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_basemodel",
+ "label": "BaseModel",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "basemodel",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_context",
+ "label": "Context",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "context",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_csrf",
+ "label": "Csrf",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "csrf",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_date",
+ "label": "date",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "date",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_db",
+ "label": "Db",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "db",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_delete",
+ "label": "delete",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "delete",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_get",
+ "label": "get",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "get",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_header",
+ "label": "Header",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "header",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_patch",
+ "label": "patch",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "patch",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_post",
+ "label": "post",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "post",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "backend_app_ledger_router_py_uuid",
+ "label": "UUID",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "uuid",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "ge",
+ "label": "ge",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "ge",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "le",
+ "label": "le",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "le",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "query",
+ "label": "Query",
+ "_origin": "ast",
+ "community": 9,
+ "community_name": "Ledger API",
+ "file_type": "code",
+ "norm_label": "query",
+ "source_file": "",
+ "source_location": ""
+ },
+ {
+ "id": "github_workflows_ci_backend_quality_gate",
+ "label": "Backend Quality Gate",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "backend quality gate",
+ "source_file": ".github/workflows/ci.yml",
+ "source_location": "lines 26-101",
+ "source_url": null
+ },
+ {
+ "id": "github_workflows_ci_compose_validation",
+ "label": "Compose and Nginx Validation",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "compose and nginx validation",
+ "source_file": ".github/workflows/ci.yml",
+ "source_location": "lines 132-152",
+ "source_url": null
+ },
+ {
+ "id": "github_workflows_ci_frontend_quality_gate",
+ "label": "Frontend Quality Gate",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "frontend quality gate",
+ "source_file": ".github/workflows/ci.yml",
+ "source_location": "lines 103-130",
+ "source_url": null
+ },
+ {
+ "id": "infra_docker_compose_commodity_services",
+ "label": "Commodity Infrastructure Services",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "commodity infrastructure services",
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 46-125",
+ "source_url": null
+ },
+ {
+ "id": "infra_docker_compose_internal_backend_network",
+ "label": "Internal Backend Network",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "internal backend network",
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 163-222",
+ "source_url": null
+ },
+ {
+ "id": "infra_docker_compose_same_origin_frontend",
+ "label": "Same-Origin Frontend Service",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "same-origin frontend service",
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 198-211",
+ "source_url": null
+ },
+ {
+ "id": "infra_docker_compose_worker_isolation",
+ "label": "Worker Parsing Isolation",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "worker parsing isolation",
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 165-182",
+ "source_url": null
+ },
+ {
+ "id": "infra_readme_same_origin_proxy",
+ "label": "Same-Origin Reverse Proxy",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "same-origin reverse proxy",
+ "source_file": "infra/README.md",
+ "source_location": "lines 25-30",
+ "source_url": null
+ },
+ {
+ "id": "infra_readme_workstream_contracts",
+ "label": "Backend and Frontend Workstream Contracts",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "backend and frontend workstream contracts",
+ "source_file": "infra/README.md",
+ "source_location": "lines 40-55",
+ "source_url": null
+ },
+ {
+ "id": "github_workflows_ci_ci_pipeline",
+ "label": "CI Pipeline",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "ci pipeline",
+ "source_file": ".github/workflows/ci.yml",
+ "source_location": "lines 1-152",
+ "source_url": null
+ },
+ {
+ "id": "infra_docker_compose_docker_compose_stack",
+ "label": "Docker Compose Development Stack",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "docker compose development stack",
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 1-222",
+ "source_url": null
+ },
+ {
+ "id": "infra_readme_infrastructure",
+ "label": "Finance Infrastructure",
+ "author": null,
+ "captured_at": null,
+ "community": 25,
+ "community_name": "Infrastructure and CI",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "finance infrastructure",
+ "source_file": "infra/README.md",
+ "source_location": "lines 1-69",
+ "source_url": null
+ },
+ {
+ "id": "context_credit_reserve",
+ "label": "Credit Reserve",
+ "author": null,
+ "captured_at": null,
+ "community": 26,
+ "community_name": "Core Finance Domain",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "credit reserve",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 21",
+ "source_url": null
+ },
+ {
+ "id": "context_financial_account",
+ "label": "Financial Account",
+ "author": null,
+ "captured_at": null,
+ "community": 26,
+ "community_name": "Core Finance Domain",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "financial account",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 6",
+ "source_url": null
+ },
+ {
+ "id": "context_financial_space",
+ "label": "Financial Space",
+ "author": null,
+ "captured_at": null,
+ "community": 26,
+ "community_name": "Core Finance Domain",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "financial space",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 4",
+ "source_url": null
+ },
+ {
+ "id": "context_membership",
+ "label": "Membership",
+ "author": null,
+ "captured_at": null,
+ "community": 26,
+ "community_name": "Core Finance Domain",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "membership",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 5",
+ "source_url": null
+ },
+ {
+ "id": "context_user",
+ "label": "User",
+ "author": null,
+ "captured_at": null,
+ "community": 26,
+ "community_name": "Core Finance Domain",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "user",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 3",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0002_journal_and_budget_reserves_budget_reserves",
+ "label": "Carry-Over Budget Reserves",
+ "author": null,
+ "captured_at": null,
+ "community": 26,
+ "community_name": "Core Finance Domain",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "carry-over budget reserves",
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "line 16",
+ "source_url": null
+ },
+ {
+ "id": "readme_closed_beta_budgeting",
+ "label": "Closed Beta Zero-Based Budgeting",
+ "author": null,
+ "captured_at": null,
+ "community": 26,
+ "community_name": "Core Finance Domain",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "closed beta zero-based budgeting",
+ "source_file": "README.md",
+ "source_location": "lines 3-5",
+ "source_url": null
+ },
+ {
+ "id": "readme_finance_tracker",
+ "label": "Finance Tracker",
+ "author": null,
+ "captured_at": null,
+ "community": 26,
+ "community_name": "Core Finance Domain",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "finance tracker",
+ "source_file": "README.md",
+ "source_location": "lines 1-56",
+ "source_url": null
+ },
+ {
+ "id": "readme_production_boundary",
+ "label": "Production Data Boundary",
+ "author": null,
+ "captured_at": null,
+ "community": 26,
+ "community_name": "Core Finance Domain",
+ "contributor": null,
+ "file_type": "rationale",
+ "norm_label": "production data boundary",
+ "source_file": "README.md",
+ "source_location": "lines 47-53",
+ "source_url": null
+ },
+ {
+ "id": "context_budget_period",
+ "label": "Budget Period",
+ "author": null,
+ "captured_at": null,
+ "community": 29,
+ "community_name": "Budget Allocation Model",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "budget period",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 15",
+ "source_url": null
+ },
+ {
+ "id": "context_funding",
+ "label": "Funding",
+ "author": null,
+ "captured_at": null,
+ "community": 29,
+ "community_name": "Budget Allocation Model",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "funding",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 18",
+ "source_url": null
+ },
+ {
+ "id": "context_general_pool",
+ "label": "General Pool",
+ "author": null,
+ "captured_at": null,
+ "community": 29,
+ "community_name": "Budget Allocation Model",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "general pool",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 16",
+ "source_url": null
+ },
+ {
+ "id": "context_monthly_category",
+ "label": "Monthly Category",
+ "author": null,
+ "captured_at": null,
+ "community": 29,
+ "community_name": "Budget Allocation Model",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "monthly category",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 19",
+ "source_url": null
+ },
+ {
+ "id": "context_plan_assignment",
+ "label": "Plan Assignment",
+ "author": null,
+ "captured_at": null,
+ "community": 29,
+ "community_name": "Budget Allocation Model",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "plan assignment",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 17",
+ "source_url": null
+ },
+ {
+ "id": "context_savings_envelope",
+ "label": "Savings Envelope",
+ "author": null,
+ "captured_at": null,
+ "community": 29,
+ "community_name": "Budget Allocation Model",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "savings envelope",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 20",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0002_journal_and_budget_reserves_closure_snapshots",
+ "label": "Immutable Closure Snapshots",
+ "author": null,
+ "captured_at": null,
+ "community": 29,
+ "community_name": "Budget Allocation Model",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "immutable closure snapshots",
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "lines 17-23",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0002_journal_and_budget_reserves_plan_funding_separation",
+ "label": "Plan and Funding Separation",
+ "author": null,
+ "captured_at": null,
+ "community": 29,
+ "community_name": "Budget Allocation Model",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "plan and funding separation",
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "line 16",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0003_versioned_statement_imports_atomic_confirm_revert",
+ "label": "Atomic Import Confirm and Revert",
+ "author": null,
+ "captured_at": null,
+ "community": 30,
+ "community_name": "MVP and Import Design",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "atomic import confirm and revert",
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "line 15",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0003_versioned_statement_imports_conservative_deduplication",
+ "label": "Conservative Deduplication",
+ "author": null,
+ "captured_at": null,
+ "community": 30,
+ "community_name": "MVP and Import Design",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "conservative deduplication",
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "line 16",
+ "source_url": null
+ },
+ {
+ "id": "kilo_plans_1789034192214_financial_tracker_mvp_budget_invariants",
+ "label": "Budget Invariants",
+ "author": null,
+ "captured_at": null,
+ "community": 30,
+ "community_name": "MVP and Import Design",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "budget invariants",
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 127-142",
+ "source_url": null
+ },
+ {
+ "id": "kilo_plans_1789034192214_financial_tracker_mvp_critical_user_path",
+ "label": "Critical User Path",
+ "author": null,
+ "captured_at": null,
+ "community": 30,
+ "community_name": "MVP and Import Design",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "critical user path",
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 7-14",
+ "source_url": null
+ },
+ {
+ "id": "kilo_plans_1789034192214_financial_tracker_mvp_import_pipeline",
+ "label": "Statement Import Pipeline",
+ "author": null,
+ "captured_at": null,
+ "community": 30,
+ "community_name": "MVP and Import Design",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "statement import pipeline",
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 159-176",
+ "source_url": null
+ },
+ {
+ "id": "kilo_plans_1789034192214_financial_tracker_mvp_financial_tracker_mvp",
+ "label": "Financial Tracker MVP",
+ "author": null,
+ "captured_at": null,
+ "community": 30,
+ "community_name": "MVP and Import Design",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "financial tracker mvp",
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 1-277",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0003_versioned_statement_imports_versioned_statement_imports",
+ "label": "Versioned Statement Imports",
+ "author": null,
+ "captured_at": null,
+ "community": 30,
+ "community_name": "MVP and Import Design",
+ "contributor": null,
+ "file_type": "rationale",
+ "norm_label": "versioned statement imports",
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "lines 1-30",
+ "source_url": null
+ },
+ {
+ "id": "kilo_plans_1789034192214_financial_tracker_mvp_modular_monolith",
+ "label": "Modular Monolith",
+ "author": null,
+ "captured_at": null,
+ "community": 30,
+ "community_name": "MVP and Import Design",
+ "contributor": null,
+ "file_type": "rationale",
+ "norm_label": "modular monolith",
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 68-92",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0003_versioned_statement_imports_immutable_statement_document",
+ "label": "Immutable Statement Document",
+ "author": null,
+ "captured_at": null,
+ "community": 31,
+ "community_name": "Data Security and Recovery",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "immutable statement document",
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "lines 13-14",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0004_provider_neutral_encrypted_data_boundary_envelope_encryption",
+ "label": "Per-File Envelope Encryption",
+ "author": null,
+ "captured_at": null,
+ "community": 31,
+ "community_name": "Data Security and Recovery",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "per-file envelope encryption",
+ "source_file": "docs/adr/0004-provider-neutral-encrypted-data-boundary.md",
+ "source_location": "line 14",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0004_provider_neutral_encrypted_data_boundary_rf_data_residency",
+ "label": "Russian Federation Data Residency",
+ "author": null,
+ "captured_at": null,
+ "community": 31,
+ "community_name": "Data Security and Recovery",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "russian federation data residency",
+ "source_file": "docs/adr/0004-provider-neutral-encrypted-data-boundary.md",
+ "source_location": "lines 9-13",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_backup_and_restore_kek_backup",
+ "label": "Mandatory KEK Backup",
+ "author": null,
+ "captured_at": null,
+ "community": 31,
+ "community_name": "Data Security and Recovery",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "mandatory kek backup",
+ "source_file": "docs/operations/backup-and-restore.md",
+ "source_location": "lines 16-18",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_backup_and_restore_restore_drill",
+ "label": "Quarterly Restore Drill",
+ "author": null,
+ "captured_at": null,
+ "community": 31,
+ "community_name": "Data Security and Recovery",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "quarterly restore drill",
+ "source_file": "docs/operations/backup-and-restore.md",
+ "source_location": "lines 31-38",
+ "source_url": null
+ },
+ {
+ "id": "infra_readme_provider_neutral_infrastructure",
+ "label": "Provider-Neutral Infrastructure",
+ "author": null,
+ "captured_at": null,
+ "community": 31,
+ "community_name": "Data Security and Recovery",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "provider-neutral infrastructure",
+ "source_file": "infra/README.md",
+ "source_location": "lines 64-69",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_backup_and_restore_backup_and_restore",
+ "label": "Backup and Restore Runbook",
+ "author": null,
+ "captured_at": null,
+ "community": 31,
+ "community_name": "Data Security and Recovery",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "backup and restore runbook",
+ "source_file": "docs/operations/backup-and-restore.md",
+ "source_location": "lines 1-38",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0004_provider_neutral_encrypted_data_boundary_provider_neutral_boundary",
+ "label": "Provider-Neutral Data Boundary",
+ "author": null,
+ "captured_at": null,
+ "community": 31,
+ "community_name": "Data Security and Recovery",
+ "contributor": null,
+ "file_type": "rationale",
+ "norm_label": "provider-neutral data boundary",
+ "source_file": "docs/adr/0004-provider-neutral-encrypted-data-boundary.md",
+ "source_location": "lines 1-29",
+ "source_url": null
+ },
+ {
+ "id": "context_internal_transfer",
+ "label": "Internal Transfer",
+ "author": null,
+ "captured_at": null,
+ "community": 32,
+ "community_name": "Ledger Concepts",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "internal transfer",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 9",
+ "source_url": null
+ },
+ {
+ "id": "context_operation",
+ "label": "Operation",
+ "author": null,
+ "captured_at": null,
+ "community": 32,
+ "community_name": "Ledger Concepts",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "operation",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 7",
+ "source_url": null
+ },
+ {
+ "id": "context_posting",
+ "label": "Posting",
+ "author": null,
+ "captured_at": null,
+ "community": 32,
+ "community_name": "Ledger Concepts",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "posting",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 8",
+ "source_url": null
+ },
+ {
+ "id": "context_refund",
+ "label": "Refund",
+ "author": null,
+ "captured_at": null,
+ "community": 32,
+ "community_name": "Ledger Concepts",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "refund",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 10",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0002_journal_and_budget_reserves_derived_balances",
+ "label": "Derived Account Balances",
+ "author": null,
+ "captured_at": null,
+ "community": 32,
+ "community_name": "Ledger Concepts",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "derived account balances",
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "lines 13-15",
+ "source_url": null
+ },
+ {
+ "id": "kilo_plans_1789034192214_financial_tracker_mvp_ledger_invariants",
+ "label": "Ledger Invariants",
+ "author": null,
+ "captured_at": null,
+ "community": 32,
+ "community_name": "Ledger Concepts",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "ledger invariants",
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 115-125",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0002_journal_and_budget_reserves_operations_postings_journal",
+ "label": "Operations and Postings Journal",
+ "author": null,
+ "captured_at": null,
+ "community": 32,
+ "community_name": "Ledger Concepts",
+ "contributor": null,
+ "file_type": "rationale",
+ "norm_label": "operations and postings journal",
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "lines 1-29",
+ "source_url": null
+ },
+ {
+ "id": "context_parse_run",
+ "label": "Parse Run",
+ "author": null,
+ "captured_at": null,
+ "community": 33,
+ "community_name": "Parser Versioning",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "parse run",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 12",
+ "source_url": null
+ },
+ {
+ "id": "context_source_record",
+ "label": "Source Record",
+ "author": null,
+ "captured_at": null,
+ "community": 33,
+ "community_name": "Parser Versioning",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "source record",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 13",
+ "source_url": null
+ },
+ {
+ "id": "context_statement_import",
+ "label": "Statement Import",
+ "author": null,
+ "captured_at": null,
+ "community": 33,
+ "community_name": "Parser Versioning",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "statement import",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 11",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0003_versioned_statement_imports_parser_versioning",
+ "label": "Parser Versioning and Review Diff",
+ "author": null,
+ "captured_at": null,
+ "community": 33,
+ "community_name": "Parser Versioning",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "parser versioning and review diff",
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "lines 17-18",
+ "source_url": null
+ },
+ {
+ "id": "docs_parsers_private_fixture_gate_layout_drift_regating",
+ "label": "Layout Drift Re-Gating",
+ "author": null,
+ "captured_at": null,
+ "community": 33,
+ "community_name": "Parser Versioning",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "layout drift re-gating",
+ "source_file": "docs/parsers/private-fixture-gate.md",
+ "source_location": "lines 34-45",
+ "source_url": null
+ },
+ {
+ "id": "docs_parsers_private_fixture_gate_private_statement_contract",
+ "label": "Private Statement Test Contract",
+ "author": null,
+ "captured_at": null,
+ "community": 33,
+ "community_name": "Parser Versioning",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "private statement test contract",
+ "source_file": "docs/parsers/private-fixture-gate.md",
+ "source_location": "lines 7-17",
+ "source_url": null
+ },
+ {
+ "id": "docs_parsers_private_fixture_gate_private_fixture_gate",
+ "label": "Parser Private Fixture Gate",
+ "author": null,
+ "captured_at": null,
+ "community": 33,
+ "community_name": "Parser Versioning",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "parser private fixture gate",
+ "source_file": "docs/parsers/private-fixture-gate.md",
+ "source_location": "lines 1-45",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0004_provider_neutral_encrypted_data_boundary_secret_boundary",
+ "label": "Server-Side Secret Boundary",
+ "author": null,
+ "captured_at": null,
+ "community": 34,
+ "community_name": "Frontend Architecture",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "server-side secret boundary",
+ "source_file": "docs/adr/0004-provider-neutral-encrypted-data-boundary.md",
+ "source_location": "lines 16-18",
+ "source_url": null
+ },
+ {
+ "id": "frontend_readme_accessible_responsive_ui",
+ "label": "Accessible Responsive UI",
+ "author": null,
+ "captured_at": null,
+ "community": 34,
+ "community_name": "Frontend Architecture",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "accessible responsive ui",
+ "source_file": "frontend/README.md",
+ "source_location": "lines 60-67",
+ "source_url": null
+ },
+ {
+ "id": "frontend_readme_ru_en_localization",
+ "label": "RU and EN Localization",
+ "author": null,
+ "captured_at": null,
+ "community": 34,
+ "community_name": "Frontend Architecture",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "ru and en localization",
+ "source_file": "frontend/README.md",
+ "source_location": "lines 3-14",
+ "source_url": null
+ },
+ {
+ "id": "frontend_readme_space_scoped_query_keys",
+ "label": "Space-Scoped Query Keys",
+ "author": null,
+ "captured_at": null,
+ "community": 34,
+ "community_name": "Frontend Architecture",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "space-scoped query keys",
+ "source_file": "frontend/README.md",
+ "source_location": "lines 52-58",
+ "source_url": null
+ },
+ {
+ "id": "frontend_readme_typed_api_client",
+ "label": "Typed Same-Origin API Client",
+ "author": null,
+ "captured_at": null,
+ "community": 34,
+ "community_name": "Frontend Architecture",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "typed same-origin api client",
+ "source_file": "frontend/README.md",
+ "source_location": "lines 35-50",
+ "source_url": null
+ },
+ {
+ "id": "frontend_index_grossbukh_app_shell",
+ "label": "Grossbukh Application Shell",
+ "author": null,
+ "captured_at": null,
+ "community": 34,
+ "community_name": "Frontend Architecture",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "grossbukh application shell",
+ "source_file": "frontend/index.html",
+ "source_location": "lines 1-14",
+ "source_url": null
+ },
+ {
+ "id": "frontend_readme_finance_frontend",
+ "label": "Finance Frontend SPA",
+ "author": null,
+ "captured_at": null,
+ "community": 34,
+ "community_name": "Frontend Architecture",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "finance frontend spa",
+ "source_file": "frontend/README.md",
+ "source_location": "lines 1-70",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_beta_release_runbook_incident_response",
+ "label": "Financial Data Incident Response",
+ "author": null,
+ "captured_at": null,
+ "community": 35,
+ "community_name": "Beta Release Governance",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "financial data incident response",
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "lines 32-35",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_beta_release_runbook_launch_gates",
+ "label": "Closed Beta Launch Gates",
+ "author": null,
+ "captured_at": null,
+ "community": 35,
+ "community_name": "Beta Release Governance",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "closed beta launch gates",
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "lines 6-17",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_beta_release_runbook_launch_sequence",
+ "label": "Production Launch Sequence",
+ "author": null,
+ "captured_at": null,
+ "community": 35,
+ "community_name": "Beta Release Governance",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "production launch sequence",
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "lines 19-24",
+ "source_url": null
+ },
+ {
+ "id": "docs_parsers_private_fixture_gate_adapter_beta_eligibility",
+ "label": "Adapter Beta Eligibility",
+ "author": null,
+ "captured_at": null,
+ "community": 35,
+ "community_name": "Beta Release Governance",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "adapter beta eligibility",
+ "source_file": "docs/parsers/private-fixture-gate.md",
+ "source_location": "lines 19-32",
+ "source_url": null
+ },
+ {
+ "id": "kilo_plans_1789034192214_financial_tracker_mvp_release_gates",
+ "label": "MVP Release Gates",
+ "author": null,
+ "captured_at": null,
+ "community": 35,
+ "community_name": "Beta Release Governance",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "mvp release gates",
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 256-275",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_beta_release_runbook_closed_beta_release",
+ "label": "Closed Beta Release Runbook",
+ "author": null,
+ "captured_at": null,
+ "community": 35,
+ "community_name": "Beta Release Governance",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "closed beta release runbook",
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "lines 1-40",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_beta_release_runbook_forward_fix_rollback",
+ "label": "Forward-Fix Rollback Policy",
+ "author": null,
+ "captured_at": null,
+ "community": 35,
+ "community_name": "Beta Release Governance",
+ "contributor": null,
+ "file_type": "rationale",
+ "norm_label": "forward-fix rollback policy",
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "lines 26-30",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0001_financial_space_ownership_and_rls_break_glass_access",
+ "label": "Audited Break-Glass Access",
+ "author": null,
+ "captured_at": null,
+ "community": 37,
+ "community_name": "Tenant Isolation",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "audited break-glass access",
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "lines 20-26",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0001_financial_space_ownership_and_rls_cross_space_integrity",
+ "label": "Cross-Space Referential Integrity",
+ "author": null,
+ "captured_at": null,
+ "community": 37,
+ "community_name": "Tenant Isolation",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "cross-space referential integrity",
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "line 19",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0001_financial_space_ownership_and_rls_defense_in_depth_authorization",
+ "label": "Defense-in-Depth Authorization",
+ "author": null,
+ "captured_at": null,
+ "community": 37,
+ "community_name": "Tenant Isolation",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "defense-in-depth authorization",
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "lines 15-20",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0001_financial_space_ownership_and_rls_transaction_local_rls",
+ "label": "Transaction-Local RLS Context",
+ "author": null,
+ "captured_at": null,
+ "community": 37,
+ "community_name": "Tenant Isolation",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "transaction-local rls context",
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "lines 16-18",
+ "source_url": null
+ },
+ {
+ "id": "kilo_plans_1789034192214_financial_tracker_mvp_tenant_boundary",
+ "label": "Tenant Boundary",
+ "author": null,
+ "captured_at": null,
+ "community": 37,
+ "community_name": "Tenant Isolation",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "tenant boundary",
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 105-113",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0001_financial_space_ownership_and_rls_space_ownership",
+ "label": "Financial Space Ownership",
+ "author": null,
+ "captured_at": null,
+ "community": 37,
+ "community_name": "Tenant Isolation",
+ "contributor": null,
+ "file_type": "rationale",
+ "norm_label": "financial space ownership",
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "lines 1-32",
+ "source_url": null
+ },
+ {
+ "id": "docs_adr_0004_provider_neutral_encrypted_data_boundary_crypto_shredding",
+ "label": "Crypto-Shredded Deletion",
+ "author": null,
+ "captured_at": null,
+ "community": 38,
+ "community_name": "Deletion and Restore",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "crypto-shredded deletion",
+ "source_file": "docs/adr/0004-provider-neutral-encrypted-data-boundary.md",
+ "source_location": "line 15",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_backup_and_restore_restore_procedure",
+ "label": "Disaster Restore Procedure",
+ "author": null,
+ "captured_at": null,
+ "community": 38,
+ "community_name": "Deletion and Restore",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "disaster restore procedure",
+ "source_file": "docs/operations/backup-and-restore.md",
+ "source_location": "lines 20-29",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_deletion_ledger_delayed_space_deletion",
+ "label": "Thirty-Day Space Deletion",
+ "author": null,
+ "captured_at": null,
+ "community": 38,
+ "community_name": "Deletion and Restore",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "thirty-day space deletion",
+ "source_file": "docs/operations/deletion-ledger.md",
+ "source_location": "lines 13-21",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_deletion_ledger_idempotent_purge",
+ "label": "Idempotent Resumable Purge",
+ "author": null,
+ "captured_at": null,
+ "community": 38,
+ "community_name": "Deletion and Restore",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "idempotent resumable purge",
+ "source_file": "docs/operations/deletion-ledger.md",
+ "source_location": "lines 32-36",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_deletion_ledger_post_restore_replay",
+ "label": "Post-Restore Deletion Replay",
+ "author": null,
+ "captured_at": null,
+ "community": 38,
+ "community_name": "Deletion and Restore",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "post-restore deletion replay",
+ "source_file": "docs/operations/deletion-ledger.md",
+ "source_location": "lines 23-30",
+ "source_url": null
+ },
+ {
+ "id": "docs_operations_deletion_ledger_deletion_ledger",
+ "label": "Durable Deletion Ledger",
+ "author": null,
+ "captured_at": null,
+ "community": 38,
+ "community_name": "Deletion and Restore",
+ "contributor": null,
+ "file_type": "document",
+ "norm_label": "durable deletion ledger",
+ "source_file": "docs/operations/deletion-ledger.md",
+ "source_location": "lines 1-36",
+ "source_url": null
+ },
+ {
+ "id": "context_expected_income",
+ "label": "Expected Income",
+ "author": null,
+ "captured_at": null,
+ "community": 43,
+ "community_name": "Income Classification",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "expected income",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 22",
+ "source_url": null
+ },
+ {
+ "id": "context_income_source",
+ "label": "Income Source",
+ "author": null,
+ "captured_at": null,
+ "community": 43,
+ "community_name": "Income Classification",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "income source",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 23",
+ "source_url": null
+ },
+ {
+ "id": "frontend_public_favicon_svg",
+ "label": "Favicon SVG (ledger lines icon)",
+ "author": null,
+ "captured_at": null,
+ "community": 52,
+ "community_name": "Favicon Design",
+ "contributor": null,
+ "file_type": "image",
+ "norm_label": "favicon svg (ledger lines icon)",
+ "source_file": "frontend/public/favicon.svg",
+ "source_location": "lines 1-7",
+ "source_url": null
+ },
+ {
+ "id": "frontend_public_favicon_svg_ledger_lines_design",
+ "label": "Ledger Lines Icon Design",
+ "author": null,
+ "captured_at": null,
+ "community": 52,
+ "community_name": "Favicon Design",
+ "contributor": null,
+ "file_type": "rationale",
+ "norm_label": "ledger lines icon design",
+ "source_file": "frontend/public/favicon.svg",
+ "source_location": "lines 2-6",
+ "source_url": null
+ },
+ {
+ "id": "context_payee",
+ "label": "Payee",
+ "author": null,
+ "captured_at": null,
+ "community": 56,
+ "community_name": "Payee Concept",
+ "contributor": null,
+ "file_type": "concept",
+ "norm_label": "payee",
+ "source_file": "CONTEXT.md",
+ "source_location": "line 14",
+ "source_url": null
+ }
+ ],
+ "links": [
+ {
+ "source": "backend_app_analytics_router_balances",
+ "target": "backend_app_analytics_service_balances",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_cash_flow",
+ "target": "backend_app_analytics_service_cash_flow",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_category_spend",
+ "target": "backend_app_analytics_service_category_spend",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_plan_fact",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_plan_fact",
+ "target": "backend_app_analytics_service_plan_fact",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_balances",
+ "target": "backend_app_ledger_service_account_balance",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_category_spend",
+ "target": "backend_app_categorization_service_resolve_category_name",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_plan_fact",
+ "target": "backend_app_budgeting_service_get_or_create_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_plan_fact",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_service_record",
+ "target": "backend_app_audit_models_auditevent",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/audit/service.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_assignments",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L205",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_assignments",
+ "target": "backend_app_budgeting_service_set_assignments",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L206",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_categories",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_categories",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_categories",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_categories",
+ "target": "backend_app_budgeting_service_list_categories",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L251",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close",
+ "target": "backend_app_budgeting_service_close_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L252",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L274",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L275",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_service_close_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L276",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L277",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_router_frontend_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L278",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L292",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L293",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_service_copy_previous_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L294",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L295",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_router_frontend_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L296",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_previous",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L266",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_previous",
+ "target": "backend_app_budgeting_service_copy_previous_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L267",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_create_category",
+ "target": "backend_app_budgeting_service_create_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L153",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_expected_income",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L238",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_expected_income",
+ "target": "backend_app_budgeting_service_add_expected_income",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L239",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L218",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund",
+ "target": "backend_app_budgeting_service_fund",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L219",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L187",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L188",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_service_fund",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L189",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_router_categories",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L198",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_parse_month",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_parse_month",
+ "target": "backend_app_budgeting_service_validate_year_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_period_for",
+ "target": "backend_app_budgeting_service_get_or_create_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L257",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen",
+ "target": "backend_app_budgeting_service_reopen_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L258",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L283",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L284",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_service_reopen_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L285",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L286",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_router_frontend_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L287",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_summary",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L109",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_summary",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L110",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_summary",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_summary",
+ "target": "backend_app_budgeting_router_frontend_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L167",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L168",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_service_set_assignments",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L169",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_router_categories",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L176",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_add_expected_income",
+ "target": "backend_app_budgeting_service_require_open",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L621",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_add_expected_income",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L623",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_add_expected_income",
+ "target": "backend_app_budgeting_models_expectedincome",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L624",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_add_expected_income",
+ "target": "expectedincome",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L624",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_archive_category",
+ "target": "backend_app_budgeting_service_get_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L534",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_archive_category",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L536",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_archive_category",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L538",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_budgeting_service_require_open",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L713",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_budgeting_service_previous_ym",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L714",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L731",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L736",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_budgeting_models_periodclosure",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L757",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L767",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_compute_period_state",
+ "target": "backend_app_budgeting_service_period_bounds",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_compute_period_state",
+ "target": "backend_app_budgeting_service_closure_snapshot",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L282",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_compute_period_state",
+ "target": "backend_app_budgeting_service_previous_ym",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L285",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_compute_period_state",
+ "target": "backend_app_budgeting_service_balance_until",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L310",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_compute_period_state",
+ "target": "backend_app_categorization_service_resolve_category_name",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L338",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_compute_period_state",
+ "target": "backend_app_budgeting_service_close_blockers",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L424",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_budgeting_service_require_open",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L812",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_budgeting_service_previous_ym",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L813",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L820",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_budgeting_service_get_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L823",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_budgeting_models_planassignment",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L833",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_budgeting_models_expectedincome",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L846",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "expectedincome",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L846",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_budgeting_service_shift_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L849",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L857",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_create_category",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L488",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_create_category",
+ "target": "backend_app_ledger_models_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L489",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_create_category",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L492",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_ensure_credit_reserve_category",
+ "target": "backend_app_ledger_models_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L511",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_fund",
+ "target": "backend_app_budgeting_service_require_open",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L689",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_fund",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L691",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_fund",
+ "target": "backend_app_budgeting_service_get_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L694",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_fund",
+ "target": "backend_app_budgeting_models_fundingmovement",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L695",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_category",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L475",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_or_create_period",
+ "target": "backend_app_budgeting_service_validate_year_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_or_create_period",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_period",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_match_expected_income",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L650",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_match_expected_income",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L656",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_match_expected_income",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L663",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_match_expected_income",
+ "target": "backend_app_budgeting_models_expectedincomematch",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L667",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_period_bounds",
+ "target": "backend_app_budgeting_service_py_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_rename_category",
+ "target": "backend_app_budgeting_service_get_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L551",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_rename_category",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L556",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_reopen_period",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L784",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_reopen_period",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L799",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_require_open",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L467",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_budgeting_service_require_open",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L574",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_budgeting_service_get_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L577",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L579",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L582",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_budgeting_models_planassignment",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L589",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L600",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_shift_month",
+ "target": "backend_app_budgeting_service_py_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_validate_year_month",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_add_alias",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_add_alias",
+ "target": "backend_app_categorization_models_payeealias",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_ensure_income_source",
+ "target": "backend_app_categorization_models_incomesource",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_get_income_source",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_get_or_create_payee",
+ "target": "backend_app_categorization_models_payee",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_get_or_create_payee",
+ "target": "backend_app_categorization_service_add_alias",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_set_payee_rule",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_set_payee_rule",
+ "target": "backend_app_categorization_service_rule_category_for_payee",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_set_payee_rule",
+ "target": "backend_app_categorization_models_categorizationrule",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L87",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_config_get_settings",
+ "target": "backend_app_config_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/config.py",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_get_db",
+ "target": "backend_app_db_session_get_session_factory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_get_engine",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_get_session_factory",
+ "target": "backend_app_db_session_get_engine",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_get_session_factory",
+ "target": "backend_app_db_session_py_sessionmaker",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_session_scope",
+ "target": "backend_app_db_session_get_session_factory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_session_scope",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_context",
+ "target": "backend_app_spaces_service_list_spaces_for_user",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_context",
+ "target": "backend_app_errors_forbidden",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_context",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_context",
+ "target": "backend_app_dependencies_requestcontext",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_session",
+ "target": "backend_app_errors_unauthorized",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_session",
+ "target": "backend_app_identity_service_get_active_session",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_require_csrf",
+ "target": "backend_app_security_constant_time_equals",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_require_csrf",
+ "target": "backend_app_errors_forbidden",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_bad_request",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_conflict",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_forbidden",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_not_found",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_unauthorized",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_unprocessable",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_download",
+ "target": "backend_app_exports_service_consume_export",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_export_status",
+ "target": "backend_app_exports_service_get_export",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_request_export",
+ "target": "backend_app_exports_service_request_export",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_request_export",
+ "target": "backend_app_exports_tasks_enqueue_export",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_request_export",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_request_export",
+ "target": "backend_app_exports_service_get_export",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_build_export",
+ "target": "backend_app_exports_service_csv_bytes",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_build_export",
+ "target": "backend_app_imports_crypto_encrypt_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L107",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_build_export",
+ "target": "backend_app_imports_blob_new_object_key",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_build_export",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L109",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_build_export",
+ "target": "backend_app_exports_service_get_export",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_build_export",
+ "target": "backend_app_exports_service_json_rows",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_cancel_deletion",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_consume_export",
+ "target": "backend_app_exports_service_get_export",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_consume_export",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L127",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_consume_export",
+ "target": "backend_app_imports_crypto_decrypt_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_consume_export",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_get_export",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_purge_due_spaces",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L184",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_purge_due_spaces",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L189",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_request_export",
+ "target": "backend_app_exports_models_dataexport",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_schedule_deletion",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L151",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_schedule_deletion",
+ "target": "backend_app_exports_models_deletionledger",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L156",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks_build_export_task",
+ "target": "backend_app_db_session_session_scope",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks_build_export_task",
+ "target": "backend_app_exports_service_build_export",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks_purge_due_spaces_task",
+ "target": "backend_app_db_session_session_scope",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks_purge_due_spaces_task",
+ "target": "backend_app_exports_service_purge_due_spaces",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_mailer_send_token_email",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/mailer.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_accept_invite",
+ "target": "backend_app_identity_service_accept_invitation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_accept_invite",
+ "target": "backend_app_identity_service_create_session",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_accept_invite",
+ "target": "backend_app_identity_router_set_auth_cookies",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L87",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_confirm_password_reset",
+ "target": "backend_app_identity_service_reset_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_confirm_password_reset",
+ "target": "backend_app_identity_service_create_session",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_confirm_password_reset",
+ "target": "backend_app_identity_router_set_auth_cookies",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L136",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_security_constant_time_equals",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_errors_forbidden",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_identity_service_create_invitation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_identity_mailer_send_token_email",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_ratelimit_allow",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_identity_service_authenticate",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_identity_service_create_session",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_identity_router_set_auth_cookies",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L106",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_logout",
+ "target": "backend_app_identity_service_revoke_session",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_logout",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L162",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_request_password_reset",
+ "target": "backend_app_ratelimit_allow",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_request_password_reset",
+ "target": "backend_app_identity_service_create_password_reset",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L123",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_request_password_reset",
+ "target": "backend_app_identity_mailer_send_token_email",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_request_password_reset",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L127",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_set_auth_cookies",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_identity_service_validate_profile",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_security_token_digest",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_errors_unauthorized",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_identity_models_user",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_identity_service_py_user",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_security_hash_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_authenticate",
+ "target": "backend_app_identity_service_normalize_email",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L107",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_authenticate",
+ "target": "backend_app_security_verify_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L110",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_authenticate",
+ "target": "backend_app_errors_unauthorized",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_invitation",
+ "target": "backend_app_identity_service_normalize_email",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_invitation",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_invitation",
+ "target": "backend_app_security_new_token",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_invitation",
+ "target": "backend_app_identity_models_invitation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_invitation",
+ "target": "backend_app_security_token_digest",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_invitation",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_invitation",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_password_reset",
+ "target": "backend_app_identity_service_normalize_email",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L150",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_password_reset",
+ "target": "backend_app_security_new_token",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L155",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_password_reset",
+ "target": "backend_app_identity_models_passwordreset",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L157",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_password_reset",
+ "target": "backend_app_security_token_digest",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_password_reset",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L160",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_password_reset",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L163",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_session",
+ "target": "backend_app_security_new_token",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_session",
+ "target": "backend_app_identity_models_session",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_session",
+ "target": "backend_app_security_token_digest",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L120",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_session",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L122",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_session",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L127",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_get_active_session",
+ "target": "backend_app_security_token_digest",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_get_active_session",
+ "target": "backend_app_errors_unauthorized",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L135",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_reset_password",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L169",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_reset_password",
+ "target": "backend_app_security_token_digest",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L172",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_reset_password",
+ "target": "backend_app_errors_unauthorized",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L178",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_reset_password",
+ "target": "backend_app_security_hash_password",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L182",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_reset_password",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L187",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_revoke_session",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L144",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_validate_profile",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_detect",
+ "target": "backend_app_imports_adapters_alfa_xlsx_scan_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_readers_open_xlsx",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_alfa_xlsx_get_settings_row_cap",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_alfa_xlsx_find_header",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_alfa_xlsx_rows_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_alfa_xlsx_find_account_value",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_base_account_fingerprint",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_alfa_xlsx_parse_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_base_amount_to_kopecks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_alfa_xlsx_cell_str",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_base_sourcerow",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "target": "backend_app_imports_adapters_base_statementdraft",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_find_header",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L179",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_get_settings_row_cap",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_scan_text",
+ "target": "backend_app_imports_readers_open_xlsx",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L120",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_scan_text",
+ "target": "backend_app_imports_adapters_alfa_xlsx_rows_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L121",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_amount_to_kopecks",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_record_fingerprint",
+ "target": "backend_app_imports_adapters_base_normalize_description",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init_detect_adapter",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_first_page_text",
+ "target": "backend_app_imports_readers_open_pdf",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_first_page_text",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L121",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_detect",
+ "target": "backend_app_imports_adapters_ozon_pdf_first_page_text",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_parse",
+ "target": "backend_app_imports_readers_open_pdf",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_parse",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_parse",
+ "target": "backend_app_imports_adapters_base_account_fingerprint",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_parse",
+ "target": "backend_app_imports_adapters_ozon_pdf_parse_row",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_parse",
+ "target": "backend_app_imports_adapters_base_statementdraft",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_parse_row",
+ "target": "backend_app_imports_adapters_base_amount_to_kopecks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L102",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_parse_row",
+ "target": "backend_app_imports_adapters_base_sourcerow",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_get_blob_store",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_get_blob_store",
+ "target": "backend_app_imports_blob_s3blobstore",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_get_blob_store",
+ "target": "backend_app_imports_blob_localdirectoryblobstore",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore_delete",
+ "target": "backend_app_imports_blob_localdirectoryblobstore_path",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore_get",
+ "target": "backend_app_imports_blob_localdirectoryblobstore_path",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore_init",
+ "target": "path",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore_put",
+ "target": "backend_app_imports_blob_localdirectoryblobstore_path",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_s3blobstore_init",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_celery_app_create_celery_app",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/celery_app.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_celery_app_create_celery_app",
+ "target": "celery",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/celery_app.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto_decrypt_file",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto_decrypt_file",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto_encrypt_file",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto_encrypt_file",
+ "target": "backend_app_imports_crypto_encryptedfile",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers_open_pdf",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers_open_pdf",
+ "target": "backend_app_imports_readers_quota_error",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers_open_xlsx",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers_open_xlsx",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers_open_xlsx",
+ "target": "backend_app_imports_readers_quota_error",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers_quota_error",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L192",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_service_set_review_confirmation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_service_confirm_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L202",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_router_detail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L205",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_decide_row",
+ "target": "backend_app_imports_service_decide_source_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L173",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_decide_row",
+ "target": "backend_app_imports_router_detail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L181",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_delete_source",
+ "target": "backend_app_imports_service_delete_source_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L245",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_delete_source",
+ "target": "backend_app_imports_router_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_detail",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_detail",
+ "target": "backend_app_imports_router_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L101",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_detail",
+ "target": "backend_app_imports_service_document_detail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L99",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_imports",
+ "target": "backend_app_imports_router_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_imports",
+ "target": "backend_app_imports_service_list_documents",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_imports_service_prepare_reparse",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L210",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_imports_tasks_enqueue_process_statement",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L221",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L222",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_imports_router_detail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L232",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_revert",
+ "target": "backend_app_imports_service_revert_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L237",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_revert",
+ "target": "backend_app_imports_router_detail",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L240",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_review",
+ "target": "backend_app_imports_service_set_review_confirmation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L155",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_review",
+ "target": "backend_app_imports_router_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_service_create_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_tasks_enqueue_process_statement",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_router_summary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_build_candidates",
+ "target": "backend_app_imports_models_dedupcandidate",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L193",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L495",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L500",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L566",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_ledger_service_create_transfer",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L614",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_imports_models_sourcerecordlink",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L628",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_ledger_service_create_income",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L682",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_ledger_service_create_expense",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L694",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L715",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L106",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_imports_adapters_init_magic_kind",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_imports_crypto_encrypt_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_imports_blob_new_object_key",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L88",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_decide_source_record",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L391",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_decide_source_record",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L402",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_decide_source_record",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L404",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_delete_source_file",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L909",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_delete_source_file",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L914",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_document",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_document_detail",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L345",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_prepare_reparse",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L728",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_prepare_reparse",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L730",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_prepare_reparse",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L740",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_db_session_session_scope",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L238",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L239",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_models_parserun",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L243",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_errors_apperror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_crypto_decrypt_file",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L256",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L257",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_adapters_init_magic_kind",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L262",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_adapters_init_detect_adapter",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L267",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_service_draft_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L271",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_service_source_from_row",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L302",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_service_build_candidates",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L307",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L755",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L798",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_ledger_service_create_income",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L848",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_ledger_service_create_expense",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L865",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_imports_models_sourcerecordlink",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L881",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L896",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_set_review_confirmation",
+ "target": "backend_app_imports_service_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L461",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_set_review_confirmation",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L464",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_set_review_confirmation",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L466",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_source_from_row",
+ "target": "backend_app_imports_models_sourcerecord",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_source_from_row",
+ "target": "backend_app_imports_adapters_base_record_fingerprint",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L157",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_tasks_process_statement_task",
+ "target": "backend_app_imports_service_process_statement_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_accounts",
+ "target": "backend_app_ledger_router_account_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L101",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_archive_account",
+ "target": "backend_app_ledger_router_account_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L120",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_account",
+ "target": "backend_app_ledger_router_account_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_categorization_service_get_or_create_payee",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L184",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_categorization_service_ensure_income_source",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L203",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L245",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_ledger_router_operation_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L246",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operation_json",
+ "target": "backend_app_categorization_service_resolve_category_name",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "backend_app_ledger_router_operation_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L168",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_account",
+ "target": "backend_app_ledger_router_account_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L128",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_operation",
+ "target": "backend_app_ledger_router_operation_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L278",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_void_operation",
+ "target": "backend_app_ledger_router_operation_json",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L260",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_apply_suggestion",
+ "target": "backend_app_categorization_service_find_payee_by_description",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_apply_suggestion",
+ "target": "backend_app_categorization_service_rule_category_for_payee",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_archive_account",
+ "target": "backend_app_ledger_service_get_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L465",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_archive_account",
+ "target": "backend_app_ledger_service_account_balance",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L468",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_archive_account",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L469",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_archive_account",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L474",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_account",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L101",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_account",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_account",
+ "target": "backend_app_ledger_models_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_account",
+ "target": "backend_app_ledger_service_py_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L153",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_service_existing_by_request_key",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_service_require_active_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L157",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_service_validate_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L158",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L160",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L160",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_service_apply_suggestion",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L175",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L177",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L184",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L208",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_ledger_service_existing_by_request_key",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L209",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_ledger_service_require_active_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L212",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_categorization_service_get_income_source",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L214",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L215",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L216",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L216",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L231",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L238",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L336",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_ledger_service_existing_by_request_key",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L337",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L347",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L349",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L350",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_ledger_service_refunded_kopecks",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L351",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L358",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L358",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L373",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L380",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L262",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_ledger_service_existing_by_request_key",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L265",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_ledger_service_require_active_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L268",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L270",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L271",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L271",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L286",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L301",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_delete_account",
+ "target": "backend_app_ledger_service_get_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L485",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_delete_account",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L492",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_delete_account",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L497",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_ensure_period_open_for_date",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L404",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_get_account",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_get_operation",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_require_active_account",
+ "target": "backend_app_ledger_service_get_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_require_active_account",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_to_kopecks",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "backend_app_ledger_service_get_operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L440",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L442",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L443",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "backend_app_ledger_service_validate_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L446",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L452",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_validate_category",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_validate_category",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_void_operation",
+ "target": "backend_app_ledger_service_get_operation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L414",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_void_operation",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L417",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_void_operation",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L420",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_app_error_handler",
+ "target": "jsonresponse",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/main.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_healthz",
+ "target": "backend_app_main_health",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/main.py",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_readiness",
+ "target": "backend_app_db_session_get_engine",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/main.py",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_stale_data_handler",
+ "target": "jsonresponse",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/main.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ratelimit_allow",
+ "target": "backend_app_config_get_settings",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/ratelimit.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_security_constant_time_equals",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_errors_forbidden",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_spaces_service_list_spaces_for_user",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_spaces_service_require_owner",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_exports_service_cancel_deletion",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_deletion_status",
+ "target": "backend_app_spaces_service_list_spaces_for_user",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_deletion_status",
+ "target": "backend_app_errors_forbidden",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_invite_member",
+ "target": "backend_app_spaces_service_require_owner",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_invite_member",
+ "target": "backend_app_identity_service_create_invitation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_invite_member",
+ "target": "backend_app_identity_mailer_send_token_email",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_schedule_deletion",
+ "target": "backend_app_errors_bad_request",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_schedule_deletion",
+ "target": "backend_app_spaces_service_require_owner",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_schedule_deletion",
+ "target": "backend_app_exports_service_schedule_deletion",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_create_space",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_create_space",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_create_space",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_create_space",
+ "target": "backend_app_audit_service_record",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_membership",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_space_for_member",
+ "target": "backend_app_errors_not_found",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_space_for_member",
+ "target": "backend_app_spaces_service_get_membership",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_space_for_member",
+ "target": "backend_app_errors_conflict",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_require_owner",
+ "target": "backend_app_errors_forbidden",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_client",
+ "target": "backend_tests_conftest_py_testclient",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_db",
+ "target": "backend_tests_conftest_db_factory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_db_factory",
+ "target": "backend_tests_conftest_py_sessionmaker",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_seed",
+ "target": "backend_app_identity_models_user",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_seed",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "target": "backend_tests_test_budget_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "target": "backend_app_budgeting_service_create_category",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "target": "backend_app_budgeting_service_get_or_create_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "target": "backend_app_budgeting_service_set_assignments",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "target": "backend_app_budgeting_service_add_expected_income",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "target": "backend_app_budgeting_service_copy_previous_month",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_periods_must_close_in_calendar_order",
+ "target": "backend_tests_test_budget_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_periods_must_close_in_calendar_order",
+ "target": "backend_app_budgeting_service_get_or_create_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_periods_must_close_in_calendar_order",
+ "target": "backend_app_budgeting_service_close_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_reopen_preserves_immutable_closure_history",
+ "target": "backend_tests_test_budget_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_reopen_preserves_immutable_closure_history",
+ "target": "backend_app_budgeting_service_get_or_create_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_reopen_preserves_immutable_closure_history",
+ "target": "backend_app_budgeting_service_close_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_reopen_preserves_immutable_closure_history",
+ "target": "backend_app_budgeting_service_reopen_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L87",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_uncategorized_expense_blocks_close",
+ "target": "backend_tests_test_budget_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_uncategorized_expense_blocks_close",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_uncategorized_expense_blocks_close",
+ "target": "backend_app_ledger_service_create_expense",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_uncategorized_expense_blocks_close",
+ "target": "backend_app_budgeting_service_get_or_create_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_uncategorized_expense_blocks_close",
+ "target": "backend_app_budgeting_service_close_period",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_ready_document",
+ "target": "backend_tests_test_imports_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_ready_document",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_ready_document",
+ "target": "backend_app_imports_models_parserun",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_ready_document",
+ "target": "backend_app_imports_models_sourcerecord",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_seed",
+ "target": "backend_app_identity_models_user",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_seed",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_seed",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_confirm_and_revert_are_idempotent",
+ "target": "backend_tests_test_imports_ready_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_confirm_rejects_arithmetic_mismatch",
+ "target": "backend_tests_test_imports_ready_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_confirmed_import_must_be_reverted_before_reparse",
+ "target": "backend_tests_test_imports_ready_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_duplicate_candidate_can_reuse_unique_operation_without_client_id",
+ "target": "backend_tests_test_imports_ready_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_duplicate_candidate_can_reuse_unique_operation_without_client_id",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L170",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_duplicate_candidate_can_reuse_unique_operation_without_client_id",
+ "target": "backend_app_imports_models_parserun",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L182",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_duplicate_candidate_can_reuse_unique_operation_without_client_id",
+ "target": "backend_app_imports_models_sourcerecord",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L191",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_invalid_direction_is_critical",
+ "target": "backend_app_imports_adapters_base_sourcerow",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_transfer_merge_revert_restores_counterpart_operation",
+ "target": "backend_tests_test_imports_ready_document",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L221",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_transfer_merge_revert_restores_counterpart_operation",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L226",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_transfer_merge_revert_restores_counterpart_operation",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L234",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_transfer_merge_revert_restores_counterpart_operation",
+ "target": "backend_app_imports_models_parserun",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L246",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_transfer_merge_revert_restores_counterpart_operation",
+ "target": "backend_app_imports_models_sourcerecord",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L255",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_unexpected_parser_failure_reaches_terminal_state",
+ "target": "backend_tests_test_imports_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_unexpected_parser_failure_reaches_terminal_state",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_seed",
+ "target": "backend_app_identity_models_user",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_seed",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_credit_expense_is_negative_balance_and_refund_is_capped",
+ "target": "backend_tests_test_ledger_properties_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_credit_expense_is_negative_balance_and_refund_is_capped",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_credit_expense_is_negative_balance_and_refund_is_capped",
+ "target": "backend_app_ledger_service_create_expense",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_credit_expense_is_negative_balance_and_refund_is_capped",
+ "target": "backend_app_ledger_service_account_balance",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_credit_expense_is_negative_balance_and_refund_is_capped",
+ "target": "backend_app_ledger_service_create_refund",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_cross_space_lookup_fails_closed",
+ "target": "backend_tests_test_ledger_properties_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_cross_space_lookup_fails_closed",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L112",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_cross_space_lookup_fails_closed",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L113",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_cross_space_lookup_fails_closed",
+ "target": "backend_app_ledger_service_get_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L122",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_idempotency_key_prevents_duplicate_income",
+ "target": "backend_tests_test_ledger_properties_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L127",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_idempotency_key_prevents_duplicate_income",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L128",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_idempotency_key_prevents_duplicate_income",
+ "target": "backend_app_ledger_service_create_income",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L136",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_idempotency_key_prevents_duplicate_income",
+ "target": "backend_app_ledger_service_account_balance",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L155",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_transfer_postings_conserve_money",
+ "target": "backend_tests_test_ledger_properties_seed",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_transfer_postings_conserve_money",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_transfer_postings_conserve_money",
+ "target": "backend_app_ledger_service_create_transfer",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_transfer_postings_conserve_money",
+ "target": "backend_app_ledger_service_account_balance",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3_test_postgres_rls_requires_matching_transaction_context",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3_test_postgres_rls_requires_matching_transaction_context",
+ "target": "backend_app_ledger_models_account",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3_test_postgres_rls_requires_matching_transaction_context",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3_test_s3_blob_round_trip",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_scripts_generate_api_main",
+ "target": "frontend_scripts_generate_api_firstreadable",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client_request",
+ "target": "frontend_src_api_client_apierror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client_request",
+ "target": "frontend_src_api_client_toapierror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client_request",
+ "target": "frontend_src_api_client_readcsrftoken",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L90",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client_request",
+ "target": "frontend_src_api_client_buildurl",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L96",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client_toapierror",
+ "target": "frontend_src_api_client_parseerrorenvelope",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client_toapierror",
+ "target": "frontend_src_api_client_apierror",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_requireauth",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout_applayout",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout_applayout",
+ "target": "frontend_src_hooks_useauth_uselogout",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_langswitcher_langswitcher",
+ "target": "frontend_src_i18n_index_setlocale",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/components/layout/LangSwitcher.tsx",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "target": "frontend_src_hooks_useaccounts_useaccounts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts_usearchiveaccount",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts_usecreateaccount",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth_useacceptinvite",
+ "target": "frontend_src_hooks_useauth_usesessionmutation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth_useconfirmpasswordreset",
+ "target": "frontend_src_hooks_useauth_usesessionmutation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth_uselogin",
+ "target": "frontend_src_hooks_useauth_usesessionmutation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_usebudgeterrortoaster",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_useclosemonth",
+ "target": "frontend_src_hooks_usebudget_useperiodmutation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_usecopypreviousmonth",
+ "target": "frontend_src_hooks_usebudget_useperiodmutation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L86",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_usefundcategory",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_usefundcategory",
+ "target": "frontend_src_hooks_usebudget_usebudgeterrortoaster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_useperiodmutation",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_useperiodmutation",
+ "target": "frontend_src_hooks_usebudget_usebudgeterrortoaster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_usereopenmonth",
+ "target": "frontend_src_hooks_usebudget_useperiodmutation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_useupdateplan",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget_useupdateplan",
+ "target": "frontend_src_hooks_usebudget_usebudgeterrortoaster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_useconfirmimport",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_useconfirmimport",
+ "target": "frontend_src_hooks_useimports_useimporterrortoaster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_useimporterrortoaster",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_usereparseimport",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L88",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_usereparseimport",
+ "target": "frontend_src_hooks_useimports_useimporterrortoaster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_userevertimport",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_userevertimport",
+ "target": "frontend_src_hooks_useimports_useimporterrortoaster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_usesaverowdecision",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_useuploadimport",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports_useuploadimport",
+ "target": "frontend_src_hooks_useimports_useimporterrortoaster",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations_usecategorizeoperation",
+ "target": "frontend_src_hooks_useoperations_useledgermutation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations_usecreateoperation",
+ "target": "frontend_src_hooks_useoperations_useledgermutation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations_useledgermutation",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations_usevoidoperation",
+ "target": "frontend_src_hooks_useoperations_useledgermutation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle_usecanceldeletion",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle_userequestdeletion",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle_userequestexport",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index_createi18n",
+ "target": "frontend_src_i18n_index_detectlocale",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index_detectlocale",
+ "target": "frontend_src_i18n_index_storedlocale",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage_acceptinvitepage",
+ "target": "frontend_src_hooks_useauth_useacceptinvite",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage_acceptinvitepage",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage_accountform",
+ "target": "frontend_src_hooks_useaccounts_usecreateaccount",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage_accountform",
+ "target": "frontend_src_pages_accountspage_usememoschema",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage_accountspage",
+ "target": "frontend_src_hooks_useaccounts_useaccounts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage_accountspage",
+ "target": "frontend_src_hooks_useaccounts_usearchiveaccount",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L120",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage_analyticspage",
+ "target": "frontend_src_hooks_useanalytics_useanalyticscategoryspend",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage_analyticspage",
+ "target": "frontend_src_hooks_useanalytics_useanalyticscashflow",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage_analyticspage",
+ "target": "frontend_src_hooks_useanalytics_useanalyticsbalances",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage_analyticspage",
+ "target": "frontend_src_hooks_useanalytics_useanalyticsplanfact",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage_budgetpage",
+ "target": "frontend_src_hooks_usebudget_usebudgetsummary",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L127",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage_budgetpage",
+ "target": "frontend_src_hooks_usebudget_usebudgetcategories",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L128",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage_budgetpage",
+ "target": "frontend_src_hooks_usebudget_useclosemonth",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage_budgetpage",
+ "target": "frontend_src_hooks_usebudget_usereopenmonth",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L130",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage_budgetpage",
+ "target": "frontend_src_hooks_usebudget_usecopypreviousmonth",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage_fundmodal",
+ "target": "frontend_src_hooks_usebudget_usefundcategory",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L87",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage_planmodal",
+ "target": "frontend_src_hooks_usebudget_useupdateplan",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage_confirmmodal",
+ "target": "frontend_src_hooks_useimports_useconfirmimport",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage_importdetailpage",
+ "target": "frontend_src_hooks_useimports_usesaverowdecision",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage_importdetailpage",
+ "target": "frontend_src_pages_importdetailpage_stepindexfor",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L142",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage_importdetailpage",
+ "target": "frontend_src_hooks_useimports_useimport",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage_importdetailpage",
+ "target": "frontend_src_hooks_useimports_usereparseimport",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage_importdetailpage",
+ "target": "frontend_src_hooks_useimports_userevertimport",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L99",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage_importspage",
+ "target": "frontend_src_hooks_useimports_useimports",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage_uploadmodal",
+ "target": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage_uploadmodal",
+ "target": "frontend_src_hooks_useimports_useuploadimport",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage_loginpage",
+ "target": "frontend_src_hooks_useauth_uselogin",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage_loginpage",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_expenseform",
+ "target": "frontend_src_hooks_useoperations_usecreateoperation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_expenseform",
+ "target": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_expenseform",
+ "target": "frontend_src_hooks_usebudget_usebudgetcategories",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_expenseform",
+ "target": "frontend_src_pages_operationspage_amountfield",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_expenseform",
+ "target": "frontend_src_pages_operationspage_datefield",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_incomeform",
+ "target": "frontend_src_hooks_useoperations_usecreateoperation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L145",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_incomeform",
+ "target": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L146",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_incomeform",
+ "target": "frontend_src_pages_operationspage_amountfield",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L149",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_incomeform",
+ "target": "frontend_src_pages_operationspage_datefield",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L150",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_operationspage",
+ "target": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L453",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_operationspage",
+ "target": "frontend_src_hooks_useoperations_useoperations",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L481",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_refundform",
+ "target": "frontend_src_hooks_useoperations_usecreateoperation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L299",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_refundform",
+ "target": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L300",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_refundform",
+ "target": "frontend_src_hooks_useoperations_useoperations",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L301",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_refundform",
+ "target": "frontend_src_pages_operationspage_amountfield",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L304",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_refundform",
+ "target": "frontend_src_pages_operationspage_datefield",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L305",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_transferform",
+ "target": "frontend_src_hooks_useoperations_usecreateoperation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L219",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_transferform",
+ "target": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L220",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_transferform",
+ "target": "frontend_src_pages_operationspage_amountfield",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L225",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_transferform",
+ "target": "frontend_src_pages_operationspage_datefield",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L226",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage_voidmodal",
+ "target": "frontend_src_hooks_useoperations_usevoidoperation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L407",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage_resetpasswordpage",
+ "target": "frontend_src_hooks_useauth_userequestpasswordreset",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage_resetpasswordpage",
+ "target": "frontend_src_hooks_useauth_useconfirmpasswordreset",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage_reviewqueuepage",
+ "target": "frontend_src_hooks_useimports_useimports",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage_reviewqueuepage",
+ "target": "frontend_src_hooks_useoperations_useoperations",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L72",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage_reviewqueuepage",
+ "target": "frontend_src_hooks_usebudget_usebudgetcategories",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage_uncategorizedrow",
+ "target": "frontend_src_hooks_useoperations_usecategorizeoperation",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage_deletionform",
+ "target": "frontend_src_hooks_usespacelifecycle_userequestdeletion",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage_settingspage",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage_settingspage",
+ "target": "frontend_src_hooks_usespacelifecycle_usespacedeletion",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage_settingspage",
+ "target": "frontend_src_hooks_usespacelifecycle_userequestexport",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage_settingspage",
+ "target": "frontend_src_hooks_usespacelifecycle_usecanceldeletion",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_helpers_renderwithproviders",
+ "target": "frontend_src_test_helpers_createtestqueryclient",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/test/helpers.tsx",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test_renderlogin",
+ "target": "frontend_src_test_helpers_renderwithproviders",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "call",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_balances",
+ "target": "backend_app_analytics_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L88",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_cash_flow",
+ "target": "backend_app_analytics_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_category_spend",
+ "target": "backend_app_analytics_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_plan_fact",
+ "target": "backend_app_analytics_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L66",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_assignments",
+ "target": "put",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L201",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_categories",
+ "target": "backend_app_budgeting_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L249",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L272",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L290",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_previous",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L264",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_create_category",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L151",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_expected_income",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L229",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L216",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L179",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L255",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L281",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_summary",
+ "target": "backend_app_budgeting_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L107",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_router_py_patch",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L163",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_download",
+ "target": "backend_app_exports_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_export_status",
+ "target": "backend_app_exports_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_request_export",
+ "target": "backend_app_exports_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks_build_export_task",
+ "target": "backend_app_exports_tasks_py_task",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks_purge_due_spaces_task",
+ "target": "backend_app_exports_tasks_py_task",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_accept_invite",
+ "target": "backend_app_identity_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_confirm_password_reset",
+ "target": "backend_app_identity_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_identity_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_identity_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_logout",
+ "target": "backend_app_identity_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L158",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_me",
+ "target": "backend_app_identity_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L146",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_request_password_reset",
+ "target": "backend_app_identity_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L184",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_decide_row",
+ "target": "backend_app_imports_router_py_patch",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_delete_source",
+ "target": "backend_app_imports_router_py_delete",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L243",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_detail",
+ "target": "backend_app_imports_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_imports",
+ "target": "backend_app_imports_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_imports_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L208",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_revert",
+ "target": "backend_app_imports_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L235",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_review",
+ "target": "backend_app_imports_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L153",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_tasks_process_statement_task",
+ "target": "backend_app_imports_tasks_py_task",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_accounts",
+ "target": "backend_app_ledger_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L99",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_archive_account",
+ "target": "backend_app_ledger_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_account",
+ "target": "backend_app_ledger_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_ledger_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L173",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_delete_account",
+ "target": "backend_app_ledger_router_py_delete",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "backend_app_ledger_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L136",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_account",
+ "target": "backend_app_ledger_router_py_patch",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L123",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_operation",
+ "target": "backend_app_ledger_router_py_patch",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L263",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_void_operation",
+ "target": "backend_app_ledger_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L249",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_app_error_handler",
+ "target": "exception_handler",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/main.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_health",
+ "target": "backend_app_main_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/main.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_healthz",
+ "target": "backend_app_main_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/main.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_readiness",
+ "target": "backend_app_main_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/main.py",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_security_headers",
+ "target": "middleware",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/main.py",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_stale_data_handler",
+ "target": "exception_handler",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/main.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_spaces_router_py_delete",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_current",
+ "target": "backend_app_spaces_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_deletion_status",
+ "target": "backend_app_spaces_router_py_get",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_invite_member",
+ "target": "backend_app_spaces_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_schedule_deletion",
+ "target": "backend_app_spaces_router_py_post",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_client",
+ "target": "fixture",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_db",
+ "target": "fixture",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_db_factory",
+ "target": "fixture",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_transfer_postings_conserve_money",
+ "target": "given",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_transfer_postings_conserve_money",
+ "target": "settings",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3_test_postgres_rls_requires_matching_transaction_context",
+ "target": "skipif",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3_test_s3_blob_round_trip",
+ "target": "skipif",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "decorator",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_alfa_xlsx",
+ "relation": "re_exports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "export",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_base",
+ "relation": "re_exports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "export",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_ozon_pdf",
+ "relation": "re_exports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "export",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_rocketbank_pdf",
+ "relation": "re_exports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "export",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_querygate",
+ "target": "frontend_src_components_ui_emptystate",
+ "relation": "re_exports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "export",
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage_accountformvalues",
+ "target": "frontend_src_api_types_accounttype",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "field",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_service_record",
+ "target": "backend_app_audit_service_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/audit/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_list_categories",
+ "target": "backend_app_ledger_models_category",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L522",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_list_periods",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_reopen_period",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L777",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_get_db",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_get_session_factory",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_session_scope",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_session",
+ "target": "backend_app_dependencies_py_alias",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_session",
+ "target": "backend_app_dependencies_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_session",
+ "target": "cookie",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_session",
+ "target": "session_cookie_name",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_session",
+ "target": "usersession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_require_csrf",
+ "target": "backend_app_dependencies_py_alias",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_require_csrf",
+ "target": "backend_app_dependencies_py_header",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_identity_router_py_alias",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_identity_router_py_header",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_router_py_alias",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "file",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "form",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "uploadfile",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_draft_json",
+ "target": "backend_app_imports_service_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_list_documents",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L335",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_ledger_router_py_alias",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_ledger_router_py_header",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "backend_app_ledger_router_py_alias",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "backend_app_ledger_router_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "backend_app_ledger_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "ge",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "le",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "query",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_list_accounts",
+ "target": "backend_app_ledger_service_py_account",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L551",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_list_operations",
+ "target": "operation",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L506",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_security_headers",
+ "target": "backend_app_main_py_request",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/main.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_spaces_router_py_alias",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_spaces_router_py_header",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_space_for_member",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_space_for_member",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_list_spaces_for_user",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_list_spaces_for_user",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_client",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_db",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_db_factory",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "generic_arg",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_acceptinvitepage",
+ "target": "frontend_src_pages_acceptinvitepage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_accountspage",
+ "target": "frontend_src_pages_accountspage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_analyticspage",
+ "target": "frontend_src_pages_analyticspage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_budgetpage",
+ "target": "frontend_src_pages_budgetpage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_importdetailpage",
+ "target": "frontend_src_pages_importdetailpage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_importspage",
+ "target": "frontend_src_pages_importspage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_loginpage",
+ "target": "frontend_src_pages_loginpage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_notfoundpage",
+ "target": "frontend_src_pages_notfoundpage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_operationspage",
+ "target": "frontend_src_pages_operationspage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_resetpasswordpage",
+ "target": "frontend_src_pages_resetpasswordpage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_reviewqueuepage",
+ "target": "frontend_src_pages_reviewqueuepage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router_settingspage",
+ "target": "frontend_src_pages_settingspage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "deferred": true,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions_lib",
+ "target": "ref_dom",
+ "relation": "extends",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions_lib",
+ "target": "ref_dom_iterable",
+ "relation": "extends",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions_lib",
+ "target": "ref_es2022",
+ "relation": "extends",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions_types",
+ "target": "ref_vite_client",
+ "relation": "extends",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_include",
+ "target": "ref_src",
+ "relation": "extends",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_env",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_env",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_versions_20260911_0001_initial_schema",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_analytics_service_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_categorization_service_resolve_category_name",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_ledger_models_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_ledger_models_category",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_ledger_service_account_balance",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_budgeting_models_periodclosure",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_budgeting_service_get_or_create_period",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_models",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_models",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_models",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_service",
+ "target": "backend_app_audit_models_auditevent",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/audit/service.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_errors_bad_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_models_expectedincome",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_models_expectedincomematch",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_models_fundingmovement",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_models_periodclosure",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_models_planassignment",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_categorization_service_resolve_category_name",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_errors_bad_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_errors_conflict",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_errors_not_found",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_ledger_models_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_ledger_models_category",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L443",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L99",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_models_categorizationrule",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_models_incomesource",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_models_payee",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_models_payeealias",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_errors_conflict",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_errors_not_found",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_ledger_models_category",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_categorization_models_bankcategorymapping",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_categorization_models_categorizationrule",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_categorization_models_incomesource",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_categorization_models_mcccode",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_categorization_models_payee",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_categorization_models_payeealias",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_exports_models_dataexport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_exports_models_deletionledger",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_identity_models_invitation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_identity_models_passwordreset",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_identity_models_session",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_imports_models_dedupcandidate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_imports_models_parserun",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_imports_models_sourcerecord",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_imports_models_sourcerecordlink",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_ledger_models_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_ledger_models_category",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_audit_models_auditevent",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_budgeting_models_expectedincome",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_budgeting_models_expectedincomematch",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_budgeting_models_fundingmovement",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_budgeting_models_periodclosure",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_budgeting_models_planassignment",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_identity_models_session",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_identity_service_get_active_session",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_security_constant_time_equals",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_spaces_service_list_spaces_for_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_db_session_get_db",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_errors_forbidden",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_errors_unauthorized",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_exports_router_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_exports_tasks_enqueue_export",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_audit_models_auditevent",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_budgeting_models_expectedincome",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_budgeting_models_fundingmovement",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_budgeting_models_planassignment",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_errors_conflict",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_errors_not_found",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_models_dataexport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_models_deletionledger",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_imports_blob_new_object_key",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_imports_crypto_decrypt_file",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_imports_crypto_encrypt_file",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L187",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_ledger_models_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_ledger_models_category",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_exports_tasks_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_db_session_session_scope",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_exports_service_build_export",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_exports_service_purge_due_spaces",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_mailer",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/mailer.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_mailer_send_token_email",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L101",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_ratelimit_allow",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_security_constant_time_equals",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_errors_forbidden",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_models_invitation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_models_passwordreset",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_models_session",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_security_hash_password",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_security_new_token",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_security_token_digest",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_security_verify_password",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_errors_bad_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_errors_conflict",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_errors_unauthorized",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L95",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_readers_open_xlsx",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_base_account_fingerprint",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_base_amount_to_kopecks",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_base_sourcerow",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_base_statementdraft",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfacreditxlsxadapter",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfadebitxlsxadapter",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_base_statementadapter",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozoncreditpdfadapter",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozondebitpdfadapter",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_rocketbank_pdf_rocketbankdebitpdfadapter",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_readers_open_pdf",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_base_account_fingerprint",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_base_amount_to_kopecks",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_base_sourcerow",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_base_statementdraft",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_rocketbank_pdf",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/rocketbank_pdf.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_celery_app",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/celery_app.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L82",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_tasks_enqueue_process_statement",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_db_session_session_scope",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_errors_conflict",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_errors_not_found",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_adapters_init_detect_adapter",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_adapters_init_magic_kind",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_adapters_base_record_fingerprint",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_adapters_base_sourcerow",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_adapters_base_statementdraft",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_blob_new_object_key",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_crypto_decrypt_file",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_crypto_encrypt_file",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_models_dedupcandidate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_models_parserun",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_models_sourcerecord",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_models_sourcerecordlink",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_ledger_models_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_ledger_service_create_expense",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_ledger_service_create_income",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_ledger_service_create_transfer",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_budgeting_models_expectedincomematch",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L567",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L753",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_tasks",
+ "target": "backend_app_imports_tasks_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_tasks",
+ "target": "backend_app_imports_service_process_statement_document",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_models_category",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_errors_bad_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L243",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_categorization_models_incomesource",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_categorization_models_payee",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_errors_bad_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_errors_conflict",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_errors_not_found",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_models_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L391",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_models_category",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_db_session_get_engine",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ratelimit",
+ "target": "backend_app_config_get_settings",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ratelimit.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_identity_mailer_send_token_email",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_security_constant_time_equals",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_service_list_spaces_for_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_service_require_owner",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_errors_bad_request",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_errors_forbidden",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_spaces_service_py_uuid",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_errors_conflict",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_errors_forbidden",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_errors_not_found",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_app_db_base_base",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_app_db_session_get_db",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_ledger_service_create_expense",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_service_add_expected_income",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_models_periodclosure",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_service_close_period",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_service_copy_previous_month",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_service_create_category",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_service_get_or_create_period",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_service_reopen_period",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_service_set_assignments",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_adapters_base_sourcerow",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_models_dedupcandidate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_models_parserun",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_models_sourcerecord",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_models_sourcerecordlink",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_service_account_balance",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_service_create_expense",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_service_create_income",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_service_create_refund",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_service_create_transfer",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_service_get_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_errors_apperror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_identity_models_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_app_ledger_models_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies_hookform_resolvers",
+ "target": "hookform_resolvers",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies_i18next",
+ "target": "i18next",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies_react",
+ "target": "react",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies_react_dom",
+ "target": "react_dom",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies_react_hook_form",
+ "target": "react_hook_form",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies_react_i18next",
+ "target": "react_i18next",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies_react_router_dom",
+ "target": "react_router_dom",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies_tanstack_react_query",
+ "target": "tanstack_react_query",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies_zod",
+ "target": "zod",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_eslint",
+ "target": "eslint",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_eslint_js",
+ "target": "eslint_js",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_eslint_plugin_jsx_a11y",
+ "target": "eslint_plugin_jsx_a11y",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_eslint_plugin_react_hooks",
+ "target": "eslint_plugin_react_hooks",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_globals",
+ "target": "globals",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_jsdom",
+ "target": "jsdom",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_openapi_typescript",
+ "target": "openapi_typescript",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_testing_library_dom",
+ "target": "testing_library_dom",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_testing_library_jest_dom",
+ "target": "testing_library_jest_dom",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_testing_library_react",
+ "target": "testing_library_react",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_testing_library_user_event",
+ "target": "testing_library_user_event",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_types_react",
+ "target": "types_react",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_types_react_dom",
+ "target": "types_react_dom",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_typescript",
+ "target": "typescript",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_typescript_eslint",
+ "target": "typescript_eslint",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_vite",
+ "target": "vite",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_vitejs_plugin_react",
+ "target": "vitejs_plugin_react",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies_vitest",
+ "target": "vitest",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/package.json",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_client_apiclient",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_acceptinvitepayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_balancesreport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_budgetcategory",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_budgetsummary",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_cashflowmonth",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_categoryspenditem",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_confirmimportpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_createaccountpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_createoperationpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_exportinfo",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_importdetail",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_importsummary",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_loginpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_operationfilters",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_page",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_passwordresetpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_planfactreport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_saverowdecisionpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_spacedeletionstatus",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_querykeys",
+ "target": "frontend_src_api_types_operationfilters",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app",
+ "target": "frontend_src_app_router_approutes",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/App.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app",
+ "target": "frontend_src_components_ui_toaster_toastprovider",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/App.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_components_ui_spinner_spinner",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_components_layout_applayout_applayout",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout",
+ "target": "frontend_src_components_layout_langswitcher_langswitcher",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout",
+ "target": "frontend_src_hooks_useauth_uselogout",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_langswitcher",
+ "target": "frontend_src_i18n_index_locales",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/LangSwitcher.tsx",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_langswitcher",
+ "target": "frontend_src_i18n_index_setlocale",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/LangSwitcher.tsx",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_confirmdialog",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/ConfirmDialog.tsx",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_confirmdialog",
+ "target": "frontend_src_components_ui_modal_modal",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/ConfirmDialog.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_errorstate",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/ErrorState.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_querygate",
+ "target": "frontend_src_components_ui_emptystate_emptystate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_querygate",
+ "target": "frontend_src_components_ui_errorstate_errorstate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_querygate",
+ "target": "frontend_src_components_ui_spinner_spinner",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_api_querykeys_invalidationroots",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_api_querykeys_querykeys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_api_types_createaccountpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useanalytics",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useanalytics",
+ "target": "frontend_src_api_querykeys_querykeys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_api_querykeys_querykeys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_api_types_acceptinvitepayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_api_types_loginpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_api_types_passwordresetpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_api_types_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_api_querykeys_invalidationroots",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_api_querykeys_querykeys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_api_querykeys_invalidationroots",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_api_querykeys_querykeys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_api_types_confirmimportpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_api_types_importstatus",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_api_types_saverowdecisionpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_api_querykeys_invalidationroots",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_api_querykeys_querykeys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_api_types_createoperationpayload",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_api_types_operationfilters",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_api_querykeys_invalidationroots",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_api_querykeys_querykeys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index",
+ "target": "frontend_src_api_types_locale",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_main",
+ "target": "frontend_src_app_app",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/main.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_hooks_useauth_useacceptinvite",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_components_ui_fields_textfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_components_layout_langswitcher_langswitcher",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_emptystate_emptystate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_fields_moneyfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_fields_selectfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_fields_textfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_modal_modal",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_querygate_querygate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_hooks_useaccounts_useaccounts",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_hooks_useaccounts_usearchiveaccount",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_hooks_useaccounts_usecreateaccount",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_api_types_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_api_types_accounttype",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_badge_badge",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_confirmdialog_confirmdialog",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_hooks_useanalytics_useanalyticsbalances",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_hooks_useanalytics_useanalyticscashflow",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_hooks_useanalytics_useanalyticscategoryspend",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_hooks_useanalytics_useanalyticsplanfact",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_charts_columnchart_columnchart",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_charts_horizontalbars_horizontalbars",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_charts_planfactbars_planfactbars",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_ui_badge_badge",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_ui_querygate_querygate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_ui_monthswitcher_monthswitcher",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_fields_moneyfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_modal_modal",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_monthswitcher_monthswitcher",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_querygate_querygate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_hooks_usebudget_usebudgetcategories",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_hooks_usebudget_usebudgetsummary",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_hooks_usebudget_useclosemonth",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_hooks_usebudget_usecopypreviousmonth",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_hooks_usebudget_usefundcategory",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_hooks_usebudget_usereopenmonth",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_hooks_usebudget_useupdateplan",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_api_types_budgetcategory",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_badge_badge",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_confirmdialog_confirmdialog",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_querygate_querygate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_hooks_useimports_useconfirmimport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_hooks_useimports_useimport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_hooks_useimports_usereparseimport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_hooks_useimports_userevertimport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_hooks_useimports_usesaverowdecision",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_api_types_rowdecision",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_badge_badge",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_confirmdialog_confirmdialog",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_fields_textfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_modal_modal",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_querygate_querygate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_hooks_useimports_useimports",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_hooks_useimports_useuploadimport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_badge_badge",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_emptystate_emptystate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_fields_selectfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_modal_modal",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_hooks_useauth_uselogin",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_components_ui_fields_textfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_components_layout_langswitcher_langswitcher",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_notfoundpage",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/NotFoundPage.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_emptystate_emptystate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_fields_moneyfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_fields_selectfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_fields_textareafield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_fields_textfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_modal_modal",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_querygate_querygate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_hooks_usebudget_usebudgetcategories",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_hooks_useoperations_usecreateoperation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_hooks_useoperations_useoperations",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_hooks_useoperations_usevoidoperation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_api_types_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_api_types_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_api_types_operationfilters",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_api_types_operationkind",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_api_types_operationstatus",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_badge_badge",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_hooks_useauth_useconfirmpasswordreset",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_hooks_useauth_userequestpasswordreset",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_components_layout_langswitcher_langswitcher",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_components_ui_fields_textfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_hooks_usebudget_usebudgetcategories",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_hooks_useoperations_usecategorizeoperation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_hooks_useoperations_useoperations",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_hooks_useimports_useimports",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_api_types_budgetcategory",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_api_types_operation",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_badge_badge",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_emptystate_emptystate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_querygate_querygate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_querygate_querygate",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_hooks_usespacelifecycle_usecanceldeletion",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_hooks_usespacelifecycle_userequestdeletion",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_hooks_usespacelifecycle_userequestexport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_hooks_usespacelifecycle_usespacedeletion",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_badge_badge",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_fields_textfield",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_layout_langswitcher_langswitcher",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_api_types_account",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_pages_accountspage_accountspage",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_test_helpers_renderwithproviders",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_api_types_budgetcategory",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_api_types_budgetsummary",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_pages_budgetpage_budgetpage",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_test_helpers_renderwithproviders",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_chart_accessible_table_test",
+ "target": "frontend_src_components_charts_horizontalbars_horizontalbars",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/chart-accessible-table.test.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_chart_accessible_table_test",
+ "target": "frontend_src_components_charts_columnchart_columnchart",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/chart-accessible-table.test.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_helpers",
+ "target": "frontend_src_components_ui_toaster_toastprovider",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/helpers.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_api_types_importdetail",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_api_types_importstatus",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_hooks_useimports_useimport",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_api_client_apierror",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_api_types_user",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_pages_loginpage_loginpage",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_test_helpers_renderwithproviders",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "frontend_src_api_querykeys_invalidationroots",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "frontend_src_api_querykeys_querykeys",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "frontend_src_api_querykeys_session_root",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "frontend_src_api_querykeys_space_root",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "frontend_src_api_types_operationfilters",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_setup",
+ "target": "frontend_src_i18n_index_i18n",
+ "relation": "imports",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/setup.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_env",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_env",
+ "target": "backend_app_db_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_env",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_versions_20260911_0001_initial_schema",
+ "target": "backend_app_db_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_versions_20260911_0001_initial_schema",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router",
+ "target": "backend_app_analytics_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router",
+ "target": "backend_app_dependencies",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_categorization_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_ledger_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_budgeting_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_budgeting_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_models",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_service",
+ "target": "backend_app_audit_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/audit/service.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_dependencies",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_audit_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_categorization_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_ledger_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base",
+ "target": "backend_app_db_base_py_datetime",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_categorization_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_exports_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_imports_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_audit_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_spaces_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models",
+ "target": "backend_app_budgeting_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_identity_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_security",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_spaces_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_spaces_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_db_session",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_dependencies",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_exports_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_exports_tasks",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_audit_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_budgeting_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_imports_blob",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_imports_crypto",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_imports_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_spaces_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_py_datetime",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_db_session",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_exports_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_imports_celery_app",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_mailer",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/mailer.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_mailer",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_ratelimit",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_security",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_dependencies",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_security",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_spaces_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_audit_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_readers",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "decimal",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_readers",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_rocketbank_pdf",
+ "target": "backend_app_imports_adapters_ozon_pdf",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/adapters/rocketbank_pdf.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_celery_app",
+ "target": "celery",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/celery_app.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_celery_app",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/celery_app.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_dependencies",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_tasks",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_audit_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_db_session",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_adapters_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_adapters_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_blob",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_crypto",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_ledger_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_tasks",
+ "target": "backend_app_imports_celery_app",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_dependencies",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_categorization_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_categorization_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_categorization_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "decimal",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_audit_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_db_session",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_exports_router",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_identity_router",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_imports_router",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_ledger_router",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_spaces_router",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_analytics_router",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_budgeting_router",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/main.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ratelimit",
+ "target": "backend_app_config",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/ratelimit.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_identity_mailer",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_security",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_dependencies",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_exports_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_identity_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_audit_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_db_session",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_spaces_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_worker",
+ "target": "backend_app_imports_celery_app",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/app/worker.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_app_db_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_app_db_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_app_db_session",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_app_main",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_ledger_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_spaces_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_app_budgeting_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_init",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_adapters_base",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_ledger_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_spaces_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_ledger_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_spaces_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_errors",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_app_identity_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_app_db_session",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_app_imports_blob",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_app_ledger_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_app_spaces_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_client",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L2",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_querykeys",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L1",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app",
+ "target": "frontend_src_app_router",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/App.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app",
+ "target": "frontend_src_components_ui_toaster",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/App.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_components_ui_spinner",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_components_layout_applayout",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_hooks_useauth",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout",
+ "target": "frontend_src_components_layout_langswitcher",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout",
+ "target": "frontend_src_hooks_useauth",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_langswitcher",
+ "target": "frontend_src_i18n_index",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/layout/LangSwitcher.tsx",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_confirmdialog",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/ConfirmDialog.tsx",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_confirmdialog",
+ "target": "frontend_src_components_ui_modal",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/ConfirmDialog.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_errorstate",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/ErrorState.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_querygate",
+ "target": "frontend_src_components_ui_errorstate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_querygate",
+ "target": "frontend_src_components_ui_spinner",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_api_querykeys",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L4",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_components_ui_toaster",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useanalytics",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useanalytics",
+ "target": "frontend_src_api_querykeys",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_api_querykeys",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L4",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_api_querykeys",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_components_ui_toaster",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_api_querykeys",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L4",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_components_ui_toaster",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_api_querykeys",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L4",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_components_ui_toaster",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_api_querykeys",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_components_ui_toaster",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L5",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_main",
+ "target": "frontend_src_app",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/main.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_main",
+ "target": "frontend_src_i18n_index",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/main.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_hooks_useauth",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_components_ui_fields",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_components_layout_langswitcher",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_emptystate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_fields",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_modal",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_pageheader",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_querygate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_hooks_useaccounts",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L6",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_badge",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_components_ui_confirmdialog",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_hooks_useanalytics",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_charts_columnchart",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_charts_horizontalbars",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_charts_planfactbars",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_ui_badge",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_ui_pageheader",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_ui_querygate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_components_ui_monthswitcher",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_fields",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_modal",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_monthswitcher",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_pageheader",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_querygate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_hooks_usebudget",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L6",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_badge",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_components_ui_confirmdialog",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_pageheader",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_querygate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_hooks_useimports",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L4",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_badge",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_confirmdialog",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_fields",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_components_ui_modal",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_querygate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_hooks_useaccounts",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_hooks_useimports",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_badge",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_emptystate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_fields",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_modal",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_components_ui_pageheader",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_hooks_useauth",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_components_ui_fields",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_components_layout_langswitcher",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_notfoundpage",
+ "target": "frontend_src_components_ui_pageheader",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/NotFoundPage.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_emptystate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_fields",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_modal",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_pageheader",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_querygate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_hooks_usebudget",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_hooks_useaccounts",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_hooks_useoperations",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L7",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_badge",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_hooks_useauth",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_components_layout_langswitcher",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_components_ui_fields",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_hooks_usebudget",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_hooks_useoperations",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_hooks_useimports",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L4",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_badge",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_emptystate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_pageheader",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_components_ui_querygate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_querygate",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_hooks_useauth",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_hooks_usespacelifecycle",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_badge",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_button",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_fields",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_layout_langswitcher",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_components_ui_pageheader",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L4",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_pages_accountspage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_test_helpers",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L4",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_pages_budgetpage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_test_helpers",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_chart_accessible_table_test",
+ "target": "frontend_src_components_charts_horizontalbars",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/chart-accessible-table.test.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_chart_accessible_table_test",
+ "target": "frontend_src_components_charts_columnchart",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/chart-accessible-table.test.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_helpers",
+ "target": "frontend_src_components_ui_toaster",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/helpers.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L6",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_hooks_useimports",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_api_client",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_api_endpoints",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L5",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_pages_loginpage",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_test_helpers",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "frontend_src_api_querykeys",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "frontend_src_api_types",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L8",
+ "type_only": true,
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_setup",
+ "target": "frontend_src_i18n_index",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "import",
+ "source_file": "frontend/src/test/setup.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_balances",
+ "target": "backend_app_analytics_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_balances",
+ "target": "backend_app_analytics_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_cash_flow",
+ "target": "backend_app_analytics_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_cash_flow",
+ "target": "backend_app_analytics_router_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_cash_flow",
+ "target": "backend_app_analytics_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_category_spend",
+ "target": "backend_app_analytics_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_category_spend",
+ "target": "backend_app_analytics_router_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_category_spend",
+ "target": "backend_app_analytics_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_plan_fact",
+ "target": "backend_app_analytics_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router_plan_fact",
+ "target": "backend_app_analytics_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_balances",
+ "target": "backend_app_analytics_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_balances",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_cash_flow",
+ "target": "backend_app_analytics_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_cash_flow",
+ "target": "backend_app_analytics_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_cash_flow",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_category_spend",
+ "target": "backend_app_analytics_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_category_spend",
+ "target": "backend_app_analytics_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_category_spend",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_plan_fact",
+ "target": "backend_app_analytics_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service_plan_fact",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_service_record",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/audit/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_assignments",
+ "target": "backend_app_budgeting_router_assignmentsbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L202",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_assignments",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L202",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_assignments",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L202",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_assignments",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L202",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_categories",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_categories",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_router_monthbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L273",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L273",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L273",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_close_frontend",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L273",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_router_monthbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L291",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L291",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L291",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_frontend",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L291",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_previous",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L265",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_previous",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L265",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_copy_previous",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L265",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_create_category",
+ "target": "backend_app_budgeting_router_categorybody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L152",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_create_category",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L152",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_create_category",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L152",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_create_category",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L152",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_expected_income",
+ "target": "backend_app_budgeting_router_expectedincomebody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L230",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_expected_income",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L230",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_expected_income",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L230",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_expected_income",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L230",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund",
+ "target": "backend_app_budgeting_router_fundingbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_router_categoryfundingbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L180",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L180",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L180",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L180",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fund_category",
+ "target": "backend_app_budgeting_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L180",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_period_for",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_period_for",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L256",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L256",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L256",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_router_monthbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L282",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L282",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L282",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_reopen_frontend",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L282",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_summary",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_summary",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_router_planbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_update_plan",
+ "target": "backend_app_budgeting_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_add_expected_income",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L610",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_add_expected_income",
+ "target": "backend_app_budgeting_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L610",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_add_expected_income",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L610",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_add_expected_income",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L610",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_add_expected_income",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L610",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_archive_category",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L531",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_archive_category",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L531",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_archive_category",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L531",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_balance_until",
+ "target": "backend_app_budgeting_service_py_account",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_balance_until",
+ "target": "backend_app_budgeting_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_balance_until",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_blockers",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L435",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_blockers",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L435",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_blockers",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L435",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L709",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L709",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L709",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_close_period",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L709",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_closure_snapshot",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_closure_snapshot",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_compute_period_state",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_compute_period_state",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_compute_period_state",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L809",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L809",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L809",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_copy_previous_month",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L809",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_create_category",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L479",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_create_category",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L479",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_create_category",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L479",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_ensure_credit_reserve_category",
+ "target": "backend_app_budgeting_service_py_account",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L502",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_ensure_credit_reserve_category",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L502",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_ensure_credit_reserve_category",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L502",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_fund",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L678",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_fund",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L678",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_fund",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L678",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_fund",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L678",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_category",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L472",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_category",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L472",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_or_create_period",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_or_create_period",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_period",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_period",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_list_categories",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L522",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_list_categories",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L522",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_list_periods",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_list_periods",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_match_expected_income",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L637",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_match_expected_income",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L637",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_match_expected_income",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L637",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_rename_category",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L548",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_rename_category",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L548",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_rename_category",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L548",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_reopen_period",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L777",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_reopen_period",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L777",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_reopen_period",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L777",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_require_open",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L465",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L566",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_budgeting_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L566",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_budgeting_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L566",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_set_assignments",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L566",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_add_alias",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_ensure_income_source",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_find_payee_by_description",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_get_income_source",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_get_or_create_payee",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_resolve_category_name",
+ "target": "backend_app_ledger_models_category",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_rule_category_for_payee",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_set_payee_rule",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_session_scope",
+ "target": "backend_app_db_session_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_set_space_context",
+ "target": "backend_app_db_session_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_set_space_context",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_context",
+ "target": "backend_app_dependencies_py_currentsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_context",
+ "target": "backend_app_dependencies_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_current_session",
+ "target": "backend_app_dependencies_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies_require_csrf",
+ "target": "backend_app_dependencies_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_apperror_init",
+ "target": "backend_app_errors_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_bad_request",
+ "target": "backend_app_errors_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_conflict",
+ "target": "backend_app_errors_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_forbidden",
+ "target": "backend_app_errors_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_not_found",
+ "target": "backend_app_errors_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_unauthorized",
+ "target": "backend_app_errors_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_unprocessable",
+ "target": "backend_app_errors_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/errors.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_download",
+ "target": "backend_app_exports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_download",
+ "target": "backend_app_exports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_download",
+ "target": "backend_app_exports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_export_status",
+ "target": "backend_app_exports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_export_status",
+ "target": "backend_app_exports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_export_status",
+ "target": "backend_app_exports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_request_export",
+ "target": "backend_app_exports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_request_export",
+ "target": "backend_app_exports_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_request_export",
+ "target": "backend_app_exports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_build_export",
+ "target": "backend_app_exports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_build_export",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_cancel_deletion",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L163",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_cancel_deletion",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L163",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_consume_export",
+ "target": "backend_app_exports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_consume_export",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_get_export",
+ "target": "backend_app_exports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_get_export",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_purge_due_spaces",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L173",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_request_export",
+ "target": "backend_app_exports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_request_export",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_schedule_deletion",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L148",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_schedule_deletion",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L148",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks_enqueue_export",
+ "target": "backend_app_exports_tasks_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_accept_invite",
+ "target": "backend_app_identity_router_acceptinvitebody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_accept_invite",
+ "target": "backend_app_identity_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_accept_invite",
+ "target": "backend_app_identity_router_py_response",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_confirm_password_reset",
+ "target": "backend_app_identity_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_confirm_password_reset",
+ "target": "backend_app_identity_router_py_response",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_confirm_password_reset",
+ "target": "backend_app_identity_router_resetbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_identity_router_invitebody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_create_invite",
+ "target": "backend_app_identity_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_identity_router_loginbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_identity_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_identity_router_py_request",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_identity_router_py_response",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_logout",
+ "target": "backend_app_identity_router_py_currentsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_logout",
+ "target": "backend_app_identity_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_logout",
+ "target": "backend_app_identity_router_py_response",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_me",
+ "target": "backend_app_identity_router_py_currentsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L147",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_request_password_reset",
+ "target": "backend_app_identity_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_request_password_reset",
+ "target": "backend_app_identity_router_py_request",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_request_password_reset",
+ "target": "backend_app_identity_router_resetrequestbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_set_auth_cookies",
+ "target": "backend_app_identity_router_py_response",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_accept_invitation",
+ "target": "dbsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_authenticate",
+ "target": "dbsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_invitation",
+ "target": "backend_app_identity_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_invitation",
+ "target": "dbsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_password_reset",
+ "target": "dbsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L147",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_session",
+ "target": "backend_app_identity_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_create_session",
+ "target": "dbsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_get_active_session",
+ "target": "dbsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_reset_password",
+ "target": "dbsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L167",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_revoke_session",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L140",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_revoke_session",
+ "target": "dbsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L140",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_record_fingerprint",
+ "target": "backend_app_imports_adapters_base_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L91",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_router_confirmbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L185",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L185",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L185",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L185",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirm",
+ "target": "backend_app_imports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L185",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_decide_row",
+ "target": "backend_app_imports_router_decisionbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_decide_row",
+ "target": "backend_app_imports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_decide_row",
+ "target": "backend_app_imports_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_decide_row",
+ "target": "backend_app_imports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_decide_row",
+ "target": "backend_app_imports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_delete_source",
+ "target": "backend_app_imports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L244",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_delete_source",
+ "target": "backend_app_imports_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L244",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_delete_source",
+ "target": "backend_app_imports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L244",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_delete_source",
+ "target": "backend_app_imports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L244",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_detail",
+ "target": "backend_app_imports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_detail",
+ "target": "backend_app_imports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_detail",
+ "target": "backend_app_imports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_imports",
+ "target": "backend_app_imports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_imports",
+ "target": "backend_app_imports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_imports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L209",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_imports_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L209",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_imports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L209",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_imports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L209",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_revert",
+ "target": "backend_app_imports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L236",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_revert",
+ "target": "backend_app_imports_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L236",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_revert",
+ "target": "backend_app_imports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L236",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_revert",
+ "target": "backend_app_imports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L236",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_review",
+ "target": "backend_app_imports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_review",
+ "target": "backend_app_imports_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_review",
+ "target": "backend_app_imports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_review",
+ "target": "backend_app_imports_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_review",
+ "target": "backend_app_imports_router_reviewbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_summary",
+ "target": "backend_app_imports_router_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_imports_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_build_candidates",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_build_candidates",
+ "target": "backend_app_imports_models_parserun",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_build_candidates",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L492",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_imports_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L492",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L492",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_imports_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_decide_source_record",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L381",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_decide_source_record",
+ "target": "backend_app_imports_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L381",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_decide_source_record",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L381",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_delete_source_file",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L906",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_delete_source_file",
+ "target": "backend_app_imports_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L906",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_delete_source_file",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L906",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_document",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_document",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_document_detail",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L344",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_document_detail",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L344",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_draft_json",
+ "target": "backend_app_imports_adapters_base_statementdraft",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_list_documents",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L335",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_list_documents",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L335",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_prepare_reparse",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L725",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_prepare_reparse",
+ "target": "backend_app_imports_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L725",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_prepare_reparse",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L725",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L237",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L750",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_imports_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L750",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L750",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_set_review_confirmation",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L452",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_set_review_confirmation",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L452",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_source_from_row",
+ "target": "backend_app_imports_adapters_base_sourcerow",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L128",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_source_from_row",
+ "target": "backend_app_imports_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L128",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_tasks_enqueue_process_statement",
+ "target": "backend_app_imports_tasks_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_account_json",
+ "target": "backend_app_ledger_router_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_account_json",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_accounts",
+ "target": "backend_app_ledger_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_accounts",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_archive_account",
+ "target": "backend_app_ledger_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_archive_account",
+ "target": "backend_app_ledger_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_archive_account",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_archive_account",
+ "target": "backend_app_ledger_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_account",
+ "target": "backend_app_ledger_router_accountbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_account",
+ "target": "backend_app_ledger_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_account",
+ "target": "backend_app_ledger_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_account",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_ledger_router_operationbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_ledger_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_ledger_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_create_operation",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_delete_account",
+ "target": "backend_app_ledger_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_delete_account",
+ "target": "backend_app_ledger_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_delete_account",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_delete_account",
+ "target": "backend_app_ledger_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operation_json",
+ "target": "backend_app_ledger_router_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operation_json",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "backend_app_ledger_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operations",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_account",
+ "target": "backend_app_ledger_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L124",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_account",
+ "target": "backend_app_ledger_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L124",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_account",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L124",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_account",
+ "target": "backend_app_ledger_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L124",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_operation",
+ "target": "backend_app_ledger_router_operationpatchbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L264",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_operation",
+ "target": "backend_app_ledger_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L264",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_operation",
+ "target": "backend_app_ledger_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L264",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_operation",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L264",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_patch_operation",
+ "target": "backend_app_ledger_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L264",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_void_operation",
+ "target": "backend_app_ledger_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_void_operation",
+ "target": "backend_app_ledger_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_void_operation",
+ "target": "backend_app_ledger_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_void_operation",
+ "target": "backend_app_ledger_router_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_void_operation",
+ "target": "backend_app_ledger_router_voidbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_account_balance",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_account_balance",
+ "target": "backend_app_ledger_service_py_account",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_apply_suggestion",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_apply_suggestion",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_apply_suggestion",
+ "target": "operation",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_archive_account",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L462",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_archive_account",
+ "target": "backend_app_ledger_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L462",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_archive_account",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L462",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_account",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_account",
+ "target": "backend_app_ledger_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_account",
+ "target": "backend_app_ledger_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_account",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_expense",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_ledger_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_ledger_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_income",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L324",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_ledger_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L324",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_ledger_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L324",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_refund",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L324",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_ledger_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_ledger_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_create_transfer",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_delete_account",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L484",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_delete_account",
+ "target": "backend_app_ledger_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L484",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_delete_account",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L484",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_ensure_period_open_for_date",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L390",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_ensure_period_open_for_date",
+ "target": "backend_app_ledger_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L390",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_ensure_period_open_for_date",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L390",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_existing_by_request_key",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_existing_by_request_key",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_get_account",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_get_account",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_get_operation",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_get_operation",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_list_accounts",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L551",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_list_accounts",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L551",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_list_operations",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L506",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_list_operations",
+ "target": "backend_app_ledger_service_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L506",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_list_operations",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L506",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_refunded_kopecks",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L311",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_refunded_kopecks",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L311",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_require_active_account",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_require_active_account",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_to_kopecks",
+ "target": "decimal",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L430",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "backend_app_ledger_service_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L430",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "backend_app_ledger_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L430",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L430",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_validate_category",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_validate_category",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_void_operation",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L411",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_void_operation",
+ "target": "backend_app_ledger_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L411",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_void_operation",
+ "target": "backend_app_ledger_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L411",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_app_error_handler",
+ "target": "backend_app_main_py_request",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/main.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_stale_data_handler",
+ "target": "backend_app_main_py_request",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/main.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_stale_data_handler",
+ "target": "staledataerror",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/main.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_spaces_router_py_currentsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_cancel_deletion",
+ "target": "backend_app_spaces_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_current",
+ "target": "backend_app_spaces_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_deletion_status",
+ "target": "backend_app_spaces_router_py_currentsession",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_deletion_status",
+ "target": "backend_app_spaces_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_invite_member",
+ "target": "backend_app_spaces_router_memberinvitebody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_invite_member",
+ "target": "backend_app_spaces_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_invite_member",
+ "target": "backend_app_spaces_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_invite_member",
+ "target": "backend_app_spaces_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_schedule_deletion",
+ "target": "backend_app_spaces_router_deletionbody",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_schedule_deletion",
+ "target": "backend_app_spaces_router_py_context",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_schedule_deletion",
+ "target": "backend_app_spaces_router_py_csrf",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_schedule_deletion",
+ "target": "backend_app_spaces_router_py_db",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_create_space",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_create_space",
+ "target": "backend_app_spaces_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_membership",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_membership",
+ "target": "backend_app_spaces_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_space_for_member",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_space_for_member",
+ "target": "backend_app_spaces_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_space_for_member",
+ "target": "backend_app_spaces_service_py_uuid",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_list_spaces_for_user",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_list_spaces_for_user",
+ "target": "backend_app_spaces_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_require_owner",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_client",
+ "target": "backend_tests_conftest_py_sessionmaker",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest_db",
+ "target": "backend_tests_conftest_py_sessionmaker",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_api_test_invite_login_and_authenticated_space",
+ "target": "backend_tests_test_api_py_testclient",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_api.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_api_test_openapi_contains_critical_paths",
+ "target": "backend_tests_test_api_py_testclient",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_api.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_seed",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_periods_must_close_in_calendar_order",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_reopen_preserves_immutable_closure_history",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget_test_uncategorized_expense_blocks_close",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_ready_document",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_seed",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_confirm_and_revert_are_idempotent",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_confirm_rejects_arithmetic_mismatch",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_confirmed_import_must_be_reverted_before_reparse",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L102",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_duplicate_candidate_can_reuse_unique_operation_without_client_id",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_transfer_merge_revert_restores_counterpart_operation",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L220",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports_test_unexpected_parser_failure_reaches_terminal_state",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_seed",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_credit_expense_is_negative_balance_and_refund_is_capped",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_cross_space_lookup_fails_closed",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L110",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_idempotency_key_prevents_duplicate_income",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L126",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_transfer_postings_conserve_money",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "parameter_type",
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_archive_category",
+ "target": "backend_app_ledger_models_category",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L531",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_category",
+ "target": "backend_app_ledger_models_category",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L472",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_get_period",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_rename_category",
+ "target": "backend_app_ledger_models_category",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L548",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_find_payee_by_description",
+ "target": "backend_app_categorization_models_payee",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_get_income_source",
+ "target": "backend_app_categorization_models_incomesource",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_rule_category_for_payee",
+ "target": "backend_app_categorization_models_categorizationrule",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base_utcdatetime_process_bind_param",
+ "target": "backend_app_db_base_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base_utcdatetime_process_result_value",
+ "target": "backend_app_db_base_py_any",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base_utcnow",
+ "target": "backend_app_db_base_py_datetime",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_get_engine",
+ "target": "engine",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router_download",
+ "target": "backend_app_exports_router_py_response",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_get_export",
+ "target": "backend_app_exports_models_dataexport",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service_schedule_deletion",
+ "target": "backend_app_exports_service_py_datetime",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L148",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_authenticate",
+ "target": "backend_app_identity_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_get_active_session",
+ "target": "backend_app_identity_models_session",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service_reset_password",
+ "target": "backend_app_identity_service_py_user",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L167",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_parse_date",
+ "target": "backend_app_imports_adapters_alfa_xlsx_py_date",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L146",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_statementadapter_parse",
+ "target": "backend_app_imports_adapters_base_statementdraft",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init_detect_adapter",
+ "target": "backend_app_imports_adapters_base_statementadapter",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_get_blob_store",
+ "target": "backend_app_imports_blob_blobstore",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore_path",
+ "target": "path",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_confirm_document",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L492",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_delete_source_file",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L906",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_document",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_prepare_reparse",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L725",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_revert_document",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L750",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_set_review_confirmation",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L452",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_archive_account",
+ "target": "backend_app_ledger_service_py_account",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L462",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_existing_by_request_key",
+ "target": "operation",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_get_account",
+ "target": "backend_app_ledger_service_py_account",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_get_operation",
+ "target": "operation",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_require_active_account",
+ "target": "backend_app_ledger_service_py_account",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_update_operation",
+ "target": "operation",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L430",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_void_operation",
+ "target": "operation",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L411",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service_get_membership",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "references",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "return_type",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_env",
+ "target": "backend_app_db_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_versions_20260911_0001_initial_schema",
+ "target": "backend_app_db_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router",
+ "target": "backend_app_analytics_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_audit_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_exports_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_audit_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_audit_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_categorization_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_categorization_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_audit_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_exports_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_identity_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_audit_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_app_db_models",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_app_imports_service",
+ "relation": "imports_from",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "submodule_import",
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types_importdetail",
+ "target": "frontend_src_api_types_importsummary",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "type",
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L231",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields_moneyfieldprops",
+ "target": "frontend_src_components_ui_fields_inputprops",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "type",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields_selectfieldprops",
+ "target": "frontend_src_components_ui_fields_selectprops",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "type",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields_textareafieldprops",
+ "target": "frontend_src_components_ui_fields_textareaprops",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "type",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields_textfieldprops",
+ "target": "frontend_src_components_ui_fields_inputprops",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "context": "type",
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_env",
+ "target": "backend_alembic_env_run_migrations_offline",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_env",
+ "target": "backend_alembic_env_run_migrations_online",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/alembic/env.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_versions_20260911_0001_initial_schema",
+ "target": "backend_alembic_versions_20260911_0001_initial_schema_upgrade",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_alembic_versions_20260911_0001_initial_schema",
+ "target": "backend_alembic_versions_20260911_0001_initial_schema_downgrade",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router",
+ "target": "backend_app_analytics_router_category_spend",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router",
+ "target": "backend_app_analytics_router_cash_flow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router",
+ "target": "backend_app_analytics_router_plan_fact",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_router",
+ "target": "backend_app_analytics_router_balances",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/analytics/router.py",
+ "source_location": "L89",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_analytics_service_category_spend",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_analytics_service_cash_flow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_analytics_service_plan_fact",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_analytics_service",
+ "target": "backend_app_analytics_service_balances",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/analytics/service.py",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_models",
+ "target": "backend_app_audit_models_auditevent",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_service",
+ "target": "backend_app_audit_service_record",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/audit/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_budgeting_models_expectedincomematch",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_budgeting_models_fundingmovement",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_budgeting_models_periodclosure",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L166",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_budgeting_models_planassignment",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models",
+ "target": "backend_app_budgeting_models_expectedincome",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_summary",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L108",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_categories",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_categorybody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_create_category",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L152",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_update_plan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_fund_category",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L180",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_assignmentitem",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_assignments",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L202",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_fund",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_expected_income",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L230",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_assignmentsbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_close",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_reopen",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L256",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_copy_previous",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L265",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_close_frontend",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L273",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_fundingbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_reopen_frontend",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L282",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_copy_frontend",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L291",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_expectedincomebody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_period_for",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_monthbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_planbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_categoryfundingbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_parse_month",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router",
+ "target": "backend_app_budgeting_router_frontend_summary",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L114",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_validate_year_month",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_period_bounds",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_shift_month",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_close_blockers",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L435",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_require_open",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L465",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_get_period",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_get_category",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L472",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_create_category",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L479",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_ensure_credit_reserve_category",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L502",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_list_categories",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L522",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_archive_category",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L531",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_get_or_create_period",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_rename_category",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L548",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_set_assignments",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L566",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_add_expected_income",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L610",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_match_expected_income",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L637",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_fund",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L678",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_list_periods",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_close_period",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L709",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_previous_ym",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_reopen_period",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L777",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_copy_previous_month",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L809",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_closure_snapshot",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service",
+ "target": "backend_app_budgeting_service_balance_until",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_categorization_models_bankcategorymapping",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_categorization_models_incomesource",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_categorization_models_payee",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_categorization_models_payeealias",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_categorization_models_categorizationrule",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models",
+ "target": "backend_app_categorization_models_mcccode",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_service_get_income_source",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_service_ensure_income_source",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_service_get_or_create_payee",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_service_add_alias",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_service_find_payee_by_description",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_service_rule_category_for_payee",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L75",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_service_resolve_category_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service",
+ "target": "backend_app_categorization_service_set_payee_rule",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_config",
+ "target": "backend_app_config_get_settings",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/config.py",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_config",
+ "target": "backend_app_config_settings",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/config.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base",
+ "target": "backend_app_db_base_base",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base",
+ "target": "backend_app_db_base_utcnow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session",
+ "target": "backend_app_db_session_get_engine",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session",
+ "target": "backend_app_db_session_get_session_factory",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session",
+ "target": "backend_app_db_session_get_db",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session",
+ "target": "backend_app_db_session_session_scope",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_dependencies_requestcontext",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_dependencies_current_session",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_dependencies_current_context",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_dependencies",
+ "target": "backend_app_dependencies_require_csrf",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/dependencies.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors",
+ "target": "backend_app_errors_bad_request",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors",
+ "target": "backend_app_errors_unauthorized",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors",
+ "target": "backend_app_errors_forbidden",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors",
+ "target": "backend_app_errors_not_found",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors",
+ "target": "backend_app_errors_apperror",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors",
+ "target": "backend_app_errors_conflict",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors",
+ "target": "backend_app_errors_unprocessable",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models",
+ "target": "backend_app_exports_models_dataexport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models",
+ "target": "backend_app_exports_models_deletionledger",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_exports_router_request_export",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_exports_router_export_status",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_router",
+ "target": "backend_app_exports_router_download",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_consume_export",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_schedule_deletion",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L148",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_cancel_deletion",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L163",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_purge_due_spaces",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L173",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_request_export",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_get_export",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_json_rows",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_csv_bytes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_service",
+ "target": "backend_app_exports_service_build_export",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_exports_tasks_enqueue_export",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_exports_tasks_purge_due_spaces_task",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks",
+ "target": "backend_app_exports_tasks_build_export_task",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_mailer",
+ "target": "backend_app_identity_mailer_send_token_email",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/mailer.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models",
+ "target": "backend_app_identity_models_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models",
+ "target": "backend_app_identity_models_invitation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models",
+ "target": "backend_app_identity_models_passwordreset",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models",
+ "target": "backend_app_identity_models_session",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_request_password_reset",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L117",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_confirm_password_reset",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_me",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L147",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_logout",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_invitebody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_acceptinvitebody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_loginbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_resetrequestbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_resetbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_set_auth_cookies",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_create_invite",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_accept_invite",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L84",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router",
+ "target": "backend_app_identity_router_login",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_authenticate",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_create_session",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_get_active_session",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_revoke_session",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L140",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_create_password_reset",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L147",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_normalize_email",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_reset_password",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L167",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_validate_profile",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_create_invitation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_service",
+ "target": "backend_app_identity_service_accept_invitation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/service.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_get_settings_row_cap",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L113",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_scan_text",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_rows_text",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L130",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_cell_str",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L139",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_parse_date",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L146",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_find_header",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L162",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_find_account_value",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L182",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfadebitxlsxadapter",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L201",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfacreditxlsxadapter",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L207",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_imports_adapters_base_sourcerow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_imports_adapters_base_statementdraft",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_imports_adapters_base_statementadapter",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_imports_adapters_base_amount_to_kopecks",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L62",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_imports_adapters_base_account_fingerprint",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_imports_adapters_base_normalize_description",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base",
+ "target": "backend_app_imports_adapters_base_record_fingerprint",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L91",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_init_magic_kind",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_init",
+ "target": "backend_app_imports_adapters_init_detect_adapter",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/__init__.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_ozon_pdf_first_page_text",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozondebitpdfadapter",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozoncreditpdfadapter",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf",
+ "target": "backend_app_imports_adapters_ozon_pdf_parse_row",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_rocketbank_pdf",
+ "target": "backend_app_imports_adapters_rocketbank_pdf_rocketbankdebitpdfadapter",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/rocketbank_pdf.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob",
+ "target": "backend_app_imports_blob_blobstore",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob",
+ "target": "backend_app_imports_blob_localdirectoryblobstore",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob",
+ "target": "backend_app_imports_blob_s3blobstore",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob",
+ "target": "backend_app_imports_blob_get_blob_store",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L69",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob",
+ "target": "backend_app_imports_blob_new_object_key",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_celery_app",
+ "target": "backend_app_imports_celery_app_create_celery_app",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/celery_app.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto",
+ "target": "backend_app_imports_crypto_encryptedfile",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto",
+ "target": "backend_app_imports_crypto_encrypt_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto",
+ "target": "backend_app_imports_crypto_decrypt_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto",
+ "target": "backend_app_imports_crypto_shred_dek_material",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models",
+ "target": "backend_app_imports_models_sourcerecordlink",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L143",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models",
+ "target": "backend_app_imports_models_dedupcandidate",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L169",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models",
+ "target": "backend_app_imports_models_statementdocument",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models",
+ "target": "backend_app_imports_models_parserun",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models",
+ "target": "backend_app_imports_models_sourcerecord",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers",
+ "target": "backend_app_imports_readers_quota_error",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers",
+ "target": "backend_app_imports_readers_open_xlsx",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_readers",
+ "target": "backend_app_imports_readers_open_pdf",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/readers.py",
+ "source_location": "L52",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_reviewbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_review",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L154",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_decide_row",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L165",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_confirm",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L185",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_decisionbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_reparse",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L209",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_revert",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L236",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_delete_source",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L244",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_confirmbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_summary",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_imports",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L53",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_upload",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router",
+ "target": "backend_app_imports_router_detail",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_draft_json",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_source_from_row",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L128",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_build_candidates",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L161",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_process_statement_document",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L237",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_list_documents",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L335",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_document_detail",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L344",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_document",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_decide_source_record",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L381",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_create_document",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_set_review_confirmation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L452",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_confirm_document",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L492",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_prepare_reparse",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L725",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_revert_document",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L750",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service",
+ "target": "backend_app_imports_service_delete_source_file",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L906",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_tasks",
+ "target": "backend_app_imports_tasks_enqueue_process_statement",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_tasks",
+ "target": "backend_app_imports_tasks_process_statement_task",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/tasks.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models",
+ "target": "backend_app_ledger_models_category",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models",
+ "target": "backend_app_ledger_models_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_accounts",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L100",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_create_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L105",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_archive_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_patch_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L124",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_delete_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_operations",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_accountbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_create_operation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L174",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_void_operation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L250",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_patch_operation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L264",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_operationbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_voidbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_operationpatchbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_account_json",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router",
+ "target": "backend_app_ledger_router_operation_json",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_existing_by_request_key",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_apply_suggestion",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L119",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_create_expense",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L138",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_to_kopecks",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_create_income",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L194",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_create_transfer",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L248",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_get_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_refunded_kopecks",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L311",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_create_refund",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L324",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_get_operation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_ensure_period_open_for_date",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L390",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_void_operation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L411",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_update_operation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L430",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_require_active_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_archive_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L462",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_delete_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L484",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_list_operations",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L506",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_validate_category",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_list_accounts",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L551",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_account_balance",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service",
+ "target": "backend_app_ledger_service_create_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L76",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_main_app_error_handler",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/main.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_main_stale_data_handler",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/main.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_main_security_headers",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/main.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_main_health",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/main.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_main_healthz",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/main.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main",
+ "target": "backend_app_main_readiness",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/main.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ratelimit",
+ "target": "backend_app_ratelimit_allow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ratelimit.py",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_security",
+ "target": "backend_app_security_hash_password",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/security.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_security",
+ "target": "backend_app_security_verify_password",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/security.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_security",
+ "target": "backend_app_security_new_token",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/security.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_security",
+ "target": "backend_app_security_token_digest",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/security.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_security",
+ "target": "backend_app_security_constant_time_equals",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/security.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models",
+ "target": "backend_app_spaces_models_financialspace",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models",
+ "target": "backend_app_spaces_models_membership",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_router_deletionbody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_router_memberinvitebody",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_router_current",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_router_invite_member",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_router_schedule_deletion",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_router_deletion_status",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L63",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router",
+ "target": "backend_app_spaces_router_cancel_deletion",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_spaces_service_create_space",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_spaces_service_get_membership",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_spaces_service_get_space_for_member",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_spaces_service_require_owner",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_service",
+ "target": "backend_app_spaces_service_list_spaces_for_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/service.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_tests_conftest_db_factory",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_tests_conftest_db",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_conftest",
+ "target": "backend_tests_conftest_client",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_api",
+ "target": "backend_tests_test_api_test_openapi_contains_critical_paths",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_api.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_api",
+ "target": "backend_tests_test_api_test_invite_login_and_authenticated_space",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_api.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_tests_test_budget_seed",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_tests_test_budget_test_uncategorized_expense_blocks_close",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_tests_test_budget_test_copy_previous_month_clamps_expected_day",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_tests_test_budget_test_reopen_preserves_immutable_closure_history",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L83",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_budget",
+ "target": "backend_tests_test_budget_test_periods_must_close_in_calendar_order",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L92",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_tests_test_imports_test_confirmed_import_must_be_reverted_before_reparse",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L102",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_tests_test_imports_test_invalid_direction_is_critical",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L110",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_tests_test_imports_test_unexpected_parser_failure_reaches_terminal_state",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_tests_test_imports_test_duplicate_candidate_can_reuse_unique_operation_without_client_id",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_tests_test_imports_test_transfer_merge_revert_restores_counterpart_operation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L220",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_tests_test_imports_seed",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_tests_test_imports_ready_document",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_tests_test_imports_test_confirm_and_revert_are_idempotent",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L79",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_imports",
+ "target": "backend_tests_test_imports_test_confirm_rejects_arithmetic_mismatch",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_tests_test_ledger_properties_test_cross_space_lookup_fails_closed",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L110",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_tests_test_ledger_properties_test_idempotency_key_prevents_duplicate_income",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L126",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_tests_test_ledger_properties_seed",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_tests_test_ledger_properties_test_transfer_postings_conserve_money",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_ledger_properties",
+ "target": "backend_tests_test_ledger_properties_test_credit_expense_is_negative_balance_and_refund_is_capped",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L71",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_tests_test_postgres_and_s3_test_postgres_rls_requires_matching_transaction_context",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3",
+ "target": "backend_tests_test_postgres_and_s3_test_s3_blob_round_trip",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package",
+ "target": "frontend_package_dependencies",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package",
+ "target": "frontend_package_name",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package",
+ "target": "frontend_package_devdependencies",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package",
+ "target": "frontend_package_private",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package",
+ "target": "frontend_package_version",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package",
+ "target": "frontend_package_allowscripts",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package",
+ "target": "frontend_package_type",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package",
+ "target": "frontend_package_scripts",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_allowscripts",
+ "target": "frontend_package_allowscripts_esbuild_0_25_12",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L48",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies",
+ "target": "frontend_package_dependencies_hookform_resolvers",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies",
+ "target": "frontend_package_dependencies_tanstack_react_query",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies",
+ "target": "frontend_package_dependencies_i18next",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies",
+ "target": "frontend_package_dependencies_react",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies",
+ "target": "frontend_package_dependencies_react_dom",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies",
+ "target": "frontend_package_dependencies_react_hook_form",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies",
+ "target": "frontend_package_dependencies_react_i18next",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies",
+ "target": "frontend_package_dependencies_react_router_dom",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_dependencies",
+ "target": "frontend_package_dependencies_zod",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_eslint_js",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_testing_library_dom",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_testing_library_jest_dom",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_testing_library_react",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_testing_library_user_event",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_types_react",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_types_react_dom",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_vitejs_plugin_react",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_eslint",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_eslint_plugin_jsx_a11y",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_eslint_plugin_react_hooks",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_globals",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_jsdom",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_openapi_typescript",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L41",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_typescript",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_typescript_eslint",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_vite",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_devdependencies",
+ "target": "frontend_package_devdependencies_vitest",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_scripts",
+ "target": "frontend_package_scripts_typecheck",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_scripts",
+ "target": "frontend_package_scripts_lint",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_scripts",
+ "target": "frontend_package_scripts_test",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_scripts",
+ "target": "frontend_package_scripts_test_watch",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_scripts",
+ "target": "frontend_package_scripts_api_generate",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_scripts",
+ "target": "frontend_package_scripts_dev",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_scripts",
+ "target": "frontend_package_scripts_build",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_package_scripts",
+ "target": "frontend_package_scripts_preview",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/package.json",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_scripts_generate_api",
+ "target": "frontend_scripts_generate_api_remote_candidates",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_scripts_generate_api",
+ "target": "frontend_scripts_generate_api_firstreadable",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_scripts_generate_api",
+ "target": "frontend_scripts_generate_api_main",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_scripts_generate_api",
+ "target": "frontend_scripts_generate_api_out_dir",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_scripts_generate_api",
+ "target": "frontend_scripts_generate_api_local_candidates",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/scripts/generate-api.mjs",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_apierror",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_apiclient",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L113",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_isapierror",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_queryvalue",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_requestoptions",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_buildurl",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_readcsrftoken",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_errorenvelope",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_parseerrorenvelope",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_toapierror",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L67",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client",
+ "target": "frontend_src_api_client_request",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L78",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_endpoints",
+ "target": "frontend_src_api_endpoints_api",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/endpoints.ts",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_generated_schema_d",
+ "target": "frontend_src_api_generated_schema_d_defs",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L1000",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_generated_schema_d",
+ "target": "frontend_src_api_generated_schema_d_operations",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L1001",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_generated_schema_d",
+ "target": "frontend_src_api_generated_schema_d_paths",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_generated_schema_d",
+ "target": "frontend_src_api_generated_schema_d_webhooks",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L746",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_generated_schema_d",
+ "target": "frontend_src_api_generated_schema_d_components",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/generated/schema.d.ts",
+ "source_location": "L747",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_querykeys",
+ "target": "frontend_src_api_querykeys_invalidationroots",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_querykeys",
+ "target": "frontend_src_api_querykeys_querykeys",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_querykeys",
+ "target": "frontend_src_api_querykeys_space_root",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_querykeys",
+ "target": "frontend_src_api_querykeys_session_root",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_querykeys",
+ "target": "frontend_src_api_querykeys_sessioninvalidationroot",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_querykeys",
+ "target": "frontend_src_api_querykeys_spaceinvalidationroot",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/queryKeys.ts",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_locale",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_page",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L106",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_accounttype",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_loginpayload",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_acceptinvitepayload",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_accountstatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_passwordresetpayload",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L122",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_budgetstatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L127",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_budgetwarning",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L129",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_budgetblocker",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L134",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_expectedincomestatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L139",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_expectedincome",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L141",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_budgetsummary",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L150",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_categorykind",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L164",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_budgetcategory",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L166",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_importstatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L179",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_importsummary",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L188",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_importissue",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L200",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_reconciliationstatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L206",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_reconciliation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L208",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_rowdecision",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L216",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_importrow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L218",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_importdetail",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L231",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_saverowdecisionpayload",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L246",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_confirmimportpayload",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L251",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_categoryspenditem",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L256",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_createaccountpayload",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_planfactitem",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L263",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_planfactreport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L271",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_cashflowmonth",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L276",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_balanceitem",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L284",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_balancesreport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L291",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_exportstatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L299",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_exportinfo",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L301",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_spacedeletionstatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L308",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_operationkind",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_operationstatus",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_operation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_createoperationpayload",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_types",
+ "target": "frontend_src_api_types_operationfilters",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/types.ts",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app",
+ "target": "frontend_src_app_app",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/App.tsx",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app",
+ "target": "frontend_src_app_queryclient",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/App.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_accountspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_analyticspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_budgetpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_importdetailpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_importspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_loginpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_notfoundpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_operationspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_reviewqueuepage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_resetpasswordpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_settingspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_requireauth",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_approutes",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_app_router_acceptinvitepage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_charts_columnchart",
+ "target": "frontend_src_components_charts_columnchart_columnchartprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/charts/ColumnChart.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_charts_columnchart",
+ "target": "frontend_src_components_charts_columnchart_columnchart",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/charts/ColumnChart.tsx",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_charts_columnchart",
+ "target": "frontend_src_components_charts_columnchart_cashflowcolumn",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/charts/ColumnChart.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_charts_horizontalbars",
+ "target": "frontend_src_components_charts_horizontalbars_horizontalbars",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/charts/HorizontalBars.tsx",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_charts_horizontalbars",
+ "target": "frontend_src_components_charts_horizontalbars_barrow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/charts/HorizontalBars.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_charts_horizontalbars",
+ "target": "frontend_src_components_charts_horizontalbars_horizontalbarsprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/charts/HorizontalBars.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_charts_planfactbars",
+ "target": "frontend_src_components_charts_planfactbars_planfactbarsprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/charts/PlanFactBars.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_charts_planfactbars",
+ "target": "frontend_src_components_charts_planfactbars_planfactbars",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/charts/PlanFactBars.tsx",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_charts_planfactbars",
+ "target": "frontend_src_components_charts_planfactbars_planfactrow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/charts/PlanFactBars.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout",
+ "target": "frontend_src_components_layout_applayout_applayout",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_applayout",
+ "target": "frontend_src_components_layout_applayout_nav_items",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/layout/AppLayout.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_layout_langswitcher",
+ "target": "frontend_src_components_layout_langswitcher_langswitcher",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/layout/LangSwitcher.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_badge",
+ "target": "frontend_src_components_ui_badge_badgetone",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Badge.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_badge",
+ "target": "frontend_src_components_ui_badge_badge",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Badge.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_button",
+ "target": "frontend_src_components_ui_button_variant",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Button.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_button",
+ "target": "frontend_src_components_ui_button_buttonprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Button.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_button",
+ "target": "frontend_src_components_ui_button_button",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Button.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_confirmdialog",
+ "target": "frontend_src_components_ui_confirmdialog_confirmdialog",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/ConfirmDialog.tsx",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_confirmdialog",
+ "target": "frontend_src_components_ui_confirmdialog_confirmdialogprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/ConfirmDialog.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_emptystate",
+ "target": "frontend_src_components_ui_emptystate_emptystateprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/EmptyState.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_emptystate",
+ "target": "frontend_src_components_ui_emptystate_emptystate",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/EmptyState.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_errorstate",
+ "target": "frontend_src_components_ui_errorstate_errorstate",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/ErrorState.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_errorstate",
+ "target": "frontend_src_components_ui_errorstate_errorstateprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/ErrorState.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_inputprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_selectprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_selectfieldprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L111",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_selectfield",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L118",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_textareaprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_textareafieldprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L137",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_textareafield",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L143",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_fieldchrome",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_fieldchromewrap",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_textfieldprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_textfield",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_moneyfieldprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L73",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_fields",
+ "target": "frontend_src_components_ui_fields_moneyfield",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/fields.tsx",
+ "source_location": "L80",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_modal",
+ "target": "frontend_src_components_ui_modal_modal",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Modal.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_modal",
+ "target": "frontend_src_components_ui_modal_modalprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Modal.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_monthswitcher",
+ "target": "frontend_src_components_ui_monthswitcher_monthswitcher",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/MonthSwitcher.tsx",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_monthswitcher",
+ "target": "frontend_src_components_ui_monthswitcher_monthswitcherprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/MonthSwitcher.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_pageheader",
+ "target": "frontend_src_components_ui_pageheader_pageheaderprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/PageHeader.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_pageheader",
+ "target": "frontend_src_components_ui_pageheader_pageheader",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/PageHeader.tsx",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_querygate",
+ "target": "frontend_src_components_ui_querygate_querygate",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_querygate",
+ "target": "frontend_src_components_ui_querygate_querygateprops",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/QueryGate.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_spinner",
+ "target": "frontend_src_components_ui_spinner_spinner",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Spinner.tsx",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_toaster",
+ "target": "frontend_src_components_ui_toaster_toastapi",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_toaster",
+ "target": "frontend_src_components_ui_toaster_toastcontext",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_toaster",
+ "target": "frontend_src_components_ui_toaster_toastprovider",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_toaster",
+ "target": "frontend_src_components_ui_toaster_toastkind",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_toaster",
+ "target": "frontend_src_components_ui_toaster_usetoast",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_components_ui_toaster",
+ "target": "frontend_src_components_ui_toaster_toastitem",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/components/ui/Toaster.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_hooks_useaccounts_useactiveaccounts",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_hooks_useaccounts_usecreateaccount",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_hooks_useaccounts_usearchiveaccount",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useaccounts",
+ "target": "frontend_src_hooks_useaccounts_useaccounts",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAccounts.ts",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useanalytics",
+ "target": "frontend_src_hooks_useanalytics_useanalyticsplanfact",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useanalytics",
+ "target": "frontend_src_hooks_useanalytics_useanalyticscashflow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useanalytics",
+ "target": "frontend_src_hooks_useanalytics_useanalyticsbalances",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useanalytics",
+ "target": "frontend_src_hooks_useanalytics_useanalyticscategoryspend",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAnalytics.ts",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_hooks_useauth_usesessionmutation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_hooks_useauth_uselogin",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_hooks_useauth_useacceptinvite",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_hooks_useauth_userequestpasswordreset",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_hooks_useauth_useconfirmpasswordreset",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L38",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_hooks_useauth_uselogout",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useauth",
+ "target": "frontend_src_hooks_useauth_useme",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useAuth.ts",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_hooks_usebudget_usebudgetcategories",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_hooks_usebudget_usebudgeterrortoaster",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_hooks_usebudget_useupdateplan",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_hooks_usebudget_usefundcategory",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L42",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_hooks_usebudget_useperiodmutation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_hooks_usebudget_useclosemonth",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_hooks_usebudget_usebudgetsummary",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_hooks_usebudget_usereopenmonth",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L81",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usebudget",
+ "target": "frontend_src_hooks_usebudget_usecopypreviousmonth",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useBudget.ts",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_hooks_useimports_userevertimport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L101",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_hooks_useimports_useimports",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_hooks_useimports_useimport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_hooks_useimports_useimporterrortoaster",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_hooks_useimports_useuploadimport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_hooks_useimports_usesaverowdecision",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L56",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_hooks_useimports_useconfirmimport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L70",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useimports",
+ "target": "frontend_src_hooks_useimports_usereparseimport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useImports.ts",
+ "source_location": "L85",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_hooks_useoperations_useledgermutation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_hooks_useoperations_usecreateoperation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L37",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_hooks_useoperations_usevoidoperation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_hooks_useoperations_usecategorizeoperation",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_useoperations",
+ "target": "frontend_src_hooks_useoperations_useoperations",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useOperations.ts",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_hooks_usespacelifecycle_userequestexport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_hooks_usespacelifecycle_userequestdeletion",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_hooks_usespacelifecycle_usecanceldeletion",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_hooks_usespacelifecycle",
+ "target": "frontend_src_hooks_usespacelifecycle_usespacedeletion",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/hooks/useSpaceLifecycle.ts",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index",
+ "target": "frontend_src_i18n_index_storedlocale",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index",
+ "target": "frontend_src_i18n_index_detectlocale",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index",
+ "target": "frontend_src_i18n_index_createi18n",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index",
+ "target": "frontend_src_i18n_index_i18n",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index",
+ "target": "frontend_src_i18n_index_setlocale",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index",
+ "target": "frontend_src_i18n_index_localelabel",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_i18n_index",
+ "target": "frontend_src_i18n_index_locales",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/i18n/index.ts",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_main",
+ "target": "frontend_src_main_container",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/main.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_pages_acceptinvitepage_acceptinvitevalues",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_acceptinvitepage",
+ "target": "frontend_src_pages_acceptinvitepage_acceptinvitepage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/AcceptInvitePage.tsx",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_pages_accountspage_usememoschema",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L102",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_pages_accountspage_accountspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L116",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_pages_accountspage_accountformvalues",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_accountspage",
+ "target": "frontend_src_pages_accountspage_accountform",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/AccountsPage.tsx",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_pages_analyticspage_range_choices",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_analyticspage",
+ "target": "frontend_src_pages_analyticspage_analyticspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/AnalyticsPage.tsx",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_pages_budgetpage_budgetpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L123",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_pages_budgetpage_planmodal",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_budgetpage",
+ "target": "frontend_src_pages_budgetpage_fundmodal",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/BudgetPage.tsx",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_pages_importdetailpage_decisions",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_pages_importdetailpage_step_order",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_pages_importdetailpage_stepindexfor",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_pages_importdetailpage_confirmmodal",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importdetailpage",
+ "target": "frontend_src_pages_importdetailpage_importdetailpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ImportDetailPage.tsx",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_pages_importspage_uploadmodal",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_importspage",
+ "target": "frontend_src_pages_importspage_importspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ImportsPage.tsx",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_pages_loginpage_loginformvalues",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_loginpage",
+ "target": "frontend_src_pages_loginpage_loginpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/LoginPage.tsx",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_notfoundpage",
+ "target": "frontend_src_pages_notfoundpage_notfoundpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/NotFoundPage.tsx",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_incomeform",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L143",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_transferform",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L217",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_operation_kinds",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_refundform",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L296",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_amountfield",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_datefield",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_accountselect",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_operationmodal",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L379",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_voidmodal",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L404",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_operationspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L450",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_operationspage",
+ "target": "frontend_src_pages_operationspage_expenseform",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/OperationsPage.tsx",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_pages_resetpasswordpage_resetvalues",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_resetpasswordpage",
+ "target": "frontend_src_pages_resetpasswordpage_resetpasswordpage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ResetPasswordPage.tsx",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_pages_reviewqueuepage_uncategorizedrow",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_reviewqueuepage",
+ "target": "frontend_src_pages_reviewqueuepage_reviewqueuepage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/ReviewQueuePage.tsx",
+ "source_location": "L68",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_pages_settingspage_deletionformvalues",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_pages_settingspage_deletionform",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_pages_settingspage",
+ "target": "frontend_src_pages_settingspage_settingspage",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/pages/SettingsPage.tsx",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_test_accounts_page_test_listmock",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_test_accounts_page_test_createmock",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_accounts_page_test",
+ "target": "frontend_src_test_accounts_page_test_account",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/accounts-page.test.tsx",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_test_budget_plan_test_summarymock",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_test_budget_plan_test_categoriesmock",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_test_budget_plan_test_updateplanmock",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_test_budget_plan_test_month",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_test_budget_plan_test_summary",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_budget_plan_test",
+ "target": "frontend_src_test_budget_plan_test_categories",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/budget-plan.test.tsx",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_chart_accessible_table_test",
+ "target": "frontend_src_test_chart_accessible_table_test_rows",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/chart-accessible-table.test.tsx",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_helpers",
+ "target": "frontend_src_test_helpers_renderwithproviders",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/helpers.tsx",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_helpers",
+ "target": "frontend_src_test_helpers_createtestqueryclient",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/helpers.tsx",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_i18n_parity_test",
+ "target": "frontend_src_test_i18n_parity_test_rukeys",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/i18n-parity.test.ts",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_i18n_parity_test",
+ "target": "frontend_src_test_i18n_parity_test_enkeys",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/i18n-parity.test.ts",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_i18n_parity_test",
+ "target": "frontend_src_test_i18n_parity_test_collect",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/i18n-parity.test.ts",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_test_import_polling_test_getimport",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_test_import_polling_test_detail",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_import_polling_test",
+ "target": "frontend_src_test_import_polling_test_makewrapper",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/import-polling.test.tsx",
+ "source_location": "L51",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_test_login_page_test_memock",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_test_login_page_test_loginmock",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_test_login_page_test_user",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_login_page_test",
+ "target": "frontend_src_test_login_page_test_renderlogin",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/login-page.test.tsx",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "frontend_src_test_query_keys_test_sample_filters",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "frontend_src_test_query_keys_test_sample_keys",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/query-keys.test.ts",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig",
+ "target": "frontend_tsconfig_compileroptions",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L2",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig",
+ "target": "frontend_tsconfig_include",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_nounusedparameters",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_nofallthroughcasesinswitch",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_nouncheckedindexedaccess",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_verbatimmodulesyntax",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_isolatedmodules",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_esmoduleinterop",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L15",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_forceconsistentcasinginfilenames",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_usedefineforclassfields",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_resolvejsonmodule",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_skiplibcheck",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_noemit",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_types",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_baseurl",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_paths",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_target",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L3",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_lib",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_module",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_moduleresolution",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_jsx",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_strict",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_tsconfig_compileroptions",
+ "target": "frontend_tsconfig_compileroptions_nounusedlocals",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/tsconfig.json",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_postgres_init_app_role",
+ "target": "infra_postgres_init_app_role_sh__entry",
+ "relation": "contains",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/postgres/init-app-role.sh",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_acceptinvitepage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_accountspage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_analyticspage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_budgetpage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_importdetailpage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_importspage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_loginpage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_notfoundpage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_operationspage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_resetpasswordpage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_reviewqueuepage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_app_router",
+ "target": "frontend_src_pages_settingspage",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/app/router.tsx"
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "i1",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/query-keys.test.ts"
+ },
+ {
+ "source": "frontend_src_test_query_keys_test",
+ "target": "i2",
+ "relation": "dynamic_import",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/test/query-keys.test.ts"
+ },
+ {
+ "source": "backend_app_audit_models_auditevent",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_models_auditevent",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_models_auditevent",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_budgetperiod",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_budgetperiod",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_budgetperiod",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L25",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_expectedincome",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_expectedincome",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_expectedincome",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L77",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_expectedincomematch",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_expectedincomematch",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_expectedincomematch",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_fundingmovement",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_fundingmovement",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_fundingmovement",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L132",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_periodclosure",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L166",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_periodclosure",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L166",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_periodclosure",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L166",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_planassignment",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_planassignment",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_planassignment",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_assignmentitem",
+ "target": "backend_app_budgeting_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_assignmentsbody",
+ "target": "backend_app_budgeting_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L24",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_categorybody",
+ "target": "backend_app_budgeting_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_categoryfundingbody",
+ "target": "backend_app_budgeting_router_monthbody",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_expectedincomebody",
+ "target": "backend_app_budgeting_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L35",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_fundingbody",
+ "target": "backend_app_budgeting_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_monthbody",
+ "target": "backend_app_budgeting_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_router_planbody",
+ "target": "backend_app_budgeting_router_monthbody",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/router.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_bankcategorymapping",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_bankcategorymapping",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L103",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_categorizationrule",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_categorizationrule",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_categorizationrule",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L64",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_incomesource",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_incomesource",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_incomesource",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_mcccode",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L93",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_payee",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_payee",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_payee",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_payeealias",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_payeealias",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_payeealias",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_config_settings",
+ "target": "basesettings",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/config.py",
+ "source_location": "L8",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base_base",
+ "target": "declarativebase",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base_utcdatetime",
+ "target": "typedecorator",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_apperror",
+ "target": "exception",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L4",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models_dataexport",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models_dataexport",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models_dataexport",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models_deletionledger",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models_deletionledger",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models_deletionledger",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_invitation",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_invitation",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_invitation",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_passwordreset",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_passwordreset",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_passwordreset",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_session",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_session",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_session",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_user",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_user",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_models_user",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_acceptinvitebody",
+ "target": "backend_app_identity_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_invitebody",
+ "target": "backend_app_identity_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_loginbody",
+ "target": "backend_app_identity_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L31",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_resetbody",
+ "target": "backend_app_identity_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_identity_router_resetrequestbody",
+ "target": "backend_app_identity_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfacreditxlsxadapter",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L207",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfadebitxlsxadapter",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L201",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_statementadapter",
+ "target": "backend_app_imports_adapters_base_py_protocol",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "target": "backend_app_errors_apperror",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L44",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozoncreditpdfadapter",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L131",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozondebitpdfadapter",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_rocketbank_pdf_rocketbankdebitpdfadapter",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/rocketbank_pdf.py",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_blobstore",
+ "target": "backend_app_imports_blob_py_protocol",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_dedupcandidate",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L169",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_dedupcandidate",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L169",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_dedupcandidate",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L169",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_parserun",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_parserun",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_parserun",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L74",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_sourcerecord",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_sourcerecord",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_sourcerecord",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L97",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_sourcerecordlink",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L143",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_sourcerecordlink",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L143",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_sourcerecordlink",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L143",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_statementdocument",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_statementdocument",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_statementdocument",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L39",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_confirmbody",
+ "target": "backend_app_imports_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_decisionbody",
+ "target": "backend_app_imports_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_router_reviewbody",
+ "target": "backend_app_imports_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_account",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_account",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_account",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_category",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_category",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_category",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L159",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_operation",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_operation",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_operation",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_posting",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_posting",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_posting",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L125",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_accountbody",
+ "target": "backend_app_ledger_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operationbody",
+ "target": "backend_app_ledger_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_operationpatchbody",
+ "target": "backend_app_ledger_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L49",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_router_voidbody",
+ "target": "backend_app_ledger_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/router.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models_financialspace",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models_financialspace",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models_financialspace",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models_membership",
+ "target": "backend_app_db_base_base",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models_membership",
+ "target": "backend_app_db_base_pkmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_models_membership",
+ "target": "backend_app_db_base_timestampmixin",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_deletionbody",
+ "target": "backend_app_spaces_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L17",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_spaces_router_memberinvitebody",
+ "target": "backend_app_spaces_router_py_basemodel",
+ "relation": "inherits",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/spaces/router.py",
+ "source_location": "L21",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_config_settings",
+ "target": "backend_app_config_settings_broker_url",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/config.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_config_settings",
+ "target": "backend_app_config_settings_kek",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/config.py",
+ "source_location": "L54",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base_utcdatetime",
+ "target": "backend_app_db_base_utcdatetime_process_bind_param",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base_utcdatetime",
+ "target": "backend_app_db_base_utcdatetime_process_result_value",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L34",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_apperror",
+ "target": "backend_app_errors_apperror_init",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L10",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_detect",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L32",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase_parse",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L40",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_statementadapter",
+ "target": "backend_app_imports_adapters_base_statementadapter_detect",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_statementadapter",
+ "target": "backend_app_imports_adapters_base_statementadapter_parse",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L59",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout_init",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L47",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_detect",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase_parse",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L46",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_blobstore",
+ "target": "backend_app_imports_blob_blobstore_put",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_blobstore",
+ "target": "backend_app_imports_blob_blobstore_get",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L13",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_blobstore",
+ "target": "backend_app_imports_blob_blobstore_delete",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L14",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore",
+ "target": "backend_app_imports_blob_localdirectoryblobstore_init",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore",
+ "target": "backend_app_imports_blob_localdirectoryblobstore_path",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L23",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore",
+ "target": "backend_app_imports_blob_localdirectoryblobstore_put",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L28",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore",
+ "target": "backend_app_imports_blob_localdirectoryblobstore_get",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L33",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_localdirectoryblobstore",
+ "target": "backend_app_imports_blob_localdirectoryblobstore_delete",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L36",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_s3blobstore",
+ "target": "backend_app_imports_blob_s3blobstore_init",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L43",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_s3blobstore",
+ "target": "backend_app_imports_blob_s3blobstore_put",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L58",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_s3blobstore",
+ "target": "backend_app_imports_blob_s3blobstore_get",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L61",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_s3blobstore",
+ "target": "backend_app_imports_blob_s3blobstore_delete",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_src_api_client_apierror",
+ "target": "frontend_src_api_client_apierror_constructor",
+ "relation": "method",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/src/api/client.ts",
+ "source_location": "L6",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_audit_models_rationale_11",
+ "target": "backend_app_audit_models_auditevent",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/audit/models.py",
+ "source_location": "L11",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_rationale_104",
+ "target": "backend_app_budgeting_models_expectedincomematch",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_rationale_133",
+ "target": "backend_app_budgeting_models_fundingmovement",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L133",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_rationale_167",
+ "target": "backend_app_budgeting_models_periodclosure",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L167",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_models_rationale_26",
+ "target": "backend_app_budgeting_models_budgetperiod",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_budgeting_service_rationale_115",
+ "target": "backend_app_budgeting_service_compute_period_state",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/budgeting/service.py",
+ "source_location": "L115",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_rationale_104",
+ "target": "backend_app_categorization_models_bankcategorymapping",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L104",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_rationale_65",
+ "target": "backend_app_categorization_models_categorizationrule",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_models_rationale_94",
+ "target": "backend_app_categorization_models_mcccode",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/models.py",
+ "source_location": "L94",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_categorization_service_rationale_9",
+ "target": "backend_app_categorization_service_resolve_category_name",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/categorization/service.py",
+ "source_location": "L9",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_base_rationale_22",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/base.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_models_rationale_1",
+ "target": "backend_app_db_models",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/models.py",
+ "source_location": "L1",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_rationale_50",
+ "target": "backend_app_db_session_set_space_context",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L50",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_db_session_rationale_60",
+ "target": "backend_app_db_session_session_scope",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/db/session.py",
+ "source_location": "L60",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_errors_rationale_5",
+ "target": "backend_app_errors_apperror",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/errors.py",
+ "source_location": "L5",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_models_rationale_30",
+ "target": "backend_app_exports_models_deletionledger",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_rationale_26",
+ "target": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L26",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_base_rationale_45",
+ "target": "backend_app_imports_adapters_base_unsupportedstatementlayout",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/base.py",
+ "source_location": "L45",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_ozon_pdf_rationale_29",
+ "target": "backend_app_imports_adapters_ozon_pdf_ozonpdfadapterbase",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/ozon_pdf.py",
+ "source_location": "L29",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_adapters_rocketbank_pdf_rationale_7",
+ "target": "backend_app_imports_adapters_rocketbank_pdf_rocketbankdebitpdfadapter",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/adapters/rocketbank_pdf.py",
+ "source_location": "L7",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_blob_rationale_18",
+ "target": "backend_app_imports_blob_localdirectoryblobstore",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/blob.py",
+ "source_location": "L18",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto_rationale_22",
+ "target": "backend_app_imports_crypto_encrypt_file",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L22",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_crypto_rationale_57",
+ "target": "backend_app_imports_crypto_shred_dek_material",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/crypto.py",
+ "source_location": "L57",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_models_rationale_98",
+ "target": "backend_app_imports_models_sourcerecord",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/imports/models.py",
+ "source_location": "L98",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_rationale_126",
+ "target": "backend_app_ledger_models_posting",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L126",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_rationale_160",
+ "target": "backend_app_ledger_models_category",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L160",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_rationale_27",
+ "target": "backend_app_ledger_models_account",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_models_rationale_55",
+ "target": "backend_app_ledger_models_operation",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/models.py",
+ "source_location": "L55",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_rationale_126",
+ "target": "backend_app_ledger_service_apply_suggestion",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L126",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ledger_service_rationale_20",
+ "target": "backend_app_ledger_service_to_kopecks",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ledger/service.py",
+ "source_location": "L20",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_ratelimit_rationale_16",
+ "target": "backend_app_ratelimit_allow",
+ "relation": "rationale_for",
+ "_origin": "ast",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "backend/app/ratelimit.py",
+ "source_location": "L16",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks_build_export_task",
+ "target": "backend_tests_conftest_db",
+ "relation": "indirect_call",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "argument",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L12",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_exports_tasks_purge_due_spaces_task",
+ "target": "backend_tests_conftest_db",
+ "relation": "indirect_call",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "argument",
+ "source_file": "backend/app/exports/tasks.py",
+ "source_location": "L27",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_process_statement_document",
+ "target": "backend_tests_conftest_db",
+ "relation": "indirect_call",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "argument",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L239",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3_test_postgres_rls_requires_matching_transaction_context",
+ "target": "backend_tests_conftest_db",
+ "relation": "indirect_call",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "argument",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L30",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_imports_service_create_document",
+ "target": "path",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "call",
+ "source_file": "backend/app/imports/service.py",
+ "source_location": "L65",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_tests_test_postgres_and_s3_test_postgres_rls_requires_matching_transaction_context",
+ "target": "backend_app_identity_models_session",
+ "relation": "calls",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "context": "call",
+ "source_file": "backend/tests/test_postgres_and_s3.py",
+ "source_location": "L19",
+ "weight": 1.0
+ },
+ {
+ "source": "backend_app_main_app_error_handler",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "context": "parameter_type",
+ "source_file": "backend/app/main.py",
+ "source_location": "L27",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_alembic_versions_20260911_0001_initial_schema_downgrade",
+ "target": "backend_app_db_base_base",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L82",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_alembic_versions_20260911_0001_initial_schema_upgrade",
+ "target": "backend_app_db_base_base",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/alembic/versions/20260911_0001_initial_schema.py",
+ "source_location": "L38",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_budgeting_models_periodclosure",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/budgeting/models.py",
+ "source_location": "L185",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_exports_models_dataexport",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L24",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_exports_models_deletionledger",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/exports/models.py",
+ "source_location": "L35",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_exports_router_request_export",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/exports/router.py",
+ "source_location": "L27",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_exports_service_build_export",
+ "target": "backend_app_audit_models_auditevent",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/exports/service.py",
+ "source_location": "L96",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_identity_models_invitation",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L36",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_identity_models_passwordreset",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L50",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_identity_models_session",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/identity/models.py",
+ "source_location": "L62",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_identity_router_login",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L103",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_identity_router_request_password_reset",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/identity/router.py",
+ "source_location": "L122",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_imports_adapters_alfa_xlsx_alfaxlsxadapterbase",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/imports/adapters/alfa_xlsx.py",
+ "source_location": "L35",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_imports_router_reparse",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L226",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_imports_router_upload",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/imports/router.py",
+ "source_location": "L89",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_app_spaces_models_financialspace",
+ "target": "backend_app_db_base_utcdatetime",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/app/spaces/models.py",
+ "source_location": "L15",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_tests_conftest_db_factory",
+ "target": "backend_app_db_base_base",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/tests/conftest.py",
+ "source_location": "L32",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_tests_test_budget_test_periods_must_close_in_calendar_order",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L96",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_tests_test_budget_test_uncategorized_expense_blocks_close",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/tests/test_budget.py",
+ "source_location": "L49",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_tests_test_imports_test_confirm_rejects_arithmetic_mismatch",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L97",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_tests_test_imports_test_confirmed_import_must_be_reverted_before_reparse",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/tests/test_imports.py",
+ "source_location": "L105",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_credit_expense_is_negative_balance_and_refund_is_capped",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L99",
+ "weight": 0.8
+ },
+ {
+ "source": "backend_tests_test_ledger_properties_test_cross_space_lookup_fails_closed",
+ "target": "backend_app_errors_apperror",
+ "relation": "uses",
+ "_origin": "ast",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "backend/tests/test_ledger_properties.py",
+ "source_location": "L121",
+ "weight": 0.8
+ },
+ {
+ "source": "docs_adr_0001_financial_space_ownership_and_rls_space_ownership",
+ "target": "docs_adr_0001_financial_space_ownership_and_rls_defense_in_depth_authorization",
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "lines 11-20",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0002_journal_and_budget_reserves_operations_postings_journal",
+ "target": "docs_adr_0002_journal_and_budget_reserves_derived_balances",
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "lines 13-15",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0003_versioned_statement_imports_versioned_statement_imports",
+ "target": "docs_adr_0003_versioned_statement_imports_atomic_confirm_revert",
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "line 15",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0003_versioned_statement_imports_versioned_statement_imports",
+ "target": "docs_adr_0003_versioned_statement_imports_conservative_deduplication",
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "line 16",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0003_versioned_statement_imports_versioned_statement_imports",
+ "target": "docs_adr_0003_versioned_statement_imports_immutable_statement_document",
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "lines 11-14",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0004_provider_neutral_encrypted_data_boundary_provider_neutral_boundary",
+ "target": "docs_adr_0004_provider_neutral_encrypted_data_boundary_envelope_encryption",
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0004-provider-neutral-encrypted-data-boundary.md",
+ "source_location": "line 14",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0004_provider_neutral_encrypted_data_boundary_provider_neutral_boundary",
+ "target": "docs_adr_0004_provider_neutral_encrypted_data_boundary_rf_data_residency",
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0004-provider-neutral-encrypted-data-boundary.md",
+ "source_location": "lines 9-13",
+ "weight": 1.0
+ },
+ {
+ "source": "context_credit_reserve",
+ "target": "context_financial_account",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "line 21",
+ "weight": 1.0
+ },
+ {
+ "source": "context_expected_income",
+ "target": "context_income_source",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "lines 22-23",
+ "weight": 1.0
+ },
+ {
+ "source": "context_funding",
+ "target": "context_general_pool",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "line 18",
+ "weight": 1.0
+ },
+ {
+ "source": "context_internal_transfer",
+ "target": "context_operation",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "line 9",
+ "weight": 1.0
+ },
+ {
+ "source": "context_internal_transfer",
+ "target": "context_posting",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "line 9",
+ "weight": 1.0
+ },
+ {
+ "source": "context_membership",
+ "target": "context_financial_space",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "line 5",
+ "weight": 1.0
+ },
+ {
+ "source": "context_membership",
+ "target": "context_user",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "line 5",
+ "weight": 1.0
+ },
+ {
+ "source": "context_monthly_category",
+ "target": "context_general_pool",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "line 19",
+ "weight": 1.0
+ },
+ {
+ "source": "context_operation",
+ "target": "context_posting",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "lines 7-8",
+ "weight": 1.0
+ },
+ {
+ "source": "context_parse_run",
+ "target": "context_source_record",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "lines 12-13",
+ "weight": 1.0
+ },
+ {
+ "source": "context_plan_assignment",
+ "target": "context_general_pool",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "line 17",
+ "weight": 1.0
+ },
+ {
+ "source": "context_refund",
+ "target": "context_operation",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "line 10",
+ "weight": 1.0
+ },
+ {
+ "source": "context_statement_import",
+ "target": "context_parse_run",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "CONTEXT.md",
+ "source_location": "lines 11-12",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0001_financial_space_ownership_and_rls_defense_in_depth_authorization",
+ "target": "docs_adr_0001_financial_space_ownership_and_rls_transaction_local_rls",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "lines 15-18",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0001_financial_space_ownership_and_rls_space_ownership",
+ "target": "docs_adr_0001_financial_space_ownership_and_rls_cross_space_integrity",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "line 19",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0002_journal_and_budget_reserves_budget_reserves",
+ "target": "context_credit_reserve",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "line 16",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0002_journal_and_budget_reserves_budget_reserves",
+ "target": "context_savings_envelope",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "line 16",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0003_versioned_statement_imports_immutable_statement_document",
+ "target": "docs_adr_0004_provider_neutral_encrypted_data_boundary_envelope_encryption",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "line 13",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0003_versioned_statement_imports_parser_versioning",
+ "target": "docs_parsers_private_fixture_gate_private_fixture_gate",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "line 17",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0004_provider_neutral_encrypted_data_boundary_crypto_shredding",
+ "target": "docs_operations_deletion_ledger_deletion_ledger",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0004-provider-neutral-encrypted-data-boundary.md",
+ "source_location": "line 15",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_backup_and_restore_backup_and_restore",
+ "target": "docs_operations_backup_and_restore_kek_backup",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/backup-and-restore.md",
+ "source_location": "lines 16-18",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_backup_and_restore_backup_and_restore",
+ "target": "docs_operations_backup_and_restore_restore_procedure",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/backup-and-restore.md",
+ "source_location": "lines 20-29",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_backup_and_restore_backup_and_restore",
+ "target": "docs_operations_backup_and_restore_restore_drill",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/backup-and-restore.md",
+ "source_location": "lines 31-38",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_backup_and_restore_restore_procedure",
+ "target": "docs_operations_deletion_ledger_post_restore_replay",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/backup-and-restore.md",
+ "source_location": "line 27",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_beta_release_runbook_closed_beta_release",
+ "target": "docs_operations_beta_release_runbook_launch_sequence",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "lines 19-24",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_beta_release_runbook_closed_beta_release",
+ "target": "docs_operations_beta_release_runbook_forward_fix_rollback",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "lines 26-30",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_beta_release_runbook_closed_beta_release",
+ "target": "docs_operations_beta_release_runbook_incident_response",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "lines 32-35",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_beta_release_runbook_closed_beta_release",
+ "target": "docs_operations_beta_release_runbook_launch_gates",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "lines 6-17",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_beta_release_runbook_launch_gates",
+ "target": "docs_operations_backup_and_restore_restore_drill",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "line 12",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_beta_release_runbook_launch_gates",
+ "target": "docs_operations_deletion_ledger_deletion_ledger",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "line 15",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_beta_release_runbook_launch_gates",
+ "target": "docs_parsers_private_fixture_gate_adapter_beta_eligibility",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/beta-release-runbook.md",
+ "source_location": "line 16",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_deletion_ledger_delayed_space_deletion",
+ "target": "docs_adr_0004_provider_neutral_encrypted_data_boundary_crypto_shredding",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/deletion-ledger.md",
+ "source_location": "lines 17-20",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_deletion_ledger_deletion_ledger",
+ "target": "docs_operations_deletion_ledger_delayed_space_deletion",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/deletion-ledger.md",
+ "source_location": "lines 13-21",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_deletion_ledger_deletion_ledger",
+ "target": "docs_operations_deletion_ledger_post_restore_replay",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/deletion-ledger.md",
+ "source_location": "lines 23-30",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_deletion_ledger_deletion_ledger",
+ "target": "docs_operations_deletion_ledger_idempotent_purge",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/operations/deletion-ledger.md",
+ "source_location": "lines 32-36",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_parsers_private_fixture_gate_private_fixture_gate",
+ "target": "docs_parsers_private_fixture_gate_adapter_beta_eligibility",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/parsers/private-fixture-gate.md",
+ "source_location": "lines 19-32",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_parsers_private_fixture_gate_private_fixture_gate",
+ "target": "docs_parsers_private_fixture_gate_layout_drift_regating",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/parsers/private-fixture-gate.md",
+ "source_location": "lines 34-45",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_parsers_private_fixture_gate_private_fixture_gate",
+ "target": "docs_parsers_private_fixture_gate_private_statement_contract",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/parsers/private-fixture-gate.md",
+ "source_location": "lines 7-17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_readme_finance_frontend",
+ "target": "frontend_readme_ru_en_localization",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/README.md",
+ "source_location": "lines 3-14",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_readme_finance_frontend",
+ "target": "frontend_readme_typed_api_client",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/README.md",
+ "source_location": "lines 35-50",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_readme_finance_frontend",
+ "target": "frontend_readme_space_scoped_query_keys",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/README.md",
+ "source_location": "lines 52-58",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_readme_finance_frontend",
+ "target": "frontend_readme_accessible_responsive_ui",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "frontend/README.md",
+ "source_location": "lines 60-67",
+ "weight": 1.0
+ },
+ {
+ "source": "github_workflows_ci_ci_pipeline",
+ "target": "github_workflows_ci_frontend_quality_gate",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".github/workflows/ci.yml",
+ "source_location": "lines 103-130",
+ "weight": 1.0
+ },
+ {
+ "source": "github_workflows_ci_ci_pipeline",
+ "target": "github_workflows_ci_compose_validation",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".github/workflows/ci.yml",
+ "source_location": "lines 132-152",
+ "weight": 1.0
+ },
+ {
+ "source": "github_workflows_ci_ci_pipeline",
+ "target": "github_workflows_ci_backend_quality_gate",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".github/workflows/ci.yml",
+ "source_location": "lines 26-101",
+ "weight": 1.0
+ },
+ {
+ "source": "github_workflows_ci_compose_validation",
+ "target": "infra_docker_compose_docker_compose_stack",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".github/workflows/ci.yml",
+ "source_location": "lines 139-149",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_docker_compose_docker_compose_stack",
+ "target": "infra_docker_compose_worker_isolation",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 165-182",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_docker_compose_docker_compose_stack",
+ "target": "infra_docker_compose_same_origin_frontend",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 198-211",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_docker_compose_docker_compose_stack",
+ "target": "infra_docker_compose_commodity_services",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 46-125",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_docker_compose_worker_isolation",
+ "target": "infra_docker_compose_internal_backend_network",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 165-182",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_readme_infrastructure",
+ "target": "infra_readme_same_origin_proxy",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/README.md",
+ "source_location": "lines 25-30",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_readme_infrastructure",
+ "target": "infra_readme_workstream_contracts",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/README.md",
+ "source_location": "lines 40-55",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_readme_infrastructure",
+ "target": "infra_readme_provider_neutral_infrastructure",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/README.md",
+ "source_location": "lines 64-69",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_readme_infrastructure",
+ "target": "infra_docker_compose_docker_compose_stack",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/README.md",
+ "source_location": "lines 7-15",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_readme_provider_neutral_infrastructure",
+ "target": "docs_adr_0004_provider_neutral_encrypted_data_boundary_provider_neutral_boundary",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "infra/README.md",
+ "source_location": "lines 64-69",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_financial_tracker_mvp",
+ "target": "kilo_plans_1789034192214_financial_tracker_mvp_tenant_boundary",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 105-113",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_financial_tracker_mvp",
+ "target": "kilo_plans_1789034192214_financial_tracker_mvp_ledger_invariants",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 115-125",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_financial_tracker_mvp",
+ "target": "kilo_plans_1789034192214_financial_tracker_mvp_budget_invariants",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 127-142",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_financial_tracker_mvp",
+ "target": "kilo_plans_1789034192214_financial_tracker_mvp_import_pipeline",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 159-176",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_financial_tracker_mvp",
+ "target": "kilo_plans_1789034192214_financial_tracker_mvp_modular_monolith",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 68-92",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_financial_tracker_mvp",
+ "target": "kilo_plans_1789034192214_financial_tracker_mvp_critical_user_path",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 7-14",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_import_pipeline",
+ "target": "docs_adr_0003_versioned_statement_imports_versioned_statement_imports",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 94-101",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_ledger_invariants",
+ "target": "docs_adr_0002_journal_and_budget_reserves_operations_postings_journal",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 94-101",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_tenant_boundary",
+ "target": "docs_adr_0001_financial_space_ownership_and_rls_space_ownership",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 94-101",
+ "weight": 1.0
+ },
+ {
+ "source": "readme_finance_tracker",
+ "target": "readme_closed_beta_budgeting",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "README.md",
+ "source_location": "lines 3-5",
+ "weight": 1.0
+ },
+ {
+ "source": "readme_finance_tracker",
+ "target": "readme_production_boundary",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "README.md",
+ "source_location": "lines 47-53",
+ "weight": 1.0
+ },
+ {
+ "source": "readme_finance_tracker",
+ "target": "context_financial_space",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "README.md",
+ "source_location": "lines 55-56",
+ "weight": 1.0
+ },
+ {
+ "source": "readme_production_boundary",
+ "target": "docs_adr_0004_provider_neutral_encrypted_data_boundary_provider_neutral_boundary",
+ "relation": "references",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "README.md",
+ "source_location": "lines 47-56",
+ "weight": 1.0
+ },
+ {
+ "source": "context_budget_period",
+ "target": "context_general_pool",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "source_file": "CONTEXT.md",
+ "source_location": "lines 15-16",
+ "weight": 1.0
+ },
+ {
+ "source": "context_savings_envelope",
+ "target": "context_funding",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "source_file": "CONTEXT.md",
+ "source_location": "lines 18-20",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0001_financial_space_ownership_and_rls_defense_in_depth_authorization",
+ "target": "docs_adr_0001_financial_space_ownership_and_rls_break_glass_access",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "lines 20-26",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0004_provider_neutral_encrypted_data_boundary_secret_boundary",
+ "target": "frontend_readme_typed_api_client",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "source_file": "docs/adr/0004-provider-neutral-encrypted-data-boundary.md",
+ "source_location": "lines 16-17",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_public_favicon_svg_ledger_lines_design",
+ "target": "frontend_public_favicon_svg",
+ "relation": "rationale_for",
+ "confidence": "INFERRED",
+ "confidence_score": 0.85,
+ "source_file": "frontend/public/favicon.svg",
+ "source_location": "lines 2-6",
+ "weight": 1.0
+ },
+ {
+ "source": "context_financial_account",
+ "target": "context_financial_space",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "CONTEXT.md",
+ "source_location": "lines 4-6",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0001_financial_space_ownership_and_rls_space_ownership",
+ "target": "context_financial_space",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md",
+ "source_location": "lines 9-14",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0002_journal_and_budget_reserves_closure_snapshots",
+ "target": "context_budget_period",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "lines 17-23",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0002_journal_and_budget_reserves_operations_postings_journal",
+ "target": "context_operation",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "lines 13-15",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0002_journal_and_budget_reserves_operations_postings_journal",
+ "target": "context_posting",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "lines 13-15",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0002_journal_and_budget_reserves_plan_funding_separation",
+ "target": "context_funding",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "line 16",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0002_journal_and_budget_reserves_plan_funding_separation",
+ "target": "context_plan_assignment",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md",
+ "source_location": "line 16",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0003_versioned_statement_imports_parser_versioning",
+ "target": "context_parse_run",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "lines 14-17",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_adr_0003_versioned_statement_imports_versioned_statement_imports",
+ "target": "context_statement_import",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/adr/0003-versioned-statement-imports.md",
+ "source_location": "lines 9-18",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_operations_backup_and_restore_kek_backup",
+ "target": "docs_adr_0004_provider_neutral_encrypted_data_boundary_envelope_encryption",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/operations/backup-and-restore.md",
+ "source_location": "lines 16-18",
+ "weight": 1.0
+ },
+ {
+ "source": "docs_parsers_private_fixture_gate_layout_drift_regating",
+ "target": "docs_adr_0003_versioned_statement_imports_parser_versioning",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "docs/parsers/private-fixture-gate.md",
+ "source_location": "lines 44-45",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_index_grossbukh_app_shell",
+ "target": "frontend_readme_finance_frontend",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "frontend/index.html",
+ "source_location": "lines 8-12",
+ "weight": 1.0
+ },
+ {
+ "source": "frontend_readme_typed_api_client",
+ "target": "infra_readme_same_origin_proxy",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "frontend/README.md",
+ "source_location": "lines 37-50",
+ "weight": 1.0
+ },
+ {
+ "source": "infra_docker_compose_same_origin_frontend",
+ "target": "infra_readme_same_origin_proxy",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": "infra/docker-compose.yml",
+ "source_location": "lines 198-211",
+ "weight": 1.0
+ },
+ {
+ "source": "kilo_plans_1789034192214_financial_tracker_mvp_release_gates",
+ "target": "docs_operations_beta_release_runbook_launch_gates",
+ "relation": "conceptually_related_to",
+ "confidence": "INFERRED",
+ "confidence_score": 0.95,
+ "source_file": ".kilo/plans/1789034192214-financial-tracker-mvp.md",
+ "source_location": "lines 256-275",
+ "weight": 1.0
+ }
+ ],
+ "hyperedges": [
+ {
+ "id": "auditable_financial_model",
+ "label": "Auditable Financial Model",
+ "nodes": [
+ "context_operation",
+ "context_posting",
+ "docs_adr_0002_journal_and_budget_reserves_derived_balances",
+ "docs_adr_0002_journal_and_budget_reserves_plan_funding_separation",
+ "docs_adr_0002_journal_and_budget_reserves_closure_snapshots"
+ ],
+ "relation": "form",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0002-journal-and-budget-reserves.md"
+ },
+ {
+ "id": "financial_space_tenancy_boundary",
+ "label": "Financial Space Tenancy Boundary",
+ "nodes": [
+ "context_financial_space",
+ "context_membership",
+ "docs_adr_0001_financial_space_ownership_and_rls_defense_in_depth_authorization",
+ "docs_adr_0001_financial_space_ownership_and_rls_transaction_local_rls",
+ "docs_adr_0001_financial_space_ownership_and_rls_cross_space_integrity"
+ ],
+ "relation": "form",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0001-financial-space-ownership-and-rls.md"
+ },
+ {
+ "id": "safe_statement_import_flow",
+ "label": "Safe Statement Import Flow",
+ "nodes": [
+ "context_statement_import",
+ "context_parse_run",
+ "context_source_record",
+ "docs_adr_0003_versioned_statement_imports_immutable_statement_document",
+ "docs_adr_0003_versioned_statement_imports_conservative_deduplication",
+ "docs_adr_0003_versioned_statement_imports_atomic_confirm_revert"
+ ],
+ "relation": "participate_in",
+ "confidence": "EXTRACTED",
+ "confidence_score": 1.0,
+ "source_file": "docs/adr/0003-versioned-statement-imports.md"
+ }
+ ],
+ "built_at_commit": "8eacee46aec5142388f104e90878d220da249cc4"
+}
\ No newline at end of file
diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json
new file mode 100644
index 0000000..7607256
--- /dev/null
+++ b/graphify-out/manifest.json
@@ -0,0 +1,884 @@
+{
+ "backend/alembic/env.py": {
+ "mtime": 1789129232.0159023,
+ "seen": 1789377303.0691774,
+ "ast_hash": "d78f67ad0caed3f10805122e8d8e82d0",
+ "semantic_hash": "d78f67ad0caed3f10805122e8d8e82d0"
+ },
+ "backend/alembic/versions/20260911_0001_initial_schema.py": {
+ "mtime": 1789130024.8355556,
+ "seen": 1789377303.0691814,
+ "ast_hash": "3a446ae61cbf2362d24dc9ab6e72dd2d",
+ "semantic_hash": "3a446ae61cbf2362d24dc9ab6e72dd2d"
+ },
+ "backend/app/__init__.py": {
+ "mtime": 1789127291.0254955,
+ "seen": 1789377303.0691833,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/analytics/__init__.py": {
+ "mtime": 1789128680.8117132,
+ "seen": 1789377303.0691845,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/analytics/router.py": {
+ "mtime": 1789129123.9786532,
+ "seen": 1789377303.0691855,
+ "ast_hash": "dc4d5f43d1e17ae77b21f774d37c1106",
+ "semantic_hash": "dc4d5f43d1e17ae77b21f774d37c1106"
+ },
+ "backend/app/analytics/service.py": {
+ "mtime": 1789129314.8210335,
+ "seen": 1789377303.0691862,
+ "ast_hash": "0385e76cccd5d140b8cc01af5b74821e",
+ "semantic_hash": "0385e76cccd5d140b8cc01af5b74821e"
+ },
+ "backend/app/audit/__init__.py": {
+ "mtime": 1789127312.3538313,
+ "seen": 1789377303.0691874,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/audit/models.py": {
+ "mtime": 1789127312.353331,
+ "seen": 1789377303.069188,
+ "ast_hash": "84a2cb94c3a10150a76f59ff762efc49",
+ "semantic_hash": "84a2cb94c3a10150a76f59ff762efc49"
+ },
+ "backend/app/audit/service.py": {
+ "mtime": 1789127312.3538313,
+ "seen": 1789377303.0691888,
+ "ast_hash": "791163353fbef85a77ace789c704188c",
+ "semantic_hash": "791163353fbef85a77ace789c704188c"
+ },
+ "backend/app/budgeting/__init__.py": {
+ "mtime": 1789127598.9634895,
+ "seen": 1789377303.0691895,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/budgeting/models.py": {
+ "mtime": 1789356526.9709191,
+ "seen": 1789377303.0691907,
+ "ast_hash": "039081cab3d91704e8f8a7152a981304",
+ "semantic_hash": "039081cab3d91704e8f8a7152a981304"
+ },
+ "backend/app/budgeting/router.py": {
+ "mtime": 1789129314.8240335,
+ "seen": 1789377303.0691917,
+ "ast_hash": "c352243e4fb85ab49f9cf4532c11bd3f",
+ "semantic_hash": "c352243e4fb85ab49f9cf4532c11bd3f"
+ },
+ "backend/app/budgeting/service.py": {
+ "mtime": 1789358018.8352346,
+ "seen": 1789377303.0691924,
+ "ast_hash": "3eac2370782c5606fa0ceb3b2b6b49c6",
+ "semantic_hash": "3eac2370782c5606fa0ceb3b2b6b49c6"
+ },
+ "backend/app/categorization/__init__.py": {
+ "mtime": 1789127372.62572,
+ "seen": 1789377303.0691931,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/categorization/models.py": {
+ "mtime": 1789130236.8679283,
+ "seen": 1789377303.0691943,
+ "ast_hash": "922083067aa2a24d67954296844db8f0",
+ "semantic_hash": "922083067aa2a24d67954296844db8f0"
+ },
+ "backend/app/categorization/service.py": {
+ "mtime": 1789128297.7359908,
+ "seen": 1789377303.0691953,
+ "ast_hash": "9590b3c99e7c2b20b40d895d7495b5cf",
+ "semantic_hash": "9590b3c99e7c2b20b40d895d7495b5cf"
+ },
+ "backend/app/config.py": {
+ "mtime": 1789356583.024539,
+ "seen": 1789377303.069196,
+ "ast_hash": "af0c778e49e82763261430b477375048",
+ "semantic_hash": "af0c778e49e82763261430b477375048"
+ },
+ "backend/app/db/__init__.py": {
+ "mtime": 1789127291.0254955,
+ "seen": 1789377303.069197,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/db/base.py": {
+ "mtime": 1789128247.897287,
+ "seen": 1789377303.069198,
+ "ast_hash": "ec981c0f87b0470519cca7727172a950",
+ "semantic_hash": "ec981c0f87b0470519cca7727172a950"
+ },
+ "backend/app/db/models.py": {
+ "mtime": 1789128813.706167,
+ "seen": 1789377303.0691986,
+ "ast_hash": "338516ce68785afd5a7fe37f06e1c56f",
+ "semantic_hash": "338516ce68785afd5a7fe37f06e1c56f"
+ },
+ "backend/app/db/session.py": {
+ "mtime": 1789128374.1340652,
+ "seen": 1789377303.0691996,
+ "ast_hash": "9e29a1eebfec6e48e97baf28e506b037",
+ "semantic_hash": "9e29a1eebfec6e48e97baf28e506b037"
+ },
+ "backend/app/dependencies.py": {
+ "mtime": 1789128452.8041663,
+ "seen": 1789377303.0692003,
+ "ast_hash": "20666502da4de510d1cf6939e35e9c20",
+ "semantic_hash": "20666502da4de510d1cf6939e35e9c20"
+ },
+ "backend/app/errors.py": {
+ "mtime": 1789127291.0254955,
+ "seen": 1789377303.0692015,
+ "ast_hash": "368489412799d564f127259ecc0c474c",
+ "semantic_hash": "368489412799d564f127259ecc0c474c"
+ },
+ "backend/app/exports/__init__.py": {
+ "mtime": 1789128752.0481794,
+ "seen": 1789377303.0692022,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/exports/models.py": {
+ "mtime": 1789128752.0481794,
+ "seen": 1789377303.069203,
+ "ast_hash": "b76e7bca1889bdf298b5158da2f35642",
+ "semantic_hash": "b76e7bca1889bdf298b5158da2f35642"
+ },
+ "backend/app/exports/router.py": {
+ "mtime": 1789358158.624152,
+ "seen": 1789377303.0692039,
+ "ast_hash": "28cc16dfa8d0b6b588e8f3a7d0a2f110",
+ "semantic_hash": "28cc16dfa8d0b6b588e8f3a7d0a2f110"
+ },
+ "backend/app/exports/service.py": {
+ "mtime": 1789360140.0563023,
+ "seen": 1789377303.0692048,
+ "ast_hash": "a9f5a725bd06779f83eb20beda61881c",
+ "semantic_hash": "a9f5a725bd06779f83eb20beda61881c"
+ },
+ "backend/app/exports/tasks.py": {
+ "mtime": 1789130443.0178635,
+ "seen": 1789377303.0692055,
+ "ast_hash": "de092ecca36d64718378a44d06adb5b6",
+ "semantic_hash": "de092ecca36d64718378a44d06adb5b6"
+ },
+ "backend/app/identity/__init__.py": {
+ "mtime": 1789127312.3538313,
+ "seen": 1789377303.0692062,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/identity/mailer.py": {
+ "mtime": 1789357272.300995,
+ "seen": 1789377303.069207,
+ "ast_hash": "1e6fd1b285085e96819214bccde90a34",
+ "semantic_hash": "1e6fd1b285085e96819214bccde90a34"
+ },
+ "backend/app/identity/models.py": {
+ "mtime": 1789130024.833855,
+ "seen": 1789377303.069208,
+ "ast_hash": "f7ad1f0468ad21ac2b86e49ef260f747",
+ "semantic_hash": "f7ad1f0468ad21ac2b86e49ef260f747"
+ },
+ "backend/app/identity/router.py": {
+ "mtime": 1789356583.0255392,
+ "seen": 1789377303.0692086,
+ "ast_hash": "00089d34e9d5d5e965334b4520935bf8",
+ "semantic_hash": "00089d34e9d5d5e965334b4520935bf8"
+ },
+ "backend/app/identity/service.py": {
+ "mtime": 1789130458.2090783,
+ "seen": 1789377303.0692096,
+ "ast_hash": "a2efb5e20098740645da8b58bd95073d",
+ "semantic_hash": "a2efb5e20098740645da8b58bd95073d"
+ },
+ "backend/app/imports/__init__.py": {
+ "mtime": 1789127900.8512905,
+ "seen": 1789377303.0692103,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/imports/adapters/__init__.py": {
+ "mtime": 1789128289.6891637,
+ "seen": 1789377303.0692112,
+ "ast_hash": "cb3d7cdba651c7e72e63b48e0dc1ada4",
+ "semantic_hash": "cb3d7cdba651c7e72e63b48e0dc1ada4"
+ },
+ "backend/app/imports/adapters/alfa_xlsx.py": {
+ "mtime": 1789129314.8220334,
+ "seen": 1789377303.069212,
+ "ast_hash": "f134a338a84dabd4bf83fe9921fee6e1",
+ "semantic_hash": "f134a338a84dabd4bf83fe9921fee6e1"
+ },
+ "backend/app/imports/adapters/base.py": {
+ "mtime": 1789128289.6891637,
+ "seen": 1789377303.069213,
+ "ast_hash": "d56aa3b5b32d0673ac4f2898d658327c",
+ "semantic_hash": "d56aa3b5b32d0673ac4f2898d658327c"
+ },
+ "backend/app/imports/adapters/ozon_pdf.py": {
+ "mtime": 1789128297.7359908,
+ "seen": 1789377303.0692136,
+ "ast_hash": "24fb6546e843e084f5b41ba134842c75",
+ "semantic_hash": "24fb6546e843e084f5b41ba134842c75"
+ },
+ "backend/app/imports/adapters/rocketbank_pdf.py": {
+ "mtime": 1789127950.4610171,
+ "seen": 1789377303.069214,
+ "ast_hash": "7e3e787ffb32eb5a88b7f1af8627ba83",
+ "semantic_hash": "7e3e787ffb32eb5a88b7f1af8627ba83"
+ },
+ "backend/app/imports/blob.py": {
+ "mtime": 1789129216.5581613,
+ "seen": 1789377303.0692153,
+ "ast_hash": "60d315883175474711dff503c70400a5",
+ "semantic_hash": "60d315883175474711dff503c70400a5"
+ },
+ "backend/app/imports/celery_app.py": {
+ "mtime": 1789130443.0194046,
+ "seen": 1789377303.069216,
+ "ast_hash": "03e8b50c4722e8252a34508df1164985",
+ "semantic_hash": "03e8b50c4722e8252a34508df1164985"
+ },
+ "backend/app/imports/crypto.py": {
+ "mtime": 1789127900.8612905,
+ "seen": 1789377303.0692167,
+ "ast_hash": "c72d7849c6f46e6c9a9136f3ae9dc92f",
+ "semantic_hash": "c72d7849c6f46e6c9a9136f3ae9dc92f"
+ },
+ "backend/app/imports/models.py": {
+ "mtime": 1789358018.8338456,
+ "seen": 1789377303.0692174,
+ "ast_hash": "416d7e45875501344596ef7867f77d0c",
+ "semantic_hash": "416d7e45875501344596ef7867f77d0c"
+ },
+ "backend/app/imports/readers.py": {
+ "mtime": 1789128289.6877162,
+ "seen": 1789377303.0692189,
+ "ast_hash": "0904afccafd9eb544b4d6846fc6384c8",
+ "semantic_hash": "0904afccafd9eb544b4d6846fc6384c8"
+ },
+ "backend/app/imports/router.py": {
+ "mtime": 1789358168.7152903,
+ "seen": 1789377303.0692196,
+ "ast_hash": "9eba514885eb369b2756103d10d518a3",
+ "semantic_hash": "9eba514885eb369b2756103d10d518a3"
+ },
+ "backend/app/imports/service.py": {
+ "mtime": 1789358130.3195853,
+ "seen": 1789377303.0692203,
+ "ast_hash": "aa388826ac8d183731806f96c10da0f4",
+ "semantic_hash": "aa388826ac8d183731806f96c10da0f4"
+ },
+ "backend/app/imports/tasks.py": {
+ "mtime": 1789356921.2930734,
+ "seen": 1789377303.0692213,
+ "ast_hash": "1b26900740c5c6905601ba65d645857b",
+ "semantic_hash": "1b26900740c5c6905601ba65d645857b"
+ },
+ "backend/app/ledger/__init__.py": {
+ "mtime": 1789127415.7777057,
+ "seen": 1789377303.0692222,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/ledger/models.py": {
+ "mtime": 1789130236.8679283,
+ "seen": 1789377303.069223,
+ "ast_hash": "81335e0d9f1f5a71be1626ec218da410",
+ "semantic_hash": "81335e0d9f1f5a71be1626ec218da410"
+ },
+ "backend/app/ledger/router.py": {
+ "mtime": 1789358018.8352346,
+ "seen": 1789377303.0692236,
+ "ast_hash": "809411054fbede0694ed6ee863723fe5",
+ "semantic_hash": "809411054fbede0694ed6ee863723fe5"
+ },
+ "backend/app/ledger/service.py": {
+ "mtime": 1789358018.8349617,
+ "seen": 1789377303.0692244,
+ "ast_hash": "96a715590e5af44c494e5c7c817780a3",
+ "semantic_hash": "96a715590e5af44c494e5c7c817780a3"
+ },
+ "backend/app/main.py": {
+ "mtime": 1789130118.4222198,
+ "seen": 1789377303.0692253,
+ "ast_hash": "b4f205a9d87d905121bda1e4a65c20ea",
+ "semantic_hash": "b4f205a9d87d905121bda1e4a65c20ea"
+ },
+ "backend/app/ratelimit.py": {
+ "mtime": 1789357059.570077,
+ "seen": 1789377303.069226,
+ "ast_hash": "e1732ffc6140108ea33bc70591653dd8",
+ "semantic_hash": "e1732ffc6140108ea33bc70591653dd8"
+ },
+ "backend/app/security.py": {
+ "mtime": 1789360140.0553021,
+ "seen": 1789377303.069227,
+ "ast_hash": "0d73845e1a3da2c128cbb1aacd39506d",
+ "semantic_hash": "0d73845e1a3da2c128cbb1aacd39506d"
+ },
+ "backend/app/spaces/__init__.py": {
+ "mtime": 1789127346.4407892,
+ "seen": 1789377303.0692277,
+ "ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
+ "semantic_hash": "d41d8cd98f00b204e9800998ecf8427e"
+ },
+ "backend/app/spaces/models.py": {
+ "mtime": 1789128247.897287,
+ "seen": 1789377303.0692286,
+ "ast_hash": "7bbb57eb5e95d7b59087f478d7c20412",
+ "semantic_hash": "7bbb57eb5e95d7b59087f478d7c20412"
+ },
+ "backend/app/spaces/router.py": {
+ "mtime": 1789357010.1013982,
+ "seen": 1789377303.0692296,
+ "ast_hash": "073fa39a355b257a832ead3830942d8f",
+ "semantic_hash": "073fa39a355b257a832ead3830942d8f"
+ },
+ "backend/app/spaces/service.py": {
+ "mtime": 1789129887.1068308,
+ "seen": 1789377303.0692303,
+ "ast_hash": "99f21c94dad6403b77f4cafed97c1c2e",
+ "semantic_hash": "99f21c94dad6403b77f4cafed97c1c2e"
+ },
+ "backend/app/worker.py": {
+ "mtime": 1789129206.4285526,
+ "seen": 1789377303.069231,
+ "ast_hash": "4788addc575411056226ee892d1e2806",
+ "semantic_hash": "4788addc575411056226ee892d1e2806"
+ },
+ "backend/pyproject.toml": {
+ "mtime": 1789360098.861183,
+ "seen": 1789377303.0692322,
+ "ast_hash": "3af36a3ae7c03efc22fbaee92f71daaf",
+ "semantic_hash": "3af36a3ae7c03efc22fbaee92f71daaf"
+ },
+ "backend/tests/conftest.py": {
+ "mtime": 1789129509.9246948,
+ "seen": 1789377303.069233,
+ "ast_hash": "f74b424930fc6a978616e2e1bd081a0b",
+ "semantic_hash": "f74b424930fc6a978616e2e1bd081a0b"
+ },
+ "backend/tests/test_api.py": {
+ "mtime": 1789130118.4241138,
+ "seen": 1789377303.069234,
+ "ast_hash": "bfec0778131788a91a0bc5c9ec2ad8ba",
+ "semantic_hash": "bfec0778131788a91a0bc5c9ec2ad8ba"
+ },
+ "backend/tests/test_budget.py": {
+ "mtime": 1789358107.2584474,
+ "seen": 1789377303.0692346,
+ "ast_hash": "f6e5c4d1e1d0f2b1941acf8ec9f6678b",
+ "semantic_hash": "f6e5c4d1e1d0f2b1941acf8ec9f6678b"
+ },
+ "backend/tests/test_imports.py": {
+ "mtime": 1789358115.6295624,
+ "seen": 1789377303.0692356,
+ "ast_hash": "34ad7bb7ce983ff5fd4f8b3afc3d9f8b",
+ "semantic_hash": "34ad7bb7ce983ff5fd4f8b3afc3d9f8b"
+ },
+ "backend/tests/test_ledger_properties.py": {
+ "mtime": 1789129573.0755556,
+ "seen": 1789377303.0692365,
+ "ast_hash": "fb7d5e4503c9482b5014e28528f75e2a",
+ "semantic_hash": "fb7d5e4503c9482b5014e28528f75e2a"
+ },
+ "backend/tests/test_postgres_and_s3.py": {
+ "mtime": 1789130360.2146895,
+ "seen": 1789377303.0692372,
+ "ast_hash": "c811cba6bd00ab76e3e64f977bc29e04",
+ "semantic_hash": "c811cba6bd00ab76e3e64f977bc29e04"
+ },
+ "frontend/eslint.config.js": {
+ "mtime": 1789128706.6116898,
+ "seen": 1789377303.069238,
+ "ast_hash": "ed54799a921d10394f826893acb46876",
+ "semantic_hash": "ed54799a921d10394f826893acb46876"
+ },
+ "frontend/package.json": {
+ "mtime": 1789126987.143408,
+ "seen": 1789377303.069239,
+ "ast_hash": "d3b3d1b1c95c803bfa3f71241cdca23d",
+ "semantic_hash": "d3b3d1b1c95c803bfa3f71241cdca23d"
+ },
+ "frontend/scripts/generate-api.mjs": {
+ "mtime": 1789126898.3307452,
+ "seen": 1789377303.0692399,
+ "ast_hash": "61461f226e7d2bba9730be8b7da165f9",
+ "semantic_hash": "61461f226e7d2bba9730be8b7da165f9"
+ },
+ "frontend/src/App.tsx": {
+ "mtime": 1789127518.1600943,
+ "seen": 1789377303.0692406,
+ "ast_hash": "752eea473bb3bb6d8a2dd28f5ae87280",
+ "semantic_hash": "752eea473bb3bb6d8a2dd28f5ae87280"
+ },
+ "frontend/src/api/client.ts": {
+ "mtime": 1789127044.43022,
+ "seen": 1789377303.0692413,
+ "ast_hash": "dbea075a006b7703340f7f93e69d53ac",
+ "semantic_hash": "dbea075a006b7703340f7f93e69d53ac"
+ },
+ "frontend/src/api/endpoints.ts": {
+ "mtime": 1789357272.302138,
+ "seen": 1789377303.069242,
+ "ast_hash": "c4d7620bf50bef28b20286b6093e7e30",
+ "semantic_hash": "c4d7620bf50bef28b20286b6093e7e30"
+ },
+ "frontend/src/api/generated/schema.d.ts": {
+ "mtime": 1789130160.8338337,
+ "seen": 1789377303.069243,
+ "ast_hash": "8857d50fb909f019e1d8c03009c0ada7",
+ "semantic_hash": "8857d50fb909f019e1d8c03009c0ada7"
+ },
+ "frontend/src/api/queryKeys.ts": {
+ "mtime": 1789127044.43022,
+ "seen": 1789377303.0692437,
+ "ast_hash": "5ec23457cf6b0f223df671d3bc0f8455",
+ "semantic_hash": "5ec23457cf6b0f223df671d3bc0f8455"
+ },
+ "frontend/src/api/types.ts": {
+ "mtime": 1789357272.302138,
+ "seen": 1789377303.069248,
+ "ast_hash": "0d3865b4525321cf5a6b360f72de5f5a",
+ "semantic_hash": "0d3865b4525321cf5a6b360f72de5f5a"
+ },
+ "frontend/src/app/router.tsx": {
+ "mtime": 1789357305.2954476,
+ "seen": 1789377303.0692487,
+ "ast_hash": "0366437498b1933d212cd103252a0b11",
+ "semantic_hash": "0366437498b1933d212cd103252a0b11"
+ },
+ "frontend/src/components/charts/ColumnChart.tsx": {
+ "mtime": 1789127463.8093653,
+ "seen": 1789377303.0692496,
+ "ast_hash": "3f2aeaca948431b2fd4cd86bedaa9ede",
+ "semantic_hash": "3f2aeaca948431b2fd4cd86bedaa9ede"
+ },
+ "frontend/src/components/charts/HorizontalBars.tsx": {
+ "mtime": 1789127423.3778224,
+ "seen": 1789377303.06925,
+ "ast_hash": "e341240d131f12fe680424010279ddd3",
+ "semantic_hash": "e341240d131f12fe680424010279ddd3"
+ },
+ "frontend/src/components/charts/PlanFactBars.tsx": {
+ "mtime": 1789127423.3794281,
+ "seen": 1789377303.069251,
+ "ast_hash": "f581486baa48447ec4c573acef3190ef",
+ "semantic_hash": "f581486baa48447ec4c573acef3190ef"
+ },
+ "frontend/src/components/layout/AppLayout.tsx": {
+ "mtime": 1789127423.3794281,
+ "seen": 1789377303.0692518,
+ "ast_hash": "ae7a94355ca990e4efc91664db0d86c2",
+ "semantic_hash": "ae7a94355ca990e4efc91664db0d86c2"
+ },
+ "frontend/src/components/layout/LangSwitcher.tsx": {
+ "mtime": 1789127423.3794281,
+ "seen": 1789377303.069253,
+ "ast_hash": "5be78b1684339d7ea82677fe1828162c",
+ "semantic_hash": "5be78b1684339d7ea82677fe1828162c"
+ },
+ "frontend/src/components/ui/Badge.tsx": {
+ "mtime": 1789127112.4896402,
+ "seen": 1789377303.0692537,
+ "ast_hash": "f1a5dd94fafcaa4ab6edeb2221ffdd18",
+ "semantic_hash": "f1a5dd94fafcaa4ab6edeb2221ffdd18"
+ },
+ "frontend/src/components/ui/Button.tsx": {
+ "mtime": 1789127112.4896402,
+ "seen": 1789377303.0692544,
+ "ast_hash": "ec61aded7bd1c0bc626b9f85243e6d24",
+ "semantic_hash": "ec61aded7bd1c0bc626b9f85243e6d24"
+ },
+ "frontend/src/components/ui/ConfirmDialog.tsx": {
+ "mtime": 1789127142.0840394,
+ "seen": 1789377303.0692554,
+ "ast_hash": "45b3ad6925a6e69045a59593882c7ffc",
+ "semantic_hash": "45b3ad6925a6e69045a59593882c7ffc"
+ },
+ "frontend/src/components/ui/EmptyState.tsx": {
+ "mtime": 1789127142.0700393,
+ "seen": 1789377303.0692563,
+ "ast_hash": "853f2c5b079b2cfa9e4f12363cefba3a",
+ "semantic_hash": "853f2c5b079b2cfa9e4f12363cefba3a"
+ },
+ "frontend/src/components/ui/ErrorState.tsx": {
+ "mtime": 1789127142.067039,
+ "seen": 1789377303.069257,
+ "ast_hash": "6827eb04b914e8c675e842fea74b5ba5",
+ "semantic_hash": "6827eb04b914e8c675e842fea74b5ba5"
+ },
+ "frontend/src/components/ui/Modal.tsx": {
+ "mtime": 1789127142.054039,
+ "seen": 1789377303.069259,
+ "ast_hash": "41b09f3998ca6f6d7ad415cceff4b9ea",
+ "semantic_hash": "41b09f3998ca6f6d7ad415cceff4b9ea"
+ },
+ "frontend/src/components/ui/MonthSwitcher.tsx": {
+ "mtime": 1789127142.0860393,
+ "seen": 1789377303.06926,
+ "ast_hash": "ddb486640fa05b742fa71167949a2aca",
+ "semantic_hash": "ddb486640fa05b742fa71167949a2aca"
+ },
+ "frontend/src/components/ui/PageHeader.tsx": {
+ "mtime": 1789127142.0810394,
+ "seen": 1789377303.0692606,
+ "ast_hash": "332c481c9030b26221b2b080482973a2",
+ "semantic_hash": "332c481c9030b26221b2b080482973a2"
+ },
+ "frontend/src/components/ui/QueryGate.tsx": {
+ "mtime": 1789128567.5977647,
+ "seen": 1789377303.0692613,
+ "ast_hash": "ee535a82d89a1d2bc30c5ec4907817c1",
+ "semantic_hash": "ee535a82d89a1d2bc30c5ec4907817c1"
+ },
+ "frontend/src/components/ui/Spinner.tsx": {
+ "mtime": 1789127142.061039,
+ "seen": 1789377303.0692623,
+ "ast_hash": "40c69d38fa5a96969026c1486ac981a5",
+ "semantic_hash": "40c69d38fa5a96969026c1486ac981a5"
+ },
+ "frontend/src/components/ui/Toaster.tsx": {
+ "mtime": 1789127142.0780392,
+ "seen": 1789377303.0692632,
+ "ast_hash": "d76eafaf1a72d8435cbce2fd9d2f8764",
+ "semantic_hash": "d76eafaf1a72d8435cbce2fd9d2f8764"
+ },
+ "frontend/src/components/ui/fields.tsx": {
+ "mtime": 1789128567.5907645,
+ "seen": 1789377303.069264,
+ "ast_hash": "5e1b157a5cd5b484582ba959049443aa",
+ "semantic_hash": "5e1b157a5cd5b484582ba959049443aa"
+ },
+ "frontend/src/hooks/useAccounts.ts": {
+ "mtime": 1789127463.8123653,
+ "seen": 1789377303.0692647,
+ "ast_hash": "5cbd401bea752132870ca35a0b2cf29f",
+ "semantic_hash": "5cbd401bea752132870ca35a0b2cf29f"
+ },
+ "frontend/src/hooks/useAnalytics.ts": {
+ "mtime": 1789127476.179531,
+ "seen": 1789377303.0692656,
+ "ast_hash": "2a0cad57cdfc7456c967b3fd122e6017",
+ "semantic_hash": "2a0cad57cdfc7456c967b3fd122e6017"
+ },
+ "frontend/src/hooks/useAuth.ts": {
+ "mtime": 1789357272.302138,
+ "seen": 1789377303.0692663,
+ "ast_hash": "40f9f47b108ec0b484f9564bd1d319cb",
+ "semantic_hash": "40f9f47b108ec0b484f9564bd1d319cb"
+ },
+ "frontend/src/hooks/useBudget.ts": {
+ "mtime": 1789127463.8123653,
+ "seen": 1789377303.0692673,
+ "ast_hash": "06c203b89322dca6cf80931f3558b0dc",
+ "semantic_hash": "06c203b89322dca6cf80931f3558b0dc"
+ },
+ "frontend/src/hooks/useImports.ts": {
+ "mtime": 1789127476.176531,
+ "seen": 1789377303.0692682,
+ "ast_hash": "d23f116da79b15438601751b45519268",
+ "semantic_hash": "d23f116da79b15438601751b45519268"
+ },
+ "frontend/src/hooks/useOperations.ts": {
+ "mtime": 1789127463.8123653,
+ "seen": 1789377303.069269,
+ "ast_hash": "3cac9924554a5465276a2c4431121866",
+ "semantic_hash": "3cac9924554a5465276a2c4431121866"
+ },
+ "frontend/src/hooks/useSpaceLifecycle.ts": {
+ "mtime": 1789356647.3201435,
+ "seen": 1789377303.0692697,
+ "ast_hash": "87c19951711d1798821f227eac36d609",
+ "semantic_hash": "87c19951711d1798821f227eac36d609"
+ },
+ "frontend/src/i18n/index.ts": {
+ "mtime": 1789128261.8073747,
+ "seen": 1789377303.0692706,
+ "ast_hash": "243512f6e095deeaa29393b7c831777f",
+ "semantic_hash": "243512f6e095deeaa29393b7c831777f"
+ },
+ "frontend/src/i18n/locales/en.json": {
+ "mtime": 1789357272.302995,
+ "seen": 1789377303.0692713,
+ "ast_hash": "2ce7444db1936d9c5fcca10b901c4afc",
+ "semantic_hash": "2ce7444db1936d9c5fcca10b901c4afc"
+ },
+ "frontend/src/i18n/locales/ru.json": {
+ "mtime": 1789357272.302995,
+ "seen": 1789377303.0692723,
+ "ast_hash": "ae00c080e0b9a10b6004c4094bcdb1ea",
+ "semantic_hash": "ae00c080e0b9a10b6004c4094bcdb1ea"
+ },
+ "frontend/src/main.tsx": {
+ "mtime": 1789127518.1660943,
+ "seen": 1789377303.069273,
+ "ast_hash": "9219312484aae5efecb6534357f9aadf",
+ "semantic_hash": "9219312484aae5efecb6534357f9aadf"
+ },
+ "frontend/src/pages/AcceptInvitePage.tsx": {
+ "mtime": 1789357272.302138,
+ "seen": 1789377303.069274,
+ "ast_hash": "11475c9e3ab1b5f50cbd8e5e63cca4cb",
+ "semantic_hash": "11475c9e3ab1b5f50cbd8e5e63cca4cb"
+ },
+ "frontend/src/pages/AccountsPage.tsx": {
+ "mtime": 1789127567.9147615,
+ "seen": 1789377303.0692747,
+ "ast_hash": "5da5d66e5eb40222e4ceb1f75ca951bd",
+ "semantic_hash": "5da5d66e5eb40222e4ceb1f75ca951bd"
+ },
+ "frontend/src/pages/AnalyticsPage.tsx": {
+ "mtime": 1789127904.7983484,
+ "seen": 1789377303.0692756,
+ "ast_hash": "4a83070566fde66ff6423b1064cde4e8",
+ "semantic_hash": "4a83070566fde66ff6423b1064cde4e8"
+ },
+ "frontend/src/pages/BudgetPage.tsx": {
+ "mtime": 1789127621.1764753,
+ "seen": 1789377303.0692763,
+ "ast_hash": "c1421d4088b0f174dc7ecb082b2a257d",
+ "semantic_hash": "c1421d4088b0f174dc7ecb082b2a257d"
+ },
+ "frontend/src/pages/ImportDetailPage.tsx": {
+ "mtime": 1789127866.2017796,
+ "seen": 1789377303.0692773,
+ "ast_hash": "52adf2e149d39f2b2d77f96640c72b5e",
+ "semantic_hash": "52adf2e149d39f2b2d77f96640c72b5e"
+ },
+ "frontend/src/pages/ImportsPage.tsx": {
+ "mtime": 1789127830.2842758,
+ "seen": 1789377303.069278,
+ "ast_hash": "721376253dda864ff81a5025691947e0",
+ "semantic_hash": "721376253dda864ff81a5025691947e0"
+ },
+ "frontend/src/pages/LoginPage.tsx": {
+ "mtime": 1789357272.302138,
+ "seen": 1789377303.069279,
+ "ast_hash": "6cb36d7a770d36c3dddf1dbb90ebc545",
+ "semantic_hash": "6cb36d7a770d36c3dddf1dbb90ebc545"
+ },
+ "frontend/src/pages/NotFoundPage.tsx": {
+ "mtime": 1789127518.2310953,
+ "seen": 1789377303.0692797,
+ "ast_hash": "53e014a77ff3070820a83458af08a5fd",
+ "semantic_hash": "53e014a77ff3070820a83458af08a5fd"
+ },
+ "frontend/src/pages/OperationsPage.tsx": {
+ "mtime": 1789128734.6790774,
+ "seen": 1789377303.0692806,
+ "ast_hash": "f4ae42adff88554aef7c522ce79daca3",
+ "semantic_hash": "f4ae42adff88554aef7c522ce79daca3"
+ },
+ "frontend/src/pages/ResetPasswordPage.tsx": {
+ "mtime": 1789357305.2944477,
+ "seen": 1789377303.0692816,
+ "ast_hash": "4ecaf25ff754290936fd87db84f19414",
+ "semantic_hash": "4ecaf25ff754290936fd87db84f19414"
+ },
+ "frontend/src/pages/ReviewQueuePage.tsx": {
+ "mtime": 1789127802.1288989,
+ "seen": 1789377303.0692823,
+ "ast_hash": "b3f57d73ef457c9b2427d74603972213",
+ "semantic_hash": "b3f57d73ef457c9b2427d74603972213"
+ },
+ "frontend/src/pages/SettingsPage.tsx": {
+ "mtime": 1789128572.7868366,
+ "seen": 1789377303.069283,
+ "ast_hash": "6a35c2799ba84fdbc1367d768907e8fa",
+ "semantic_hash": "6a35c2799ba84fdbc1367d768907e8fa"
+ },
+ "frontend/src/test/accounts-page.test.tsx": {
+ "mtime": 1789128626.8475864,
+ "seen": 1789377303.0692837,
+ "ast_hash": "d17270fb5ca22286d3d62d7e2679fbcb",
+ "semantic_hash": "d17270fb5ca22286d3d62d7e2679fbcb"
+ },
+ "frontend/src/test/budget-plan.test.tsx": {
+ "mtime": 1789128448.8001103,
+ "seen": 1789377303.0692847,
+ "ast_hash": "b2abf4ff7b3ea5b6f730cddd021b4127",
+ "semantic_hash": "b2abf4ff7b3ea5b6f730cddd021b4127"
+ },
+ "frontend/src/test/chart-accessible-table.test.tsx": {
+ "mtime": 1789128448.8031104,
+ "seen": 1789377303.0692854,
+ "ast_hash": "e8f2187db8969b2fb4975775e3dbdcb9",
+ "semantic_hash": "e8f2187db8969b2fb4975775e3dbdcb9"
+ },
+ "frontend/src/test/helpers.tsx": {
+ "mtime": 1789128456.9108279,
+ "seen": 1789377303.0692863,
+ "ast_hash": "041d8de84ce39044e32d9a4e45f176a0",
+ "semantic_hash": "041d8de84ce39044e32d9a4e45f176a0"
+ },
+ "frontend/src/test/i18n-parity.test.ts": {
+ "mtime": 1789128572.7505064,
+ "seen": 1789377303.069287,
+ "ast_hash": "cc870c8a667b6982c9fabd654468a46f",
+ "semantic_hash": "cc870c8a667b6982c9fabd654468a46f"
+ },
+ "frontend/src/test/import-polling.test.tsx": {
+ "mtime": 1789128692.423248,
+ "seen": 1789377303.0692883,
+ "ast_hash": "2b83dee550ca31b0d5980c8ce3235fd0",
+ "semantic_hash": "2b83dee550ca31b0d5980c8ce3235fd0"
+ },
+ "frontend/src/test/login-page.test.tsx": {
+ "mtime": 1789128286.0698264,
+ "seen": 1789377303.069289,
+ "ast_hash": "52ebeeb4fb554b4c830113cebcf9f530",
+ "semantic_hash": "52ebeeb4fb554b4c830113cebcf9f530"
+ },
+ "frontend/src/test/money.test.ts": {
+ "mtime": 1789128261.8154838,
+ "seen": 1789377303.0692897,
+ "ast_hash": "8faf4d33972c1583baa98fcd8160dbd0",
+ "semantic_hash": "8faf4d33972c1583baa98fcd8160dbd0"
+ },
+ "frontend/src/test/query-keys.test.ts": {
+ "mtime": 1789128626.8519824,
+ "seen": 1789377303.0692904,
+ "ast_hash": "554aa60181736710caf28df6f9b62a66",
+ "semantic_hash": "554aa60181736710caf28df6f9b62a66"
+ },
+ "frontend/src/test/setup.ts": {
+ "mtime": 1789128261.8154838,
+ "seen": 1789377303.0692916,
+ "ast_hash": "5b0ef0fbf28fe880eac77ca470cdb72f",
+ "semantic_hash": "5b0ef0fbf28fe880eac77ca470cdb72f"
+ },
+ "frontend/src/vite-env.d.ts": {
+ "mtime": 1789127028.213317,
+ "seen": 1789377303.0692923,
+ "ast_hash": "0352474ba2918efe13895edbc3780d94",
+ "semantic_hash": "0352474ba2918efe13895edbc3780d94"
+ },
+ "frontend/tsconfig.json": {
+ "mtime": 1789126877.2434592,
+ "seen": 1789377303.069293,
+ "ast_hash": "c57160ea7b6323de41adceed69142721",
+ "semantic_hash": "c57160ea7b6323de41adceed69142721"
+ },
+ "frontend/vite.config.ts": {
+ "mtime": 1789126877.239459,
+ "seen": 1789377303.0692937,
+ "ast_hash": "b99eeb04d213e3680abe9c3854521e80",
+ "semantic_hash": "b99eeb04d213e3680abe9c3854521e80"
+ },
+ "infra/postgres/init-app-role.sh": {
+ "mtime": 1789129887.1068308,
+ "seen": 1789377303.069295,
+ "ast_hash": "4c2b103cde06bc6df773f005c00b73d6",
+ "semantic_hash": "4c2b103cde06bc6df773f005c00b73d6"
+ },
+ ".github/workflows/ci.yml": {
+ "mtime": 1789360098.861183,
+ "seen": 1789377303.0692956,
+ "ast_hash": "2088fd86568bef56ce17fd0cc3b0b944",
+ "semantic_hash": "2088fd86568bef56ce17fd0cc3b0b944"
+ },
+ ".kilo/plans/1789034192214-financial-tracker-mvp.md": {
+ "mtime": 1789099088.960013,
+ "seen": 1789377303.0692966,
+ "ast_hash": "a2f21668b5ef4c0005316ef3e54b6a28",
+ "semantic_hash": "a2f21668b5ef4c0005316ef3e54b6a28"
+ },
+ "CONTEXT.md": {
+ "mtime": 1789126288.30262,
+ "seen": 1789377303.0692973,
+ "ast_hash": "c8211b75ee8dfba83e37f06ff219d2b1",
+ "semantic_hash": "c8211b75ee8dfba83e37f06ff219d2b1"
+ },
+ "README.md": {
+ "mtime": 1789358273.3585796,
+ "seen": 1789377303.0692983,
+ "ast_hash": "79eb6002a05286e6655e6fe3904f5b29",
+ "semantic_hash": "79eb6002a05286e6655e6fe3904f5b29"
+ },
+ "docs/adr/0001-financial-space-ownership-and-rls.md": {
+ "mtime": 1789126779.7591345,
+ "seen": 1789377303.0692992,
+ "ast_hash": "8fbddf58406caccd2d5a5b0e5f9ffab4",
+ "semantic_hash": "8fbddf58406caccd2d5a5b0e5f9ffab4"
+ },
+ "docs/adr/0002-journal-and-budget-reserves.md": {
+ "mtime": 1789126779.7821348,
+ "seen": 1789377303.0693,
+ "ast_hash": "6ca9f9b8f91733ce37e15f339a656726",
+ "semantic_hash": "6ca9f9b8f91733ce37e15f339a656726"
+ },
+ "docs/adr/0003-versioned-statement-imports.md": {
+ "mtime": 1789126790.5402813,
+ "seen": 1789377303.0693007,
+ "ast_hash": "6ed335eff108aaeaad91163d648825c1",
+ "semantic_hash": "6ed335eff108aaeaad91163d648825c1"
+ },
+ "docs/adr/0004-provider-neutral-encrypted-data-boundary.md": {
+ "mtime": 1789126790.5422814,
+ "seen": 1789377303.0693016,
+ "ast_hash": "460e37c748836b116a4ea820768a8007",
+ "semantic_hash": "460e37c748836b116a4ea820768a8007"
+ },
+ "docs/operations/backup-and-restore.md": {
+ "mtime": 1789126817.735651,
+ "seen": 1789377303.0693026,
+ "ast_hash": "188110b691922b9a23f4efa2ef4627e2",
+ "semantic_hash": "188110b691922b9a23f4efa2ef4627e2"
+ },
+ "docs/operations/beta-release-runbook.md": {
+ "mtime": 1789126842.5229878,
+ "seen": 1789377303.0693033,
+ "ast_hash": "00dada41b2d3425da89bcd277acce41e",
+ "semantic_hash": "00dada41b2d3425da89bcd277acce41e"
+ },
+ "docs/operations/deletion-ledger.md": {
+ "mtime": 1789126842.4969876,
+ "seen": 1789377303.0693042,
+ "ast_hash": "1aff4ccf6a2dbcf86ed72fd34bb69c6f",
+ "semantic_hash": "1aff4ccf6a2dbcf86ed72fd34bb69c6f"
+ },
+ "docs/parsers/private-fixture-gate.md": {
+ "mtime": 1789126842.518988,
+ "seen": 1789377303.0693052,
+ "ast_hash": "d4e23880cc1e29bfe416a3730ebbc76e",
+ "semantic_hash": "d4e23880cc1e29bfe416a3730ebbc76e"
+ },
+ "frontend/README.md": {
+ "mtime": 1789128756.9573848,
+ "seen": 1789377303.069306,
+ "ast_hash": "3c43f67a81ce2c7b0cd18aeab85ed2c2",
+ "semantic_hash": "3c43f67a81ce2c7b0cd18aeab85ed2c2"
+ },
+ "frontend/index.html": {
+ "mtime": 1789126886.1155794,
+ "seen": 1789377303.0693069,
+ "ast_hash": "42788af442bf05e487937f435141f84b",
+ "semantic_hash": "42788af442bf05e487937f435141f84b"
+ },
+ "infra/README.md": {
+ "mtime": 1789357215.8087454,
+ "seen": 1789377303.0693076,
+ "ast_hash": "0a7bb82cce04631f36f2d561a1665478",
+ "semantic_hash": "0a7bb82cce04631f36f2d561a1665478"
+ },
+ "infra/docker-compose.yml": {
+ "mtime": 1789358018.8362348,
+ "seen": 1789377303.0693088,
+ "ast_hash": "ee8600186391e2a0bf175a7e7ea7a2d2",
+ "semantic_hash": "ee8600186391e2a0bf175a7e7ea7a2d2"
+ },
+ "frontend/public/favicon.svg": {
+ "mtime": 1789126886.1235795,
+ "seen": 1789377303.0693095,
+ "ast_hash": "83637b50c3736f9f0675b7f23ff5a51e",
+ "semantic_hash": "83637b50c3736f9f0675b7f23ff5a51e"
+ }
+}
\ No newline at end of file
diff --git a/infra/docker-compose.yml b/infra/docker-compose.yml
index 21cc3b0..c88b1ac 100644
--- a/infra/docker-compose.yml
+++ b/infra/docker-compose.yml
@@ -168,7 +168,7 @@ services:
build: *backend-build
restart: unless-stopped
command:
- ["celery", "-A", "app.worker.celery", "worker", "--loglevel=INFO", "--concurrency=2", "--prefetch=1", "--acks-late"]
+ ["celery", "-A", "app.worker.celery", "worker", "--loglevel=INFO", "--concurrency=2"]
environment: *api-env
depends_on:
postgres:
@@ -200,6 +200,11 @@ services:
build:
context: ../frontend
dockerfile: ../infra/docker/Dockerfile.frontend
+ network: host
+ args:
+ - HTTP_PROXY
+ - HTTPS_PROXY
+ - NO_PROXY
additional_contexts:
infra: ../infra
restart: unless-stopped
diff --git a/infra/docker/Dockerfile.frontend b/infra/docker/Dockerfile.frontend
index dd4bba5..1956a37 100644
--- a/infra/docker/Dockerfile.frontend
+++ b/infra/docker/Dockerfile.frontend
@@ -14,9 +14,9 @@
FROM node:22-alpine AS build
WORKDIR /app
-RUN corepack enable
+RUN npm install --global pnpm@12.4.1
-COPY package.json pnpm-lock.yaml ./
+COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
RUN pnpm install --frozen-lockfile
COPY . .
@@ -24,7 +24,7 @@ RUN pnpm build
FROM nginx:1.27-alpine AS runtime
-COPY --from=infra infra/nginx/nginx.conf /etc/nginx/conf.d/default.conf
+COPY --from=infra nginx/nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80