{"DEPLOYMENT.md":{"size":10373,"mtime_ns":1789081604000000000,"indexed_at_ns":1791625477488613005,"word_count":1321,"hashes":{"deployment.md":"c7619135f1bd8535712ad9a266dac61c56d8e0456a6707423e65356f29616292"}},"README.md":{"size":6340,"mtime_ns":1789080792000000000,"indexed_at_ns":1791625477488926018,"word_count":631,"hashes":{"readme.md":"63f4ac68290f8cc367cb47ec91ef286ef3f9c041008c8ffaa06e8110607fc62a"}},"backend/alembic/env.py":{"size":2181,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474747677981,"word_count":218,"hashes":{"backend/alembic/env.py":"60c12a0a19531715970eff76c74f92b530421a527f5ba430b0f3b9f53177cf63"}},"backend/alembic/versions/3a91c2f7e0b5_add_user_preferences.py":{"size":642,"mtime_ns":1788558784000000000,"indexed_at_ns":1791625474760596944,"word_count":72,"hashes":{"backend/alembic/versions/3a91c2f7e0b5_add_user_preferences.py":"4206bc7c5d63a0da671b1943903e08a7522aeee877ca389e39623211396869a9"}},"backend/alembic/versions/92142083b497_initial_migration.py":{"size":19960,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474761087118,"word_count":982,"hashes":{"backend/alembic/versions/92142083b497_initial_migration.py":"00ea61e5e8c689def002934649323b4b8fbcf9f7b654047eec33818e7692fd26"}},"backend/app/api/admin.py":{"size":16427,"mtime_ns":1791628995230360813,"indexed_at_ns":1791629156155361787,"word_count":1490,"hashes":{"backend/app/api/admin.py":"a05ef5dadd99b4e1d494080049c6b7a7f55cc8c4b0fb516514bc47eef0c2832f"}},"backend/app/api/auth.py":{"size":18258,"mtime_ns":1791628045794053820,"indexed_at_ns":1791629156215440509,"word_count":1480,"hashes":{"backend/app/api/auth.py":"d20f1054c8ed277f06d0aeaab10bb09062bc3457510272da90291bbf61a0ddc3"}},"backend/app/api/data.py":{"size":40423,"mtime_ns":1788988131000000000,"indexed_at_ns":1791625474762312049,"word_count":3652,"hashes":{"backend/app/api/data.py":"5ee07feb9966efba4b70af4d66c85e0deae23ec5a6824bf8b07eba89bfdc4f8c"}},"backend/app/api/db.py":{"size":11108,"mtime_ns":1788988131000000000,"indexed_at_ns":1791625474762770214,"word_count":1107,"hashes":{"backend/app/api/db.py":"5e86014027f5f88e543f6fe1d2e3e07aa9c627674e5b9d9fcf2f7c0e771de9d2"}},"backend/app/api/jobs.py":{"size":9972,"mtime_ns":1791628151811747726,"indexed_at_ns":1791629156216433630,"word_count":813,"hashes":{"backend/app/api/jobs.py":"09a8188d2e14233604c864b374407560f71b63a311452388d940728b3285c19f"}},"backend/app/api/lab.py":{"size":8121,"mtime_ns":1790936439115741361,"indexed_at_ns":1791625474763648740,"word_count":896,"hashes":{"backend/app/api/lab.py":"a9723d051fc43a9be1e3ec03d5ff8307075d5e34772365b68701bd0a43921c92"}},"backend/app/api/logs.py":{"size":3586,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474764107585,"word_count":332,"hashes":{"backend/app/api/logs.py":"177be6f9cc34a09cbf9a1e05c12208c7db3887e5164061694bdc82ea6427428e"}},"backend/app/api/ops_monitoring.py":{"size":18176,"mtime_ns":1791628278693184585,"indexed_at_ns":1791629156216980228,"word_count":1581,"hashes":{"backend/app/api/ops_monitoring.py":"82a7c5c93447fe78f5622b9f0e5ca5faf11ecd80be62d702787553ae12e8a0bd"}},"backend/app/api/scheduler.py":{"size":1315,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474764949625,"word_count":122,"hashes":{"backend/app/api/scheduler.py":"5e8b6537f2055adb1927e75d68a9b4df0dc92dbcd4f45cd7fc41fe7c9f8848f7"}},"backend/app/api/service_accounts.py":{"size":4651,"mtime_ns":1791629112080922021,"indexed_at_ns":1791629156217598129,"word_count":425,"hashes":{"backend/app/api/service_accounts.py":"d1a935eeefd9ad1303760d04e609443fc20a6c19e989b3755b8ce70a34597ee8"}},"backend/app/api/workforce.py":{"size":12731,"mtime_ns":1790936642428201381,"indexed_at_ns":1791625474765796493,"word_count":1116,"hashes":{"backend/app/api/workforce.py":"edcb5edc431d9706dbe1022c97c130037f76868055c847a8483f7cf99cc76b87"}},"backend/app/celery_app.py":{"size":4324,"mtime_ns":1790840669317457604,"indexed_at_ns":1791625474766225762,"word_count":280,"hashes":{"backend/app/celery_app.py":"c9aaf5acf99512d38df4e8148cf6f2015cfd3ae5cc4b0f68dc0978b472117440"}},"backend/app/core/config.py":{"size":4155,"mtime_ns":1790936642430201356,"indexed_at_ns":1791625474766638712,"word_count":374,"hashes":{"backend/app/core/config.py":"dc52816dfe331a99d97dd2ba53e3620d9c666bd5bf713322a01357e6b696c5d7"}},"backend/app/core/logging.py":{"size":2010,"mtime_ns":1791627912852691627,"indexed_at_ns":1791629156218038300,"word_count":129,"hashes":{"backend/app/core/logging.py":"a8087f1c08f07ba756fd578419c103a48e2e68aee40ce25d9f51a53823e9baad"}},"backend/app/core/rate_limit.py":{"size":476,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625474767468518,"word_count":44,"hashes":{"backend/app/core/rate_limit.py":"532f6bd0771c13c9d4f4185870b728229676ea367bed2e2f837cf731682a2266"}},"backend/app/db/models.py":{"size":17714,"mtime_ns":1790936642431201344,"indexed_at_ns":1791625474767806198,"word_count":1585,"hashes":{"backend/app/db/models.py":"0fc8ec9c107bc3e364c6b75611b5913264388d36ea58ab699d7107271ab95ab5"}},"backend/app/db/session.py":{"size":1189,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474768177670,"word_count":89,"hashes":{"backend/app/db/session.py":"057dc5ec1e0aac37b9d39c354ad1cca8d5a08cabe58ef651fa59b6cc24bb5bd9"}},"backend/app/jobs/ops_monitoring.py":{"size":20355,"mtime_ns":1791628373386017995,"indexed_at_ns":1791629156218449406,"word_count":1526,"hashes":{"backend/app/jobs/ops_monitoring.py":"293567315b945c713bfde4e3e16be20e1ebfe45f52cc0124724d39ceb1019312"}},"backend/app/jobs/scheduler.py":{"size":8366,"mtime_ns":1791628392297785013,"indexed_at_ns":1791629156219064262,"word_count":698,"hashes":{"backend/app/jobs/scheduler.py":"cc00dbfb5a8d63cbf4389de64ede4f3072a510215d02ae47fca747ec8580b4b1"}},"backend/app/jobs/tms.py":{"size":34473,"mtime_ns":1791628328534570563,"indexed_at_ns":1791629156219494093,"word_count":2260,"hashes":{"backend/app/jobs/tms.py":"8db2bfb6993af9072f128e6bd2e32e5c6c40f26ac411a05ebc2f74eb5f3ad710"}},"backend/app/main.py":{"size":2241,"mtime_ns":1790936392353325571,"indexed_at_ns":1791625474769726025,"word_count":162,"hashes":{"backend/app/main.py":"21a3aebdc354f1bc41e604f317dcd4d179f327a37a9970890d2bd3b690724737"}},"backend/app/services/audit_service.py":{"size":395,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474770137221,"word_count":47,"hashes":{"backend/app/services/audit_service.py":"60c7aa5789d57586b565148a25f883257ba8071d0f22e4f8d9c977eb48da828d"}},"backend/app/services/auth_service.py":{"size":10796,"mtime_ns":1791628418160466394,"indexed_at_ns":1791629156219949731,"word_count":1022,"hashes":{"backend/app/services/auth_service.py":"253bb7058ce2788c3f0efb93747c4875615e96dfd9ddc592ef9a6da54e5f16c6"}},"backend/app/services/ehc_api.py":{"size":7811,"mtime_ns":1791628468465846873,"indexed_at_ns":1791629156220380805,"word_count":640,"hashes":{"backend/app/services/ehc_api.py":"a5a53df2bd490ec095102f8958e590696c085f28c26ff96f200e8305bf99891a"}},"backend/app/services/encryption.py":{"size":3310,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474771551888,"word_count":324,"hashes":{"backend/app/services/encryption.py":"626734d55c9eae820cb387bf941facd107123ece1c0dca072a2ce08c1148173a"}},"backend/app/services/import_csv.py":{"size":3777,"mtime_ns":1790936642433201319,"indexed_at_ns":1791625474771805960,"word_count":319,"hashes":{"backend/app/services/import_csv.py":"4df6942a034cd5fd2f58d74bd113386bc2cb3559757ab7b267fb04b093f0fc34"}},"backend/app/services/import_state.py":{"size":3291,"mtime_ns":1790936642434201306,"indexed_at_ns":1791625474773115020,"word_count":275,"hashes":{"backend/app/services/import_state.py":"6f3d91a7508659ca4fe79ef1874f57c46a681ecea2b2493b6c119d7f843253cc"}},"backend/app/services/internal_auth.py":{"size":1754,"mtime_ns":1788572955000000000,"indexed_at_ns":1791625474773579596,"word_count":168,"hashes":{"backend/app/services/internal_auth.py":"f14cd8a5441d915f77b7a2e63925d72ff0fde11483ee04a210726a2069da5b74"}},"backend/app/services/jwt.py":{"size":3142,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625474773930720,"word_count":274,"hashes":{"backend/app/services/jwt.py":"71093eee016ca5d7344fa6d6768a749027c4aa223e44f8f721171a48f216f86a"}},"backend/app/services/migrate_pg.py":{"size":6051,"mtime_ns":1790936642435201294,"indexed_at_ns":1791625474774363517,"word_count":577,"hashes":{"backend/app/services/migrate_pg.py":"8fb03c8fab9e20da3695c9206653b3a38b836ca4a2207de303c2535c8480631f"}},"backend/app/services/scheduler_service.py":{"size":6897,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474774730410,"word_count":670,"hashes":{"backend/app/services/scheduler_service.py":"84a352e61715b3faf6ac0536e7f52ba5cb35c22cca7c00c0a9d81512766dc098"}},"backend/app/services/service_account.py":{"size":8480,"mtime_ns":1791628442660164624,"indexed_at_ns":1791629156222143730,"word_count":831,"hashes":{"backend/app/services/service_account.py":"19377a07e4743f346601a52553a4f9f498f90d9c9914ffa64e3c596d4489506f"}},"backend/app/services/tms_api.py":{"size":26220,"mtime_ns":1791628494316528575,"indexed_at_ns":1791629156223252146,"word_count":2296,"hashes":{"backend/app/services/tms_api.py":"490cbbcc27e5044f6638264d127b39bd5813d79edaa016211f9e8099ddd07747"}},"backend/app/services/tms_login.py":{"size":4424,"mtime_ns":1791549627877099393,"indexed_at_ns":1791625474775842423,"word_count":399,"hashes":{"backend/app/services/tms_login.py":"f8dad88ce11e10deabb77771cfa6f968d5ea760a1506647a6b80a1fd76dbe739"}},"backend/app/services/tms_processor.py":{"size":14118,"mtime_ns":1791628511979311090,"indexed_at_ns":1791629156223725548,"word_count":1368,"hashes":{"backend/app/services/tms_processor.py":"5d5bfa8642f2e735169f6e19698873984b70c802b7a3f30fd4d4306173fd08dc"}},"backend/requirements.txt":{"size":481,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625477489130358,"word_count":24,"hashes":{"backend/requirements.txt":"214478e60e425f4fa58bf175153d4879313d9b88835892749bbb335bca7c2432"}},"backend/scripts/backfill_attendance.py":{"size":4392,"mtime_ns":1791629132103675485,"indexed_at_ns":1791629156224149218,"word_count":322,"hashes":{"backend/scripts/backfill_attendance.py":"760559ccf6da9dd8d85e93bc88c297d4837ae397f70a6da3d54bbf97e3df0d24"}},"backend/scripts/create_indexes.py":{"size":805,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474777114873,"word_count":80,"hashes":{"backend/scripts/create_indexes.py":"3f259190a5aa13886b4f145f5a87daaad6950c574cdddc7ccdc17abdcd76cb0d"}},"backend/scripts/migrate_ehc.py":{"size":3373,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474777525168,"word_count":203,"hashes":{"backend/scripts/migrate_ehc.py":"41c02aadb56da39e477239012884f3f76aa1490d3bc7ca68a2c313ecffe7e07f"}},"backend/scripts/migrate_ehc_bigint.py":{"size":989,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474777931485,"word_count":85,"hashes":{"backend/scripts/migrate_ehc_bigint.py":"9ba8c773e7af99fee5421acb0b4713078779d7932cc07286fea3ffbc5f0523f7"}},"backend/scripts/migrate_gantungan.py":{"size":1221,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474778373820,"word_count":96,"hashes":{"backend/scripts/migrate_gantungan.py":"bf8b006d8d727612545de884d851fa92591593a8046456e7b86cc4520878cedb"}},"backend/scripts/migrate_postgres_to_sqlite.py":{"size":990,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474778796096,"word_count":129,"hashes":{"backend/scripts/migrate_postgres_to_sqlite.py":"15d73008acc728b1bbc8d9a102e968ffcfb113f4475563ddc155e27a8d98fa6b"}},"backend/scripts/migrate_service_accounts.py":{"size":1245,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474779181455,"word_count":106,"hashes":{"backend/scripts/migrate_service_accounts.py":"690f8b4fb25ccfeed08d08ce446986bf97006102ba8ebfc65cdc0bbabde31a40"}},"backend/scripts/seed_internal_users.py":{"size":1324,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474779500700,"word_count":126,"hashes":{"backend/scripts/seed_internal_users.py":"055638eb29b8497f36c0217ef1f082b8fe0c6a72103edd3112756a9c3cfa34ed"}},"backend/tests/integration/test_tms_api.py":{"size":3841,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474779828420,"word_count":282,"hashes":{"backend/tests/integration/test_tms_api.py":"68f4a893e3964663507637de17b288e3ad889baf2cdec2f1064c079851a9cf09"}},"backend/tests/unit/test_auth_service.py":{"size":4577,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474780190344,"word_count":301,"hashes":{"backend/tests/unit/test_auth_service.py":"951801abf6f403cf280be71b9bcf0c085f5b91599b29746472a48535b388454b"}},"docker-compose.yml":{"size":2321,"mtime_ns":1791586745593523176,"indexed_at_ns":1791625477489351701,"word_count":176,"hashes":{"docker-compose.yml":"b387fe80282f6a094f8595b51c131663c8928279662f5a61535a1929d74373aa"}},"docs/admin/deployment-guide.md":{"size":8101,"mtime_ns":1790936642450201106,"indexed_at_ns":1791625477489576450,"word_count":1145,"hashes":{"docs/admin/deployment-guide.md":"208bcaddb642798cf0fa5917fb234abc518a311348a98c2aa1603f44fd8b3d74"}},"docs/admin/logging.md":{"size":9737,"mtime_ns":1791629151641434913,"indexed_at_ns":1791629157942306944,"word_count":1311,"hashes":{"docs/admin/logging.md":"342bc5d172c25d314e107fae3d18bac865328ff4a3124b1c82780aab40ed42e0"}},"docs/admin/server-requirements.md":{"size":5148,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625477490097410,"word_count":815,"hashes":{"docs/admin/server-requirements.md":"0ed8aa6fa35104edc2b28a3988eca5fea1e23e966df2d356523b7d70dbcd430c"}},"docs/api-reference/endpoints.md":{"size":2310,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625477490705343,"word_count":309,"hashes":{"docs/api-reference/endpoints.md":"a093a8ca1e4c3ece92c93b86220eb8ed3dcdfefdb8835e50bc2bc2634aae970e"}},"docs/architecture.md":{"size":19890,"mtime_ns":1789080437000000000,"indexed_at_ns":1791625477490949097,"word_count":2406,"hashes":{"docs/architecture.md":"e60e017eebbc8215a9ebe6df38f3cde05aacd6746c671e21c1052f9c56632562"}},"docs/development/agents.md":{"size":19332,"mtime_ns":1789081547000000000,"indexed_at_ns":1791625477491281307,"word_count":2520,"hashes":{"docs/development/agents.md":"6e27d353a1eb5c9fb69447ee0effb0e8db458f9a501f449156f194824e1dbaa7"}},"docs/development/code-review.md":{"size":12915,"mtime_ns":1789080908000000000,"indexed_at_ns":1791625477491757844,"word_count":1840,"hashes":{"docs/development/code-review.md":"faec8706edebe5866c5693e9264cc9e2be604b7e4b6d65d7e7b30858c7b8dbfb"}},"docs/development/handoff.md":{"size":18896,"mtime_ns":1789080621000000000,"indexed_at_ns":1791625477492059827,"word_count":2538,"hashes":{"docs/development/handoff.md":"ab98d0e3d99ded16209ceb5f0b09e989fd1ae6f9b50cbd87dbd4327e2461c670"}},"docs/index.md":{"size":1226,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625477492340681,"word_count":116,"hashes":{"docs/index.md":"385537e6893fc7ea06e91a7b7aa6aec55f55263b1c6875653bd085722d49d981"}},"docs/setup/quick-start.md":{"size":8174,"mtime_ns":1789080497000000000,"indexed_at_ns":1791625477492576540,"word_count":1093,"hashes":{"docs/setup/quick-start.md":"b186ccf738cc1e0349c508d20d7b1756fbf5c0dd5f119a9733d56fca97124e3d"}},"docs/ux-audit-2026-09-21.md":{"size":7306,"mtime_ns":1790005596000000000,"indexed_at_ns":1791625477492827047,"word_count":1110,"hashes":{"docs/ux-audit-2026-09-21.md":"dec5f9c5b077c21b2f7abee9118c437b10857fc03f62ce1f2c7ac4a55708e15f"}},"frontend/components.json":{"size":531,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474780663205,"word_count":46,"hashes":{"frontend/components.json":"3b7ace6857c96fb6ec815978d99e074d643f15b59b0c54931e1a6da04a6c780e"}},"frontend/index.html":{"size":7149,"mtime_ns":1789045803000000000,"indexed_at_ns":1791625477493145250,"word_count":691,"hashes":{"frontend/index.html":"49ec7826a8c06a975576b6f31a111bbbabb7328a2fdd299ff4b210040ff75cd9"}},"frontend/package.json":{"size":1514,"mtime_ns":1788559725000000000,"indexed_at_ns":1791625474780982250,"word_count":106,"hashes":{"frontend/package.json":"4a39a032329cd13cec68ab5372d180322b7e16e6c92ddf311908e8fbff36c816"}},"frontend/postcss.config.js":{"size":80,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625464397702903,"word_count":11},"frontend/public/favicon.svg":{"size":477,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625477493670358,"word_count":36,"hashes":{"frontend/public/favicon.svg":"287236cf16c1ac601be7b2948e153ef821b51ea1b5861d63b3e113b3275e36f2"}},"frontend/public/health.html":{"size":77,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625477493415634,"word_count":2,"hashes":{"frontend/public/health.html":"4b125880e584832e8750c893f3e5876d0c2a311221ffa2e67285c4c96b96bcd0"}},"frontend/src/App.tsx":{"size":1484,"mtime_ns":1790936505767908679,"indexed_at_ns":1791625464401517030,"word_count":126},"frontend/src/components/GlobalAlertsDrawer.tsx":{"size":3822,"mtime_ns":1788612474000000000,"indexed_at_ns":1791625464403278692,"word_count":368},"frontend/src/components/layout/Header.tsx":{"size":3863,"mtime_ns":1788734271000000000,"indexed_at_ns":1791625464404534662,"word_count":354},"frontend/src/components/layout/Sidebar.tsx":{"size":8538,"mtime_ns":1790936510584848501,"indexed_at_ns":1791625464406207590,"word_count":728},"frontend/src/components/ui/ConfirmModal.tsx":{"size":2190,"mtime_ns":1788583105000000000,"indexed_at_ns":1791625464408890690,"word_count":173},"frontend/src/components/ui/DataTable.tsx":{"size":5608,"mtime_ns":1788603090000000000,"indexed_at_ns":1791625464412217880,"word_count":652},"frontend/src/components/ui/Drawer.tsx":{"size":1534,"mtime_ns":1788988131000000000,"indexed_at_ns":1791625464413676879,"word_count":145},"frontend/src/components/ui/GlassCard.tsx":{"size":1133,"mtime_ns":1788601194000000000,"indexed_at_ns":1791625464414919304,"word_count":104},"frontend/src/components/ui/KpiCard.tsx":{"size":1608,"mtime_ns":1788605161000000000,"indexed_at_ns":1791625464417953537,"word_count":173},"frontend/src/components/ui/MultiSelectDropdown.tsx":{"size":7944,"mtime_ns":1788574702000000000,"indexed_at_ns":1791625464422097059,"word_count":663},"frontend/src/components/ui/Popup.tsx":{"size":2549,"mtime_ns":1788988131000000000,"indexed_at_ns":1791625464424557914,"word_count":263},"frontend/src/components/ui/Toast.tsx":{"size":1855,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625464426614136,"word_count":195},"frontend/src/components/ui/TrafficLights.tsx":{"size":900,"mtime_ns":1788571766000000000,"indexed_at_ns":1791625464428760716,"word_count":65},"frontend/src/components/ui/badge.tsx":{"size":1865,"mtime_ns":1788301810000000000,"indexed_at_ns":1791625464430383630,"word_count":147},"frontend/src/components/ui/button.tsx":{"size":3385,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625464431805981,"word_count":214},"frontend/src/components/ui/card.tsx":{"size":2630,"mtime_ns":1788301810000000000,"indexed_at_ns":1791625464433573955,"word_count":204},"frontend/src/components/ui/input.tsx":{"size":968,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625464436578274,"word_count":71},"frontend/src/components/ui/select.tsx":{"size":503,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625464438648060,"word_count":52},"frontend/src/components/ui/skeleton.tsx":{"size":275,"mtime_ns":1788301810000000000,"indexed_at_ns":1791625464439969673,"word_count":29},"frontend/src/components/ui/table.tsx":{"size":2403,"mtime_ns":1788569890000000000,"indexed_at_ns":1791625464441596274,"word_count":196},"frontend/src/hooks/useTheme.ts":{"size":17251,"mtime_ns":1789041535000000000,"indexed_at_ns":1791625464442648855,"word_count":1672},"frontend/src/lib/api.ts":{"size":662,"mtime_ns":1788301810000000000,"indexed_at_ns":1791625464444339506,"word_count":78},"frontend/src/lib/fonts.ts":{"size":7015,"mtime_ns":1788568047000000000,"indexed_at_ns":1791625464445741719,"word_count":563},"frontend/src/lib/sanitize.ts":{"size":869,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625464447409747,"word_count":114},"frontend/src/lib/themes.ts":{"size":15091,"mtime_ns":1789045627000000000,"indexed_at_ns":1791625464448897309,"word_count":1737},"frontend/src/lib/utils.ts":{"size":166,"mtime_ns":1788301810000000000,"indexed_at_ns":1791625464450277871,"word_count":22},"frontend/src/main.tsx":{"size":350,"mtime_ns":1788559759000000000,"indexed_at_ns":1791625464451354267,"word_count":31},"frontend/src/pages/AdminPage.tsx":{"size":4812,"mtime_ns":1790936642458201006,"indexed_at_ns":1791625464452656284,"word_count":493},"frontend/src/pages/AnalysisPage.tsx":{"size":55865,"mtime_ns":1790936642463200944,"indexed_at_ns":1791625464453856280,"word_count":4771},"frontend/src/pages/DashboardPage.tsx":{"size":60053,"mtime_ns":1790936642470200856,"indexed_at_ns":1791625464457796733,"word_count":5015},"frontend/src/pages/DatabasePage.tsx":{"size":32709,"mtime_ns":1790936642473200819,"indexed_at_ns":1791625464461511354,"word_count":2638},"frontend/src/pages/HandshakePage.tsx":{"size":2352,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625464464582697,"word_count":227},"frontend/src/pages/LinehaulPage.tsx":{"size":19612,"mtime_ns":1789044910000000000,"indexed_at_ns":1791625464466888495,"word_count":1714},"frontend/src/pages/LoginPage.tsx":{"size":5412,"mtime_ns":1788988131000000000,"indexed_at_ns":1791625464468491541,"word_count":446},"frontend/src/pages/OperationsLabPage.tsx":{"size":14389,"mtime_ns":1790936484663172340,"indexed_at_ns":1791625464470079079,"word_count":1167},"frontend/src/pages/OpsMonitoringPage.tsx":{"size":21078,"mtime_ns":1789044752000000000,"indexed_at_ns":1791625464472585790,"word_count":2030},"frontend/src/pages/WorkforcePage.tsx":{"size":51924,"mtime_ns":1790936642475200794,"indexed_at_ns":1791625464475198739,"word_count":3738},"frontend/src/pages/admin/AppearanceSection.tsx":{"size":32870,"mtime_ns":1789041567000000000,"indexed_at_ns":1791625464477293042,"word_count":2634},"frontend/src/pages/admin/AuditLogSection.tsx":{"size":6932,"mtime_ns":1788988131000000000,"indexed_at_ns":1791625464478947225,"word_count":579},"frontend/src/pages/admin/SchedulerSection.tsx":{"size":16205,"mtime_ns":1788737492000000000,"indexed_at_ns":1791625464486589275,"word_count":1253},"frontend/src/pages/admin/ServiceAccountsSection.tsx":{"size":12313,"mtime_ns":1788988131000000000,"indexed_at_ns":1791625464488342972,"word_count":1115},"frontend/src/pages/admin/SystemConfigSection.tsx":{"size":5411,"mtime_ns":1788400328000000000,"indexed_at_ns":1791625464489882040,"word_count":467},"frontend/src/pages/admin/UsersSection.tsx":{"size":15975,"mtime_ns":1788988131000000000,"indexed_at_ns":1791625464491299192,"word_count":1375},"frontend/src/pages/admin/shared.tsx":{"size":3530,"mtime_ns":1788608897000000000,"indexed_at_ns":1791625464492343678,"word_count":422},"frontend/src/types/api.ts":{"size":2775,"mtime_ns":1790936642482200706,"indexed_at_ns":1791625464493863880,"word_count":373},"frontend/src/types/modules.d.ts":{"size":176,"mtime_ns":1788560014000000000,"indexed_at_ns":1791625464494874965,"word_count":15},"frontend/src/utils/auth.js":{"size":357,"mtime_ns":1789079684000000000,"indexed_at_ns":1791625464495616016,"word_count":42},"frontend/tailwind.config.js":{"size":1806,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625464496390589,"word_count":127},"frontend/tsconfig.json":{"size":576,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474781641969,"word_count":46,"hashes":{"frontend/tsconfig.json":"b827b0888a796a522bf2a9c195515932af0333b9b4530dfc1539af025460d195"}},"frontend/vite.config.ts":{"size":748,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625464499785254,"word_count":74},"scripts/backup_db.sh":{"size":2311,"mtime_ns":1790936642495200544,"indexed_at_ns":1791625474782045261,"word_count":281,"hashes":{"scripts/backup_db.sh":"8b97a11224e2f2d8206e9b7f0afe50c4c8c98a36f12c61ebcff7ac0d29fbec9b"}},"scripts/tail_logs.sh":{"size":6468,"mtime_ns":1790936642495200544,"indexed_at_ns":1791625474782403368,"word_count":699,"hashes":{"scripts/tail_logs.sh":"23121146562837bcd41f4fe49f7629f0f8a817c463b2e7fb19c9135ef4d07345"}},"start_all.sh":{"size":3663,"mtime_ns":1789080694000000000,"indexed_at_ns":1791625474782753832,"word_count":442,"hashes":{"start_all.sh":"d5db78559f4d56e01884293b957dfec019a7de3bdb18d20f50f2a293b1e14bf8"}},"stop_all.sh":{"size":2728,"mtime_ns":1790936642496200532,"indexed_at_ns":1791625474783116617,"word_count":315,"hashes":{"stop_all.sh":"799f1a325d8a9aaf4cea79ea00161d23c9a4c448278e1010402c0f8501c36eee"}},"systemd/install_systemd.sh":{"size":1345,"mtime_ns":1790936642502200457,"indexed_at_ns":1791625474783502736,"word_count":186,"hashes":{"systemd/install_systemd.sh":"55c7c1f89ae64b75cce6e1594f3d3894329ecb0b171f6cf522dbc809785d6abf"}},"worker/beat.py":{"size":155,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474783868569,"word_count":15,"hashes":{"worker/beat.py":"a94d4a96180355f51268b8e3e0bd8292f0a8a4691eee195ce6fa782798ca32e1"}},"worker/worker.py":{"size":273,"mtime_ns":1788098091000000000,"indexed_at_ns":1791625474784276238,"word_count":28,"hashes":{"worker/worker.py":"265ed3d015462f60ac408dbe2f15245fb515d7fdb202e12c67e652fc338e8206"}},"REFACTOR_PLAN.md":{"size":5029,"mtime_ns":1791627640414047977,"indexed_at_ns":1791629157941244765,"word_count":678,"hashes":{"refactor_plan.md":"45b1e8365bf0d043d043d249e4413a9ee658536b312b37aa256b6d5769d5eb2f"}},"backend/app/api/deps.py":{"size":3128,"mtime_ns":1791627659858808433,"indexed_at_ns":1791629156216039135,"word_count":330,"hashes":{"backend/app/api/deps.py":"a3d3e62670a1b588171e9071160924eb40ce2953418ae2ccf5cb7a97c9e2dd03"}},"backend/app/services/observability.py":{"size":9006,"mtime_ns":1791627892129946918,"indexed_at_ns":1791629156221069539,"word_count":747,"hashes":{"backend/app/services/observability.py":"5444c3d33f1d5708e915dd7a0a6a3263139299b4ac75cc7d30ebc0fdd1293e89"}}}