attocode-code-intel 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. attocode_code_intel-0.1.0.dist-info/METADATA +221 -0
  2. attocode_code_intel-0.1.0.dist-info/RECORD +345 -0
  3. attocode_code_intel-0.1.0.dist-info/WHEEL +4 -0
  4. attocode_code_intel-0.1.0.dist-info/entry_points.txt +2 -0
  5. attocode_code_intel-0.1.0.dist-info/licenses/LICENSE +21 -0
  6. attocode_intel/GUIDELINES.md +432 -0
  7. attocode_intel/__init__.py +52 -0
  8. attocode_intel/_internal/__init__.py +1 -0
  9. attocode_intel/_internal/errors/__init__.py +126 -0
  10. attocode_intel/_internal/integrations/__init__.py +1 -0
  11. attocode_intel/_internal/integrations/context/__init__.py +1 -0
  12. attocode_intel/_internal/integrations/context/architecture_drift.py +354 -0
  13. attocode_intel/_internal/integrations/context/ast_chunker.py +202 -0
  14. attocode_intel/_internal/integrations/context/ast_service.py +1483 -0
  15. attocode_intel/_internal/integrations/context/blob_oid.py +423 -0
  16. attocode_intel/_internal/integrations/context/cache_manifest.py +221 -0
  17. attocode_intel/_internal/integrations/context/cas.py +466 -0
  18. attocode_intel/_internal/integrations/context/code_analyzer.py +528 -0
  19. attocode_intel/_internal/integrations/context/codebase_ast.py +1461 -0
  20. attocode_intel/_internal/integrations/context/codebase_context.py +1736 -0
  21. attocode_intel/_internal/integrations/context/cross_mode.py +263 -0
  22. attocode_intel/_internal/integrations/context/cross_references.py +616 -0
  23. attocode_intel/_internal/integrations/context/embedding_rotation.py +597 -0
  24. attocode_intel/_internal/integrations/context/embeddings.py +282 -0
  25. attocode_intel/_internal/integrations/context/frecency.py +427 -0
  26. attocode_intel/_internal/integrations/context/fuzzy.py +320 -0
  27. attocode_intel/_internal/integrations/context/hierarchical_explorer.py +331 -0
  28. attocode_intel/_internal/integrations/context/hydration.py +90 -0
  29. attocode_intel/_internal/integrations/context/index_repair.py +87 -0
  30. attocode_intel/_internal/integrations/context/index_store.py +586 -0
  31. attocode_intel/_internal/integrations/context/memory_store.py +602 -0
  32. attocode_intel/_internal/integrations/context/module_resolution.py +52 -0
  33. attocode_intel/_internal/integrations/context/query_constraints.py +361 -0
  34. attocode_intel/_internal/integrations/context/query_history.py +417 -0
  35. attocode_intel/_internal/integrations/context/reranker.py +351 -0
  36. attocode_intel/_internal/integrations/context/semantic_search.py +2931 -0
  37. attocode_intel/_internal/integrations/context/syntax_evidence.py +94 -0
  38. attocode_intel/_internal/integrations/context/systemone_ranker.py +245 -0
  39. attocode_intel/_internal/integrations/context/temporal_coupling.py +411 -0
  40. attocode_intel/_internal/integrations/context/trigram_index.py +820 -0
  41. attocode_intel/_internal/integrations/context/trigram_regex.py +171 -0
  42. attocode_intel/_internal/integrations/context/ts_parser.py +2199 -0
  43. attocode_intel/_internal/integrations/context/vector_store.py +795 -0
  44. attocode_intel/_internal/integrations/feature_flags/__init__.py +357 -0
  45. attocode_intel/_internal/integrations/lsp/__init__.py +1 -0
  46. attocode_intel/_internal/integrations/lsp/client.py +1140 -0
  47. attocode_intel/_internal/integrations/mcp/__init__.py +1 -0
  48. attocode_intel/_internal/integrations/mcp/client.py +253 -0
  49. attocode_intel/_internal/integrations/security/__init__.py +1 -0
  50. attocode_intel/_internal/integrations/security/custom_rules.py +176 -0
  51. attocode_intel/_internal/integrations/security/dataflow.py +522 -0
  52. attocode_intel/_internal/integrations/security/dependency_audit.py +303 -0
  53. attocode_intel/_internal/integrations/security/matcher.py +44 -0
  54. attocode_intel/_internal/integrations/security/patterns.py +724 -0
  55. attocode_intel/_internal/integrations/security/scanner.py +351 -0
  56. attocode_intel/_internal/integrations/utilities/__init__.py +1 -0
  57. attocode_intel/_internal/integrations/utilities/ignore.py +64 -0
  58. attocode_intel/_internal/integrations/utilities/token_estimate.py +51 -0
  59. attocode_intel/_internal/tricks/__init__.py +1 -0
  60. attocode_intel/_internal/tricks/recursive_context.py +357 -0
  61. attocode_intel/_internal/types/__init__.py +1 -0
  62. attocode_intel/_internal/types/events.py +289 -0
  63. attocode_intel/_internal/types/severity.py +15 -0
  64. attocode_intel/_shared.py +341 -0
  65. attocode_intel/analysis_coverage.py +56 -0
  66. attocode_intel/api/__init__.py +1 -0
  67. attocode_intel/api/access.py +32 -0
  68. attocode_intel/api/app.py +247 -0
  69. attocode_intel/api/auth/__init__.py +128 -0
  70. attocode_intel/api/auth/api_keys.py +61 -0
  71. attocode_intel/api/auth/context.py +34 -0
  72. attocode_intel/api/auth/jwt.py +66 -0
  73. attocode_intel/api/auth/oauth.py +146 -0
  74. attocode_intel/api/auth/passwords.py +15 -0
  75. attocode_intel/api/deps.py +351 -0
  76. attocode_intel/api/knowledge_bridge.py +13 -0
  77. attocode_intel/api/mcp_transport.py +51 -0
  78. attocode_intel/api/middleware.py +411 -0
  79. attocode_intel/api/models.py +698 -0
  80. attocode_intel/api/providers/__init__.py +1 -0
  81. attocode_intel/api/providers/db_provider.py +1106 -0
  82. attocode_intel/api/providers/local_provider.py +476 -0
  83. attocode_intel/api/providers/remote_provider.py +740 -0
  84. attocode_intel/api/repository_source.py +21 -0
  85. attocode_intel/api/routes/__init__.py +1 -0
  86. attocode_intel/api/routes/_pin_helper.py +158 -0
  87. attocode_intel/api/routes/activity.py +148 -0
  88. attocode_intel/api/routes/adr.py +102 -0
  89. attocode_intel/api/routes/analysis.py +515 -0
  90. attocode_intel/api/routes/api_keys.py +170 -0
  91. attocode_intel/api/routes/auth.py +428 -0
  92. attocode_intel/api/routes/branches.py +262 -0
  93. attocode_intel/api/routes/cross_repo_search.py +198 -0
  94. attocode_intel/api/routes/embeddings.py +386 -0
  95. attocode_intel/api/routes/files.py +132 -0
  96. attocode_intel/api/routes/files_v2.py +388 -0
  97. attocode_intel/api/routes/gc.py +322 -0
  98. attocode_intel/api/routes/git_v2.py +433 -0
  99. attocode_intel/api/routes/graph.py +174 -0
  100. attocode_intel/api/routes/graph_viz.py +160 -0
  101. attocode_intel/api/routes/health.py +62 -0
  102. attocode_intel/api/routes/history.py +175 -0
  103. attocode_intel/api/routes/jobs.py +84 -0
  104. attocode_intel/api/routes/learning.py +205 -0
  105. attocode_intel/api/routes/lsp.py +272 -0
  106. attocode_intel/api/routes/notify.py +623 -0
  107. attocode_intel/api/routes/operations.py +27 -0
  108. attocode_intel/api/routes/orgs.py +924 -0
  109. attocode_intel/api/routes/preferences.py +100 -0
  110. attocode_intel/api/routes/presence.py +42 -0
  111. attocode_intel/api/routes/projects.py +116 -0
  112. attocode_intel/api/routes/repos.py +47 -0
  113. attocode_intel/api/routes/search.py +180 -0
  114. attocode_intel/api/routes/snapshots.py +614 -0
  115. attocode_intel/api/routes/webhooks.py +313 -0
  116. attocode_intel/api/routes/websocket.py +116 -0
  117. attocode_intel/api/static/graph.html +239 -0
  118. attocode_intel/api/utils.py +96 -0
  119. attocode_intel/artifacts/__init__.py +45 -0
  120. attocode_intel/artifacts/hashing.py +230 -0
  121. attocode_intel/artifacts/provenance.py +190 -0
  122. attocode_intel/artifacts/retrieval_pin.py +159 -0
  123. attocode_intel/audit.py +59 -0
  124. attocode_intel/bug_finder.py +206 -0
  125. attocode_intel/bundle.py +80 -0
  126. attocode_intel/catalog.py +242 -0
  127. attocode_intel/change_review.py +75 -0
  128. attocode_intel/cli.py +3062 -0
  129. attocode_intel/community.py +63 -0
  130. attocode_intel/confidence/__init__.py +144 -0
  131. attocode_intel/confidence/jev.py +234 -0
  132. attocode_intel/confidence/llm.py +330 -0
  133. attocode_intel/confidence/redact.py +44 -0
  134. attocode_intel/confidence/settings.py +74 -0
  135. attocode_intel/config.py +256 -0
  136. attocode_intel/crypto.py +31 -0
  137. attocode_intel/db/__init__.py +7 -0
  138. attocode_intel/db/base.py +33 -0
  139. attocode_intel/db/engine.py +61 -0
  140. attocode_intel/db/models.py +529 -0
  141. attocode_intel/entrypoint.py +185 -0
  142. attocode_intel/focused_evidence.py +130 -0
  143. attocode_intel/freshness.py +154 -0
  144. attocode_intel/gateway.py +734 -0
  145. attocode_intel/git/__init__.py +7 -0
  146. attocode_intel/git/credentials.py +75 -0
  147. attocode_intel/git/manager.py +493 -0
  148. attocode_intel/git/models.py +96 -0
  149. attocode_intel/git/storage.py +98 -0
  150. attocode_intel/graph_query_parser.py +761 -0
  151. attocode_intel/helpers.py +712 -0
  152. attocode_intel/indexing/__init__.py +29 -0
  153. attocode_intel/indexing/debouncer.py +136 -0
  154. attocode_intel/indexing/delta_indexer.py +151 -0
  155. attocode_intel/indexing/full_indexer.py +323 -0
  156. attocode_intel/indexing/incremental.py +240 -0
  157. attocode_intel/indexing/parser.py +403 -0
  158. attocode_intel/indexing/summarizer.py +264 -0
  159. attocode_intel/installer.py +1896 -0
  160. attocode_intel/knowledge.py +269 -0
  161. attocode_intel/local_knowledge.py +77 -0
  162. attocode_intel/migrations/alembic.ini +36 -0
  163. attocode_intel/migrations/env.py +71 -0
  164. attocode_intel/migrations/script.py.mako +27 -0
  165. attocode_intel/migrations/versions/001_initial_schema.py +219 -0
  166. attocode_intel/migrations/versions/002_branch_version_and_embeddings.py +61 -0
  167. attocode_intel/migrations/versions/003_embedding_uniqueness_and_cascade.py +51 -0
  168. attocode_intel/migrations/versions/004_audit_events.py +38 -0
  169. attocode_intel/migrations/versions/005_user_preferences.py +30 -0
  170. attocode_intel/migrations/versions/006_google_oauth.py +27 -0
  171. attocode_intel/migrations/versions/007_pgvector_embeddings.py +28 -0
  172. attocode_intel/migrations/versions/008_symbol_references.py +37 -0
  173. attocode_intel/migrations/versions/009_webhook_secret_encryption.py +25 -0
  174. attocode_intel/migrations/versions/010_add_commits_table.py +40 -0
  175. attocode_intel/migrations/versions/011_commit_changed_files.py +25 -0
  176. attocode_intel/migrations/versions/012_branch_merged_at.py +25 -0
  177. attocode_intel/migrations/versions/013_revoked_tokens.py +32 -0
  178. attocode_intel/migrations/versions/014_blame_hunks.py +40 -0
  179. attocode_intel/migrations/versions/015_commit_file_stats.py +40 -0
  180. attocode_intel/migrations/versions/016_embedding_provenance_columns.py +179 -0
  181. attocode_intel/migrations/versions/017_provenance_table.py +102 -0
  182. attocode_intel/migrations/versions/018_repo_snapshots.py +178 -0
  183. attocode_intel/migrations/versions/019_symref_caller.py +42 -0
  184. attocode_intel/migrations/versions/020_shared_knowledge.py +29 -0
  185. attocode_intel/onboarding.py +258 -0
  186. attocode_intel/output.py +178 -0
  187. attocode_intel/precision.py +133 -0
  188. attocode_intel/presence.py +160 -0
  189. attocode_intel/probe.py +110 -0
  190. attocode_intel/project_dir.py +97 -0
  191. attocode_intel/pubsub.py +113 -0
  192. attocode_intel/query_ranking.py +242 -0
  193. attocode_intel/readiness.py +972 -0
  194. attocode_intel/redis.py +51 -0
  195. attocode_intel/reference_pages.py +60 -0
  196. attocode_intel/remote.py +131 -0
  197. attocode_intel/repo_ranker.py +246 -0
  198. attocode_intel/request_context.py +82 -0
  199. attocode_intel/rules/__init__.py +28 -0
  200. attocode_intel/rules/ci.py +320 -0
  201. attocode_intel/rules/combinators.py +293 -0
  202. attocode_intel/rules/enricher.py +127 -0
  203. attocode_intel/rules/evolution.py +452 -0
  204. attocode_intel/rules/executor.py +531 -0
  205. attocode_intel/rules/filters/__init__.py +5 -0
  206. attocode_intel/rules/filters/pipeline.py +151 -0
  207. attocode_intel/rules/formatter.py +198 -0
  208. attocode_intel/rules/hygiene.py +242 -0
  209. attocode_intel/rules/importers/__init__.py +1 -0
  210. attocode_intel/rules/importers/semgrep.py +382 -0
  211. attocode_intel/rules/loader.py +292 -0
  212. attocode_intel/rules/marketplace.py +375 -0
  213. attocode_intel/rules/metavar.py +181 -0
  214. attocode_intel/rules/model.py +317 -0
  215. attocode_intel/rules/packs/__init__.py +1 -0
  216. attocode_intel/rules/packs/community/_license_templates/Apache-2.0.txt +176 -0
  217. attocode_intel/rules/packs/community/_license_templates/MIT.txt +21 -0
  218. attocode_intel/rules/packs/community/bandit-python/LICENSE +176 -0
  219. attocode_intel/rules/packs/community/bandit-python/NOTICE +13 -0
  220. attocode_intel/rules/packs/community/bandit-python/PORTING.md +23 -0
  221. attocode_intel/rules/packs/community/bandit-python/manifest.yaml +14 -0
  222. attocode_intel/rules/packs/community/bandit-python/rules/B105-hardcoded-password.yaml +23 -0
  223. attocode_intel/rules/packs/community/bandit-python/rules/B303-weak-md5.yaml +21 -0
  224. attocode_intel/rules/packs/community/bandit-python/rules/B304-weak-des.yaml +20 -0
  225. attocode_intel/rules/packs/community/bandit-python/rules/B307-use-of-eval.yaml +22 -0
  226. attocode_intel/rules/packs/community/bandit-python/rules/B324-weak-sha1.yaml +21 -0
  227. attocode_intel/rules/packs/community/bandit-python/rules/B501-no-cert-validation.yaml +23 -0
  228. attocode_intel/rules/packs/community/bandit-python/rules/B602-shell-true.yaml +22 -0
  229. attocode_intel/rules/packs/community/bandit-python/rules/B608-sqli.yaml +22 -0
  230. attocode_intel/rules/packs/community/eslint-typescript/LICENSE +21 -0
  231. attocode_intel/rules/packs/community/eslint-typescript/NOTICE +13 -0
  232. attocode_intel/rules/packs/community/eslint-typescript/PORTING.md +23 -0
  233. attocode_intel/rules/packs/community/eslint-typescript/manifest.yaml +14 -0
  234. attocode_intel/rules/packs/community/eslint-typescript/rules/eqeqeq.yaml +20 -0
  235. attocode_intel/rules/packs/community/eslint-typescript/rules/no-eval.yaml +22 -0
  236. attocode_intel/rules/packs/community/eslint-typescript/rules/no-implied-eval.yaml +20 -0
  237. attocode_intel/rules/packs/community/eslint-typescript/rules/no-new-func.yaml +21 -0
  238. attocode_intel/rules/packs/community/eslint-typescript/rules/no-throw-literal.yaml +19 -0
  239. attocode_intel/rules/packs/community/eslint-typescript/rules/no-var.yaml +20 -0
  240. attocode_intel/rules/packs/community/eslint-typescript/rules/no-with.yaml +18 -0
  241. attocode_intel/rules/packs/community/gosec-go/LICENSE +176 -0
  242. attocode_intel/rules/packs/community/gosec-go/NOTICE +13 -0
  243. attocode_intel/rules/packs/community/gosec-go/PORTING.md +23 -0
  244. attocode_intel/rules/packs/community/gosec-go/manifest.yaml +14 -0
  245. attocode_intel/rules/packs/community/gosec-go/rules/G101-hardcoded-credentials.yaml +22 -0
  246. attocode_intel/rules/packs/community/gosec-go/rules/G102-bind-all-interfaces.yaml +21 -0
  247. attocode_intel/rules/packs/community/gosec-go/rules/G103-unsafe-block.yaml +21 -0
  248. attocode_intel/rules/packs/community/gosec-go/rules/G201-sql-format.yaml +21 -0
  249. attocode_intel/rules/packs/community/gosec-go/rules/G304-file-inclusion.yaml +23 -0
  250. attocode_intel/rules/packs/community/gosec-go/rules/G401-weak-cipher.yaml +20 -0
  251. attocode_intel/rules/packs/community/gosec-go/rules/G402-tls-min-version.yaml +20 -0
  252. attocode_intel/rules/packs/community/gosec-go/rules/G501-md5-import.yaml +21 -0
  253. attocode_intel/rules/packs/examples/cpp/manifest.yaml +4 -0
  254. attocode_intel/rules/packs/examples/cpp/rules/security.yaml +90 -0
  255. attocode_intel/rules/packs/examples/cpp/rules/structural.yaml +42 -0
  256. attocode_intel/rules/packs/examples/csharp/manifest.yaml +4 -0
  257. attocode_intel/rules/packs/examples/csharp/rules/security.yaml +69 -0
  258. attocode_intel/rules/packs/examples/csharp/rules/structural.yaml +42 -0
  259. attocode_intel/rules/packs/examples/go/manifest.yaml +4 -0
  260. attocode_intel/rules/packs/examples/go/rules/performance.yaml +136 -0
  261. attocode_intel/rules/packs/examples/go/rules/security.yaml +48 -0
  262. attocode_intel/rules/packs/examples/go/rules/structural.yaml +58 -0
  263. attocode_intel/rules/packs/examples/go/taint/sanitizers.yaml +24 -0
  264. attocode_intel/rules/packs/examples/go/taint/sinks.yaml +51 -0
  265. attocode_intel/rules/packs/examples/go/taint/sources.yaml +26 -0
  266. attocode_intel/rules/packs/examples/java/manifest.yaml +4 -0
  267. attocode_intel/rules/packs/examples/java/rules/correctness.yaml +55 -0
  268. attocode_intel/rules/packs/examples/java/rules/structural.yaml +48 -0
  269. attocode_intel/rules/packs/examples/java/taint/sinks.yaml +37 -0
  270. attocode_intel/rules/packs/examples/java/taint/sources.yaml +21 -0
  271. attocode_intel/rules/packs/examples/kotlin/manifest.yaml +4 -0
  272. attocode_intel/rules/packs/examples/kotlin/rules/correctness.yaml +50 -0
  273. attocode_intel/rules/packs/examples/kotlin/rules/structural.yaml +38 -0
  274. attocode_intel/rules/packs/examples/php/manifest.yaml +4 -0
  275. attocode_intel/rules/packs/examples/php/rules/security.yaml +66 -0
  276. attocode_intel/rules/packs/examples/php/rules/structural.yaml +41 -0
  277. attocode_intel/rules/packs/examples/python/manifest.yaml +4 -0
  278. attocode_intel/rules/packs/examples/python/rules/performance.yaml +90 -0
  279. attocode_intel/rules/packs/examples/python/rules/structural.yaml +55 -0
  280. attocode_intel/rules/packs/examples/ruby/manifest.yaml +4 -0
  281. attocode_intel/rules/packs/examples/ruby/rules/security.yaml +73 -0
  282. attocode_intel/rules/packs/examples/ruby/rules/structural.yaml +41 -0
  283. attocode_intel/rules/packs/examples/rust/manifest.yaml +4 -0
  284. attocode_intel/rules/packs/examples/rust/rules/correctness.yaml +51 -0
  285. attocode_intel/rules/packs/examples/rust/rules/structural.yaml +49 -0
  286. attocode_intel/rules/packs/examples/typescript/manifest.yaml +4 -0
  287. attocode_intel/rules/packs/examples/typescript/rules/performance.yaml +70 -0
  288. attocode_intel/rules/packs/examples/typescript/rules/structural.yaml +48 -0
  289. attocode_intel/rules/packs/pack_loader.py +244 -0
  290. attocode_intel/rules/plugins/__init__.py +1 -0
  291. attocode_intel/rules/plugins/plugin_loader.py +132 -0
  292. attocode_intel/rules/profiling.py +332 -0
  293. attocode_intel/rules/registry.py +213 -0
  294. attocode_intel/rules/sarif.py +187 -0
  295. attocode_intel/rules/synthesis.py +420 -0
  296. attocode_intel/rules/testing.py +326 -0
  297. attocode_intel/server.py +734 -0
  298. attocode_intel/service.py +3416 -0
  299. attocode_intel/sharing.py +57 -0
  300. attocode_intel/storage/__init__.py +6 -0
  301. attocode_intel/storage/branch_overlay.py +352 -0
  302. attocode_intel/storage/content_store.py +220 -0
  303. attocode_intel/storage/dependency_store.py +143 -0
  304. attocode_intel/storage/diff_engine.py +187 -0
  305. attocode_intel/storage/embedding_store.py +594 -0
  306. attocode_intel/storage/provenance_store.py +137 -0
  307. attocode_intel/storage/security_scanner_db.py +164 -0
  308. attocode_intel/storage/symbol_store.py +160 -0
  309. attocode_intel/structural_evidence.py +144 -0
  310. attocode_intel/symbol_inspection.py +141 -0
  311. attocode_intel/symbol_links.py +167 -0
  312. attocode_intel/telemetry.py +42 -0
  313. attocode_intel/test_ranking.py +73 -0
  314. attocode_intel/testing/__init__.py +43 -0
  315. attocode_intel/testing/fixtures.py +122 -0
  316. attocode_intel/testing/helpers.py +75 -0
  317. attocode_intel/testing/mocks.py +99 -0
  318. attocode_intel/tools/__init__.py +2 -0
  319. attocode_intel/tools/adr_tools.py +628 -0
  320. attocode_intel/tools/analysis_tools.py +382 -0
  321. attocode_intel/tools/composite_tools.py +695 -0
  322. attocode_intel/tools/cross_mode_tools.py +173 -0
  323. attocode_intel/tools/dead_code_tools.py +582 -0
  324. attocode_intel/tools/distill_tools.py +353 -0
  325. attocode_intel/tools/frecency_tools.py +220 -0
  326. attocode_intel/tools/fuzzy_tools.py +255 -0
  327. attocode_intel/tools/history_tools.py +486 -0
  328. attocode_intel/tools/learning_tools.py +222 -0
  329. attocode_intel/tools/lsp_tools.py +218 -0
  330. attocode_intel/tools/maintenance_tools.py +1662 -0
  331. attocode_intel/tools/navigation_tools.py +220 -0
  332. attocode_intel/tools/overlay_tools.py +540 -0
  333. attocode_intel/tools/pin_store.py +432 -0
  334. attocode_intel/tools/pin_tools.py +266 -0
  335. attocode_intel/tools/query_constraints_tools.py +262 -0
  336. attocode_intel/tools/query_history_tools.py +158 -0
  337. attocode_intel/tools/readiness_tools.py +44 -0
  338. attocode_intel/tools/rule_tools.py +992 -0
  339. attocode_intel/tools/search_tools.py +770 -0
  340. attocode_intel/tools/snapshot_tools.py +624 -0
  341. attocode_intel/workers/__init__.py +1 -0
  342. attocode_intel/workers/job_utils.py +111 -0
  343. attocode_intel/workers/jobs.py +573 -0
  344. attocode_intel/workers/run.py +30 -0
  345. attocode_intel/workers/settings.py +61 -0
@@ -0,0 +1,221 @@
1
+ Metadata-Version: 2.5
2
+ Name: attocode-code-intel
3
+ Version: 0.1.0
4
+ Summary: Local code search and navigation for coding agents and people
5
+ Project-URL: Homepage, https://github.com/eren23/attocode
6
+ Project-URL: Repository, https://github.com/eren23/attocode
7
+ Project-URL: Bug Tracker, https://github.com/eren23/attocode/issues
8
+ Project-URL: Changelog, https://github.com/eren23/attocode/blob/main/CHANGELOG.md
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: code-navigation,code-search,coding-agents,mcp,tree-sitter
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Operating System :: MacOS
16
+ Classifier: Operating System :: POSIX :: Linux
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Topic :: Software Development
20
+ Requires-Python: >=3.12
21
+ Requires-Dist: aiosqlite>=0.20
22
+ Requires-Dist: click>=8.1
23
+ Requires-Dist: filelock>=3.16
24
+ Requires-Dist: httpx>=0.27
25
+ Requires-Dist: mcp<2,>=1.26
26
+ Requires-Dist: numpy>=2
27
+ Requires-Dist: pathspec>=0.12
28
+ Requires-Dist: psutil>=6
29
+ Requires-Dist: pydantic>=2
30
+ Requires-Dist: python-dotenv>=1
31
+ Requires-Dist: pyyaml>=6
32
+ Requires-Dist: rich>=13
33
+ Requires-Dist: structlog>=24.1
34
+ Requires-Dist: tenacity>=9
35
+ Requires-Dist: tiktoken>=0.7
36
+ Requires-Dist: tomli-w>=1
37
+ Requires-Dist: tomlkit>=0.13
38
+ Requires-Dist: tree-sitter-bash
39
+ Requires-Dist: tree-sitter-c
40
+ Requires-Dist: tree-sitter-c-sharp
41
+ Requires-Dist: tree-sitter-cpp
42
+ Requires-Dist: tree-sitter-css
43
+ Requires-Dist: tree-sitter-elixir
44
+ Requires-Dist: tree-sitter-go
45
+ Requires-Dist: tree-sitter-hcl
46
+ Requires-Dist: tree-sitter-html
47
+ Requires-Dist: tree-sitter-java
48
+ Requires-Dist: tree-sitter-javascript
49
+ Requires-Dist: tree-sitter-json
50
+ Requires-Dist: tree-sitter-kotlin
51
+ Requires-Dist: tree-sitter-lua
52
+ Requires-Dist: tree-sitter-php
53
+ Requires-Dist: tree-sitter-python
54
+ Requires-Dist: tree-sitter-ruby
55
+ Requires-Dist: tree-sitter-rust
56
+ Requires-Dist: tree-sitter-scala
57
+ Requires-Dist: tree-sitter-swift
58
+ Requires-Dist: tree-sitter-toml
59
+ Requires-Dist: tree-sitter-typescript
60
+ Requires-Dist: tree-sitter-yaml
61
+ Requires-Dist: tree-sitter-zig
62
+ Requires-Dist: tree-sitter<0.26,>=0.23
63
+ Requires-Dist: watchfiles>=1
64
+ Provides-Extra: dev
65
+ Requires-Dist: bcrypt>=4.0; extra == 'dev'
66
+ Requires-Dist: bump-my-version>=0.28; extra == 'dev'
67
+ Requires-Dist: mypy>=1.10; extra == 'dev'
68
+ Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
69
+ Requires-Dist: pytest-cov>=5.0; extra == 'dev'
70
+ Requires-Dist: pytest-mock>=3.14; extra == 'dev'
71
+ Requires-Dist: pytest>=8.0; extra == 'dev'
72
+ Requires-Dist: python-jose[cryptography]>=3.3; extra == 'dev'
73
+ Requires-Dist: respx>=0.22; extra == 'dev'
74
+ Requires-Dist: ruff>=0.5; extra == 'dev'
75
+ Requires-Dist: sqlalchemy[asyncio]>=2.0; extra == 'dev'
76
+ Provides-Extra: docs
77
+ Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
78
+ Requires-Dist: mkdocs>=1.6; extra == 'docs'
79
+ Requires-Dist: pymdown-extensions>=10.0; extra == 'docs'
80
+ Provides-Extra: graph
81
+ Requires-Dist: networkx>=3.0; extra == 'graph'
82
+ Provides-Extra: http
83
+ Requires-Dist: fastapi>=0.115; extra == 'http'
84
+ Requires-Dist: networkx>=3.0; extra == 'http'
85
+ Requires-Dist: python-multipart>=0.0.18; extra == 'http'
86
+ Requires-Dist: uvicorn[standard]>=0.34; extra == 'http'
87
+ Provides-Extra: semantic
88
+ Requires-Dist: sentence-transformers>=3.0; extra == 'semantic'
89
+ Provides-Extra: semantic-nomic
90
+ Requires-Dist: einops; extra == 'semantic-nomic'
91
+ Requires-Dist: sentence-transformers>=3.0; extra == 'semantic-nomic'
92
+ Provides-Extra: service
93
+ Requires-Dist: alembic>=1.14; extra == 'service'
94
+ Requires-Dist: arq>=0.26; extra == 'service'
95
+ Requires-Dist: asyncpg>=0.30; extra == 'service'
96
+ Requires-Dist: bcrypt>=4.0; extra == 'service'
97
+ Requires-Dist: cryptography>=41.0; extra == 'service'
98
+ Requires-Dist: fastapi>=0.115; extra == 'service'
99
+ Requires-Dist: httpx-oauth>=0.15; extra == 'service'
100
+ Requires-Dist: networkx>=3.0; extra == 'service'
101
+ Requires-Dist: pgvector>=0.3; extra == 'service'
102
+ Requires-Dist: pydantic-settings>=2.0; extra == 'service'
103
+ Requires-Dist: pygit2>=1.14; extra == 'service'
104
+ Requires-Dist: python-jose[cryptography]>=3.3; extra == 'service'
105
+ Requires-Dist: python-multipart>=0.0.18; extra == 'service'
106
+ Requires-Dist: redis[hiredis]>=5.0; extra == 'service'
107
+ Requires-Dist: sqlalchemy[asyncio]>=2.0; extra == 'service'
108
+ Requires-Dist: uvicorn[standard]>=0.34; extra == 'service'
109
+ Provides-Extra: tree-sitter-all
110
+ Requires-Dist: tree-sitter-language-pack>=0.6; extra == 'tree-sitter-all'
111
+ Description-Content-Type: text/markdown
112
+
113
+ # attocode-code-intel
114
+
115
+ Local code search and navigation for coding agents and for people. It runs as an MCP server for Codex, Claude Code, Cursor and other MCP clients, and as a command in your terminal. It needs no model, no API key and no network.
116
+
117
+ **Status: beta.** We measured the search quality (see [What we measured](#what-we-measured)). We have not shown that it makes agents faster or more accurate.
118
+
119
+ ## Quickstart
120
+
121
+ You need Python 3.12 or later and Git.
122
+
123
+ ```sh
124
+ uv tool install attocode-code-intel
125
+ cd /path/to/your/project
126
+ attocode-code-intel init
127
+ ```
128
+
129
+ Then restart your agent. `init` configures Codex, Claude Code and Cursor. Use `--client claude`, `--client codex` or `--client cursor` for one client. Codex needs a trusted project for a project configuration. Claude Code can ask you to enable the project MCP server.
130
+
131
+ To check the setup, run `attocode-code-intel doctor`. It starts the configured server, calls two tools and shows the result for each client.
132
+
133
+ For other clients (VS Code, Zed, Windsurf, Claude Desktop and more), run `attocode-code-intel install <target>`. `attocode-code-intel commands` lists the targets.
134
+
135
+ Before the first PyPI release, install from a clone of this repository: `uv tool install /path/to/attocode/packages/code-intel`.
136
+
137
+ ## What your agent gets
138
+
139
+ The agent sees 16 tools (the `daily` profile):
140
+
141
+ | Use | Tools |
142
+ |---|---|
143
+ | Find code | `semantic_search`, `fast_search`, `search_symbols`, `bootstrap`, `relevant_context` |
144
+ | Read a symbol | `inspect_symbol`, `symbols`, `cross_references`, `call_graph` |
145
+ | See structure | `dependencies`, `explore_codebase`, `project_summary` |
146
+ | Plan a change | `impact_analysis`, `suggest_tests`, `review_change` |
147
+ | Check the server | `capabilities` |
148
+
149
+ - When the agent knows a symbol, `inspect_symbol(symbol_name="...", task_hint="...")` gives the definition, the source, the references and candidate tests in one call.
150
+ - In an unfamiliar repository, `bootstrap(task_hint="...")` finds the relevant code and gives a map.
151
+ - `impact_analysis` and `suggest_tests` help plan the checks for a change.
152
+
153
+ For all tools (about 140: rules, security scans, history, snapshots and more), add `--profile full` to `init`. The [tool catalog](https://github.com/eren23/attocode/blob/main/docs/intelligence-tools.md) lists them. The [search details](https://github.com/eren23/attocode/blob/main/docs/intelligence-search.md) page describes ranking, the response format and the experimental rerankers.
154
+
155
+ ## Commands for people
156
+
157
+ Run these in your project:
158
+
159
+ ```sh
160
+ attocode-code-intel query "parse config" # search the code with its own words
161
+ attocode-code-intel symbols src/app.py # the symbols of a file
162
+ attocode-code-intel symbols --search greet # find a symbol by name
163
+ attocode-code-intel impact src/app.py # the files that a change can affect
164
+ attocode-code-intel deps src/app.py # what a file imports, and what imports it
165
+ attocode-code-intel hotspots # the files with the most risk or complexity
166
+ ```
167
+
168
+ Search matches the words of the code and its paths. It does not use embeddings unless you install the `semantic` extra.
169
+
170
+ ## What we measured
171
+
172
+ - **Search.** We ran the 560 issues of Loc-Bench V1, with the full issue as the query. For 53.2% of them, the first five files held all files of the fix (file Acc@5 0.532). On a mix of 10 public benchmarks, file Acc@5 was 0.425. See the [first-stage results](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-09-locbench-560-first-stage.md) and the [matrix results](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-10-matrix-r1.md).
173
+ - **Agents.** In four studies, Claude Code (Sonnet 5.5) named the files to edit for an issue. The server did not raise file Acc@5. Each run with the server cost 1.4 to 2.1 times as much. When the agent could choose, it seldom called the server. See the [agent pilot](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-10-agent-pilot.md) and [study R3](https://github.com/eren23/attocode/blob/main/packages/code-intel/evals/results/2026-10-10-agent-r3.md).
174
+
175
+ We have not tested longer agent tasks, such as edits or reviews.
176
+
177
+ ## Limits and troubleshooting
178
+
179
+ - **First search.** The first tool call starts the index build. A search waits up to 15 seconds for the index. On a large repository, a search can report that the index is warming. Then search again. An empty result during warm-up does not prove that the code is absent.
180
+ - **Index location.** The index is in `.attocode/` in your project. When the server makes that folder, it adds a `.gitignore`, so the index stays out of commits.
181
+ - **What the index reads.** The server reads at most 50,000 files and skips files over 1 MB. It skips files that `.gitignore` ignores, and folders that start with a dot. It also skips folders named `build`, `out`, `output`, `target`, `env`, `tmp`, `vendor` or `coverage`, and binary, media and lock files.
182
+ - **Languages.** The base install parses Bash, C, C#, C++, CSS, Elixir, Go, HCL, HTML, Java, JavaScript, JSON, Kotlin, Lua, PHP, Python, Ruby, Rust, Scala, Swift, TOML, TypeScript, YAML and Zig. The `tree-sitter-all` extra adds about 170 more.
183
+ - **Remove the setup.** Run `attocode-code-intel init --remove`. It restores an entry that existed before `init`.
184
+ - **Server does not answer.** Run `attocode-code-intel doctor`. If a client shows "not configured", run `init` for it. After a change, restart the agent. In Claude Code, `/mcp` shows the server state.
185
+ - **HTTP server.** `attocode-code-intel --transport http` needs the `http` extra. It serves only this computer unless you set `ATTOCODE_API_KEY`.
186
+
187
+ For one installation for all repositories, use `init --global`. A global server works on the repository of its working directory, or on the `workspace` that a tool call names.
188
+
189
+ ## Teams and remote agents
190
+
191
+ [Self-hosting and migration](https://github.com/eren23/attocode/blob/main/docs/intelligence.md) covers PostgreSQL, Redis, workers, authentication, and the dashboard. The service serves native Streamable HTTP MCP at `/mcp/`. The dashboard provides connection snippets and knowledge editing.
192
+
193
+ ```sh
194
+ attocode-code-intel init --client all --server https://intel.example.com --repo REPOSITORY_UUID
195
+ attocode-code-intel doctor --client codex --remote
196
+ ```
197
+
198
+ Set `ATTOCODE_API_KEY` in the agent's environment. Use `intelligence:read` for analysis and add `intelligence:write` for knowledge changes. Every repository operation checks membership and scope before using cached analysis. Results identify repository, source, commit, index coverage, and truncation. PostgreSQL stores shared knowledge with authorship, revision, and file anchors.
199
+
200
+ Local and remote entries coexist. Remote calls analyze committed branches or explicit revisions. Local edits remain local. To copy a particular learning to your team, review and run an explicit share:
201
+
202
+ ```sh
203
+ attocode-code-intel share --project . --learning 12 --server https://intel.example.com --repo REPOSITORY_UUID --dry-run
204
+ attocode-code-intel share --project . --learning 12 --server https://intel.example.com --repo REPOSITORY_UUID
205
+ ```
206
+
207
+ `cross_repo_search` searches explicitly selected authorized repositories and retains provenance on each result.
208
+
209
+ ## Development
210
+
211
+ The package is in `packages/code-intel` of the [attocode repository](https://github.com/eren23/attocode).
212
+
213
+ ```sh
214
+ uv sync --extra dev --extra code-intel
215
+ uv run pytest -c packages/code-intel/pyproject.toml --confcutdir=packages/code-intel/tests packages/code-intel/tests
216
+ uv build --package attocode-code-intel
217
+ ```
218
+
219
+ Releases use `intel-v*` tags ([release guide](https://github.com/eren23/attocode/blob/main/docs/intelligence-release.md)).
220
+
221
+ [Product and operations guide](https://github.com/eren23/attocode/blob/main/docs/intelligence.md) · [Tool catalog](https://github.com/eren23/attocode/blob/main/docs/intelligence-tools.md) · [Search details](https://github.com/eren23/attocode/blob/main/docs/intelligence-search.md) · [Changelog](https://github.com/eren23/attocode/blob/main/CHANGELOG.md) · [MIT license](https://github.com/eren23/attocode/blob/main/packages/code-intel/LICENSE)
@@ -0,0 +1,345 @@
1
+ attocode_intel/GUIDELINES.md,sha256=ZBYw697qogCBZcrCEexLCreDlFGxnWaJZqrfcLpiC6Y,18605
2
+ attocode_intel/__init__.py,sha256=86ae3J274HuY22h6no9aNswCwle17Ge_JmNF-A7VPhY,1806
3
+ attocode_intel/_shared.py,sha256=_FLKAgAJsjkir-bOF5nP8Zr1fn41274rkKyziXPRDcQ,13396
4
+ attocode_intel/analysis_coverage.py,sha256=Ec9iQ2TKHxcTmYYoolUmq6ACcloHGm2CtLRlYh1UzdA,2487
5
+ attocode_intel/audit.py,sha256=sKBDNA0kDqrPEwsz3xRVupJLxGONvNNvGZQMM6DcJUw,1821
6
+ attocode_intel/bug_finder.py,sha256=-PdAhNURAUAmubA3KAaNT6qr_9Bb-OkTt-t19AfSbFw,7129
7
+ attocode_intel/bundle.py,sha256=SLe5dbJ1bCB1vz3dBttynVUsudQY-YYuBgeX_By9fGE,2940
8
+ attocode_intel/catalog.py,sha256=NlezRfN8M7frbmQkTgJ6AOKUU_4_HzZQ2UMoAR5D0xQ,9129
9
+ attocode_intel/change_review.py,sha256=U1Ti8Tc329c1ITHBs09ZqB5GdlU_3JSugXqsmMIj7oM,3287
10
+ attocode_intel/cli.py,sha256=VQ35uhyxpS3Oj94wuH172qHgSJQbhM-Z2doIW3gGrTo,109029
11
+ attocode_intel/community.py,sha256=31TBUMBDXZCQJeGGjUGv3vIwpoCtyBgOQG-FGf9gefs,2040
12
+ attocode_intel/config.py,sha256=cvFZ9oQr6IjAWSy3D5ncpSK3l0UPDtPId-lAtIIwqpI,10562
13
+ attocode_intel/crypto.py,sha256=BRf1JvcSm_JuftSW8JkqGIHbKhYmIAYf2c93_U3w7ug,852
14
+ attocode_intel/entrypoint.py,sha256=J-H1YaZdIpYNToCikuD34hNze-3A-amkhnH0fvlhsh4,7850
15
+ attocode_intel/focused_evidence.py,sha256=lFTgp7Ob9QK4sS_9Hp8wvfxbCZ9_-mf5nZV89Cbnfv4,6590
16
+ attocode_intel/freshness.py,sha256=Ze8ElLsJi_nTmUrCeZcD4SJCzu30yiV9CX3Ja5llSkI,6237
17
+ attocode_intel/gateway.py,sha256=L7Hpm2Ktbs1GqDx0jGLWOlr5FhbJVkc8_fD_uyWAG4U,37597
18
+ attocode_intel/graph_query_parser.py,sha256=KyvMK3znj164pR4NglIlKRWvS_Pr2ZaA1hta_bnGEMs,26048
19
+ attocode_intel/helpers.py,sha256=45-DYVP8wMp9OR5Kqc5htL2dn2ljk_mIW9t7dorANko,25743
20
+ attocode_intel/installer.py,sha256=HocHKrBSoXQOru3QG-wBqw7I57CPe76Kq9zEWyCwa1E,64220
21
+ attocode_intel/knowledge.py,sha256=TthZa6DkK9sGiH2xh3yI6TKne5YQsdWv6A1zdf_YMxw,11520
22
+ attocode_intel/local_knowledge.py,sha256=2KmGzHmR01-gm_ZnBp3PZHkg6bXcIkmsjgiY7Q41bl8,3277
23
+ attocode_intel/onboarding.py,sha256=zBCE0bBSsQRrRaQEvPklLQxPIocJkuD0s3NCx_i3-5E,11033
24
+ attocode_intel/output.py,sha256=HzkP5JiZFurHcB1HcUIYWzt5y_D_GaHSHEsGtysU0H0,8913
25
+ attocode_intel/precision.py,sha256=x_lMaj9XZeFdODw055R7jqVMufKxsOhyWQlm20qjpaI,7765
26
+ attocode_intel/presence.py,sha256=4G0A1tDqj-NJ1GIZHgfnptQx5DtSN2DUBxO_RlsrRgE,4130
27
+ attocode_intel/probe.py,sha256=-1BprR2mLTBMztCdYjCNeev1JT19aHXKqD-SvEThi5Y,3531
28
+ attocode_intel/project_dir.py,sha256=Y8NJvY2xFEEVT1sThO-_EAJg7K12iDppuTPAr8pz7Zw,3518
29
+ attocode_intel/pubsub.py,sha256=15LXpJBkHQLGxjpKT6JeOolsSp7xa47y1ov9VJNEWgE,4032
30
+ attocode_intel/query_ranking.py,sha256=IZhXj_fkxtUThhnUeHU6kqSs87UGJ48CI5y4Nz23bfI,9419
31
+ attocode_intel/readiness.py,sha256=vJf42B8-WZt6tismm_mXkphcL_b96VwqruZsbbiDAG0,37719
32
+ attocode_intel/redis.py,sha256=otkTlp7N9dyd_qQPgPn3XCUc_vrnzjfitAFD0PULZFY,1171
33
+ attocode_intel/reference_pages.py,sha256=FhvEwchHD4LRs8uTmtnThjwyILcsKBISqgvozMniNAY,2503
34
+ attocode_intel/remote.py,sha256=kNKwTO0W0BPPWeehiRZNMNJ_zje5cJ8NBanZimg0Aks,4899
35
+ attocode_intel/repo_ranker.py,sha256=hViyGqiqjbu0JWb3F_bngHHeO_4hDYaZP1iojCke7SI,8278
36
+ attocode_intel/request_context.py,sha256=-_G4tLZxGsTtsJWUb-bGfj6pGDJzyaBTZm1aZTJETMk,2438
37
+ attocode_intel/server.py,sha256=o0UsyXONdZpCcqZrEdm4Fz3jlA2Uwja2UABl25xG-uc,27925
38
+ attocode_intel/service.py,sha256=4OlOBGV4L3TFSYZ6zezbZJTxSycFm04SiU2V0sRfl6Y,145274
39
+ attocode_intel/sharing.py,sha256=daoEJMx6jzBq-8d-vBWkKW2606G9O4DeVhfShbjczWU,2067
40
+ attocode_intel/structural_evidence.py,sha256=opwRhYgkx0lSoohsV-ABgxCK5a7LqWQ1fbVNhFjuaQw,6652
41
+ attocode_intel/symbol_inspection.py,sha256=zsK-u7usaXIOHZWLTufdsbB484Bo4KafI47lvntoAuE,8435
42
+ attocode_intel/symbol_links.py,sha256=LXmKmi9EPPDGEkshRR5xHPWYFSlKOf33R1LKezD2YS4,7614
43
+ attocode_intel/telemetry.py,sha256=7udUBgfD6v2z9ezAsTcKfDM_7tCAvyuGZCguNy23d_8,1220
44
+ attocode_intel/test_ranking.py,sha256=5y9X7a1AEg7FPu0vSrZAhP5s5nB62nNPJakypglkFxg,4215
45
+ attocode_intel/_internal/__init__.py,sha256=17OFT7g1KLZyJ51ypSSd4CPjitoyuirUViasEdIiKp4,60
46
+ attocode_intel/_internal/errors/__init__.py,sha256=aGvx_CfD4Kq5VhHDkyfxKC3TXQ42n-XrQnY-QxhbS0Y,3687
47
+ attocode_intel/_internal/integrations/__init__.py,sha256=17OFT7g1KLZyJ51ypSSd4CPjitoyuirUViasEdIiKp4,60
48
+ attocode_intel/_internal/integrations/context/__init__.py,sha256=17OFT7g1KLZyJ51ypSSd4CPjitoyuirUViasEdIiKp4,60
49
+ attocode_intel/_internal/integrations/context/architecture_drift.py,sha256=kUIgiC9Is0azGHzkeWvi1lJtFY0IpFp43a-IUdJeTeU,11671
50
+ attocode_intel/_internal/integrations/context/ast_chunker.py,sha256=vxFGgBB4blL1nIHWx8dlCwtEy7xvxRTEDMfX3bJvZjk,7114
51
+ attocode_intel/_internal/integrations/context/ast_service.py,sha256=GZCyFubfyPmgxSi9S2RiDKjLM61O047Wmhg6ytubksA,59163
52
+ attocode_intel/_internal/integrations/context/blob_oid.py,sha256=KXxi3G5jJIdK6pFXITtCkLKex3Ec03Vo4eqqdSadi2k,14946
53
+ attocode_intel/_internal/integrations/context/cache_manifest.py,sha256=wiiJ4Uk8XI5tRdaeaCeltKGytTQ84S01JFxLvU__tvA,7913
54
+ attocode_intel/_internal/integrations/context/cas.py,sha256=HJPAWb-D5OwJ7oj-9igJHdSW4zj7trj1lWrB-oLQnZQ,17143
55
+ attocode_intel/_internal/integrations/context/code_analyzer.py,sha256=D6u_qROMRw4aN33kV35Zm2m7SWP-w1Ye-n-9Jvwn1F0,18024
56
+ attocode_intel/_internal/integrations/context/codebase_ast.py,sha256=wLzFsheXcsEdjm9g9PnfrWhc2DP8XUsd_O0tLN19AY0,52409
57
+ attocode_intel/_internal/integrations/context/codebase_context.py,sha256=rRP3ioBgtRcrhWIeJCmZslAHgmwBy8QhRcKysxUiznc,64054
58
+ attocode_intel/_internal/integrations/context/cross_mode.py,sha256=W69Pm1YKc_qpjjHb2Wm2_rCvQ1hD9MDl8uoEWWlPT5M,7792
59
+ attocode_intel/_internal/integrations/context/cross_references.py,sha256=ZBV-WamFvrSyPUFcswSnEr9kPuik4qKaqZfLfhvrwuo,25517
60
+ attocode_intel/_internal/integrations/context/embedding_rotation.py,sha256=2pVI7qYkzVQuWSD0xvNCO9FFtKsWMXILDeOBem2jPi8,22679
61
+ attocode_intel/_internal/integrations/context/embeddings.py,sha256=gMyktcZMNaYKBS5iG9W0eXDmaLZZUdySIVjUEQQOzUk,10036
62
+ attocode_intel/_internal/integrations/context/frecency.py,sha256=bGPV7N3VhvrBpgu1ViidvO6aHs4Cuv9rGhJtzKkKYQY,13238
63
+ attocode_intel/_internal/integrations/context/fuzzy.py,sha256=JHUE9OL7XkGQIA2vRAVeWKcWPPK1yEbsf_71qpy4h2Y,9190
64
+ attocode_intel/_internal/integrations/context/hierarchical_explorer.py,sha256=f2oPszbx--Wzr6B-WFzDcSwUTFy6igbCg4pdKz92uG4,11398
65
+ attocode_intel/_internal/integrations/context/hydration.py,sha256=UJTOyg0W_L7w_tyOLS-EG9TIjxxputpMYOY8wllrk98,2722
66
+ attocode_intel/_internal/integrations/context/index_repair.py,sha256=tTtFYUkapY5J4HGdvFI5vJfXG4p5MCFusF98XzMeku0,3604
67
+ attocode_intel/_internal/integrations/context/index_store.py,sha256=IBy9KAtGNP8lPrP-1EqX2RpLYxfsJcsiwysIUkP6qy4,22465
68
+ attocode_intel/_internal/integrations/context/memory_store.py,sha256=I5B7k1fVceTSIEOCpgxRtA1Yq9ni-h4bXjDDcRNiEQE,22906
69
+ attocode_intel/_internal/integrations/context/module_resolution.py,sha256=__lmH7879oqGIyvbgDze6C9emjGW3A_U9UEoThJHaZQ,2203
70
+ attocode_intel/_internal/integrations/context/query_constraints.py,sha256=bLRxuUFZ_nhKGJbCgb7lUh1v5dvQjGffu9lh8lrcp5U,10599
71
+ attocode_intel/_internal/integrations/context/query_history.py,sha256=IGYyJaoqvUbGVnZoR-vmHmybKQCxC5UFrR_BPjwF7nc,12624
72
+ attocode_intel/_internal/integrations/context/reranker.py,sha256=7fnpVcr3JSjB7Qo_kYWy3IUyr573rkk1LAiz4t0Rekg,12817
73
+ attocode_intel/_internal/integrations/context/semantic_search.py,sha256=Wun-HF62ycJ6-pTynMfER-B8kYmnJteW2acRdy3ZcRc,122621
74
+ attocode_intel/_internal/integrations/context/syntax_evidence.py,sha256=RMsUeaDTUY03bAaZIi0WhnAv2YHvDAZ0yB9Iap46GDo,4128
75
+ attocode_intel/_internal/integrations/context/systemone_ranker.py,sha256=BB9L3HXz4vEQzoGQmw1hmdG_3IS-fLnL52Oi27NwQ9c,10099
76
+ attocode_intel/_internal/integrations/context/temporal_coupling.py,sha256=2bsamhvKpuBMVIbNRjStj2MFuG7BgVKkeZCfxgTwwsM,14599
77
+ attocode_intel/_internal/integrations/context/trigram_index.py,sha256=uLjetkwLvZB6TGzFWDZo4iEb6r1JCirpwEkC6my1cxg,30033
78
+ attocode_intel/_internal/integrations/context/trigram_regex.py,sha256=lOXg1zkaIKFIieS_IHxsGzCNj8rOkXWuXVhoZQWECbU,6098
79
+ attocode_intel/_internal/integrations/context/ts_parser.py,sha256=Lxcj87ooV9tYsBYyAwJQhn4rM90aCkUyKhXrkBubZ6M,89861
80
+ attocode_intel/_internal/integrations/context/vector_store.py,sha256=67WKh12nyQg1Lx8l21Ohv_vxm0rffClkLZciSkohwKI,30005
81
+ attocode_intel/_internal/integrations/feature_flags/__init__.py,sha256=rydG2qOj52A-_5YEUxyD9WTgSt6eAsGA5bheaDS_O6Q,12315
82
+ attocode_intel/_internal/integrations/lsp/__init__.py,sha256=17OFT7g1KLZyJ51ypSSd4CPjitoyuirUViasEdIiKp4,60
83
+ attocode_intel/_internal/integrations/lsp/client.py,sha256=GuxshtcGlO-gNML5IcdiKrFEV7mnPIzw0wIEFx0uL6Y,40615
84
+ attocode_intel/_internal/integrations/mcp/__init__.py,sha256=17OFT7g1KLZyJ51ypSSd4CPjitoyuirUViasEdIiKp4,60
85
+ attocode_intel/_internal/integrations/mcp/client.py,sha256=TLg7vE0yjhJ3u8_XBIUDLJSEyGSHK2T_NS6lKSBP8_I,8018
86
+ attocode_intel/_internal/integrations/security/__init__.py,sha256=17OFT7g1KLZyJ51ypSSd4CPjitoyuirUViasEdIiKp4,60
87
+ attocode_intel/_internal/integrations/security/custom_rules.py,sha256=dVbZCFdR8j1-rHRE9NDxeafpSPlW0IwvvSioay3Zh_o,5730
88
+ attocode_intel/_internal/integrations/security/dataflow.py,sha256=Br2DvKoKoYgZ707u1f8xl4Oo8_qfvJGlxB9ZwA7vxEk,19057
89
+ attocode_intel/_internal/integrations/security/dependency_audit.py,sha256=srzTIc3nh01LLJLCDru6EsgmRPnqKXt4yT5efiN7jFc,12067
90
+ attocode_intel/_internal/integrations/security/matcher.py,sha256=zworZ2Q8pA7zjEOwNZGkbU7jOXW4pVKejHOhuRBIIM8,1765
91
+ attocode_intel/_internal/integrations/security/patterns.py,sha256=c4NycdOsq83ssONv1pSCBlgXxZlXY2zzzfB063ptZsg,35059
92
+ attocode_intel/_internal/integrations/security/scanner.py,sha256=qzEsPoBK7P_tNIdnMqZfDBk9x_H57y4xf93cYbhxbxE,12634
93
+ attocode_intel/_internal/integrations/utilities/__init__.py,sha256=17OFT7g1KLZyJ51ypSSd4CPjitoyuirUViasEdIiKp4,60
94
+ attocode_intel/_internal/integrations/utilities/ignore.py,sha256=7ctAzoDMjtyCjGqzacldsro24dJ1POKJjOP0BJT0ubw,1895
95
+ attocode_intel/_internal/integrations/utilities/token_estimate.py,sha256=Bhou9MGTVYLk-XFuN_uNM9wJsJ3Qnld303jKUFnaia4,1339
96
+ attocode_intel/_internal/tricks/__init__.py,sha256=17OFT7g1KLZyJ51ypSSd4CPjitoyuirUViasEdIiKp4,60
97
+ attocode_intel/_internal/tricks/recursive_context.py,sha256=UJC1J4lc2mBfq9GIPCX01Z1RunqAF_Z96d1R9Mh8avw,12193
98
+ attocode_intel/_internal/types/__init__.py,sha256=17OFT7g1KLZyJ51ypSSd4CPjitoyuirUViasEdIiKp4,60
99
+ attocode_intel/_internal/types/events.py,sha256=hZu1iK0DqHaSNfaHqBVMaIHxO8Qrz-S4k4PpXsp3vCw,9536
100
+ attocode_intel/_internal/types/severity.py,sha256=fIUSkyghda2CKTxa3lu8sFNGBBwPB3As11zqI7PG3WQ,291
101
+ attocode_intel/api/__init__.py,sha256=9fWM6ao1g7QofTAPzz8NNkTdRtoINKKkeSfLDfHOX28,55
102
+ attocode_intel/api/access.py,sha256=GQjVzOrmlw8jCwgKFC-iiZGZCkC83WzHRgBfppI-zgc,1367
103
+ attocode_intel/api/app.py,sha256=whgc2c7kQAhMohm4UXCGeju8Sa7Oyd_mR6XBIu4vc0U,8399
104
+ attocode_intel/api/deps.py,sha256=jvgVGlrLU1GMmoi-QQHk8sNlhnSL_ImOb5r3vsm_Jj4,11078
105
+ attocode_intel/api/knowledge_bridge.py,sha256=P8mvRtz3FHxJ9rYJgS_9TaZFqm2wD40i5vCzwFZa-dU,534
106
+ attocode_intel/api/mcp_transport.py,sha256=B10NEiuU3vSblYu0vw60Np2Pz2dOhPemYgR-tLqlUhc,2053
107
+ attocode_intel/api/middleware.py,sha256=bDkiKZBlXEPS-woHj7GgtKsXI7kiKDulHB2PMQUhVTA,16187
108
+ attocode_intel/api/models.py,sha256=OnbkfDz2wVTjZO0PWUF_MteGELeKO4wVbXHFqmuJ-xk,14828
109
+ attocode_intel/api/repository_source.py,sha256=5wH7MVZ09MeiPSrtRhh-ziYOMUR2Kyp2Ug0oc2OPvl0,850
110
+ attocode_intel/api/utils.py,sha256=71VMWQhRlVV6-RfZ0hZxmcivVfGruIZ_g4baSm9Aa1A,3040
111
+ attocode_intel/api/auth/__init__.py,sha256=8AMmqSn4K1nyKa50Oc9Tj5Oh6qIn9NQXSDmjNKYb-uo,4438
112
+ attocode_intel/api/auth/api_keys.py,sha256=CyNcpKTLu4GoWYtAYLI-_pnwSbyoWK4hKObsKhHHpLw,1822
113
+ attocode_intel/api/auth/context.py,sha256=QRFSzYFtFY1ef6WjPO5yJ-jxzwuao2Rb6tTEKamCRfo,1192
114
+ attocode_intel/api/auth/jwt.py,sha256=DCuj620hl6PXpXyhVUYs9AQ2TkdcH7gN5m4mS_39K-M,1750
115
+ attocode_intel/api/auth/oauth.py,sha256=1OpFbxWEvhcfC1gJ4Xd7Ofv4E2mWfS3RXdzS4PBdR7A,4532
116
+ attocode_intel/api/auth/passwords.py,sha256=qpmEncb3gRKGI7OjrrrbdpYgcOcwJxsPqb63GOSqFw0,442
117
+ attocode_intel/api/providers/__init__.py,sha256=_sbdsFTQfwbbCJJRlSBwrvR5vW83nJtQpCHad1bXHwg,52
118
+ attocode_intel/api/providers/db_provider.py,sha256=4zuaBkgSiVFI9W2GArdrLwIys6ZXQBQOT9D6NW6Fwyw,43452
119
+ attocode_intel/api/providers/local_provider.py,sha256=o1mdB6HKRdWsH1dZA5lRfBU8FVuAm_lt5REu12_SLJI,17678
120
+ attocode_intel/api/providers/remote_provider.py,sha256=WcdRsmj_D4brBSfeCtfH7Mh-s4DSsztzp_PokiViaGM,26221
121
+ attocode_intel/api/routes/__init__.py,sha256=Ub-DRwFo1wW-s4dEFkzAcRiWmUeM24zuvSj9kn8zIUg,25
122
+ attocode_intel/api/routes/_pin_helper.py,sha256=d3sCufnGkCdiWtFgRIQK_2XKNAvtmcY_4P2GU8hFw2k,5288
123
+ attocode_intel/api/routes/activity.py,sha256=xtRUjODzttMB4MQPL__Rx8pn3JYprGxcqxDcDA8b3bg,4722
124
+ attocode_intel/api/routes/adr.py,sha256=odO_TvZ8trm-EoUpmk414JY6VsU9EWm3lyVZyt1qQqY,3345
125
+ attocode_intel/api/routes/analysis.py,sha256=q7gP3sfEfepB-wY7efEyAlZFwH1IfIP4A8vqLiFA4ok,15999
126
+ attocode_intel/api/routes/api_keys.py,sha256=vBDYk47P507l-4K38HISdfLcQQo7Q1fAGJHWko9Rnog,5252
127
+ attocode_intel/api/routes/auth.py,sha256=eHpg1Q428wsyF6GnapwI0nxev0KyPkZsM2-IYA5HsQE,14320
128
+ attocode_intel/api/routes/branches.py,sha256=3j4FtXXpGK8-w_3dgy7ssIJx_ogZ-qMsVbtdMixRIdE,8247
129
+ attocode_intel/api/routes/cross_repo_search.py,sha256=ZGSaU9Wf3ywqP3T37lgQ2ld3v1cVn5f7xCjwcSLiFss,5983
130
+ attocode_intel/api/routes/embeddings.py,sha256=vSl9YVA5UGXNclxAfVSpGWUrmDcihOMDl5aRJMKiUtM,12892
131
+ attocode_intel/api/routes/files.py,sha256=s1ZiRiP5v5WiZ1FHv8tn2rKZGHrtuebyrB2JsmlZ6w4,4692
132
+ attocode_intel/api/routes/files_v2.py,sha256=MEfUUWDwll2XGi8zOAo7jNwDc5RI3rhBgZlGyykK-xE,12497
133
+ attocode_intel/api/routes/gc.py,sha256=WjlOfJsZVHDIetMoRgW5BxKCCb2uuEsDSyWs7GQWzz8,10265
134
+ attocode_intel/api/routes/git_v2.py,sha256=fDbsMVH-6JOzNSNx8xEj4dIj53JvBTLHFoLQSnHlltc,13567
135
+ attocode_intel/api/routes/graph.py,sha256=FN33jRlzDBNcy7Mnzrz_76_Z2_SVwdVIZQrEy7hfme0,5301
136
+ attocode_intel/api/routes/graph_viz.py,sha256=t9JWyYtAb5iY68GM1BlmOwSrkFB_ymdXrG7HyORgVEo,5470
137
+ attocode_intel/api/routes/health.py,sha256=ANhVIGyjkTOUdYanGoybOZKCtr0Ze9CjIt9Zrd_t1aA,1937
138
+ attocode_intel/api/routes/history.py,sha256=z4xnyXPCsHQxXkcO2QLP_iey2YIvCJ6E273di28_eFA,5265
139
+ attocode_intel/api/routes/jobs.py,sha256=DOEefpRNHQWEiBtfuS4cfdqthA6erAg9CLqoD_nXmvw,2552
140
+ attocode_intel/api/routes/learning.py,sha256=r5NHdXpnE56LJqmblKo0fsDnjgKjfHmGQJoTuwHY4ZQ,7028
141
+ attocode_intel/api/routes/lsp.py,sha256=kSFGeAfadVE1ukKF8kauBrKamuN8ZSIS3Z0g60YRNW0,8671
142
+ attocode_intel/api/routes/notify.py,sha256=_p7YCm8hVe2KwEcsyTyIZp8haW7lMh9w76YvqJb4Z5o,22376
143
+ attocode_intel/api/routes/operations.py,sha256=syEDxKEV3zTYgbr-ct1Z7X1fHpWCyO3ZxN3y5nuKjkQ,886
144
+ attocode_intel/api/routes/orgs.py,sha256=EyCgLmglqvnWQqcEdZKchlMVwKwbwJ9euNgQraPnivo,30008
145
+ attocode_intel/api/routes/preferences.py,sha256=rztSbl54BC5yI0n3BuCsc1e4ptyMBnXiOypAGV4Gn9s,3181
146
+ attocode_intel/api/routes/presence.py,sha256=IjsFZyKpCjqi0k5hjyMV7S6uw4Om_XX9Jn8Tb6KfdEU,1135
147
+ attocode_intel/api/routes/projects.py,sha256=AwaZ9Q4Kn-5eeMKrg3kTp43p4x-SuU-hvmIE0RTbOgI,3595
148
+ attocode_intel/api/routes/repos.py,sha256=cBxXpCnC3Tm5nFukVv4d8au691K-pQDmS8gIpftAdW4,1690
149
+ attocode_intel/api/routes/search.py,sha256=Rty90s0s9HALDHjQ6yw_igCLee_DSYVN-Mi4uNjdYi0,5373
150
+ attocode_intel/api/routes/snapshots.py,sha256=gVlFihVGGtknxmbDDAxbP7Tb6WvuvhsH3RvWrRVoshk,19991
151
+ attocode_intel/api/routes/webhooks.py,sha256=IUKXzv5x7EhwtzJHWLokL4OgRv8artEMjCDVGNjzBv0,11147
152
+ attocode_intel/api/routes/websocket.py,sha256=7eg0DPB_PR-CM6Uumlicwh-pOHgM_79J6JjisBf-CpY,4124
153
+ attocode_intel/api/static/graph.html,sha256=NI1ivJwXGm2anPkhqAUjAyhuMbb2hHGzM3h7YzgcDDc,9061
154
+ attocode_intel/artifacts/__init__.py,sha256=A3SSeGe3mMEK5jcALfYgFTL7MWiqUFFmGCWDbWo41m0,1297
155
+ attocode_intel/artifacts/hashing.py,sha256=7ns57FyH11iKVerTOLXaNHKmF4Y74zOu1UN91bgum-w,6891
156
+ attocode_intel/artifacts/provenance.py,sha256=lxSKJ5g35kNVnnkdFCsMV3HURDTUcZbnEFOFb-xYn2U,7027
157
+ attocode_intel/artifacts/retrieval_pin.py,sha256=FY6ShFiXlpgJSVGhoAdPHloSZrb-AKTnkQn5pwGq5TU,5955
158
+ attocode_intel/confidence/__init__.py,sha256=SVqs8ROmO0RBcGmP55oZxe6StpksIc4sPFc154InXjA,5659
159
+ attocode_intel/confidence/jev.py,sha256=semmRK_4CYJied-iZsGRIinRJuzxpGn80kEkiA0IHyc,8639
160
+ attocode_intel/confidence/llm.py,sha256=FzLqUq6JNTkn2R46_xOTyKqaE72TsLjST4cOpbzz2ZM,10732
161
+ attocode_intel/confidence/redact.py,sha256=F78LzpdpNG4H8QANyld3jMMBMwMCzl7HaEF7KRobgGs,1512
162
+ attocode_intel/confidence/settings.py,sha256=Njq8HL2XaKMxCoYDm_c8mrLsYPQc08qAQWQ-bL2thqE,2148
163
+ attocode_intel/db/__init__.py,sha256=cG0okYpPW2wVsh0oQ1l7sSTrlQIQI68c0zVfJBwroMM,324
164
+ attocode_intel/db/base.py,sha256=zBzaRKUYyH2wL-oq2qIyANdEkYZwUonbVJ6gm08PeIY,769
165
+ attocode_intel/db/engine.py,sha256=465J9obPcbmxDpySNS9C2RRWimbfQ8JOdvKyA3D8Kjw,1827
166
+ attocode_intel/db/models.py,sha256=KAL7hrZwGilsBbqPutIHh6Z0S92jjizn3cdE5PfgYMs,27471
167
+ attocode_intel/git/__init__.py,sha256=2e40aIow2qs8EgNfmemLyBLWPYRA2SKZPiOYeuRAqvM,270
168
+ attocode_intel/git/credentials.py,sha256=RuTve0WOwR9w1Q0KgozgvADspkwz7CrZ7MBQJWnenaw,2205
169
+ attocode_intel/git/manager.py,sha256=4BpmUNsrfPG6Ffr8WobP6ti7QqIzs8CX2XJZFAkrAJI,15881
170
+ attocode_intel/git/models.py,sha256=kW9amz8hgp4wbOSUNoocFE1FstTIUyikSrFs1qFMl94,1867
171
+ attocode_intel/git/storage.py,sha256=EPMAWA0lrSKRLENLKslwt9y7yBkkAkv-WM9X49-fiaw,3269
172
+ attocode_intel/indexing/__init__.py,sha256=g3eCXiL26G4KFSNMunpnL8WWqVtixsBx3I0ccXBeoq0,953
173
+ attocode_intel/indexing/debouncer.py,sha256=ilCDiefRWY2KGphi5yLboSr-qKePbciTzUijeFEnCdY,4912
174
+ attocode_intel/indexing/delta_indexer.py,sha256=jimyXK-esrJICf5u_o8bvqOvhJ9DmFsz7rEScnfi2pE,5665
175
+ attocode_intel/indexing/full_indexer.py,sha256=YAn9etwJlD50N4Adsh7UC118n1nDRJ_ZD1l7aPhwwaw,12803
176
+ attocode_intel/indexing/incremental.py,sha256=w-9YKxYtZpeZZAq__mvPvuCl_W6rSuSIYYSe3BxcWx0,9510
177
+ attocode_intel/indexing/parser.py,sha256=R7_fdFrtghrrDsUMxeQ_INFs-6VIZjhY41DtMLGc3Ac,14277
178
+ attocode_intel/indexing/summarizer.py,sha256=_x3y29Q8V6WvkJgFxEmtZMS0l_tfxn4Gw0HEqZnrinA,10167
179
+ attocode_intel/migrations/alembic.ini,sha256=2-QEvbLunUXTkWeeyfo901-MXPkKoO19emJjb7lW9gw,563
180
+ attocode_intel/migrations/env.py,sha256=hEy7OGvABE43NgY0wmzpvCJgr2vMrQDwHOGv7N6arII,1958
181
+ attocode_intel/migrations/script.py.mako,sha256=kSTGRzVeiLLMi92q_i21hacRifehDeHlEn5N2Kr3lPA,670
182
+ attocode_intel/migrations/versions/001_initial_schema.py,sha256=Ei9LXUjBBqe5kO1efq9mubLQRbJ396g59R50UclqgTo,11299
183
+ attocode_intel/migrations/versions/002_branch_version_and_embeddings.py,sha256=BmU-FjwGiktdW3guXp37Rc6mKsqRkhIbZcG4fBR9njA,2300
184
+ attocode_intel/migrations/versions/003_embedding_uniqueness_and_cascade.py,sha256=_RMNpFRljeMboM3YkbnkjdR5ujyb17EJHLDbgv_aVfs,1463
185
+ attocode_intel/migrations/versions/004_audit_events.py,sha256=GF2Momf9FG_0R1CkQ8764jxaNoLWhDDB3RkxM3OYwU4,1701
186
+ attocode_intel/migrations/versions/005_user_preferences.py,sha256=0dbtH49Y3XO3OSpbpRandC2meHGJReiJw88S9Sh9nJ8,908
187
+ attocode_intel/migrations/versions/006_google_oauth.py,sha256=TAZduVTQfPbgJpB5Yy2L9BeSP8PKgv2bd_bYA8Jl77k,703
188
+ attocode_intel/migrations/versions/007_pgvector_embeddings.py,sha256=RcVluTk8iyWE5SDdTSoF1IJiNkDxAmMxGkjPf6eyai8,701
189
+ attocode_intel/migrations/versions/008_symbol_references.py,sha256=kBv6yCC9zfZO4Z3Xp8tPGEZWsK_gDJfaffadgn8CQhA,1370
190
+ attocode_intel/migrations/versions/009_webhook_secret_encryption.py,sha256=7rWIPTwa7U9YzMhJ_bXE3KZFDqaDGKUqKrlM0-gynFk,601
191
+ attocode_intel/migrations/versions/010_add_commits_table.py,sha256=YPswmmXdg1RHryoxqHHEdzPXfvhs63oPau_O1loHCGI,1615
192
+ attocode_intel/migrations/versions/011_commit_changed_files.py,sha256=hGPx_Lqx9xq8Gc2DRfjxLakGLv8xjvTUaUHTfAabVOA,601
193
+ attocode_intel/migrations/versions/012_branch_merged_at.py,sha256=iPsF36jZvSwTOf6bAW4SItXI5NQRgoISCZXZ7GcI614,582
194
+ attocode_intel/migrations/versions/013_revoked_tokens.py,sha256=MHCOPGayNNGBAbI1AD4X0SbtH0Wy7n3Bi8TrxI4--do,938
195
+ attocode_intel/migrations/versions/014_blame_hunks.py,sha256=_fSrLmCtglCsukeyuQQsGGevOOEUpTZXaARyQgUsdZk,1563
196
+ attocode_intel/migrations/versions/015_commit_file_stats.py,sha256=_1enHaajDs7IFZDEwft8MAVyLcnCuLmo0kALrRtuzpw,1778
197
+ attocode_intel/migrations/versions/016_embedding_provenance_columns.py,sha256=6DSjXT4bgnYrvJkEKlfUG9mpKVF2SrI166I1OuwXuwk,6194
198
+ attocode_intel/migrations/versions/017_provenance_table.py,sha256=LU-WP7UCpD89CQCJKi0Ihz_D2YWPoFhYdFtm9mXwYbo,3699
199
+ attocode_intel/migrations/versions/018_repo_snapshots.py,sha256=-FbK73dKlbmY0h8w5Jy4RG8bXy68E2uCqot56FItZhs,5850
200
+ attocode_intel/migrations/versions/019_symref_caller.py,sha256=6oBVuDXi9q-9wh3bFcn-cVduqwuUw7q6-NIl69GI_Cs,1168
201
+ attocode_intel/migrations/versions/020_shared_knowledge.py,sha256=r_9wqZHM7sT2gIeCvZM2ixezya_61aVh4pbcvDapZfw,1178
202
+ attocode_intel/rules/__init__.py,sha256=TsAOCKhd8eTSWDfdyMfRomQCLyhPWR36pzrM4e5JeBk,581
203
+ attocode_intel/rules/ci.py,sha256=XyOZIO9iuZZlCm6dnc-SIfFPO-w7Ojs6q3dXKrp8s-Q,11583
204
+ attocode_intel/rules/combinators.py,sha256=wxjLTOKakoMOjz3JaSmBmlszabG8tzKohOm_3y2kTvc,10413
205
+ attocode_intel/rules/enricher.py,sha256=AGLQO-eaziuS4gYdlY9XQwXYvmmo4diLO3Z1GLiSImk,4229
206
+ attocode_intel/rules/evolution.py,sha256=Ez0De8a2lhSv_K94z_vamOr4g_54A6z71qIply5ZNaU,16043
207
+ attocode_intel/rules/executor.py,sha256=QbNPfOsQTTPexqOXzp9G_G24ne_X3Zy_nMAehEOX2Wg,19532
208
+ attocode_intel/rules/formatter.py,sha256=YS4yj2BZDruFOJ2mQPxOI_3Nb3KEF2gTkk6pNXc2ybU,6074
209
+ attocode_intel/rules/hygiene.py,sha256=wtWyNUaYE2vQHxSlGOx_6OFbt9bUuhhvrVsyAp8I-v4,8459
210
+ attocode_intel/rules/loader.py,sha256=v_Ld74GjTaDyPHZyLjzshIab0NmLWqyqTe4ZAlsMsuk,11306
211
+ attocode_intel/rules/marketplace.py,sha256=3N3BDTfjtuV4Ia90ASKxuQGAWxYQEwkgDn3wi7Solaw,12862
212
+ attocode_intel/rules/metavar.py,sha256=2VCbU_Mvk3jXNmalN9F7Gesh8lL9KOEGH1TQEV4SQUg,6119
213
+ attocode_intel/rules/model.py,sha256=JlCawf1zAwGO6akuYi9GAxheVVDoXfVpqFvjDCtY24c,10376
214
+ attocode_intel/rules/profiling.py,sha256=sSsyvftP0fvR85oV2dUljRl9N7hjf9UQVZcfAjryRsk,12250
215
+ attocode_intel/rules/registry.py,sha256=T12hCEj8kNJOpk1rfMOmp4H3avO6Zg8cTVkzgc8VraA,7504
216
+ attocode_intel/rules/sarif.py,sha256=2RkIoIu1yPzpintzqQMY-93gVESPa8Qw-V__SIPOGw0,5861
217
+ attocode_intel/rules/synthesis.py,sha256=sBiN9hRC8ahk8mTowClIL_yQOHa6Ocb3UdC8b1AQ9qw,14312
218
+ attocode_intel/rules/testing.py,sha256=rM31irC9yt9EHvtR3oGf2UqLx5E0kPWO_HceF-jDtLY,11628
219
+ attocode_intel/rules/filters/__init__.py,sha256=NcTajMNRAPHssRPf5nUBtG-tSakaEzdqdNpDFxRodeI,179
220
+ attocode_intel/rules/filters/pipeline.py,sha256=ZJh49bG9d5_69FpreDfZqfrMU9r14l5GIRIerws3tLo,5164
221
+ attocode_intel/rules/importers/__init__.py,sha256=N68hrToNkMx7FShlzXOPRHDSSEez6rbf4CdijIBLg-I,81
222
+ attocode_intel/rules/importers/semgrep.py,sha256=zRMTgvJF-1-JpKfjMx-kDjHLC76PN9quhJXF0h2tMiM,12543
223
+ attocode_intel/rules/packs/__init__.py,sha256=pLvBZFpEtqgPx6zqpkNyJP1L6MTH2ZuVuuwU6xSykoQ,52
224
+ attocode_intel/rules/packs/pack_loader.py,sha256=K5NOGgW7yScSyVIuEJxQkN3I0sK32NowjDFnWt-1A5s,8499
225
+ attocode_intel/rules/packs/community/_license_templates/Apache-2.0.txt,sha256=Lh0S0XwaoxTbDPvZ1tSOgcnErJbob8aVoWAKfyV68CM,10115
226
+ attocode_intel/rules/packs/community/_license_templates/MIT.txt,sha256=s_HDAkcejTz9ZTcAco4-UrzvwDBjWefVLrBLUBjYpPo,1078
227
+ attocode_intel/rules/packs/community/bandit-python/LICENSE,sha256=Lh0S0XwaoxTbDPvZ1tSOgcnErJbob8aVoWAKfyV68CM,10115
228
+ attocode_intel/rules/packs/community/bandit-python/NOTICE,sha256=7ly2bzy2p0wcpkBGDw117SvfJvWt2E67HLPPEJw3Xoo,393
229
+ attocode_intel/rules/packs/community/bandit-python/PORTING.md,sha256=ZZaWi8OKRLfdaAOUuTDYRgy7qg42p-dPNBoE-zvMTuE,671
230
+ attocode_intel/rules/packs/community/bandit-python/manifest.yaml,sha256=9yJ2jVVpsUogkixv4-rW4su6MvP0okXDCcbq1DTzpOo,473
231
+ attocode_intel/rules/packs/community/bandit-python/rules/B105-hardcoded-password.yaml,sha256=Krx7o27I1Lc3RT_BaN7e7ZfTTwk5r_ndgcQm8-h3NrE,926
232
+ attocode_intel/rules/packs/community/bandit-python/rules/B303-weak-md5.yaml,sha256=4jexFCPma35_zgkar-w7YreiHfsGl_BtvhKCjCI-oRU,798
233
+ attocode_intel/rules/packs/community/bandit-python/rules/B304-weak-des.yaml,sha256=F9k_oAISZPIKn29WrUjjt5C1HuXWLfwEL0zIhz7TKdE,701
234
+ attocode_intel/rules/packs/community/bandit-python/rules/B307-use-of-eval.yaml,sha256=PHuaShvlK2JLNMV4ztJjESp1_6K_4HNqMxDoj4dtCko,795
235
+ attocode_intel/rules/packs/community/bandit-python/rules/B324-weak-sha1.yaml,sha256=gBJXpw38KAuzYD_3yhZsfDXr-JSQvJx5iFVV9ErSKdM,737
236
+ attocode_intel/rules/packs/community/bandit-python/rules/B501-no-cert-validation.yaml,sha256=zry_A_-qI_TaK-ILQphsnhizoICxW3iu1f3EXra5Pg0,902
237
+ attocode_intel/rules/packs/community/bandit-python/rules/B602-shell-true.yaml,sha256=_CAxycC8B3UFH-V_SU8__8XsHA2Qvzspzok64HuGdcM,935
238
+ attocode_intel/rules/packs/community/bandit-python/rules/B608-sqli.yaml,sha256=3Nfps_ag5JZONegCUMk5w3wPHDlUrKbKAtGdj17ovwk,909
239
+ attocode_intel/rules/packs/community/eslint-typescript/LICENSE,sha256=s_HDAkcejTz9ZTcAco4-UrzvwDBjWefVLrBLUBjYpPo,1078
240
+ attocode_intel/rules/packs/community/eslint-typescript/NOTICE,sha256=jxZ3Iy_b1PBPgqPa_wAs_uCMG6_mbnR3xYNQY4u-AwI,425
241
+ attocode_intel/rules/packs/community/eslint-typescript/PORTING.md,sha256=6VjKXlHk-kk6xN418unzV1cjP9MzNJAzaT6fFjklfVI,547
242
+ attocode_intel/rules/packs/community/eslint-typescript/manifest.yaml,sha256=1yUgB764JRQQV4Jlu9bXykorWaZBPfBu9mVQApFD8X0,509
243
+ attocode_intel/rules/packs/community/eslint-typescript/rules/eqeqeq.yaml,sha256=owXCHBwM5GVAcZsbcYP8ctSXx5Kv83CMVjXr7LF_etA,689
244
+ attocode_intel/rules/packs/community/eslint-typescript/rules/no-eval.yaml,sha256=162JJeI8QGYK-uZlL3qkdLyYNyQ7qojiL7eoeRsAmXw,758
245
+ attocode_intel/rules/packs/community/eslint-typescript/rules/no-implied-eval.yaml,sha256=Gmd-d1udle0QGNNya_-QqLmM9-Ru-bzrbFoO8Kear5k,719
246
+ attocode_intel/rules/packs/community/eslint-typescript/rules/no-new-func.yaml,sha256=tvZ613L6uruk13yboTKkIvjNcvakyohTaXRd_msM5DE,730
247
+ attocode_intel/rules/packs/community/eslint-typescript/rules/no-throw-literal.yaml,sha256=5Gmn25gv8gO-f4Rf4bgl3B883lC86tjmHS4shUn3bSo,675
248
+ attocode_intel/rules/packs/community/eslint-typescript/rules/no-var.yaml,sha256=0owFEx_bzy1jQz2rsRUOSu1Af2yEB78PSsSmTBok_7E,610
249
+ attocode_intel/rules/packs/community/eslint-typescript/rules/no-with.yaml,sha256=vHrNoc5w92sr1-TGdvUDfD9MNTNKNutr_4XhYGhtwyk,584
250
+ attocode_intel/rules/packs/community/gosec-go/LICENSE,sha256=Lh0S0XwaoxTbDPvZ1tSOgcnErJbob8aVoWAKfyV68CM,10115
251
+ attocode_intel/rules/packs/community/gosec-go/NOTICE,sha256=7xTrFbaSb9fiSaeAdNvuCjAbbgzyHUTBpQxZr_XeKD4,402
252
+ attocode_intel/rules/packs/community/gosec-go/PORTING.md,sha256=ooc0vHoULOTIudpVw5e8DlI4Raoo872PkwxsbqQXDkM,657
253
+ attocode_intel/rules/packs/community/gosec-go/manifest.yaml,sha256=t658oMir9ywBUTEooQ_47snlKN1hARrnpwpypVm_u_U,477
254
+ attocode_intel/rules/packs/community/gosec-go/rules/G101-hardcoded-credentials.yaml,sha256=ZdBAANkyWC8HOGj3JFC4EFeI6holQKehaT3QbKWaalU,783
255
+ attocode_intel/rules/packs/community/gosec-go/rules/G102-bind-all-interfaces.yaml,sha256=qdUZePsVeVtp7SQZhrzcyke1IQ49RU_gPzTHeML8hqA,765
256
+ attocode_intel/rules/packs/community/gosec-go/rules/G103-unsafe-block.yaml,sha256=rgRHy2-EJLsYtX-_JUWp1okUoyCqIW-3HmCOsh35NCM,788
257
+ attocode_intel/rules/packs/community/gosec-go/rules/G201-sql-format.yaml,sha256=ZEiI8db17RkzHET4Ns9KaijF4-93HMJ-RscCVcQuFfQ,793
258
+ attocode_intel/rules/packs/community/gosec-go/rules/G304-file-inclusion.yaml,sha256=3xg-esAsemRye3TdIHT1MuAUVVOnheImOjB8-zmZwk0,842
259
+ attocode_intel/rules/packs/community/gosec-go/rules/G401-weak-cipher.yaml,sha256=rUChfgjLgpGjdvJWEmOxe7C4-gJgWt-UOeljK21Az8A,643
260
+ attocode_intel/rules/packs/community/gosec-go/rules/G402-tls-min-version.yaml,sha256=sQqeXnvPQhbDmYdmbgaxmMMzfrKPv5KdCPHz4SAuVJ4,701
261
+ attocode_intel/rules/packs/community/gosec-go/rules/G501-md5-import.yaml,sha256=82lEGB8MHhUuRjQfEFmdR5FnUxXYBDVdZU28KqtfZhQ,676
262
+ attocode_intel/rules/packs/examples/cpp/manifest.yaml,sha256=NhBcTsXtu6g46dsckl3WTLGiqg4fwKtI5C-BNgbAl6M,134
263
+ attocode_intel/rules/packs/examples/cpp/rules/security.yaml,sha256=nV8VbWYodexkVR-6DVICqhzVzsQkUxMVzZhB0YaLq6A,3218
264
+ attocode_intel/rules/packs/examples/cpp/rules/structural.yaml,sha256=exS3WapKQi4fxSN9xLfHFP9pxXjVzs_R9pl01Ku0Xyw,1564
265
+ attocode_intel/rules/packs/examples/csharp/manifest.yaml,sha256=oSuDUquw1sJ9smEU0MMY1GImP5R7g87X3adSGpE_7Po,131
266
+ attocode_intel/rules/packs/examples/csharp/rules/security.yaml,sha256=GA2fH0dP2s5NWMmTW3MIQ7ZpBfjlIWDHdaCqP6SIEAM,2497
267
+ attocode_intel/rules/packs/examples/csharp/rules/structural.yaml,sha256=fH31uLnX-FKzZPzgyMSW9c9hTaxR3OB9dfwco4ArbwI,1747
268
+ attocode_intel/rules/packs/examples/go/manifest.yaml,sha256=X-RYqhPDHMl6CIMvRnRdovuc8Ss-ECkqpRleBWi1aKY,175
269
+ attocode_intel/rules/packs/examples/go/rules/performance.yaml,sha256=OzCEyESvr57Htg_ZnB-B3JqIcaIY6IHY_l4a2eohM7A,5952
270
+ attocode_intel/rules/packs/examples/go/rules/security.yaml,sha256=fEFLPpcLef2qyzF2rFE0iNlz-g-WNhCeSgN6Kuwe0Ss,1603
271
+ attocode_intel/rules/packs/examples/go/rules/structural.yaml,sha256=fwh2NgTm8SCI_S1enZEqslhRRPtWimRYztwnIjFRoqM,2345
272
+ attocode_intel/rules/packs/examples/go/taint/sanitizers.yaml,sha256=4sTah8X52B37bXJpOV29saGVqg34pp01YUJHo33Qago,564
273
+ attocode_intel/rules/packs/examples/go/taint/sinks.yaml,sha256=x18q-JwbVry4ustS-_MjEzc0HjnNhaPniC1MYLTycyM,1238
274
+ attocode_intel/rules/packs/examples/go/taint/sources.yaml,sha256=9O9z78jawsljsJfoIQrskF4djVe6bcpZbKzk39_9RK4,558
275
+ attocode_intel/rules/packs/examples/java/manifest.yaml,sha256=UIiTLkubpqz8lmkc035K8lDgB31mT6I0jSrcEW5tfAs,141
276
+ attocode_intel/rules/packs/examples/java/rules/correctness.yaml,sha256=2z2ejcOmBI132d0PN75VtEnXJayOEdzbmt0o-bAfiMo,1926
277
+ attocode_intel/rules/packs/examples/java/rules/structural.yaml,sha256=Q6_ucu6e_z-uf704lntYyTfVcvjnXChRecGGmLnKCSk,1990
278
+ attocode_intel/rules/packs/examples/java/taint/sinks.yaml,sha256=aql7a_eSdKpyMUSPEygLs3aj4AH0V5Wvrl-PCHJvMtY,979
279
+ attocode_intel/rules/packs/examples/java/taint/sources.yaml,sha256=97twyRmCA8CyiznKefPcYECm7hrnQJv95MAObEgp8a0,511
280
+ attocode_intel/rules/packs/examples/kotlin/manifest.yaml,sha256=Tl3j-2t4IlWFvvx0A2klJTML7PVNKepNg3_DuDDHVJU,143
281
+ attocode_intel/rules/packs/examples/kotlin/rules/correctness.yaml,sha256=WnFiJO-1g9XArMJsMyGsWAJT1WWM_yv9yKrcPOfCVBk,1905
282
+ attocode_intel/rules/packs/examples/kotlin/rules/structural.yaml,sha256=9CROx2PR0whu0B2GIpySHVt3nRb8P01iWkLn1NXZbiw,1404
283
+ attocode_intel/rules/packs/examples/php/manifest.yaml,sha256=o03OhDVQKNfcqx8OJzh90WhdU4eaIuak8g9Z0NBVQgs,139
284
+ attocode_intel/rules/packs/examples/php/rules/security.yaml,sha256=l7BwZVGD4Y51fryfXGie9wx0xQp7GltwyB803wqBDuM,2337
285
+ attocode_intel/rules/packs/examples/php/rules/structural.yaml,sha256=anrUHQGfU9jURk0Pk6zd7SfQjIfFMm_UpV-ekSpAA9U,1421
286
+ attocode_intel/rules/packs/examples/python/manifest.yaml,sha256=wm9HFZu2e82m-j1eKrTVuQRx2LB4UJB8Fg3xnCZ4WZc,130
287
+ attocode_intel/rules/packs/examples/python/rules/performance.yaml,sha256=RFbRqobXV0Uudb0i0tGuCXkcc8di9qkb00XtckWGPGs,3591
288
+ attocode_intel/rules/packs/examples/python/rules/structural.yaml,sha256=souKiObISCvgZCmERxqDAjll3zih7ea9S3XIOJ2LnjU,2297
289
+ attocode_intel/rules/packs/examples/ruby/manifest.yaml,sha256=l8ZrMIw1cxGN3ENFYVQL_v9Sv-8LfBYkv5r7SZdISxU,137
290
+ attocode_intel/rules/packs/examples/ruby/rules/security.yaml,sha256=lqBvts_-WfJI0FIDeCxQH9R3lTuFWU9eqoG1zz8ePY4,2747
291
+ attocode_intel/rules/packs/examples/ruby/rules/structural.yaml,sha256=p2WdA-34olsWvPv1cV0lxligkW1YFQmUx_R3py-1Fnk,1410
292
+ attocode_intel/rules/packs/examples/rust/manifest.yaml,sha256=4n2FcdRmJ8dAKtfco7g1r8q5Mitm2D0AmxjH6E0nPZI,132
293
+ attocode_intel/rules/packs/examples/rust/rules/correctness.yaml,sha256=jM-a2CY16VwAXU1rSsTAiP1vfPA-otAteE1VrY2ZrZg,1714
294
+ attocode_intel/rules/packs/examples/rust/rules/structural.yaml,sha256=Jhsc1N9mc05Q9EDIZyGRO4DERCk_qxBcje8Y4VKwTFo,1889
295
+ attocode_intel/rules/packs/examples/typescript/manifest.yaml,sha256=O5tgghcYHQA4sq2S5DvcSFKxD2Z3b4jBgCQ8PKJb4Hk,158
296
+ attocode_intel/rules/packs/examples/typescript/rules/performance.yaml,sha256=P4A_JNmz5jEHNENw-mXy6I_lxcAhKqOxJt9hgjgvmxs,2653
297
+ attocode_intel/rules/packs/examples/typescript/rules/structural.yaml,sha256=qxIuHiDfgyCoCy2hgXVmwC6QNQNGXVOUJEXKmCAklnA,2039
298
+ attocode_intel/rules/plugins/__init__.py,sha256=SAMiVeDOGWb6G5S3IZradOahZIptn8dAOgqCrigYjRY,52
299
+ attocode_intel/rules/plugins/plugin_loader.py,sha256=R96-VPjmyrLw__ZXBH6yi4BJq7RUflrQ4mp3mThEo0o,3959
300
+ attocode_intel/storage/__init__.py,sha256=ySPR8wUox6fc8bG9r8D2zyoQ4y_QcgOSgAdkI5hLEGc,222
301
+ attocode_intel/storage/branch_overlay.py,sha256=qqE27hoS6cLTo51HjD85QDini3qKQSgxjUU6qcaeS8E,11810
302
+ attocode_intel/storage/content_store.py,sha256=UF5t_spuU-Pomw8UAFEN4U7jq80azdkd0TF5YhtG43s,8103
303
+ attocode_intel/storage/dependency_store.py,sha256=zsqnFCOuI_KBJEheiJKm_aXF3GaDtg2VN55rBpbE1Wo,4385
304
+ attocode_intel/storage/diff_engine.py,sha256=GVOIKNzsv-Ov9Eq_juLuC944RnIMbyWD-AyLfDZnc9g,5906
305
+ attocode_intel/storage/embedding_store.py,sha256=UwUcUVUOr-AGug_XflQZBSV47_7oSeP2iCmFd1K_1TU,22679
306
+ attocode_intel/storage/provenance_store.py,sha256=BWaBuSqvLeFG4ghO98HCWKtJtA8wCcCExd2_cH4D6hQ,4482
307
+ attocode_intel/storage/security_scanner_db.py,sha256=7-xIpQIUdalPK4j9Dh5PtzEbUgby8A9G4N33Sous_Iw,5183
308
+ attocode_intel/storage/symbol_store.py,sha256=wzYq67XrpDcEhTGJTbkI0asx8275X1DZa0CNmtFk8uw,5109
309
+ attocode_intel/testing/__init__.py,sha256=bBc2JyE0PrqcvLJ4ALF97zDiVKjI2G0D0aa4tf6p9PQ,1152
310
+ attocode_intel/testing/fixtures.py,sha256=zSbd-oHxvY_3X3bWzDaGzCD_x4pskzgLks0uCf0h5Sk,3853
311
+ attocode_intel/testing/helpers.py,sha256=HtcB1FExG05-chpKHxkerNN0CDZ3huqzQcSa4G08A88,1996
312
+ attocode_intel/testing/mocks.py,sha256=7_FdJuOIdCtZwsUl_opcpa5VlfGlgnukkBct-3fHCOU,3342
313
+ attocode_intel/tools/__init__.py,sha256=2NYGucFcM_rRGEUlG8NbeCDx7dUy_RXfLRwxvq7jI0s,109
314
+ attocode_intel/tools/adr_tools.py,sha256=MI9nvV4R6IM4VylrhtKMtQpdTMkKC7J2_js807b-afw,21857
315
+ attocode_intel/tools/analysis_tools.py,sha256=1Sa8enUgxz2cIqSg_qW4UlyEaR8O3Bo-xyWiSY_tRiU,12946
316
+ attocode_intel/tools/composite_tools.py,sha256=RLu_IEHQmH4CbOjMZO3IOstBy2TtYqpn4q35--_69VY,26726
317
+ attocode_intel/tools/cross_mode_tools.py,sha256=vNxTAfB9coLZls9pxpz5zVrf9k5kFITu0vuIpIEDvMM,5945
318
+ attocode_intel/tools/dead_code_tools.py,sha256=IuBsK-nSM1s_JiS1AkGFz0kUmk8lbpG97GVElWjT93U,19676
319
+ attocode_intel/tools/distill_tools.py,sha256=eeP5tqo8XmmKiIOLF_pkto2at_Abfm2lH4B97SIwRj4,11418
320
+ attocode_intel/tools/frecency_tools.py,sha256=8L4b_5uwOWuzlenqDBMMVEY763hB9j74Xz_xGfkoGc4,6212
321
+ attocode_intel/tools/fuzzy_tools.py,sha256=yiYL1EpxGMDNh7Y9m0CM2d9fJ3yAJP5bQrFPWaj6Bco,7862
322
+ attocode_intel/tools/history_tools.py,sha256=qC1yexUzRxuWaSxKjtVREtfSQo439pNAzkG8TIMPQQ4,16194
323
+ attocode_intel/tools/learning_tools.py,sha256=otLCQeiIvv6qdSqqFdVec28qde0wlUOFVT13uXn6HDs,8149
324
+ attocode_intel/tools/lsp_tools.py,sha256=5Ar3Xcu4r2dM1Nx5kk6Ly_Rj4XibxWtCYr_m9WR2Ee4,7500
325
+ attocode_intel/tools/maintenance_tools.py,sha256=rB8AhRE-mlNpgQ5kgK4yzco6m8GZ-ZJtKJ_Rj8MoZ_s,60083
326
+ attocode_intel/tools/navigation_tools.py,sha256=69D2FOSaRuMQMpP6C_Gi0LWITZEKxWxeaybPV9J8apo,8296
327
+ attocode_intel/tools/overlay_tools.py,sha256=Pfrzc_lEv7haffT2fwRoTNAno2ZOWbhgpNNgFCYruow,19050
328
+ attocode_intel/tools/pin_store.py,sha256=-jaV5fRtcEy94ZHGAO3cXBrfp5mnsVVfDBxNWscAKuM,16139
329
+ attocode_intel/tools/pin_tools.py,sha256=XWaq_fjdvwZzZgYGYqkmNI-qLaqeT7VXY6XyPW15oY4,9865
330
+ attocode_intel/tools/query_constraints_tools.py,sha256=MkJAx8ILy7n2cKRDNvPQUElwBv4ThRR8jLRoDPsV6Zw,7992
331
+ attocode_intel/tools/query_history_tools.py,sha256=ANUBHpzEkOfW7ryseOGc6ewp_AilBJT96eAxlLZSId4,4587
332
+ attocode_intel/tools/readiness_tools.py,sha256=gWkR-MNlj7yVgpUiYgrJkvjAEsDgSmgKrG74AHKFyMI,1436
333
+ attocode_intel/tools/rule_tools.py,sha256=BCvmtzatEOKupdwXvA82oIAI8BE6ABXDjYOTVNtSb-0,34004
334
+ attocode_intel/tools/search_tools.py,sha256=aaGXNq4OGEzIBDTTiv1U-Ftg2iX8U-gbA7dWRMQkvms,27797
335
+ attocode_intel/tools/snapshot_tools.py,sha256=9ibnk3fY4mhMfD0XgV_b-cOIdhDCxJaXwcOKZGJNdzo,23026
336
+ attocode_intel/workers/__init__.py,sha256=3braUM41abb73sKb0LV0Mp1jNaA1otM-2biPnRQEacI,63
337
+ attocode_intel/workers/job_utils.py,sha256=QLNkQoulbKzvHXX7tTMDb-QbMxrJBEXtohwilEXGL-Q,3616
338
+ attocode_intel/workers/jobs.py,sha256=dMwev7S2ZACcWEUt2eI54jIxlI2857VBGg2c9_ZxQDs,23057
339
+ attocode_intel/workers/run.py,sha256=On88a_HFKX8mNvxP0PTejhdW5VVA2Yn7_GEL7581jDE,667
340
+ attocode_intel/workers/settings.py,sha256=il3Xf9aENising-mLYjmTSNnUNs-gLyjh0-Cyvx8rHM,1910
341
+ attocode_code_intel-0.1.0.dist-info/METADATA,sha256=3Yc9k-thEKhqShATVTzU7mMRHKDmapgDAqWl223ZzEk,12684
342
+ attocode_code_intel-0.1.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
343
+ attocode_code_intel-0.1.0.dist-info/entry_points.txt,sha256=J0nqMjOikl4LC-n8KkU07pUBhToVgVlw-6esV29b2x8,71
344
+ attocode_code_intel-0.1.0.dist-info/licenses/LICENSE,sha256=NL7elrJE_w35KEahRDaEPlDgdHnT1ae3U9Uho7fnrcA,1068
345
+ attocode_code_intel-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.4
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ attocode-code-intel = attocode_intel.entrypoint:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024-2026 eren23
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.