{ "0": "imports/router.py", "1": "budgeting/router.py", "2": "Base", "3": "main.py", "4": "test_import_savings.py", "5": "alfa_xlsx.py", "6": "system-account-picker.test.tsx", "7": "types.ts", "8": "router.tsx", "9": "ledger/router.py", "10": "@testing-library/jest-dom", "11": "compilerOptions", "12": "AnalyticsPage.tsx", "13": "mcc.py", "14": "devDependencies", "15": "ledger/service.py", "16": "dependencies", "17": "useOperations.ts", "18": "OperationsPage.tsx", "19": "analytics/service.py", "20": "fields.tsx", "21": "test_adapter_contracts.py", "22": "BudgetPage.tsx", "23": "client.ts", "24": "imports/service.py", "25": "Docker Compose Development Stack", "26": "Financial Space", "27": "scripts", "28": "import-polling.test.tsx", "29": "General Pool", "30": "TestBaseContract", "31": "Per-File Envelope Encryption", "32": "Operation", "33": "Versioned Statement Imports", "34": "Finance Frontend SPA", "35": "Closed Beta Launch Gates", "36": "package.json", "37": "Financial Tracker MVP", "38": "TestRocketbankDebitContract", "39": "generate-api.mjs", "40": "schema.d.ts", "41": "test_api.py", "42": "i18n-parity.test.ts", "43": "Expected Income", "44": "api", "45": "ReviewQueuePage.tsx", "46": "category-manager.test.tsx", "47": "graphify", "48": "BudgetBlockers.tsx", "49": "typescript-eslint", "50": "Ближайший край: накопления, категории и блокировки бюджета", "51": "RocketbankDebitPdfAdapter", "52": "Favicon SVG (ledger lines icon)", "53": "init-app-role.sh", "54": "app/__init__.py", "55": "spaces/__init__.py", "56": "Payee", "57": "eslint.config.js", "58": "test_private_fixtures.py", "59": "vite-env.d.ts", "60": "vite.config.ts", "61": "finance-backend", "62": "LocalDirectoryBlobStore", "63": "TestOzonDebitContract", "64": "Gitea CI and real statement imports", "65": "20260918_0002_hold_lifecycle.py", "66": "eslint-plugin-react-hooks", "67": "import-hold-resolution.test.tsx", "68": "budgeting/service.py", "69": "TestAlfaDebitContract", "70": "0003-выписки-fixes.md", "71": "20260922_0003_savings_system.py", "72": "jsdom", "73": "savings-convert-revert.test.tsx", "74": "get_settings", "75": "ColumnChart.tsx", "76": "dependencies.py", "77": "AGENTS.md", "78": "graphify.js", "79": "Session", "80": "test_category_definitions.py", "81": "budget-plan.test.tsx", "82": "TestAlfaSavingsRule", "83": "exports/service.py", "84": "@testing-library/react", "85": "identity/service.py", "86": "test_import_holds.py", "87": "get_or_create_period", "88": "20260923_0005_optional_hold_reason.py", "89": "typescript", "91": "test_review_queue_batch.py", "92": "@vitejs/plugin-react", "93": "ImportDetailPage.tsx", "95": "app_error_handler", "96": "review-queue-save.test.tsx", "97": "перевод_между_своими.md", "98": "0002-fixes.md", "99": "0001-fixes.md", "100": "detect_adapter" }