abstractcore 2.5.0__py3-none-any.whl → 2.5.3__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 (60) hide show
  1. abstractcore/__init__.py +12 -0
  2. abstractcore/apps/__main__.py +8 -1
  3. abstractcore/apps/deepsearch.py +644 -0
  4. abstractcore/apps/intent.py +614 -0
  5. abstractcore/architectures/detection.py +250 -4
  6. abstractcore/assets/architecture_formats.json +14 -1
  7. abstractcore/assets/model_capabilities.json +583 -44
  8. abstractcore/compression/__init__.py +29 -0
  9. abstractcore/compression/analytics.py +420 -0
  10. abstractcore/compression/cache.py +250 -0
  11. abstractcore/compression/config.py +279 -0
  12. abstractcore/compression/exceptions.py +30 -0
  13. abstractcore/compression/glyph_processor.py +381 -0
  14. abstractcore/compression/optimizer.py +388 -0
  15. abstractcore/compression/orchestrator.py +380 -0
  16. abstractcore/compression/pil_text_renderer.py +818 -0
  17. abstractcore/compression/quality.py +226 -0
  18. abstractcore/compression/text_formatter.py +666 -0
  19. abstractcore/compression/vision_compressor.py +371 -0
  20. abstractcore/config/main.py +66 -1
  21. abstractcore/config/manager.py +111 -5
  22. abstractcore/core/session.py +105 -5
  23. abstractcore/events/__init__.py +1 -1
  24. abstractcore/media/auto_handler.py +312 -18
  25. abstractcore/media/handlers/local_handler.py +14 -2
  26. abstractcore/media/handlers/openai_handler.py +62 -3
  27. abstractcore/media/processors/__init__.py +11 -1
  28. abstractcore/media/processors/direct_pdf_processor.py +210 -0
  29. abstractcore/media/processors/glyph_pdf_processor.py +227 -0
  30. abstractcore/media/processors/image_processor.py +7 -1
  31. abstractcore/media/processors/text_processor.py +18 -3
  32. abstractcore/media/types.py +164 -7
  33. abstractcore/processing/__init__.py +5 -1
  34. abstractcore/processing/basic_deepsearch.py +2173 -0
  35. abstractcore/processing/basic_intent.py +690 -0
  36. abstractcore/providers/__init__.py +18 -0
  37. abstractcore/providers/anthropic_provider.py +29 -2
  38. abstractcore/providers/base.py +279 -6
  39. abstractcore/providers/huggingface_provider.py +658 -27
  40. abstractcore/providers/lmstudio_provider.py +52 -2
  41. abstractcore/providers/mlx_provider.py +103 -4
  42. abstractcore/providers/model_capabilities.py +352 -0
  43. abstractcore/providers/ollama_provider.py +44 -6
  44. abstractcore/providers/openai_provider.py +29 -2
  45. abstractcore/providers/registry.py +91 -19
  46. abstractcore/server/app.py +91 -81
  47. abstractcore/structured/handler.py +161 -1
  48. abstractcore/tools/common_tools.py +98 -3
  49. abstractcore/utils/__init__.py +4 -1
  50. abstractcore/utils/cli.py +114 -1
  51. abstractcore/utils/trace_export.py +287 -0
  52. abstractcore/utils/version.py +1 -1
  53. abstractcore/utils/vlm_token_calculator.py +655 -0
  54. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/METADATA +140 -23
  55. abstractcore-2.5.3.dist-info/RECORD +107 -0
  56. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/entry_points.txt +4 -0
  57. abstractcore-2.5.0.dist-info/RECORD +0 -86
  58. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/WHEEL +0 -0
  59. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.dist-info}/licenses/LICENSE +0 -0
  60. {abstractcore-2.5.0.dist-info → abstractcore-2.5.3.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.0
3
+ Version: 2.5.3
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,14 +37,18 @@ 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"
45
+ Requires-Dist: outlines>=0.1.0; extra == "huggingface"
43
46
  Provides-Extra: mlx
44
47
  Requires-Dist: mlx<1.0.0,>=0.15.0; extra == "mlx"
45
48
  Requires-Dist: mlx-lm<1.0.0,>=0.15.0; extra == "mlx"
49
+ Requires-Dist: outlines>=0.1.0; extra == "mlx"
46
50
  Provides-Extra: embeddings
47
- 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"
48
52
  Requires-Dist: numpy<2.0.0,>=1.20.0; extra == "embeddings"
49
53
  Provides-Extra: processing
50
54
  Provides-Extra: tools
@@ -57,6 +61,8 @@ Requires-Dist: Pillow<12.0.0,>=10.0.0; extra == "media"
57
61
  Requires-Dist: pymupdf4llm<1.0.0,>=0.0.20; extra == "media"
58
62
  Requires-Dist: unstructured[office]<1.0.0,>=0.10.0; extra == "media"
59
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"
60
66
  Provides-Extra: api-providers
61
67
  Requires-Dist: abstractcore[anthropic,openai]; extra == "api-providers"
62
68
  Provides-Extra: local-providers
@@ -66,9 +72,9 @@ Requires-Dist: abstractcore[huggingface]; extra == "heavy-providers"
66
72
  Provides-Extra: all-providers
67
73
  Requires-Dist: abstractcore[anthropic,embeddings,huggingface,lmstudio,mlx,ollama,openai]; extra == "all-providers"
68
74
  Provides-Extra: all
69
- Requires-Dist: abstractcore[anthropic,dev,docs,embeddings,huggingface,lmstudio,media,mlx,ollama,openai,processing,server,test,tools]; extra == "all"
75
+ Requires-Dist: abstractcore[anthropic,compression,dev,docs,embeddings,huggingface,lmstudio,media,mlx,ollama,openai,processing,server,test,tools]; extra == "all"
70
76
  Provides-Extra: lightweight
71
- Requires-Dist: abstractcore[anthropic,embeddings,lmstudio,media,ollama,openai,processing,server,tools]; extra == "lightweight"
77
+ Requires-Dist: abstractcore[anthropic,compression,embeddings,lmstudio,media,ollama,openai,processing,server,tools]; extra == "lightweight"
72
78
  Provides-Extra: dev
73
79
  Requires-Dist: pytest>=7.0.0; extra == "dev"
74
80
  Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
@@ -256,9 +262,58 @@ loaded_session = BasicSession.load('conversation.json', provider=llm)
256
262
 
257
263
  [Learn more about Session](docs/session.md)
258
264
 
265
+ ### Interaction Tracing (Observability)
266
+
267
+ Enable complete observability of LLM interactions for debugging, compliance, and transparency:
268
+
269
+ ```python
270
+ from abstractcore import create_llm
271
+ from abstractcore.core.session import BasicSession
272
+ from abstractcore.utils import export_traces
273
+
274
+ # Enable tracing on provider
275
+ llm = create_llm('openai', model='gpt-4o-mini', enable_tracing=True, max_traces=100)
276
+
277
+ # Or on session for automatic correlation
278
+ session = BasicSession(provider=llm, enable_tracing=True)
279
+
280
+ # Generate with custom metadata
281
+ response = session.generate(
282
+ "Write Python code",
283
+ step_type='code_generation',
284
+ attempt_number=1
285
+ )
286
+
287
+ # Access complete trace
288
+ trace_id = response.metadata['trace_id']
289
+ trace = llm.get_traces(trace_id=trace_id)
290
+
291
+ # Full interaction context
292
+ print(f"Prompt: {trace['prompt']}")
293
+ print(f"Response: {trace['response']['content']}")
294
+ print(f"Tokens: {trace['response']['usage']['total_tokens']}")
295
+ print(f"Time: {trace['response']['generation_time_ms']}ms")
296
+ print(f"Custom metadata: {trace['metadata']}")
297
+
298
+ # Get all session traces
299
+ traces = session.get_interaction_history()
300
+
301
+ # Export to JSONL, JSON, or Markdown
302
+ export_traces(traces, format='markdown', file_path='workflow_trace.md')
303
+ ```
304
+
305
+ **What's captured:**
306
+ - All prompts, system prompts, and conversation history
307
+ - Complete responses with token usage and timing
308
+ - Generation parameters (temperature, tokens, seed, etc.)
309
+ - Custom metadata for workflow tracking
310
+ - Tool calls and results
311
+
312
+ [Learn more about Interaction Tracing](docs/interaction-tracing.md)
313
+
259
314
  ### Media Handling
260
315
 
261
- AbstractCore provides **unified media handling** across all providers with **automatic maximum resolution optimization** for best results. Upload images, PDFs, and documents using the same simple API regardless of your provider.
316
+ 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.
262
317
 
263
318
  ```python
264
319
  from abstractcore import create_llm
@@ -296,7 +351,7 @@ response = llm.generate(
296
351
  - **Smart Resolution**: Automatically uses maximum resolution supported by each model
297
352
  - **Format Support**: PNG, JPEG, GIF, WEBP, BMP, TIFF images; PDF, TXT, MD, CSV, TSV, JSON documents
298
353
  - **Office Documents**: DOCX, XLSX, PPT (with `pip install abstractcore[all]`)
299
- - **Vision Optimization**: Model-specific image processing for best vision results
354
+ - **Vision Optimization**: Model-specific image processing for vision results
300
355
 
301
356
  **Provider compatibility:**
302
357
  - **High-resolution vision**: GPT-4o (up to 4096x4096), Claude 3.5 Sonnet (up to 1568x1568)
@@ -305,16 +360,63 @@ response = llm.generate(
305
360
 
306
361
  [Learn more about Media Handling](docs/media-handling-system.md)
307
362
 
363
+ ### Glyph Visual-Text Compression (🧪 EXPERIMENTAL)
364
+
365
+ > ⚠️ **Vision Model Requirement**: This feature ONLY works with vision-capable models (e.g., gpt-4o, claude-3-5-sonnet, llama3.2-vision)
366
+
367
+ Achieve **3-4x token compression** and **faster inference** with Glyph's revolutionary visual-text compression:
368
+
369
+ ```python
370
+ from abstractcore import create_llm
371
+
372
+ # IMPORTANT: Requires a vision-capable model
373
+ llm = create_llm("ollama", model="llama3.2-vision:11b") # ✓ Vision model
374
+
375
+ # Large documents are automatically compressed for efficiency
376
+ response = llm.generate(
377
+ "Analyze the key findings in this research paper",
378
+ media=["large_research_paper.pdf"] # Automatically compressed if beneficial
379
+ )
380
+
381
+ # Force compression (raises error if model lacks vision)
382
+ response = llm.generate(
383
+ "Summarize this document",
384
+ media=["document.pdf"],
385
+ glyph_compression="always" # "auto" | "always" | "never"
386
+ )
387
+
388
+ # Non-vision models will raise UnsupportedFeatureError
389
+ # llm_no_vision = create_llm("openai", model="gpt-4") # ✗ No vision
390
+ # response = llm_no_vision.generate("...", glyph_compression="always") # Error!
391
+
392
+ # Check compression stats
393
+ if response.metadata and response.metadata.get('compression_used'):
394
+ stats = response.metadata.get('compression_stats', {})
395
+ print(f"Compression ratio: {stats.get('compression_ratio')}x")
396
+ print(f"Processing speedup: 14% faster, 79% less memory")
397
+ ```
398
+
399
+ **Validated Performance:**
400
+ - **14% faster processing** with real-world documents
401
+ - **79% lower memory usage** during processing
402
+ - **100% quality preservation** - no loss of analytical accuracy
403
+ - **Transparent operation** - works with existing code
404
+
405
+ [Learn more about Glyph Compression](docs/glyphs.md)
406
+
308
407
  ## Key Features
309
408
 
409
+ - **Offline-First Design**: Built primarily for open source LLMs with full offline capability. Download once, run forever without internet access
310
410
  - **Provider Agnostic**: Seamlessly switch between OpenAI, Anthropic, Ollama, LMStudio, MLX, HuggingFace
411
+ - **Interaction Tracing**: Complete LLM observability with programmatic access to prompts, responses, tokens, and timing for debugging and compliance
412
+ - **Glyph Visual-Text Compression**: Revolutionary compression system that renders text as optimized images for 3-4x token compression and faster inference
311
413
  - **Centralized Configuration**: Global defaults and app-specific preferences at `~/.abstractcore/config/abstractcore.json`
312
414
  - **Intelligent Media Handling**: Upload images, PDFs, and documents with automatic maximum resolution optimization
313
- - **Vision Model Support**: Smart image processing at each model's maximum capability for best results
314
- - **Document Processing**: Advanced PDF extraction (PyMuPDF4LLM), Office documents (DOCX/XLSX/PPT), CSV/TSV analysis
415
+ - **Vision Model Support**: Smart image processing at each model's maximum capability
416
+ - **Document Processing**: PDF extraction (PyMuPDF4LLM), Office documents (DOCX/XLSX/PPT), CSV/TSV analysis
315
417
  - **Unified Tools**: Consistent tool calling across all providers
316
418
  - **Session Management**: Persistent conversations with metadata, analytics, and complete serialization
317
- - **Structured Responses**: Clean, predictable output formats with Pydantic
419
+ - **Native Structured Output**: Server-side schema enforcement for Ollama and LMStudio (OpenAI and Anthropic also supported)
318
420
  - **Streaming Support**: Real-time token generation for interactive experiences
319
421
  - **Consistent Token Terminology**: Unified `input_tokens`, `output_tokens`, `total_tokens` across all providers
320
422
  - **Embeddings**: Built-in support for semantic search and RAG applications
@@ -324,12 +426,12 @@ response = llm.generate(
324
426
 
325
427
  | Provider | Status | SEED Support | Setup |
326
428
  |----------|--------|-------------|-------|
327
- | **OpenAI** | Full | Native | [Get API key](docs/prerequisites.md#openai-setup) |
328
- | **Anthropic** | Full | ⚠️ Warning* | [Get API key](docs/prerequisites.md#anthropic-setup) |
329
- | **Ollama** | Full | Native | [Install guide](docs/prerequisites.md#ollama-setup) |
330
- | **LMStudio** | Full | Native | [Install guide](docs/prerequisites.md#lmstudio-setup) |
331
- | **MLX** | Full | Native | [Setup guide](docs/prerequisites.md#mlx-setup) |
332
- | **HuggingFace** | Full | Native | [Setup guide](docs/prerequisites.md#huggingface-setup) |
429
+ | **OpenAI** | Full | Native | [Get API key](docs/prerequisites.md#openai-setup) |
430
+ | **Anthropic** | Full | Warning* | [Get API key](docs/prerequisites.md#anthropic-setup) |
431
+ | **Ollama** | Full | Native | [Install guide](docs/prerequisites.md#ollama-setup) |
432
+ | **LMStudio** | Full | Native | [Install guide](docs/prerequisites.md#lmstudio-setup) |
433
+ | **MLX** | Full | Native | [Setup guide](docs/prerequisites.md#mlx-setup) |
434
+ | **HuggingFace** | Full | Native | [Setup guide](docs/prerequisites.md#huggingface-setup) |
333
435
 
334
436
  *Anthropic doesn't support seed parameters but issues a warning when provided. Use `temperature=0.0` for more consistent outputs.
335
437
 
@@ -374,7 +476,7 @@ response = client.chat.completions.create(
374
476
  - Building web applications that need HTTP API
375
477
  - Multi-language access (not just Python)
376
478
 
377
- ## Internal CLI (Optional Interactive Testing Tool)
479
+ ## AbstractCore CLI (Optional Interactive Testing Tool)
378
480
 
379
481
  AbstractCore includes a **built-in CLI** for interactive testing, development, and conversation management. This is an internal testing tool, distinct from external agentic CLIs.
380
482
 
@@ -394,6 +496,7 @@ python -m abstractcore.utils.cli --provider anthropic --model claude-3-5-haiku-l
394
496
  - Chat history compaction and management
395
497
  - Fact extraction from conversations
396
498
  - Conversation quality evaluation (LLM-as-a-judge)
499
+ - Intent analysis and deception detection
397
500
  - Tool call testing and debugging
398
501
  - System prompt management
399
502
  - Multiple provider support
@@ -402,12 +505,13 @@ python -m abstractcore.utils.cli --provider anthropic --model claude-3-5-haiku-l
402
505
  - `/compact` - Compress chat history while preserving context
403
506
  - `/facts [file]` - Extract structured facts from conversation
404
507
  - `/judge` - Evaluate conversation quality with feedback
508
+ - `/intent [participant]` - Analyze psychological intents and detect deception
405
509
  - `/history [n]` - View conversation history
406
510
  - `/stream` - Toggle real-time streaming
407
511
  - `/system [prompt]` - Show or change system prompt
408
512
  - `/status` - Show current provider, model, and capabilities
409
513
 
410
- **Full Documentation:** [Internal CLI Guide](docs/internal-cli.md)
514
+ **Full Documentation:** [AbstractCore CLI Guide](docs/acore-cli.md)
411
515
 
412
516
  **When to use the CLI:**
413
517
  - Interactive development and testing
@@ -418,7 +522,7 @@ python -m abstractcore.utils.cli --provider anthropic --model claude-3-5-haiku-l
418
522
 
419
523
  ## Built-in Applications (Ready-to-Use CLI Tools)
420
524
 
421
- AbstractCore includes **three 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.
525
+ 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.
422
526
 
423
527
  ### Available Applications
424
528
 
@@ -427,6 +531,7 @@ AbstractCore includes **three specialized command-line applications** for common
427
531
  | **Summarizer** | Document summarization | `summarizer` |
428
532
  | **Extractor** | Entity and relationship extraction | `extractor` |
429
533
  | **Judge** | Text evaluation and scoring | `judge` |
534
+ | **Intent Analyzer** | Psychological intent analysis & deception detection | `intent` |
430
535
 
431
536
  ### Quick Usage Examples
432
537
 
@@ -445,6 +550,11 @@ extractor doc.txt --iterate 3 --mode thorough --verbose
445
550
  judge essay.txt --criteria clarity,accuracy,coherence --context "academic writing"
446
551
  judge code.py --context "code review" --format plain --verbose
447
552
  judge proposal.md --custom-criteria has_examples,covers_risks --output assessment.json
553
+
554
+ # Intent analysis with psychological insights and deception detection
555
+ intent conversation.txt --focus-participant user --depth comprehensive
556
+ intent email.txt --format plain --context document --verbose
557
+ intent chat_log.json --conversation-mode --provider lmstudio --model qwen/qwen3-30b-a3b-2507
448
558
  ```
449
559
 
450
560
  ### Installation & Setup
@@ -459,6 +569,7 @@ pip install abstractcore[all]
459
569
  summarizer --help
460
570
  extractor --help
461
571
  judge --help
572
+ intent --help
462
573
  ```
463
574
 
464
575
  ### Alternative Usage Methods
@@ -468,11 +579,13 @@ judge --help
468
579
  summarizer document.txt
469
580
  extractor report.pdf
470
581
  judge essay.md
582
+ intent conversation.txt
471
583
 
472
584
  # Method 2: Via Python module
473
585
  python -m abstractcore.apps summarizer document.txt
474
586
  python -m abstractcore.apps extractor report.pdf
475
587
  python -m abstractcore.apps judge essay.md
588
+ python -m abstractcore.apps intent conversation.txt
476
589
  ```
477
590
 
478
591
  ### Key Parameters
@@ -514,10 +627,11 @@ python -m abstractcore.apps judge essay.md
514
627
 
515
628
  ### Full Documentation
516
629
 
517
- Each application has comprehensive documentation with examples and advanced usage:
630
+ Each application has documentation with examples and usage information:
518
631
 
519
632
  - **[Summarizer Guide](docs/apps/basic-summarizer.md)** - Document summarization with multiple strategies
520
633
  - **[Extractor Guide](docs/apps/basic-extractor.md)** - Entity and relationship extraction
634
+ - **[Intent Analyzer Guide](docs/apps/basic-intent.md)** - Psychological intent analysis and deception detection
521
635
  - **[Judge Guide](docs/apps/basic-judge.md)** - Text evaluation and scoring systems
522
636
 
523
637
  **When to use the apps:**
@@ -666,7 +780,7 @@ llm = create_llm("anthropic", model="claude-3.5-sonnet")
666
780
  response = llm.generate(analysis_prompt, media=documents)
667
781
 
668
782
  # Automatic format handling:
669
- # - PDF: Advanced text extraction with PyMuPDF4LLM
783
+ # - PDF: Text extraction with PyMuPDF4LLM
670
784
  # - Excel: Table parsing with pandas
671
785
  # - PowerPoint: Slide content extraction with unstructured
672
786
  ```
@@ -719,6 +833,8 @@ review = llm.generate(
719
833
  print(f"{review.title}: {review.rating}/5")
720
834
  ```
721
835
 
836
+ [Learn more about Structured Output](docs/structured-output.md)
837
+
722
838
  ### 7. Universal API Server
723
839
 
724
840
  ```bash
@@ -736,6 +852,7 @@ curl -X POST http://localhost:8000/v1/chat/completions \
736
852
 
737
853
  ## Why AbstractCore?
738
854
 
855
+ - **Offline-First Philosophy**: Designed for open source LLMs with complete offline operation. No internet required after initial model download
739
856
  - **Unified Interface**: One API for all LLM providers
740
857
  - **Multimodal Support**: Upload images, PDFs, and documents across all providers
741
858
  - **Vision Models**: Seamless integration with GPT-4o, Claude Vision, qwen3-vl, and more
@@ -774,7 +891,7 @@ pip install abstractcore[all]
774
891
 
775
892
  **Media processing extras:**
776
893
  ```bash
777
- # For advanced PDF processing
894
+ # For PDF processing
778
895
  pip install pymupdf4llm
779
896
 
780
897
  # For Office documents (DOCX, XLSX, PPT)
@@ -0,0 +1,107 @@
1
+ abstractcore/__init__.py,sha256=G3x3N515eDSDnFd8xFfR6xO875j-Wppyab7yd8_pgE8,2296
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=kCgm0CjI1Ood0Lv36zGAlwv4AKy4ypsmzwFhEWxIXKM,19785
12
+ abstractcore/architectures/enums.py,sha256=9vIv2vDBEKhxwzwH9iaSAyf-iVj3p8y9loMeN_mYTJ8,3821
13
+ abstractcore/assets/architecture_formats.json,sha256=Yf-W1UuadrL8qid0pfU_pEBOkjwH4lvx7Nzu83GACp8,16622
14
+ abstractcore/assets/model_capabilities.json,sha256=tmfQNNPTNJAauF51nPYkMqcjc17F2geeYngh0HjEUZ0,68836
15
+ abstractcore/assets/session_schema.json,sha256=hMCVrq3KSyVExrMGzuykf7bU-z6WyIVuEGU8du9_zUY,10570
16
+ abstractcore/compression/__init__.py,sha256=svwaHCHoLkKp1IJKdlSC72k6b8vOUOqVF-Yek8ZHwj8,915
17
+ abstractcore/compression/analytics.py,sha256=3orxJkjjMQE_6mID8_8C0sRQ4Gr2Pw7kQ-Iy0p7pIgM,16042
18
+ abstractcore/compression/cache.py,sha256=ohBEvxzjwAbdG8bpQi6ZbF7uh2vyz07-vuu4Sig0ABk,9186
19
+ abstractcore/compression/config.py,sha256=Ec2raN_KEDW-prLax0vQN9nahlQWbfCho_Yr2QPb_LQ,11089
20
+ abstractcore/compression/exceptions.py,sha256=BOTfNyZFNiLuNcWoVSwW8xUXB7XHBi2bW3cUmOK_C9M,756
21
+ abstractcore/compression/glyph_processor.py,sha256=v3xuxWe4MGzdJi7I5tUxnMomV4hTFN2McPcH6kL6ly8,16362
22
+ abstractcore/compression/optimizer.py,sha256=PAsVWbhBKwCvnp6Omzf-cdcW-9-wmug7hVBtH-P9e3M,12733
23
+ abstractcore/compression/orchestrator.py,sha256=kG3iDIxorXlshii7568jX8ha0cpWldH9_kjjqIjHQO8,15117
24
+ abstractcore/compression/pil_text_renderer.py,sha256=IxVs5ZFXIJeXIQdS1hDQKJC6O2lHVOI7I2MvIx1P0i4,36819
25
+ abstractcore/compression/quality.py,sha256=bq7YI_5ywHfPnWSu1MmBRnV5Nxz8KBJGFvnfQOJSx5c,9415
26
+ abstractcore/compression/text_formatter.py,sha256=5RE6JrLkHvYoDQlsYJSoqfbwAa3caMr2i_DXog6ovZs,27328
27
+ abstractcore/compression/vision_compressor.py,sha256=5Ox3w_ee7fgPRDOpSQcooEGtuBKpQoAmWjwpLE2hoNU,12773
28
+ abstractcore/config/__init__.py,sha256=4mHX5z5Sq8R8xh78tb9jjZLaz_oBNW1eh914OsdDTxs,318
29
+ abstractcore/config/main.py,sha256=oQxnNxo_78CusCuDKGgwal2T3S8MDpo3yzLSB1wpYkU,35573
30
+ abstractcore/config/manager.py,sha256=JTN_qoNqRGKQoPH66nVGn3PIjgt-eSgsG9BndYIC8Dg,16752
31
+ abstractcore/config/vision_config.py,sha256=jJzO4zBexh8SqSKp6YKOXdMDSv4AL4Ztl5Xi-5c4KyY,17869
32
+ abstractcore/core/__init__.py,sha256=2h-86U4QkCQ4gzZ4iRusSTMlkODiUS6tKjZHiEXz6rM,684
33
+ abstractcore/core/enums.py,sha256=BhkVnHC-X1_377JDmqd-2mnem9GdBLqixWlYzlP_FJU,695
34
+ abstractcore/core/factory.py,sha256=ec7WGW2JKK-dhDplziTAeRkebEUFymtEEZ_bS5qkpqY,2798
35
+ abstractcore/core/interface.py,sha256=-VAY0nlsTnWN_WghiuMC7iE7xUdZfYOg6KlgrAPi14Y,14086
36
+ abstractcore/core/retry.py,sha256=wNlUAxfmvdO_uVWb4iqkhTqd7O1oRwXxqvVQaLXQOw0,14538
37
+ abstractcore/core/session.py,sha256=WNVZYTX-xrY-7XUGLd3jpfhWcMrMRa4rlnyRixFJIJQ,40770
38
+ abstractcore/core/types.py,sha256=jj44i07kMjdg9FQ3mA_fK6r_M0Lcgt1RQpy1Ra5w-eI,4578
39
+ abstractcore/embeddings/__init__.py,sha256=hR3xZyqcRm4c2pq1dIa5lxj_-Bk70Zad802JQN4joWo,637
40
+ abstractcore/embeddings/manager.py,sha256=uFVbRPHx_R-kVMVA7N7_7EzeUmCJCeN9Dv0EV8Jko24,52245
41
+ abstractcore/embeddings/models.py,sha256=bsPAzL6gv57AVii8O15PT0kxfwRkOml3f3njJN4UDi4,4874
42
+ abstractcore/events/__init__.py,sha256=OQJP7qOMWLg_tZyM62eZZ6uUpiHNevAWVdkK7W5slr0,11088
43
+ abstractcore/exceptions/__init__.py,sha256=h6y3sdZR6uFMh0iq7z85DfJi01zGQvjVOm1W7l86iVQ,3224
44
+ abstractcore/media/__init__.py,sha256=94k22PRXInaXFlxU7p06IRbyjmOkSlCITDm0gb8d9AI,3202
45
+ abstractcore/media/auto_handler.py,sha256=eo5a-hn_geLPsBe1oLKvd2YTxS8NRMms1uosmUyu3-s,26500
46
+ abstractcore/media/base.py,sha256=vWdxscqTGTvd3oc4IzzsBTWhUrznWcqM7M_sFyq6-eE,15971
47
+ abstractcore/media/capabilities.py,sha256=qqKvXGkUT-FNnbFS-EYx8KCT9SZOovO2h4N7ucrHgBA,12844
48
+ abstractcore/media/types.py,sha256=fofcQXSb-_PQwAHoSVObPhPdVUkwxOJec1ssv-731Ho,16158
49
+ abstractcore/media/vision_fallback.py,sha256=yojFTwKqiE0wfQGYphpXUcANpC0Q80s-qlt7gmQGfZg,11282
50
+ abstractcore/media/handlers/__init__.py,sha256=HBqFo15JX1q7RM11076iFQUfPvInLlOizX-LGSznLuI,404
51
+ abstractcore/media/handlers/anthropic_handler.py,sha256=iwcHKnHgHoQGpJKlJmwFJWBvrYg9lAzAnndybwsWZRA,12427
52
+ abstractcore/media/handlers/local_handler.py,sha256=Y-viFGYowmtrj-J95JeKgx0L1WSe4ttJeEZ60PHf9Ck,23815
53
+ abstractcore/media/handlers/openai_handler.py,sha256=pzf9rHWWiBFKbQzABJhwbA1TlSC9neR4wXnPeAz0ENM,12754
54
+ abstractcore/media/processors/__init__.py,sha256=V5OqxTnIkcni-tVQZQYpSvO4hl74aFwYsc3MfSQSFWE,706
55
+ abstractcore/media/processors/direct_pdf_processor.py,sha256=DuI3bK8JfZwPVXZ43tH56y09kKqvHgWhR5NZ_HslcF4,8989
56
+ abstractcore/media/processors/glyph_pdf_processor.py,sha256=H-IqnQ0roDEWhsMzoW3BYgXzO9OWBSsrUr_zYIabRdI,8576
57
+ abstractcore/media/processors/image_processor.py,sha256=jXvbiV3RCYpAKVaee24lE5oXavASyt3ScJppOIiosmg,22972
58
+ abstractcore/media/processors/office_processor.py,sha256=MqhLDWNtjHEpiMgpFaf7tbj8iDcTCf_zelWrHZkr7Z4,18580
59
+ abstractcore/media/processors/pdf_processor.py,sha256=qniYt7cTYYPVRi_cS1IsXztOldeY0bqdn7sdbELBU9k,17157
60
+ abstractcore/media/processors/text_processor.py,sha256=D84QWxxIou4MeNhERmCTxi_p27CgicVFhMXJiujZgIE,21905
61
+ abstractcore/media/utils/__init__.py,sha256=30-CTif91iRKOXJ4njGiduWAt-xp31U7NafMBNvgdO0,460
62
+ abstractcore/media/utils/image_scaler.py,sha256=QrYqoNQc8tzGu7I9Sf_E-Iv7ei2oLh714AGiX3yACNM,11338
63
+ abstractcore/processing/__init__.py,sha256=QcACEnhnHKYCkFL1LNOW_uqBrwkTAmz5A61N4K2dyu0,988
64
+ abstractcore/processing/basic_deepsearch.py,sha256=dzJQtH4k44XY9tvG0Z4JIlYt_s7HpbLdSPScha-t7vk,101036
65
+ abstractcore/processing/basic_extractor.py,sha256=3x-3BdIHgLvqLnLF6K1-P4qVaLIpAnNIIutaJi7lDQM,49832
66
+ abstractcore/processing/basic_intent.py,sha256=wD99Z7fE2RiYk6oyTZXojUbv-bz8HhKFIuIHYLLTw54,32455
67
+ abstractcore/processing/basic_judge.py,sha256=tKWJrg_tY4vCHzWgXxz0ZjgLXBYYfpMcpG7vl03hJcM,32218
68
+ abstractcore/processing/basic_summarizer.py,sha256=XHNxMQ_8aLStTeUo6_2JaThlct12Htpz7ORmm0iuJsg,25495
69
+ abstractcore/providers/__init__.py,sha256=O7gmT4p_jbzMjoZPhi_6RIMHQm-IMFX1XfcgySz3DSQ,1729
70
+ abstractcore/providers/anthropic_provider.py,sha256=kw5fegRkQL-maNdgnmRRMcQCIIFCdeX24ls9iDnuXDo,22648
71
+ abstractcore/providers/base.py,sha256=T7CTil_F_0_ZCu8jxiJUORc9hlkLKpTHmPRb2GolS4U,64571
72
+ abstractcore/providers/huggingface_provider.py,sha256=v4UUmODrnWKtTygzPh-lm4jSCAPms5VYJE5v7PWB4Lo,79458
73
+ abstractcore/providers/lmstudio_provider.py,sha256=mq5fy8nvpltc1KZgSgYOHwzv6T5sbZ4mlqjJR3nwiy4,23185
74
+ abstractcore/providers/mlx_provider.py,sha256=afLCEwuw7r8OK4fD3OriyKMcWpxVIob_37ItmgAclfc,23123
75
+ abstractcore/providers/model_capabilities.py,sha256=C4HIgvNTp9iIPiDeWyXo7vdzRkMdecRPoQi80yHSOL0,11955
76
+ abstractcore/providers/ollama_provider.py,sha256=wt8SfpODWZvhaqhaW80PvUeiCK7KNWauOgiWivOppK8,23463
77
+ abstractcore/providers/openai_provider.py,sha256=pWKkFF8Gy6hcg4unFxmN9AMXlVmEcqEOBKIZTH6PN4k,24379
78
+ abstractcore/providers/registry.py,sha256=KG7qjP76Z5t6k5ZsmqoDEbe3A39RJhhvExKPvSKMEms,19442
79
+ abstractcore/providers/streaming.py,sha256=VnffBV_CU9SAKzghL154OoFyEdDsiLwUNXPahyU41Bw,31342
80
+ abstractcore/server/__init__.py,sha256=1DSAz_YhQtnKv7sNi5TMQV8GFujctDOabgvAdilQE0o,249
81
+ abstractcore/server/app.py,sha256=ajG4yfMOHjqBafquLHeLTaMmEr01RXiBRxjFRTIT2j8,96602
82
+ abstractcore/structured/__init__.py,sha256=VXRQHGcm-iaYnLOBPin2kyhvhhQA0kaGt_pcNDGsE_8,339
83
+ abstractcore/structured/handler.py,sha256=hcUe_fZcwx0O3msLqFiOsj6-jbq3S-ZQa9c1nRIZvuo,24622
84
+ abstractcore/structured/retry.py,sha256=BN_PvrWybyU1clMy2cult1-TVxFSMaVqiCPmmXvA5aI,3805
85
+ abstractcore/tools/__init__.py,sha256=oh6vG0RdM1lqUtOp95mLrTsWLh9VmhJf5_FVjGIP5_M,2259
86
+ abstractcore/tools/common_tools.py,sha256=sfCuwZX3mG229yZRAgaLlDrVpGCVfdH_Uq5tZUVw6n8,95122
87
+ abstractcore/tools/core.py,sha256=lUUGihyceiRYlKUFvEMig9jWFF563d574mSDbYYD3fM,4777
88
+ abstractcore/tools/handler.py,sha256=GmDenXAJkhceWSGlhvuF90aMb2301tRTh6WxGwBQifc,12022
89
+ abstractcore/tools/parser.py,sha256=1r5nmEEp1Rid3JU6ct-s3lP-eCln67fvXG5HCjqiRew,27740
90
+ abstractcore/tools/registry.py,sha256=cN3nbPEK6L2vAd9740MIFf2fitW_4WHpQfK4KvQjnT0,9059
91
+ abstractcore/tools/syntax_rewriter.py,sha256=c3NSTvUF3S3ho5Cwjp7GJJdibeYAI6k3iaBwhKcpTfo,17318
92
+ abstractcore/tools/tag_rewriter.py,sha256=UGFMBj2QKwm12j8JQ6oc2C_N3ZeNqz9Enz4VkEIrS0c,20338
93
+ abstractcore/utils/__init__.py,sha256=8uvIU1WpUfetvWA90PPvXtxnFNjMQF0umb8_FuK2cTA,779
94
+ abstractcore/utils/cli.py,sha256=tO7S-iVSZavxJaX7OTruNAmF3lJz9eCDORK8Dm7FdgA,70558
95
+ abstractcore/utils/message_preprocessor.py,sha256=GdHkm6tmrgjm3PwHRSCjIsq1XLkbhy_vDEKEUE7OiKY,6028
96
+ abstractcore/utils/self_fixes.py,sha256=QEDwNTW80iQM4ftfEY3Ghz69F018oKwLM9yeRCYZOvw,5886
97
+ abstractcore/utils/structured_logging.py,sha256=Vm-HviSa42G9DJCWmaEv4a0QG3NMsADD3ictLOs4En0,19952
98
+ abstractcore/utils/token_utils.py,sha256=eLwFmJ68p9WMFD_MHLMmeJRW6Oqx_4hKELB8FNQ2Mnk,21097
99
+ abstractcore/utils/trace_export.py,sha256=MD1DHDWltpewy62cYzz_OSPAA6edZbZq7_pZbvxz_H8,9279
100
+ abstractcore/utils/version.py,sha256=5dD6Nqt67LVS1pdUKp_GG1C6h57jBU2JksiHqv5h774,605
101
+ abstractcore/utils/vlm_token_calculator.py,sha256=VBmIji_oiqOQ13IvVhNkb8E246tYMIXWVVOnl86Ne94,27978
102
+ abstractcore-2.5.3.dist-info/licenses/LICENSE,sha256=PI2v_4HMvd6050uDD_4AY_8PzBnu2asa3RKbdDjowTA,1078
103
+ abstractcore-2.5.3.dist-info/METADATA,sha256=0PFx8kXgAlmR4xKa7QRLBqcf1ZxGOZeXJhTfo9OvYu4,36966
104
+ abstractcore-2.5.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
105
+ abstractcore-2.5.3.dist-info/entry_points.txt,sha256=jXNdzeltVs23A2JM2e2HOiAHldHrsnud3EvPI5VffOs,658
106
+ abstractcore-2.5.3.dist-info/top_level.txt,sha256=DiNHBI35SIawW3N9Z-z0y6cQYNbXd32pvBkW0RLfScs,13
107
+ abstractcore-2.5.3.dist-info/RECORD,,
@@ -2,9 +2,13 @@
2
2
  abstractcore = abstractcore.config.main:main
3
3
  abstractcore-chat = abstractcore.utils.cli:main
4
4
  abstractcore-config = abstractcore.config.main:main
5
+ abstractcore-deepsearch = abstractcore.apps.deepsearch:main
5
6
  abstractcore-extractor = abstractcore.apps.extractor:main
7
+ abstractcore-intent = abstractcore.apps.intent:main
6
8
  abstractcore-judge = abstractcore.apps.judge:main
7
9
  abstractcore-summarizer = abstractcore.apps.summarizer:main
10
+ deepsearch = abstractcore.apps.deepsearch:main
8
11
  extractor = abstractcore.apps.extractor:main
12
+ intent = abstractcore.apps.intent:main
9
13
  judge = abstractcore.apps.judge:main
10
14
  summarizer = abstractcore.apps.summarizer:main
@@ -1,86 +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=041daYkoIE1VLEO19IZC5nNIDOQZWNgpB7ogJ3SOlsE,1585
4
- abstractcore/apps/app_config_utils.py,sha256=5GIvXnD996LFIV3-BpfkqII6UqYlStm7ZCgmqDEN8dc,890
5
- abstractcore/apps/extractor.py,sha256=OfiqB9l_alH9xCGb6zOD__QJkDjdKOlLZngriVgmn7c,23749
6
- abstractcore/apps/judge.py,sha256=nOgxvn-BbhNY6xU9AlTeD1yidTh73AiVlSN7hQCVE2M,23169
7
- abstractcore/apps/summarizer.py,sha256=9aD6KH21w-tv_wGp9MaO2uyJuaU71OemW7KpqrG5t6w,14669
8
- abstractcore/architectures/__init__.py,sha256=-4JucAM7JkMWShWKkePoclxrUHRKgaG36UTguJihE0U,1046
9
- abstractcore/architectures/detection.py,sha256=Cxap1pL6qOJjyY22Vc4hzbLALTuuBisPT5UaMotousk,10025
10
- abstractcore/architectures/enums.py,sha256=9vIv2vDBEKhxwzwH9iaSAyf-iVj3p8y9loMeN_mYTJ8,3821
11
- abstractcore/assets/architecture_formats.json,sha256=CIf6SaR_IJs1D7Uvd1K3zWngIXJ_yq3DM_IE3wnpCHY,16076
12
- abstractcore/assets/model_capabilities.json,sha256=iUkDiljyZUZzPlpYCOFgStXyc6e7dvOfReYQ0HFrX9Q,49703
13
- abstractcore/assets/session_schema.json,sha256=hMCVrq3KSyVExrMGzuykf7bU-z6WyIVuEGU8du9_zUY,10570
14
- abstractcore/config/__init__.py,sha256=4mHX5z5Sq8R8xh78tb9jjZLaz_oBNW1eh914OsdDTxs,318
15
- abstractcore/config/main.py,sha256=PaFzy0Z03mhu293_ato_8qjZJunz1AcXVYny56ct7Zw,32602
16
- abstractcore/config/manager.py,sha256=6dYtVlwrXxcasDfz98CyocZ1nH9RPiD-yDKtsD3L7Ic,12508
17
- abstractcore/config/vision_config.py,sha256=jJzO4zBexh8SqSKp6YKOXdMDSv4AL4Ztl5Xi-5c4KyY,17869
18
- abstractcore/core/__init__.py,sha256=2h-86U4QkCQ4gzZ4iRusSTMlkODiUS6tKjZHiEXz6rM,684
19
- abstractcore/core/enums.py,sha256=BhkVnHC-X1_377JDmqd-2mnem9GdBLqixWlYzlP_FJU,695
20
- abstractcore/core/factory.py,sha256=ec7WGW2JKK-dhDplziTAeRkebEUFymtEEZ_bS5qkpqY,2798
21
- abstractcore/core/interface.py,sha256=-VAY0nlsTnWN_WghiuMC7iE7xUdZfYOg6KlgrAPi14Y,14086
22
- abstractcore/core/retry.py,sha256=wNlUAxfmvdO_uVWb4iqkhTqd7O1oRwXxqvVQaLXQOw0,14538
23
- abstractcore/core/session.py,sha256=fdqhnufCWrV022RjQ-Xfb1KFv_s9-GzetSSR-QuXv-Q,36452
24
- abstractcore/core/types.py,sha256=jj44i07kMjdg9FQ3mA_fK6r_M0Lcgt1RQpy1Ra5w-eI,4578
25
- abstractcore/embeddings/__init__.py,sha256=hR3xZyqcRm4c2pq1dIa5lxj_-Bk70Zad802JQN4joWo,637
26
- abstractcore/embeddings/manager.py,sha256=uFVbRPHx_R-kVMVA7N7_7EzeUmCJCeN9Dv0EV8Jko24,52245
27
- abstractcore/embeddings/models.py,sha256=bsPAzL6gv57AVii8O15PT0kxfwRkOml3f3njJN4UDi4,4874
28
- abstractcore/events/__init__.py,sha256=UtbdTOeL05kvi7YP91yo4OEqs5UAbKylBvOOEkrUL5E,11065
29
- abstractcore/exceptions/__init__.py,sha256=h6y3sdZR6uFMh0iq7z85DfJi01zGQvjVOm1W7l86iVQ,3224
30
- abstractcore/media/__init__.py,sha256=94k22PRXInaXFlxU7p06IRbyjmOkSlCITDm0gb8d9AI,3202
31
- abstractcore/media/auto_handler.py,sha256=R3EhifSlGSJ_2oftQ7BdD7nQBMGePHOubuXkqHmcHHQ,13478
32
- abstractcore/media/base.py,sha256=vWdxscqTGTvd3oc4IzzsBTWhUrznWcqM7M_sFyq6-eE,15971
33
- abstractcore/media/capabilities.py,sha256=qqKvXGkUT-FNnbFS-EYx8KCT9SZOovO2h4N7ucrHgBA,12844
34
- abstractcore/media/types.py,sha256=jG-g_2_gzl8eOgEalk9x3Ikhni9GoGfoRjkZWaBhV30,10165
35
- abstractcore/media/vision_fallback.py,sha256=yojFTwKqiE0wfQGYphpXUcANpC0Q80s-qlt7gmQGfZg,11282
36
- abstractcore/media/handlers/__init__.py,sha256=HBqFo15JX1q7RM11076iFQUfPvInLlOizX-LGSznLuI,404
37
- abstractcore/media/handlers/anthropic_handler.py,sha256=iwcHKnHgHoQGpJKlJmwFJWBvrYg9lAzAnndybwsWZRA,12427
38
- abstractcore/media/handlers/local_handler.py,sha256=xfMV2Ztre3eUkDno4aSGob96oWUlgicZ3VChs-txjXU,23033
39
- abstractcore/media/handlers/openai_handler.py,sha256=o0H_WQ_NQt133my55xYQmq6_QFGafghF8sPTrqr1f0Q,9726
40
- abstractcore/media/processors/__init__.py,sha256=tExCZwVhD9Qzn3D99-zQcU-T1324YtiLkWjIfWLC708,442
41
- abstractcore/media/processors/image_processor.py,sha256=wj-f1W71ZCs4AZdmyTKZvnMee83GkiXKuZ6QvJwd3Lo,22577
42
- abstractcore/media/processors/office_processor.py,sha256=MqhLDWNtjHEpiMgpFaf7tbj8iDcTCf_zelWrHZkr7Z4,18580
43
- abstractcore/media/processors/pdf_processor.py,sha256=qniYt7cTYYPVRi_cS1IsXztOldeY0bqdn7sdbELBU9k,17157
44
- abstractcore/media/processors/text_processor.py,sha256=E28FtT2_jzsvMIDwZi6aVWuu_pSyAPSBa96fe4YYcU8,21092
45
- abstractcore/media/utils/__init__.py,sha256=30-CTif91iRKOXJ4njGiduWAt-xp31U7NafMBNvgdO0,460
46
- abstractcore/media/utils/image_scaler.py,sha256=QrYqoNQc8tzGu7I9Sf_E-Iv7ei2oLh714AGiX3yACNM,11338
47
- abstractcore/processing/__init__.py,sha256=t6hiakQjcZROT4pw9ZFt2q6fF3vf5VpdMKG2EWlsFd8,540
48
- abstractcore/processing/basic_extractor.py,sha256=3x-3BdIHgLvqLnLF6K1-P4qVaLIpAnNIIutaJi7lDQM,49832
49
- abstractcore/processing/basic_judge.py,sha256=tKWJrg_tY4vCHzWgXxz0ZjgLXBYYfpMcpG7vl03hJcM,32218
50
- abstractcore/processing/basic_summarizer.py,sha256=XHNxMQ_8aLStTeUo6_2JaThlct12Htpz7ORmm0iuJsg,25495
51
- abstractcore/providers/__init__.py,sha256=n-2RMNm3QpKxHw9EOjv8icRMRnfJp5Xg0uSVzHCW3BI,1222
52
- abstractcore/providers/anthropic_provider.py,sha256=R87Z_DNNdeA4LMSxx84pqo8saKFz38dHCJMBpc-rL70,21552
53
- abstractcore/providers/base.py,sha256=YfrqM3c7wLT19vspL7goUO6Bv-z1691ZkCM2wxvQX4s,51501
54
- abstractcore/providers/huggingface_provider.py,sha256=pgpeSwpwyNB_5GDyLEz2OSTu9me-GAJzQ116dGtpCvQ,49012
55
- abstractcore/providers/lmstudio_provider.py,sha256=odT6luVR3POVcq2ZqkINLyLoCAu_YGpLLj3fEddNliU,21021
56
- abstractcore/providers/mlx_provider.py,sha256=sDgxf_kVJJwxprQWVef9w2CLOu2dLES8D0Vf5tY6PzE,18463
57
- abstractcore/providers/ollama_provider.py,sha256=1bE80NCj_TQADxRCiu9luyLuI_gZe2EO5pCKoC4VhQM,21740
58
- abstractcore/providers/openai_provider.py,sha256=1s7JJalyIBOvLB7UAUwXbTc2aYrYSWg7hJjKGnCX1qU,23313
59
- abstractcore/providers/registry.py,sha256=fKFrN6Z3o5Gi0dfwvXDPtrrJXDjx9oPSfjWjZf-NJBc,15883
60
- abstractcore/providers/streaming.py,sha256=VnffBV_CU9SAKzghL154OoFyEdDsiLwUNXPahyU41Bw,31342
61
- abstractcore/server/__init__.py,sha256=1DSAz_YhQtnKv7sNi5TMQV8GFujctDOabgvAdilQE0o,249
62
- abstractcore/server/app.py,sha256=7pG5ZkZqYNnyby4jyvp3_NKl5nNDmZpOhv_-F8Jruy4,96580
63
- abstractcore/structured/__init__.py,sha256=VXRQHGcm-iaYnLOBPin2kyhvhhQA0kaGt_pcNDGsE_8,339
64
- abstractcore/structured/handler.py,sha256=Vb15smiR81JGDXX2RLkY2Exuj67J7a6C-xwVrZoXp0I,17134
65
- abstractcore/structured/retry.py,sha256=BN_PvrWybyU1clMy2cult1-TVxFSMaVqiCPmmXvA5aI,3805
66
- abstractcore/tools/__init__.py,sha256=oh6vG0RdM1lqUtOp95mLrTsWLh9VmhJf5_FVjGIP5_M,2259
67
- abstractcore/tools/common_tools.py,sha256=GkUSnBum3zMm9M-Zd9LlJQmlDp1XDssC7z8ItUcbloc,91692
68
- abstractcore/tools/core.py,sha256=lUUGihyceiRYlKUFvEMig9jWFF563d574mSDbYYD3fM,4777
69
- abstractcore/tools/handler.py,sha256=GmDenXAJkhceWSGlhvuF90aMb2301tRTh6WxGwBQifc,12022
70
- abstractcore/tools/parser.py,sha256=1r5nmEEp1Rid3JU6ct-s3lP-eCln67fvXG5HCjqiRew,27740
71
- abstractcore/tools/registry.py,sha256=cN3nbPEK6L2vAd9740MIFf2fitW_4WHpQfK4KvQjnT0,9059
72
- abstractcore/tools/syntax_rewriter.py,sha256=c3NSTvUF3S3ho5Cwjp7GJJdibeYAI6k3iaBwhKcpTfo,17318
73
- abstractcore/tools/tag_rewriter.py,sha256=UGFMBj2QKwm12j8JQ6oc2C_N3ZeNqz9Enz4VkEIrS0c,20338
74
- abstractcore/utils/__init__.py,sha256=29mMc3jV_suEPBn7W8Yw_wqcdvFP-083ws5AUFJVM28,676
75
- abstractcore/utils/cli.py,sha256=btuTIECrBPV4cdoWoE-N1rkzcrq--dhwKbtZTQhvwok,65175
76
- abstractcore/utils/message_preprocessor.py,sha256=GdHkm6tmrgjm3PwHRSCjIsq1XLkbhy_vDEKEUE7OiKY,6028
77
- abstractcore/utils/self_fixes.py,sha256=QEDwNTW80iQM4ftfEY3Ghz69F018oKwLM9yeRCYZOvw,5886
78
- abstractcore/utils/structured_logging.py,sha256=Vm-HviSa42G9DJCWmaEv4a0QG3NMsADD3ictLOs4En0,19952
79
- abstractcore/utils/token_utils.py,sha256=eLwFmJ68p9WMFD_MHLMmeJRW6Oqx_4hKELB8FNQ2Mnk,21097
80
- abstractcore/utils/version.py,sha256=vI5E04BYQ3mKTIy4xhwGPse-tZLrIK0hLgJzTYZKJMQ,605
81
- abstractcore-2.5.0.dist-info/licenses/LICENSE,sha256=PI2v_4HMvd6050uDD_4AY_8PzBnu2asa3RKbdDjowTA,1078
82
- abstractcore-2.5.0.dist-info/METADATA,sha256=VVP8VO51qhQD_zfPbq25CQ3rbeeMD-UYyeloPU_lFbw,32084
83
- abstractcore-2.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
84
- abstractcore-2.5.0.dist-info/entry_points.txt,sha256=eUQvRc0sGl4pK3r2zhlGZro7Fk_wl4szw1hDE8SnlDI,460
85
- abstractcore-2.5.0.dist-info/top_level.txt,sha256=DiNHBI35SIawW3N9Z-z0y6cQYNbXd32pvBkW0RLfScs,13
86
- abstractcore-2.5.0.dist-info/RECORD,,