abstractcore 2.5.2__py3-none-any.whl → 2.6.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 (66) hide show
  1. abstractcore/__init__.py +19 -1
  2. abstractcore/architectures/detection.py +252 -6
  3. abstractcore/assets/architecture_formats.json +14 -1
  4. abstractcore/assets/model_capabilities.json +533 -10
  5. abstractcore/compression/__init__.py +29 -0
  6. abstractcore/compression/analytics.py +420 -0
  7. abstractcore/compression/cache.py +250 -0
  8. abstractcore/compression/config.py +279 -0
  9. abstractcore/compression/exceptions.py +30 -0
  10. abstractcore/compression/glyph_processor.py +381 -0
  11. abstractcore/compression/optimizer.py +388 -0
  12. abstractcore/compression/orchestrator.py +380 -0
  13. abstractcore/compression/pil_text_renderer.py +818 -0
  14. abstractcore/compression/quality.py +226 -0
  15. abstractcore/compression/text_formatter.py +666 -0
  16. abstractcore/compression/vision_compressor.py +371 -0
  17. abstractcore/config/main.py +64 -0
  18. abstractcore/config/manager.py +100 -5
  19. abstractcore/core/retry.py +2 -2
  20. abstractcore/core/session.py +193 -7
  21. abstractcore/download.py +253 -0
  22. abstractcore/embeddings/manager.py +2 -2
  23. abstractcore/events/__init__.py +113 -2
  24. abstractcore/exceptions/__init__.py +49 -2
  25. abstractcore/media/auto_handler.py +312 -18
  26. abstractcore/media/handlers/local_handler.py +14 -2
  27. abstractcore/media/handlers/openai_handler.py +62 -3
  28. abstractcore/media/processors/__init__.py +11 -1
  29. abstractcore/media/processors/direct_pdf_processor.py +210 -0
  30. abstractcore/media/processors/glyph_pdf_processor.py +227 -0
  31. abstractcore/media/processors/image_processor.py +7 -1
  32. abstractcore/media/processors/office_processor.py +2 -2
  33. abstractcore/media/processors/text_processor.py +18 -3
  34. abstractcore/media/types.py +164 -7
  35. abstractcore/media/utils/image_scaler.py +2 -2
  36. abstractcore/media/vision_fallback.py +2 -2
  37. abstractcore/providers/__init__.py +18 -0
  38. abstractcore/providers/anthropic_provider.py +228 -8
  39. abstractcore/providers/base.py +378 -11
  40. abstractcore/providers/huggingface_provider.py +563 -23
  41. abstractcore/providers/lmstudio_provider.py +284 -4
  42. abstractcore/providers/mlx_provider.py +27 -2
  43. abstractcore/providers/model_capabilities.py +352 -0
  44. abstractcore/providers/ollama_provider.py +282 -6
  45. abstractcore/providers/openai_provider.py +286 -8
  46. abstractcore/providers/registry.py +85 -13
  47. abstractcore/providers/streaming.py +2 -2
  48. abstractcore/server/app.py +91 -81
  49. abstractcore/tools/common_tools.py +2 -2
  50. abstractcore/tools/handler.py +2 -2
  51. abstractcore/tools/parser.py +2 -2
  52. abstractcore/tools/registry.py +2 -2
  53. abstractcore/tools/syntax_rewriter.py +2 -2
  54. abstractcore/tools/tag_rewriter.py +3 -3
  55. abstractcore/utils/__init__.py +4 -1
  56. abstractcore/utils/self_fixes.py +2 -2
  57. abstractcore/utils/trace_export.py +287 -0
  58. abstractcore/utils/version.py +1 -1
  59. abstractcore/utils/vlm_token_calculator.py +655 -0
  60. {abstractcore-2.5.2.dist-info → abstractcore-2.6.0.dist-info}/METADATA +207 -8
  61. abstractcore-2.6.0.dist-info/RECORD +108 -0
  62. abstractcore-2.5.2.dist-info/RECORD +0 -90
  63. {abstractcore-2.5.2.dist-info → abstractcore-2.6.0.dist-info}/WHEEL +0 -0
  64. {abstractcore-2.5.2.dist-info → abstractcore-2.6.0.dist-info}/entry_points.txt +0 -0
  65. {abstractcore-2.5.2.dist-info → abstractcore-2.6.0.dist-info}/licenses/LICENSE +0 -0
  66. {abstractcore-2.5.2.dist-info → abstractcore-2.6.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: abstractcore
3
- Version: 2.5.2
3
+ Version: 2.6.0
4
4
  Summary: Unified interface to all LLM providers with essential infrastructure for tool calling, streaming, and model management
5
5
  Author-email: Laurent-Philippe Albou <contact@abstractcore.ai>
6
6
  Maintainer-email: Laurent-Philippe Albou <contact@abstractcore.ai>
@@ -37,8 +37,10 @@ Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "anthropic"
37
37
  Provides-Extra: ollama
38
38
  Provides-Extra: lmstudio
39
39
  Provides-Extra: huggingface
40
- Requires-Dist: transformers<5.0.0,>=4.30.0; extra == "huggingface"
41
- Requires-Dist: torch<3.0.0,>=1.12.0; extra == "huggingface"
40
+ Requires-Dist: transformers<5.0.0,>=4.57.1; extra == "huggingface"
41
+ Requires-Dist: torch<3.0.0,>=2.6.0; extra == "huggingface"
42
+ Requires-Dist: torchvision>=0.17.0; extra == "huggingface"
43
+ Requires-Dist: torchaudio>=2.1.0; extra == "huggingface"
42
44
  Requires-Dist: llama-cpp-python<1.0.0,>=0.2.0; extra == "huggingface"
43
45
  Requires-Dist: outlines>=0.1.0; extra == "huggingface"
44
46
  Provides-Extra: mlx
@@ -46,7 +48,7 @@ Requires-Dist: mlx<1.0.0,>=0.15.0; extra == "mlx"
46
48
  Requires-Dist: mlx-lm<1.0.0,>=0.15.0; extra == "mlx"
47
49
  Requires-Dist: outlines>=0.1.0; extra == "mlx"
48
50
  Provides-Extra: embeddings
49
- Requires-Dist: sentence-transformers<4.0.0,>=2.7.0; extra == "embeddings"
51
+ Requires-Dist: sentence-transformers<6.0.0,>=5.1.0; extra == "embeddings"
50
52
  Requires-Dist: numpy<2.0.0,>=1.20.0; extra == "embeddings"
51
53
  Provides-Extra: processing
52
54
  Provides-Extra: tools
@@ -59,18 +61,26 @@ Requires-Dist: Pillow<12.0.0,>=10.0.0; extra == "media"
59
61
  Requires-Dist: pymupdf4llm<1.0.0,>=0.0.20; extra == "media"
60
62
  Requires-Dist: unstructured[office]<1.0.0,>=0.10.0; extra == "media"
61
63
  Requires-Dist: pandas<3.0.0,>=1.0.0; extra == "media"
64
+ Provides-Extra: compression
65
+ Requires-Dist: pdf2image<2.0.0,>=1.16.0; extra == "compression"
62
66
  Provides-Extra: api-providers
63
67
  Requires-Dist: abstractcore[anthropic,openai]; extra == "api-providers"
64
68
  Provides-Extra: local-providers
65
69
  Requires-Dist: abstractcore[lmstudio,mlx,ollama]; extra == "local-providers"
70
+ Provides-Extra: local-providers-non-mlx
71
+ Requires-Dist: abstractcore[lmstudio,ollama]; extra == "local-providers-non-mlx"
66
72
  Provides-Extra: heavy-providers
67
73
  Requires-Dist: abstractcore[huggingface]; extra == "heavy-providers"
68
74
  Provides-Extra: all-providers
69
75
  Requires-Dist: abstractcore[anthropic,embeddings,huggingface,lmstudio,mlx,ollama,openai]; extra == "all-providers"
76
+ Provides-Extra: all-providers-non-mlx
77
+ Requires-Dist: abstractcore[anthropic,embeddings,huggingface,lmstudio,ollama,openai]; extra == "all-providers-non-mlx"
70
78
  Provides-Extra: all
71
- Requires-Dist: abstractcore[anthropic,dev,docs,embeddings,huggingface,lmstudio,media,mlx,ollama,openai,processing,server,test,tools]; extra == "all"
79
+ Requires-Dist: abstractcore[anthropic,compression,dev,docs,embeddings,huggingface,lmstudio,media,mlx,ollama,openai,processing,server,test,tools]; extra == "all"
80
+ Provides-Extra: all-non-mlx
81
+ Requires-Dist: abstractcore[anthropic,compression,dev,docs,embeddings,huggingface,lmstudio,media,ollama,openai,processing,server,test,tools]; extra == "all-non-mlx"
72
82
  Provides-Extra: lightweight
73
- Requires-Dist: abstractcore[anthropic,embeddings,lmstudio,media,ollama,openai,processing,server,tools]; extra == "lightweight"
83
+ Requires-Dist: abstractcore[anthropic,compression,embeddings,lmstudio,media,ollama,openai,processing,server,tools]; extra == "lightweight"
74
84
  Provides-Extra: dev
75
85
  Requires-Dist: pytest>=7.0.0; extra == "dev"
76
86
  Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
@@ -116,7 +126,11 @@ A unified Python library for interaction with multiple Large Language Model (LLM
116
126
  ### Installation
117
127
 
118
128
  ```bash
129
+ # macOS/Apple Silicon (includes MLX)
119
130
  pip install abstractcore[all]
131
+
132
+ # Linux/Windows (excludes MLX)
133
+ pip install abstractcore[all-non-mlx]
120
134
  ```
121
135
 
122
136
  ### Basic Usage
@@ -258,6 +272,118 @@ loaded_session = BasicSession.load('conversation.json', provider=llm)
258
272
 
259
273
  [Learn more about Session](docs/session.md)
260
274
 
275
+ ### Interaction Tracing (Observability)
276
+
277
+ Enable complete observability of LLM interactions for debugging, compliance, and transparency:
278
+
279
+ ```python
280
+ from abstractcore import create_llm
281
+ from abstractcore.core.session import BasicSession
282
+ from abstractcore.utils import export_traces
283
+
284
+ # Enable tracing on provider
285
+ llm = create_llm('openai', model='gpt-4o-mini', enable_tracing=True, max_traces=100)
286
+
287
+ # Or on session for automatic correlation
288
+ session = BasicSession(provider=llm, enable_tracing=True)
289
+
290
+ # Generate with custom metadata
291
+ response = session.generate(
292
+ "Write Python code",
293
+ step_type='code_generation',
294
+ attempt_number=1
295
+ )
296
+
297
+ # Access complete trace
298
+ trace_id = response.metadata['trace_id']
299
+ trace = llm.get_traces(trace_id=trace_id)
300
+
301
+ # Full interaction context
302
+ print(f"Prompt: {trace['prompt']}")
303
+ print(f"Response: {trace['response']['content']}")
304
+ print(f"Tokens: {trace['response']['usage']['total_tokens']}")
305
+ print(f"Time: {trace['response']['generation_time_ms']}ms")
306
+ print(f"Custom metadata: {trace['metadata']}")
307
+
308
+ # Get all session traces
309
+ traces = session.get_interaction_history()
310
+
311
+ # Export to JSONL, JSON, or Markdown
312
+ export_traces(traces, format='markdown', file_path='workflow_trace.md')
313
+ ```
314
+
315
+ **What's captured:**
316
+ - All prompts, system prompts, and conversation history
317
+ - Complete responses with token usage and timing
318
+ - Generation parameters (temperature, tokens, seed, etc.)
319
+ - Custom metadata for workflow tracking
320
+ - Tool calls and results
321
+
322
+ [Learn more about Interaction Tracing](docs/interaction-tracing.md)
323
+
324
+ ### Async/Await Support
325
+
326
+ Execute concurrent LLM requests for batch operations, multi-provider comparisons, or non-blocking web applications. **Production-ready with validated 6-7.5x performance improvement** for concurrent requests.
327
+
328
+ ```python
329
+ import asyncio
330
+ from abstractcore import create_llm
331
+
332
+ async def main():
333
+ llm = create_llm("openai", model="gpt-4o-mini")
334
+
335
+ # Execute 3 requests concurrently (6-7x faster!)
336
+ tasks = [
337
+ llm.agenerate(f"Summarize {topic}")
338
+ for topic in ["Python", "JavaScript", "Rust"]
339
+ ]
340
+ responses = await asyncio.gather(*tasks)
341
+
342
+ for response in responses:
343
+ print(response.content)
344
+
345
+ asyncio.run(main())
346
+ ```
347
+
348
+ **Performance (Validated with Real Testing):**
349
+ - **Ollama**: 7.5x faster for concurrent requests
350
+ - **LMStudio**: 6.5x faster for concurrent requests
351
+ - **OpenAI**: 6.0x faster for concurrent requests
352
+ - **Anthropic**: 7.4x faster for concurrent requests
353
+ - **Average**: ~7x speedup across all providers
354
+
355
+ **Native Async vs Fallback:**
356
+ - **Native async** (httpx.AsyncClient): Ollama, LMStudio, OpenAI, Anthropic
357
+ - **Fallback** (asyncio.to_thread): MLX, HuggingFace
358
+ - All providers work seamlessly - fallback keeps event loop responsive
359
+
360
+ **Use Cases:**
361
+ - Batch operations with 6-7x speedup via parallel execution
362
+ - Multi-provider comparisons (query OpenAI and Anthropic simultaneously)
363
+ - FastAPI/async web frameworks integration
364
+ - Session async for conversation management
365
+
366
+ **Works with:**
367
+ - All 6 providers (OpenAI, Anthropic, Ollama, LMStudio, MLX, HuggingFace)
368
+ - Streaming via `async for chunk in llm.agenerate(..., stream=True)`
369
+ - Sessions via `await session.agenerate(...)`
370
+ - Zero breaking changes to sync API
371
+
372
+ **Learn async patterns:**
373
+
374
+ AbstractCore includes an educational [async CLI demo](examples/async_cli_demo.py) that demonstrates 8 core async/await patterns:
375
+ - Event-driven progress with GlobalEventBus
376
+ - Parallel tool execution with asyncio.gather()
377
+ - Proper async streaming pattern (await first, then async for)
378
+ - Non-blocking animations and user input
379
+
380
+ ```bash
381
+ # Try the educational async demo
382
+ python examples/async_cli_demo.py --provider ollama --model qwen3:4b --stream
383
+ ```
384
+
385
+ [Learn more in CLI docs](docs/acore-cli.md#async-cli-demo-educational-reference)
386
+
261
387
  ### Media Handling
262
388
 
263
389
  AbstractCore provides unified media handling across all providers with automatic resolution optimization. Upload images, PDFs, and documents using the same simple API regardless of your provider.
@@ -307,9 +433,57 @@ response = llm.generate(
307
433
 
308
434
  [Learn more about Media Handling](docs/media-handling-system.md)
309
435
 
436
+ ### Glyph Visual-Text Compression (🧪 EXPERIMENTAL)
437
+
438
+ > ⚠️ **Vision Model Requirement**: This feature ONLY works with vision-capable models (e.g., gpt-4o, claude-3-5-sonnet, llama3.2-vision)
439
+
440
+ Achieve **3-4x token compression** and **faster inference** with Glyph's revolutionary visual-text compression:
441
+
442
+ ```python
443
+ from abstractcore import create_llm
444
+
445
+ # IMPORTANT: Requires a vision-capable model
446
+ llm = create_llm("ollama", model="llama3.2-vision:11b") # ✓ Vision model
447
+
448
+ # Large documents are automatically compressed for efficiency
449
+ response = llm.generate(
450
+ "Analyze the key findings in this research paper",
451
+ media=["large_research_paper.pdf"] # Automatically compressed if beneficial
452
+ )
453
+
454
+ # Force compression (raises error if model lacks vision)
455
+ response = llm.generate(
456
+ "Summarize this document",
457
+ media=["document.pdf"],
458
+ glyph_compression="always" # "auto" | "always" | "never"
459
+ )
460
+
461
+ # Non-vision models will raise UnsupportedFeatureError
462
+ # llm_no_vision = create_llm("openai", model="gpt-4") # ✗ No vision
463
+ # response = llm_no_vision.generate("...", glyph_compression="always") # Error!
464
+
465
+ # Check compression stats
466
+ if response.metadata and response.metadata.get('compression_used'):
467
+ stats = response.metadata.get('compression_stats', {})
468
+ print(f"Compression ratio: {stats.get('compression_ratio')}x")
469
+ print(f"Processing speedup: 14% faster, 79% less memory")
470
+ ```
471
+
472
+ **Validated Performance:**
473
+ - **14% faster processing** with real-world documents
474
+ - **79% lower memory usage** during processing
475
+ - **100% quality preservation** - no loss of analytical accuracy
476
+ - **Transparent operation** - works with existing code
477
+
478
+ [Learn more about Glyph Compression](docs/glyphs.md)
479
+
310
480
  ## Key Features
311
481
 
482
+ - **Offline-First Design**: Built primarily for open source LLMs with full offline capability. Download once, run forever without internet access
312
483
  - **Provider Agnostic**: Seamlessly switch between OpenAI, Anthropic, Ollama, LMStudio, MLX, HuggingFace
484
+ - **Async/Await Support** ⭐ NEW in v2.6.0: Native async support for concurrent requests with `asyncio.gather()` - works with all 6 providers
485
+ - **Interaction Tracing**: Complete LLM observability with programmatic access to prompts, responses, tokens, timing, and trace correlation for debugging, trust, and compliance
486
+ - **Glyph Visual-Text Compression**: Revolutionary compression system that renders text as optimized images for 3-4x token compression and faster inference
313
487
  - **Centralized Configuration**: Global defaults and app-specific preferences at `~/.abstractcore/config/abstractcore.json`
314
488
  - **Intelligent Media Handling**: Upload images, PDFs, and documents with automatic maximum resolution optimization
315
489
  - **Vision Model Support**: Smart image processing at each model's maximum capability
@@ -422,7 +596,7 @@ python -m abstractcore.utils.cli --provider anthropic --model claude-3-5-haiku-l
422
596
 
423
597
  ## Built-in Applications (Ready-to-Use CLI Tools)
424
598
 
425
- AbstractCore includes **four specialized command-line applications** for common LLM tasks. These are production-ready tools that can be used directly from the terminal without any Python programming.
599
+ AbstractCore includes **five specialized command-line applications** for common LLM tasks. These are production-ready tools that can be used directly from the terminal without any Python programming.
426
600
 
427
601
  ### Available Applications
428
602
 
@@ -432,6 +606,7 @@ AbstractCore includes **four specialized command-line applications** for common
432
606
  | **Extractor** | Entity and relationship extraction | `extractor` |
433
607
  | **Judge** | Text evaluation and scoring | `judge` |
434
608
  | **Intent Analyzer** | Psychological intent analysis & deception detection | `intent` |
609
+ | **DeepSearch** | Autonomous multi-stage research with web search | `deepsearch` |
435
610
 
436
611
  ### Quick Usage Examples
437
612
 
@@ -455,6 +630,11 @@ judge proposal.md --custom-criteria has_examples,covers_risks --output assessmen
455
630
  intent conversation.txt --focus-participant user --depth comprehensive
456
631
  intent email.txt --format plain --context document --verbose
457
632
  intent chat_log.json --conversation-mode --provider lmstudio --model qwen/qwen3-30b-a3b-2507
633
+
634
+ # Autonomous research with web search and reflexive refinement
635
+ deepsearch "What are the latest advances in quantum computing?" --depth comprehensive
636
+ deepsearch "AI impact on healthcare" --focus "diagnosis,treatment,ethics" --reflexive
637
+ deepsearch "sustainable energy 2025" --max-sources 25 --provider openai --model gpt-4o-mini
458
638
  ```
459
639
 
460
640
  ### Installation & Setup
@@ -467,9 +647,10 @@ pip install abstractcore[all]
467
647
 
468
648
  # Apps are immediately available
469
649
  summarizer --help
470
- extractor --help
650
+ extractor --help
471
651
  judge --help
472
652
  intent --help
653
+ deepsearch --help
473
654
  ```
474
655
 
475
656
  ### Alternative Usage Methods
@@ -480,12 +661,14 @@ summarizer document.txt
480
661
  extractor report.pdf
481
662
  judge essay.md
482
663
  intent conversation.txt
664
+ deepsearch "your research query"
483
665
 
484
666
  # Method 2: Via Python module
485
667
  python -m abstractcore.apps summarizer document.txt
486
668
  python -m abstractcore.apps extractor report.pdf
487
669
  python -m abstractcore.apps judge essay.md
488
670
  python -m abstractcore.apps intent conversation.txt
671
+ python -m abstractcore.apps deepsearch "your research query"
489
672
  ```
490
673
 
491
674
  ### Key Parameters
@@ -533,6 +716,7 @@ Each application has documentation with examples and usage information:
533
716
  - **[Extractor Guide](docs/apps/basic-extractor.md)** - Entity and relationship extraction
534
717
  - **[Intent Analyzer Guide](docs/apps/basic-intent.md)** - Psychological intent analysis and deception detection
535
718
  - **[Judge Guide](docs/apps/basic-judge.md)** - Text evaluation and scoring systems
719
+ - **[DeepSearch Guide](docs/apps/basic-deepsearch.md)** - Autonomous multi-stage research with web search
536
720
 
537
721
  **When to use the apps:**
538
722
  - Processing documents without writing code
@@ -752,6 +936,7 @@ curl -X POST http://localhost:8000/v1/chat/completions \
752
936
 
753
937
  ## Why AbstractCore?
754
938
 
939
+ - **Offline-First Philosophy**: Designed for open source LLMs with complete offline operation. No internet required after initial model download
755
940
  - **Unified Interface**: One API for all LLM providers
756
941
  - **Multimodal Support**: Upload images, PDFs, and documents across all providers
757
942
  - **Vision Models**: Seamless integration with GPT-4o, Claude Vision, qwen3-vl, and more
@@ -777,6 +962,9 @@ pip install abstractcore[media]
777
962
  pip install abstractcore[openai]
778
963
  pip install abstractcore[anthropic]
779
964
  pip install abstractcore[ollama]
965
+ pip install abstractcore[lmstudio]
966
+ pip install abstractcore[huggingface]
967
+ pip install abstractcore[mlx] # macOS/Apple Silicon only
780
968
 
781
969
  # With server support
782
970
  pip install abstractcore[server]
@@ -786,6 +974,16 @@ pip install abstractcore[embeddings]
786
974
 
787
975
  # Everything (recommended)
788
976
  pip install abstractcore[all]
977
+
978
+ # Cross-platform (all except MLX - for Linux/Windows)
979
+ pip install abstractcore[all-non-mlx]
980
+
981
+ # Provider groups
982
+ pip install abstractcore[all-providers] # All providers (includes MLX)
983
+ pip install abstractcore[all-providers-non-mlx] # All providers except MLX
984
+ pip install abstractcore[local-providers] # Ollama, LMStudio, MLX
985
+ pip install abstractcore[local-providers-non-mlx] # Ollama, LMStudio only
986
+ pip install abstractcore[api-providers] # OpenAI, Anthropic
789
987
  ```
790
988
 
791
989
  **Media processing extras:**
@@ -816,6 +1014,7 @@ All tests passing as of October 12th, 2025.
816
1014
  ## Quick Links
817
1015
 
818
1016
  - **[📚 Documentation Index](docs/)** - Complete documentation navigation guide
1017
+ - **[🔍 Interaction Tracing](docs/interaction-tracing.md)** - LLM observability and debugging ⭐ NEW
819
1018
  - **[Getting Started](docs/getting-started.md)** - 5-minute quick start
820
1019
  - **[⚙️ Prerequisites](docs/prerequisites.md)** - Provider setup (OpenAI, Anthropic, Ollama, etc.)
821
1020
  - **[📖 Python API](docs/api-reference.md)** - Complete Python API reference
@@ -0,0 +1,108 @@
1
+ abstractcore/__init__.py,sha256=DDn7Y74JyDvS79Fm8aSI38l9p5jwHZYWlSgKRsjPE4k,2476
2
+ abstractcore/download.py,sha256=r-vC-zRVtX5KBOQdcZitop3nSdlnTbhbrPeoyZ82dGo,8682
3
+ abstractcore/apps/__init__.py,sha256=sgNOv3lYyOWNBC-w6GnRN6aILGCbdkQtNcuQdJz5ghE,31
4
+ abstractcore/apps/__main__.py,sha256=fV9cGU99K4lGRsPNOLkh8qrDjH3JtMEWNlBiZrvI5Kk,1974
5
+ abstractcore/apps/app_config_utils.py,sha256=5GIvXnD996LFIV3-BpfkqII6UqYlStm7ZCgmqDEN8dc,890
6
+ abstractcore/apps/deepsearch.py,sha256=UlmuBS9T4yNsz0V_iY08GNNDTstsI5OJNNV6c8CU6AE,23191
7
+ abstractcore/apps/extractor.py,sha256=OfiqB9l_alH9xCGb6zOD__QJkDjdKOlLZngriVgmn7c,23749
8
+ abstractcore/apps/intent.py,sha256=5ie_H9_K_ZxlA0oCu7ROUrsgwfzDNFgVUyBNec6YVRE,22813
9
+ abstractcore/apps/judge.py,sha256=nOgxvn-BbhNY6xU9AlTeD1yidTh73AiVlSN7hQCVE2M,23169
10
+ abstractcore/apps/summarizer.py,sha256=9aD6KH21w-tv_wGp9MaO2uyJuaU71OemW7KpqrG5t6w,14669
11
+ abstractcore/architectures/__init__.py,sha256=-4JucAM7JkMWShWKkePoclxrUHRKgaG36UTguJihE0U,1046
12
+ abstractcore/architectures/detection.py,sha256=jmpD04xcKotWCW7--jadBzCtD2a5dYJi1zljpxB9JmU,19813
13
+ abstractcore/architectures/enums.py,sha256=9vIv2vDBEKhxwzwH9iaSAyf-iVj3p8y9loMeN_mYTJ8,3821
14
+ abstractcore/assets/architecture_formats.json,sha256=Yf-W1UuadrL8qid0pfU_pEBOkjwH4lvx7Nzu83GACp8,16622
15
+ abstractcore/assets/model_capabilities.json,sha256=tmfQNNPTNJAauF51nPYkMqcjc17F2geeYngh0HjEUZ0,68836
16
+ abstractcore/assets/session_schema.json,sha256=hMCVrq3KSyVExrMGzuykf7bU-z6WyIVuEGU8du9_zUY,10570
17
+ abstractcore/compression/__init__.py,sha256=svwaHCHoLkKp1IJKdlSC72k6b8vOUOqVF-Yek8ZHwj8,915
18
+ abstractcore/compression/analytics.py,sha256=3orxJkjjMQE_6mID8_8C0sRQ4Gr2Pw7kQ-Iy0p7pIgM,16042
19
+ abstractcore/compression/cache.py,sha256=ohBEvxzjwAbdG8bpQi6ZbF7uh2vyz07-vuu4Sig0ABk,9186
20
+ abstractcore/compression/config.py,sha256=Ec2raN_KEDW-prLax0vQN9nahlQWbfCho_Yr2QPb_LQ,11089
21
+ abstractcore/compression/exceptions.py,sha256=BOTfNyZFNiLuNcWoVSwW8xUXB7XHBi2bW3cUmOK_C9M,756
22
+ abstractcore/compression/glyph_processor.py,sha256=v3xuxWe4MGzdJi7I5tUxnMomV4hTFN2McPcH6kL6ly8,16362
23
+ abstractcore/compression/optimizer.py,sha256=PAsVWbhBKwCvnp6Omzf-cdcW-9-wmug7hVBtH-P9e3M,12733
24
+ abstractcore/compression/orchestrator.py,sha256=kG3iDIxorXlshii7568jX8ha0cpWldH9_kjjqIjHQO8,15117
25
+ abstractcore/compression/pil_text_renderer.py,sha256=IxVs5ZFXIJeXIQdS1hDQKJC6O2lHVOI7I2MvIx1P0i4,36819
26
+ abstractcore/compression/quality.py,sha256=bq7YI_5ywHfPnWSu1MmBRnV5Nxz8KBJGFvnfQOJSx5c,9415
27
+ abstractcore/compression/text_formatter.py,sha256=5RE6JrLkHvYoDQlsYJSoqfbwAa3caMr2i_DXog6ovZs,27328
28
+ abstractcore/compression/vision_compressor.py,sha256=5Ox3w_ee7fgPRDOpSQcooEGtuBKpQoAmWjwpLE2hoNU,12773
29
+ abstractcore/config/__init__.py,sha256=4mHX5z5Sq8R8xh78tb9jjZLaz_oBNW1eh914OsdDTxs,318
30
+ abstractcore/config/main.py,sha256=oQxnNxo_78CusCuDKGgwal2T3S8MDpo3yzLSB1wpYkU,35573
31
+ abstractcore/config/manager.py,sha256=JTN_qoNqRGKQoPH66nVGn3PIjgt-eSgsG9BndYIC8Dg,16752
32
+ abstractcore/config/vision_config.py,sha256=jJzO4zBexh8SqSKp6YKOXdMDSv4AL4Ztl5Xi-5c4KyY,17869
33
+ abstractcore/core/__init__.py,sha256=2h-86U4QkCQ4gzZ4iRusSTMlkODiUS6tKjZHiEXz6rM,684
34
+ abstractcore/core/enums.py,sha256=BhkVnHC-X1_377JDmqd-2mnem9GdBLqixWlYzlP_FJU,695
35
+ abstractcore/core/factory.py,sha256=ec7WGW2JKK-dhDplziTAeRkebEUFymtEEZ_bS5qkpqY,2798
36
+ abstractcore/core/interface.py,sha256=-VAY0nlsTnWN_WghiuMC7iE7xUdZfYOg6KlgrAPi14Y,14086
37
+ abstractcore/core/retry.py,sha256=xP38rabBqJImZ-yg60L5mKeg80ATvxmLG5Yp6lCeTpk,14566
38
+ abstractcore/core/session.py,sha256=n9StBlMhSlETlEqQ401PpM8lK0W2ycCP4Zwrywl4Mhs,46147
39
+ abstractcore/core/types.py,sha256=jj44i07kMjdg9FQ3mA_fK6r_M0Lcgt1RQpy1Ra5w-eI,4578
40
+ abstractcore/embeddings/__init__.py,sha256=hR3xZyqcRm4c2pq1dIa5lxj_-Bk70Zad802JQN4joWo,637
41
+ abstractcore/embeddings/manager.py,sha256=bisyQJquM1HLQor8ZAfO9V_XWWHw0b4PjyAz9g7sS-4,52273
42
+ abstractcore/embeddings/models.py,sha256=bsPAzL6gv57AVii8O15PT0kxfwRkOml3f3njJN4UDi4,4874
43
+ abstractcore/events/__init__.py,sha256=eV3-HRRjTS923YXq5is4JUjPEfaMjT4eGW-I7NuawW4,15598
44
+ abstractcore/exceptions/__init__.py,sha256=mR2i8GvsWrD_dJDAHs8Kw2rTSEMfBxwT1e_RfdQlE_A,4750
45
+ abstractcore/media/__init__.py,sha256=94k22PRXInaXFlxU7p06IRbyjmOkSlCITDm0gb8d9AI,3202
46
+ abstractcore/media/auto_handler.py,sha256=eo5a-hn_geLPsBe1oLKvd2YTxS8NRMms1uosmUyu3-s,26500
47
+ abstractcore/media/base.py,sha256=vWdxscqTGTvd3oc4IzzsBTWhUrznWcqM7M_sFyq6-eE,15971
48
+ abstractcore/media/capabilities.py,sha256=qqKvXGkUT-FNnbFS-EYx8KCT9SZOovO2h4N7ucrHgBA,12844
49
+ abstractcore/media/types.py,sha256=fofcQXSb-_PQwAHoSVObPhPdVUkwxOJec1ssv-731Ho,16158
50
+ abstractcore/media/vision_fallback.py,sha256=-yVKS5n5OJPcsNvInkAnw5SWzTx0_dOLi6TCkZrtw2U,11310
51
+ abstractcore/media/handlers/__init__.py,sha256=HBqFo15JX1q7RM11076iFQUfPvInLlOizX-LGSznLuI,404
52
+ abstractcore/media/handlers/anthropic_handler.py,sha256=iwcHKnHgHoQGpJKlJmwFJWBvrYg9lAzAnndybwsWZRA,12427
53
+ abstractcore/media/handlers/local_handler.py,sha256=Y-viFGYowmtrj-J95JeKgx0L1WSe4ttJeEZ60PHf9Ck,23815
54
+ abstractcore/media/handlers/openai_handler.py,sha256=pzf9rHWWiBFKbQzABJhwbA1TlSC9neR4wXnPeAz0ENM,12754
55
+ abstractcore/media/processors/__init__.py,sha256=V5OqxTnIkcni-tVQZQYpSvO4hl74aFwYsc3MfSQSFWE,706
56
+ abstractcore/media/processors/direct_pdf_processor.py,sha256=DuI3bK8JfZwPVXZ43tH56y09kKqvHgWhR5NZ_HslcF4,8989
57
+ abstractcore/media/processors/glyph_pdf_processor.py,sha256=H-IqnQ0roDEWhsMzoW3BYgXzO9OWBSsrUr_zYIabRdI,8576
58
+ abstractcore/media/processors/image_processor.py,sha256=jXvbiV3RCYpAKVaee24lE5oXavASyt3ScJppOIiosmg,22972
59
+ abstractcore/media/processors/office_processor.py,sha256=_aTrrDtREiy6MivbANFc1FKq06AbAC-pL1EXKiHceGs,18609
60
+ abstractcore/media/processors/pdf_processor.py,sha256=qniYt7cTYYPVRi_cS1IsXztOldeY0bqdn7sdbELBU9k,17157
61
+ abstractcore/media/processors/text_processor.py,sha256=D84QWxxIou4MeNhERmCTxi_p27CgicVFhMXJiujZgIE,21905
62
+ abstractcore/media/utils/__init__.py,sha256=30-CTif91iRKOXJ4njGiduWAt-xp31U7NafMBNvgdO0,460
63
+ abstractcore/media/utils/image_scaler.py,sha256=jPdYd65K5oeo0YaXjOkmv-tvs6tNHYwxJCZ29vZqFDg,11367
64
+ abstractcore/processing/__init__.py,sha256=QcACEnhnHKYCkFL1LNOW_uqBrwkTAmz5A61N4K2dyu0,988
65
+ abstractcore/processing/basic_deepsearch.py,sha256=dzJQtH4k44XY9tvG0Z4JIlYt_s7HpbLdSPScha-t7vk,101036
66
+ abstractcore/processing/basic_extractor.py,sha256=3x-3BdIHgLvqLnLF6K1-P4qVaLIpAnNIIutaJi7lDQM,49832
67
+ abstractcore/processing/basic_intent.py,sha256=wD99Z7fE2RiYk6oyTZXojUbv-bz8HhKFIuIHYLLTw54,32455
68
+ abstractcore/processing/basic_judge.py,sha256=tKWJrg_tY4vCHzWgXxz0ZjgLXBYYfpMcpG7vl03hJcM,32218
69
+ abstractcore/processing/basic_summarizer.py,sha256=XHNxMQ_8aLStTeUo6_2JaThlct12Htpz7ORmm0iuJsg,25495
70
+ abstractcore/providers/__init__.py,sha256=O7gmT4p_jbzMjoZPhi_6RIMHQm-IMFX1XfcgySz3DSQ,1729
71
+ abstractcore/providers/anthropic_provider.py,sha256=0-qZb0Es6-VLuVVl2j7IUjOuyRlgjQdJFulWfpi4qb4,31740
72
+ abstractcore/providers/base.py,sha256=nWF1pxeUlT4ozlUqKG0rWOmLkfo-zQgfU7fv3AUSI08,68452
73
+ abstractcore/providers/huggingface_provider.py,sha256=v4UUmODrnWKtTygzPh-lm4jSCAPms5VYJE5v7PWB4Lo,79458
74
+ abstractcore/providers/lmstudio_provider.py,sha256=e53EF1kyIK4rMRrHZqeE-RfFbxap05iQYWOq_jjxJSk,33935
75
+ abstractcore/providers/mlx_provider.py,sha256=afLCEwuw7r8OK4fD3OriyKMcWpxVIob_37ItmgAclfc,23123
76
+ abstractcore/providers/model_capabilities.py,sha256=C4HIgvNTp9iIPiDeWyXo7vdzRkMdecRPoQi80yHSOL0,11955
77
+ abstractcore/providers/ollama_provider.py,sha256=FoofSLtevTGxsjjiQw9Q7OWBjp4RJ8JHrFVefPnHyoA,33915
78
+ abstractcore/providers/openai_provider.py,sha256=Y-79mAtgDiDw6SqF2LhnWtlfuC_e6TxeF_tqJWAAyWo,36364
79
+ abstractcore/providers/registry.py,sha256=KG7qjP76Z5t6k5ZsmqoDEbe3A39RJhhvExKPvSKMEms,19442
80
+ abstractcore/providers/streaming.py,sha256=HaGkoItPWXqgml3C-KiPc0hBNpztLzjl_ooECw11BHI,31370
81
+ abstractcore/server/__init__.py,sha256=1DSAz_YhQtnKv7sNi5TMQV8GFujctDOabgvAdilQE0o,249
82
+ abstractcore/server/app.py,sha256=ajG4yfMOHjqBafquLHeLTaMmEr01RXiBRxjFRTIT2j8,96602
83
+ abstractcore/structured/__init__.py,sha256=VXRQHGcm-iaYnLOBPin2kyhvhhQA0kaGt_pcNDGsE_8,339
84
+ abstractcore/structured/handler.py,sha256=hcUe_fZcwx0O3msLqFiOsj6-jbq3S-ZQa9c1nRIZvuo,24622
85
+ abstractcore/structured/retry.py,sha256=BN_PvrWybyU1clMy2cult1-TVxFSMaVqiCPmmXvA5aI,3805
86
+ abstractcore/tools/__init__.py,sha256=oh6vG0RdM1lqUtOp95mLrTsWLh9VmhJf5_FVjGIP5_M,2259
87
+ abstractcore/tools/common_tools.py,sha256=hn4Y-HmpYAH3nLnKqJayWr-mpou3T5Ixu-LRdeO1_c4,95161
88
+ abstractcore/tools/core.py,sha256=lUUGihyceiRYlKUFvEMig9jWFF563d574mSDbYYD3fM,4777
89
+ abstractcore/tools/handler.py,sha256=nBbbBNq029s8pV6NbTU-VmQ6xoSTdt7Af1-XbcMdgU4,12050
90
+ abstractcore/tools/parser.py,sha256=AYM0-baSGGGdwd_w2My3B3sOiw2flE2x59mLmdpwJ0A,27768
91
+ abstractcore/tools/registry.py,sha256=eI0qKrauT1PzLIfaporXCjBMojmWYzgfd96xdN_Db1g,9087
92
+ abstractcore/tools/syntax_rewriter.py,sha256=_lBvIJ_gFleR5JZI0UuukQ47pe5CXp3IM9Oee0ypx60,17346
93
+ abstractcore/tools/tag_rewriter.py,sha256=2hjLoIjVs4277mPBSrNsnxLOVvmXm83xtF0WCOU3uno,20350
94
+ abstractcore/utils/__init__.py,sha256=8uvIU1WpUfetvWA90PPvXtxnFNjMQF0umb8_FuK2cTA,779
95
+ abstractcore/utils/cli.py,sha256=tO7S-iVSZavxJaX7OTruNAmF3lJz9eCDORK8Dm7FdgA,70558
96
+ abstractcore/utils/message_preprocessor.py,sha256=GdHkm6tmrgjm3PwHRSCjIsq1XLkbhy_vDEKEUE7OiKY,6028
97
+ abstractcore/utils/self_fixes.py,sha256=1VYxPq-q7_DtNl39NbrzUmyHpkhb9Q2SdnXUj4c0DBc,5907
98
+ abstractcore/utils/structured_logging.py,sha256=Vm-HviSa42G9DJCWmaEv4a0QG3NMsADD3ictLOs4En0,19952
99
+ abstractcore/utils/token_utils.py,sha256=eLwFmJ68p9WMFD_MHLMmeJRW6Oqx_4hKELB8FNQ2Mnk,21097
100
+ abstractcore/utils/trace_export.py,sha256=MD1DHDWltpewy62cYzz_OSPAA6edZbZq7_pZbvxz_H8,9279
101
+ abstractcore/utils/version.py,sha256=8FvB_bU--hAlMcCZyeDF2i2VlS9p4sYej4VBQOVtRR4,605
102
+ abstractcore/utils/vlm_token_calculator.py,sha256=VBmIji_oiqOQ13IvVhNkb8E246tYMIXWVVOnl86Ne94,27978
103
+ abstractcore-2.6.0.dist-info/licenses/LICENSE,sha256=PI2v_4HMvd6050uDD_4AY_8PzBnu2asa3RKbdDjowTA,1078
104
+ abstractcore-2.6.0.dist-info/METADATA,sha256=YuVAqs9CI7NP8wjIsa0W2sXLWpNLOC5JYj_VEqJL2N8,41304
105
+ abstractcore-2.6.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
106
+ abstractcore-2.6.0.dist-info/entry_points.txt,sha256=jXNdzeltVs23A2JM2e2HOiAHldHrsnud3EvPI5VffOs,658
107
+ abstractcore-2.6.0.dist-info/top_level.txt,sha256=DiNHBI35SIawW3N9Z-z0y6cQYNbXd32pvBkW0RLfScs,13
108
+ abstractcore-2.6.0.dist-info/RECORD,,
@@ -1,90 +0,0 @@
1
- abstractcore/__init__.py,sha256=A7Gbn_C-robdWLLQXjtTyWsoaXDGIblSFmLRV_ni6O8,1934
2
- abstractcore/apps/__init__.py,sha256=sgNOv3lYyOWNBC-w6GnRN6aILGCbdkQtNcuQdJz5ghE,31
3
- abstractcore/apps/__main__.py,sha256=fV9cGU99K4lGRsPNOLkh8qrDjH3JtMEWNlBiZrvI5Kk,1974
4
- abstractcore/apps/app_config_utils.py,sha256=5GIvXnD996LFIV3-BpfkqII6UqYlStm7ZCgmqDEN8dc,890
5
- abstractcore/apps/deepsearch.py,sha256=UlmuBS9T4yNsz0V_iY08GNNDTstsI5OJNNV6c8CU6AE,23191
6
- abstractcore/apps/extractor.py,sha256=OfiqB9l_alH9xCGb6zOD__QJkDjdKOlLZngriVgmn7c,23749
7
- abstractcore/apps/intent.py,sha256=5ie_H9_K_ZxlA0oCu7ROUrsgwfzDNFgVUyBNec6YVRE,22813
8
- abstractcore/apps/judge.py,sha256=nOgxvn-BbhNY6xU9AlTeD1yidTh73AiVlSN7hQCVE2M,23169
9
- abstractcore/apps/summarizer.py,sha256=9aD6KH21w-tv_wGp9MaO2uyJuaU71OemW7KpqrG5t6w,14669
10
- abstractcore/architectures/__init__.py,sha256=-4JucAM7JkMWShWKkePoclxrUHRKgaG36UTguJihE0U,1046
11
- abstractcore/architectures/detection.py,sha256=Cxap1pL6qOJjyY22Vc4hzbLALTuuBisPT5UaMotousk,10025
12
- abstractcore/architectures/enums.py,sha256=9vIv2vDBEKhxwzwH9iaSAyf-iVj3p8y9loMeN_mYTJ8,3821
13
- abstractcore/assets/architecture_formats.json,sha256=CIf6SaR_IJs1D7Uvd1K3zWngIXJ_yq3DM_IE3wnpCHY,16076
14
- abstractcore/assets/model_capabilities.json,sha256=AJwF1tmaGGl4P-UTbKX6awsgw7W543UN2TuqhC3y_Ss,50236
15
- abstractcore/assets/session_schema.json,sha256=hMCVrq3KSyVExrMGzuykf7bU-z6WyIVuEGU8du9_zUY,10570
16
- abstractcore/config/__init__.py,sha256=4mHX5z5Sq8R8xh78tb9jjZLaz_oBNW1eh914OsdDTxs,318
17
- abstractcore/config/main.py,sha256=U9zz-h9OvadqW9pBRRf999gVZKtBWsk27oPJtiJa8Qk,32646
18
- abstractcore/config/manager.py,sha256=mo-cpT-jNfQmfTSe9LcalwE1WqjCyvNQexPIqNMS6sc,13098
19
- abstractcore/config/vision_config.py,sha256=jJzO4zBexh8SqSKp6YKOXdMDSv4AL4Ztl5Xi-5c4KyY,17869
20
- abstractcore/core/__init__.py,sha256=2h-86U4QkCQ4gzZ4iRusSTMlkODiUS6tKjZHiEXz6rM,684
21
- abstractcore/core/enums.py,sha256=BhkVnHC-X1_377JDmqd-2mnem9GdBLqixWlYzlP_FJU,695
22
- abstractcore/core/factory.py,sha256=ec7WGW2JKK-dhDplziTAeRkebEUFymtEEZ_bS5qkpqY,2798
23
- abstractcore/core/interface.py,sha256=-VAY0nlsTnWN_WghiuMC7iE7xUdZfYOg6KlgrAPi14Y,14086
24
- abstractcore/core/retry.py,sha256=wNlUAxfmvdO_uVWb4iqkhTqd7O1oRwXxqvVQaLXQOw0,14538
25
- abstractcore/core/session.py,sha256=thqG8zWICKpPeCJi5IoKbMhBDOH4RJlTfUjymP14TFY,38249
26
- abstractcore/core/types.py,sha256=jj44i07kMjdg9FQ3mA_fK6r_M0Lcgt1RQpy1Ra5w-eI,4578
27
- abstractcore/embeddings/__init__.py,sha256=hR3xZyqcRm4c2pq1dIa5lxj_-Bk70Zad802JQN4joWo,637
28
- abstractcore/embeddings/manager.py,sha256=uFVbRPHx_R-kVMVA7N7_7EzeUmCJCeN9Dv0EV8Jko24,52245
29
- abstractcore/embeddings/models.py,sha256=bsPAzL6gv57AVii8O15PT0kxfwRkOml3f3njJN4UDi4,4874
30
- abstractcore/events/__init__.py,sha256=UtbdTOeL05kvi7YP91yo4OEqs5UAbKylBvOOEkrUL5E,11065
31
- abstractcore/exceptions/__init__.py,sha256=h6y3sdZR6uFMh0iq7z85DfJi01zGQvjVOm1W7l86iVQ,3224
32
- abstractcore/media/__init__.py,sha256=94k22PRXInaXFlxU7p06IRbyjmOkSlCITDm0gb8d9AI,3202
33
- abstractcore/media/auto_handler.py,sha256=R3EhifSlGSJ_2oftQ7BdD7nQBMGePHOubuXkqHmcHHQ,13478
34
- abstractcore/media/base.py,sha256=vWdxscqTGTvd3oc4IzzsBTWhUrznWcqM7M_sFyq6-eE,15971
35
- abstractcore/media/capabilities.py,sha256=qqKvXGkUT-FNnbFS-EYx8KCT9SZOovO2h4N7ucrHgBA,12844
36
- abstractcore/media/types.py,sha256=jG-g_2_gzl8eOgEalk9x3Ikhni9GoGfoRjkZWaBhV30,10165
37
- abstractcore/media/vision_fallback.py,sha256=yojFTwKqiE0wfQGYphpXUcANpC0Q80s-qlt7gmQGfZg,11282
38
- abstractcore/media/handlers/__init__.py,sha256=HBqFo15JX1q7RM11076iFQUfPvInLlOizX-LGSznLuI,404
39
- abstractcore/media/handlers/anthropic_handler.py,sha256=iwcHKnHgHoQGpJKlJmwFJWBvrYg9lAzAnndybwsWZRA,12427
40
- abstractcore/media/handlers/local_handler.py,sha256=xfMV2Ztre3eUkDno4aSGob96oWUlgicZ3VChs-txjXU,23033
41
- abstractcore/media/handlers/openai_handler.py,sha256=o0H_WQ_NQt133my55xYQmq6_QFGafghF8sPTrqr1f0Q,9726
42
- abstractcore/media/processors/__init__.py,sha256=tExCZwVhD9Qzn3D99-zQcU-T1324YtiLkWjIfWLC708,442
43
- abstractcore/media/processors/image_processor.py,sha256=wj-f1W71ZCs4AZdmyTKZvnMee83GkiXKuZ6QvJwd3Lo,22577
44
- abstractcore/media/processors/office_processor.py,sha256=MqhLDWNtjHEpiMgpFaf7tbj8iDcTCf_zelWrHZkr7Z4,18580
45
- abstractcore/media/processors/pdf_processor.py,sha256=qniYt7cTYYPVRi_cS1IsXztOldeY0bqdn7sdbELBU9k,17157
46
- abstractcore/media/processors/text_processor.py,sha256=E28FtT2_jzsvMIDwZi6aVWuu_pSyAPSBa96fe4YYcU8,21092
47
- abstractcore/media/utils/__init__.py,sha256=30-CTif91iRKOXJ4njGiduWAt-xp31U7NafMBNvgdO0,460
48
- abstractcore/media/utils/image_scaler.py,sha256=QrYqoNQc8tzGu7I9Sf_E-Iv7ei2oLh714AGiX3yACNM,11338
49
- abstractcore/processing/__init__.py,sha256=QcACEnhnHKYCkFL1LNOW_uqBrwkTAmz5A61N4K2dyu0,988
50
- abstractcore/processing/basic_deepsearch.py,sha256=dzJQtH4k44XY9tvG0Z4JIlYt_s7HpbLdSPScha-t7vk,101036
51
- abstractcore/processing/basic_extractor.py,sha256=3x-3BdIHgLvqLnLF6K1-P4qVaLIpAnNIIutaJi7lDQM,49832
52
- abstractcore/processing/basic_intent.py,sha256=wD99Z7fE2RiYk6oyTZXojUbv-bz8HhKFIuIHYLLTw54,32455
53
- abstractcore/processing/basic_judge.py,sha256=tKWJrg_tY4vCHzWgXxz0ZjgLXBYYfpMcpG7vl03hJcM,32218
54
- abstractcore/processing/basic_summarizer.py,sha256=XHNxMQ_8aLStTeUo6_2JaThlct12Htpz7ORmm0iuJsg,25495
55
- abstractcore/providers/__init__.py,sha256=n-2RMNm3QpKxHw9EOjv8icRMRnfJp5Xg0uSVzHCW3BI,1222
56
- abstractcore/providers/anthropic_provider.py,sha256=wXzRgW1AJCRX5dovXHVRTNxL96vycr7Ug9omKnLjPzo,21588
57
- abstractcore/providers/base.py,sha256=gWlkchUZBXgcJAKNV8U1hROUGGw8MdDIuLHQM2LRx8Y,51530
58
- abstractcore/providers/huggingface_provider.py,sha256=mTjpdZlC49QCMqsDHEabTnQbX21z7MNV77Dv9hs_RiM,53696
59
- abstractcore/providers/lmstudio_provider.py,sha256=jzNMngjRtpw4lgdF66i5h22QIPWXvritezcJndetu7A,21632
60
- abstractcore/providers/mlx_provider.py,sha256=1gI1KXJdKcgjiaivk7LpuBScpYgsVJ9YEikm-gCChoo,22156
61
- abstractcore/providers/ollama_provider.py,sha256=VfPn6y87Jjih1MhFsHhijtv1AhbefhwSh4_Z2eAKc4o,21975
62
- abstractcore/providers/openai_provider.py,sha256=kV1YXjzKyqJMQhmn9kG7AwQ-ssu8PipFwXdmmuosR98,23346
63
- abstractcore/providers/registry.py,sha256=oqEaKjF2nuPiw9W0u6DM7TJgm4P2i94aKZRb8Ma6PqM,16002
64
- abstractcore/providers/streaming.py,sha256=VnffBV_CU9SAKzghL154OoFyEdDsiLwUNXPahyU41Bw,31342
65
- abstractcore/server/__init__.py,sha256=1DSAz_YhQtnKv7sNi5TMQV8GFujctDOabgvAdilQE0o,249
66
- abstractcore/server/app.py,sha256=7pG5ZkZqYNnyby4jyvp3_NKl5nNDmZpOhv_-F8Jruy4,96580
67
- abstractcore/structured/__init__.py,sha256=VXRQHGcm-iaYnLOBPin2kyhvhhQA0kaGt_pcNDGsE_8,339
68
- abstractcore/structured/handler.py,sha256=hcUe_fZcwx0O3msLqFiOsj6-jbq3S-ZQa9c1nRIZvuo,24622
69
- abstractcore/structured/retry.py,sha256=BN_PvrWybyU1clMy2cult1-TVxFSMaVqiCPmmXvA5aI,3805
70
- abstractcore/tools/__init__.py,sha256=oh6vG0RdM1lqUtOp95mLrTsWLh9VmhJf5_FVjGIP5_M,2259
71
- abstractcore/tools/common_tools.py,sha256=sfCuwZX3mG229yZRAgaLlDrVpGCVfdH_Uq5tZUVw6n8,95122
72
- abstractcore/tools/core.py,sha256=lUUGihyceiRYlKUFvEMig9jWFF563d574mSDbYYD3fM,4777
73
- abstractcore/tools/handler.py,sha256=GmDenXAJkhceWSGlhvuF90aMb2301tRTh6WxGwBQifc,12022
74
- abstractcore/tools/parser.py,sha256=1r5nmEEp1Rid3JU6ct-s3lP-eCln67fvXG5HCjqiRew,27740
75
- abstractcore/tools/registry.py,sha256=cN3nbPEK6L2vAd9740MIFf2fitW_4WHpQfK4KvQjnT0,9059
76
- abstractcore/tools/syntax_rewriter.py,sha256=c3NSTvUF3S3ho5Cwjp7GJJdibeYAI6k3iaBwhKcpTfo,17318
77
- abstractcore/tools/tag_rewriter.py,sha256=UGFMBj2QKwm12j8JQ6oc2C_N3ZeNqz9Enz4VkEIrS0c,20338
78
- abstractcore/utils/__init__.py,sha256=29mMc3jV_suEPBn7W8Yw_wqcdvFP-083ws5AUFJVM28,676
79
- abstractcore/utils/cli.py,sha256=tO7S-iVSZavxJaX7OTruNAmF3lJz9eCDORK8Dm7FdgA,70558
80
- abstractcore/utils/message_preprocessor.py,sha256=GdHkm6tmrgjm3PwHRSCjIsq1XLkbhy_vDEKEUE7OiKY,6028
81
- abstractcore/utils/self_fixes.py,sha256=QEDwNTW80iQM4ftfEY3Ghz69F018oKwLM9yeRCYZOvw,5886
82
- abstractcore/utils/structured_logging.py,sha256=Vm-HviSa42G9DJCWmaEv4a0QG3NMsADD3ictLOs4En0,19952
83
- abstractcore/utils/token_utils.py,sha256=eLwFmJ68p9WMFD_MHLMmeJRW6Oqx_4hKELB8FNQ2Mnk,21097
84
- abstractcore/utils/version.py,sha256=GC9cH32Kxl_Gm71B9JyHaV8605RVj_YHzLdOS6AjFM0,605
85
- abstractcore-2.5.2.dist-info/licenses/LICENSE,sha256=PI2v_4HMvd6050uDD_4AY_8PzBnu2asa3RKbdDjowTA,1078
86
- abstractcore-2.5.2.dist-info/METADATA,sha256=VeTcJ285fQCo75pDmpjGmnllxlWHH6JvyfSYeN_o8Y4,32893
87
- abstractcore-2.5.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
88
- abstractcore-2.5.2.dist-info/entry_points.txt,sha256=jXNdzeltVs23A2JM2e2HOiAHldHrsnud3EvPI5VffOs,658
89
- abstractcore-2.5.2.dist-info/top_level.txt,sha256=DiNHBI35SIawW3N9Z-z0y6cQYNbXd32pvBkW0RLfScs,13
90
- abstractcore-2.5.2.dist-info/RECORD,,