@everworker/oneringai 0.1.3 → 0.2.0

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.
package/README.md CHANGED
@@ -18,10 +18,10 @@
18
18
  - [4. Session Persistence](#4-session-persistence)
19
19
  - [5. Working Memory](#5-working-memory)
20
20
  - [6. Research with Search Tools](#6-research-with-search-tools)
21
- - [6. Context Management](#6-context-management)
22
- - [7. InContextMemory](#7-incontextmemory)
23
- - [8. Persistent Instructions](#8-persistent-instructions)
24
- - [9. Direct LLM Access](#9-direct-llm-access)
21
+ - [7. Context Management](#7-context-management)
22
+ - [8. InContextMemory](#8-incontextmemory)
23
+ - [9. Persistent Instructions](#9-persistent-instructions)
24
+ - [10. Direct LLM Access](#10-direct-llm-access)
25
25
  - [11. Audio Capabilities](#11-audio-capabilities)
26
26
  - [12. Model Registry](#12-model-registry)
27
27
  - [13. Streaming](#13-streaming)
@@ -67,11 +67,13 @@
67
67
  - 🎛️ **Dynamic Tool Management** - Enable/disable tools at runtime, namespaces, priority-based selection
68
68
  - 🔌 **Tool Execution Plugins** - NEW: Pluggable pipeline for logging, analytics, UI updates, custom behavior
69
69
  - 💾 **Session Persistence** - Save and resume conversations with full state restoration
70
+ - 👤 **Multi-User Support** - Set `userId` once, flows automatically to all tool executions and session metadata
71
+ - 🔒 **Connector Allowlist** - Restrict agents to a named subset of connectors, composable with access policies
70
72
  - 🤖 **Universal Agent** - ⚠️ *Deprecated* - Use `Agent` with plugins instead
71
73
  - 🤖 **Task Agents** - ⚠️ *Deprecated* - Use `Agent` with `WorkingMemoryPluginNextGen`
72
74
  - 🔬 **Research Agent** - ⚠️ *Deprecated* - Use `Agent` with search tools
73
75
  - 🎯 **Context Management** - Algorithmic compaction with tool-result-to-memory offloading
74
- - 📌 **InContextMemory** - NEW: Live key-value storage directly in LLM context for instant access
76
+ - 📌 **InContextMemory** - Live key-value storage directly in LLM context with optional UI display (`showInUI`)
75
77
  - 📝 **Persistent Instructions** - NEW: Agent-level custom instructions that persist across sessions on disk
76
78
  - 🛠️ **Agentic Workflows** - Built-in tool calling and multi-turn conversations
77
79
  - 🔧 **Developer Tools** - NEW: Filesystem and shell tools for coding assistants (read, write, edit, grep, glob, bash)
@@ -84,6 +86,8 @@
84
86
  - 🔄 **Streaming** - Real-time responses with event streams
85
87
  - 📝 **TypeScript** - Full type safety and IntelliSense support
86
88
 
89
+ > **v0.2.0 — Multi-User Support:** Set `userId` once on an agent and it automatically flows to all tool executions, OAuth token retrieval, session metadata, and connector scoping. Combine with `connectors` allowlist and access policies for complete multi-tenant isolation. See [Multi-User Support](#multi-user-support-userid) and [Connector Allowlist](#connector-allowlist-connectors) in the User Guide.
90
+
87
91
  ## Quick Start
88
92
 
89
93
  ### Installation
@@ -359,6 +363,8 @@ const storage = createFileContextStorage('my-assistant');
359
363
  const agent = Agent.create({
360
364
  connector: 'openai',
361
365
  model: 'gpt-4',
366
+ userId: 'user-123', // Flows to all tool executions automatically
367
+ connectors: ['github', 'slack'], // Only these connectors visible to tools
362
368
  tools: [weatherTool, emailTool],
363
369
  context: {
364
370
  features: {
@@ -605,7 +611,7 @@ await agent.run('Research AI developments in 2026 and store key findings');
605
611
  - 📝 **Working Memory** - Store findings with priority-based eviction
606
612
  - 🏗️ **Tiered Memory** - Raw → Summary → Findings pattern
607
613
 
608
- ### 6. Context Management
614
+ ### 7. Context Management
609
615
 
610
616
  **AgentContextNextGen** is the modern, plugin-based context manager. It provides clean separation of concerns with composable plugins:
611
617
 
@@ -689,7 +695,7 @@ console.log(budget.available); // Remaining tokens
689
695
  console.log(budget.utilizationPercent); // Usage percentage
690
696
  ```
691
697
 
692
- ### 7. InContextMemory
698
+ ### 8. InContextMemory
693
699
 
694
700
  Store key-value pairs **directly in context** for instant LLM access without retrieval calls:
695
701
 
@@ -711,6 +717,9 @@ const plugin = ctx.getPlugin('in_context_memory');
711
717
  plugin.set('current_state', 'Task processing state', { step: 2, status: 'active' });
712
718
  plugin.set('user_prefs', 'User preferences', { verbose: true }, 'high');
713
719
 
720
+ // Store data with UI display - shown in the host app's sidebar panel
721
+ plugin.set('dashboard', 'Progress dashboard', '## Progress\n- [x] Step 1\n- [ ] Step 2', 'normal', true);
722
+
714
723
  // LLM can use context_set/context_delete/context_list tools
715
724
  // Or access directly via plugin API
716
725
  const state = plugin.get('current_state'); // { step: 2, status: 'active' }
@@ -720,9 +729,11 @@ const state = plugin.get('current_state'); // { step: 2, status: 'active' }
720
729
  - **WorkingMemory**: External storage + index → requires `memory_retrieve()` for values
721
730
  - **InContextMemory**: Full values in context → instant access, no retrieval needed
722
731
 
723
- **Use cases:** Session state, user preferences, counters, flags, small accumulated results.
732
+ **UI Display (`showInUI`):** Entries with `showInUI: true` are displayed in the host application's sidebar panel with full markdown rendering (code blocks, tables, charts, diagrams, etc.). The LLM sets this via the `context_set` tool. Users can also pin specific entries to always display them regardless of the agent's setting. See the [User Guide](./USER_GUIDE.md#ui-display-showInUI) for details.
724
733
 
725
- ### 8. Persistent Instructions
734
+ **Use cases:** Session state, user preferences, counters, flags, small accumulated results, live dashboards.
735
+
736
+ ### 9. Persistent Instructions
726
737
 
727
738
  Store agent-level custom instructions that persist across sessions on disk:
728
739
 
@@ -758,7 +769,7 @@ const agent = Agent.create({
758
769
 
759
770
  **Use cases:** Agent personality/behavior, user preferences, learned rules, tool usage patterns.
760
771
 
761
- ### 9. Direct LLM Access
772
+ ### 10. Direct LLM Access
762
773
 
763
774
  Bypass all context management for simple, stateless LLM calls:
764
775
 
@@ -973,22 +984,25 @@ Connector.create({
973
984
  });
974
985
 
975
986
  // Generate tools from the connector
976
- // Tools are prefixed with connector name: github_api, github_list_repos, etc.
987
+ // GitHub connectors get 7 dedicated tools + generic API automatically:
988
+ // search_files, search_code, read_file, get_pr, pr_files, pr_comments, create_pr
977
989
  const tools = ConnectorTools.for('github');
978
990
 
979
- // Use with an agent
991
+ // Use with an agent — userId flows to all tools automatically
980
992
  const agent = Agent.create({
981
993
  connector: 'openai',
982
994
  model: 'gpt-4',
995
+ userId: 'user-123', // All tool API calls use this user's OAuth tokens
983
996
  tools: tools,
984
997
  });
985
998
 
986
- await agent.run('List all open issues in owner/repo');
999
+ await agent.run('Find all TypeScript files in src/ and show me the entry point');
1000
+ await agent.run('Show me PR #42 and summarize the review comments');
987
1001
  ```
988
1002
 
989
1003
  **Supported Services (35+):**
990
1004
  - **Communication**: Slack, Discord, Microsoft Teams, Twilio
991
- - **Development**: GitHub, GitLab, Jira, Linear, Bitbucket
1005
+ - **Development**: GitHub *(7 built-in tools)*, GitLab, Jira, Linear, Bitbucket
992
1006
  - **Productivity**: Notion, Asana, Monday, Airtable, Trello
993
1007
  - **CRM**: Salesforce, HubSpot, Zendesk, Intercom
994
1008
  - **Payments**: Stripe, PayPal, Square
@@ -1225,21 +1239,21 @@ See [MCP_INTEGRATION.md](./MCP_INTEGRATION.md) for complete documentation.
1225
1239
 
1226
1240
  ```bash
1227
1241
  # Basic examples
1228
- npm run example:basic # Simple text generation
1229
- npm run example:streaming # Streaming responses
1242
+ npm run example:text # Simple text generation
1243
+ npm run example:agent # Basic agent with tools
1244
+ npm run example:conversation # Multi-turn conversation
1245
+ npm run example:chat # Interactive chat
1230
1246
  npm run example:vision # Image analysis
1231
- npm run example:tools # Tool calling
1232
-
1233
- # Audio examples
1234
- npm run example:audio # TTS and STT demo
1247
+ npm run example:providers # Multi-provider comparison
1235
1248
 
1236
- # Task Agent examples
1237
- npm run example:task-agent # Basic task agent
1238
- npm run example:task-agent-demo # Full demo with memory
1239
- npm run example:planning-agent # AI-driven planning
1249
+ # Tools and hooks
1250
+ npm run example:json-tool # JSON manipulation tool
1251
+ npm run example:hooks # Agent lifecycle hooks
1252
+ npm run example:web # Web research agent
1240
1253
 
1241
- # Context management
1242
- npm run example:context-management # All strategies demo
1254
+ # OAuth examples
1255
+ npm run example:oauth # OAuth demo
1256
+ npm run example:oauth-registry # OAuth registry
1243
1257
  ```
1244
1258
 
1245
1259
  ## Development
@@ -1301,4 +1315,4 @@ MIT License - See [LICENSE](./LICENSE) file.
1301
1315
 
1302
1316
  ---
1303
1317
 
1304
- **Version:** 0.1.3 | **Last Updated:** 2026-02-07 | **[User Guide](./USER_GUIDE.md)** | **[API Reference](./API_REFERENCE.md)** | **[Changelog](./CHANGELOG.md)**
1318
+ **Version:** 0.2.0 | **Last Updated:** 2026-02-09 | **[User Guide](./USER_GUIDE.md)** | **[API Reference](./API_REFERENCE.md)** | **[Changelog](./CHANGELOG.md)**
@@ -1,34 +1,4 @@
1
- import { I as IProvider } from './IProvider-BP49c93d.js';
2
-
3
- /**
4
- * Supported AI Vendors
5
- *
6
- * Use this enum instead of string literals for type safety.
7
- * These map to specific provider implementations.
8
- */
9
- declare const Vendor: {
10
- readonly OpenAI: "openai";
11
- readonly Anthropic: "anthropic";
12
- readonly Google: "google";
13
- readonly GoogleVertex: "google-vertex";
14
- readonly Groq: "groq";
15
- readonly Together: "together";
16
- readonly Perplexity: "perplexity";
17
- readonly Grok: "grok";
18
- readonly DeepSeek: "deepseek";
19
- readonly Mistral: "mistral";
20
- readonly Ollama: "ollama";
21
- readonly Custom: "custom";
22
- };
23
- type Vendor = (typeof Vendor)[keyof typeof Vendor];
24
- /**
25
- * All vendor values as array (useful for validation)
26
- */
27
- declare const VENDORS: ("openai" | "anthropic" | "google" | "google-vertex" | "groq" | "together" | "perplexity" | "grok" | "deepseek" | "mistral" | "ollama" | "custom")[];
28
- /**
29
- * Check if a string is a valid vendor
30
- */
31
- declare function isVendor(value: string): value is Vendor;
1
+ import { V as Vendor } from './Vendor-DYh_bzwo.js';
32
2
 
33
3
  /**
34
4
  * Connector - Represents authenticated connection to ANY API
@@ -72,6 +42,8 @@ interface OAuthConnectorAuth {
72
42
  audience?: string;
73
43
  refreshBeforeExpiry?: number;
74
44
  storageKey?: string;
45
+ /** Vendor-specific extra credentials */
46
+ extra?: Record<string, string>;
75
47
  }
76
48
  /**
77
49
  * Static API key authentication
@@ -82,6 +54,11 @@ interface APIKeyConnectorAuth {
82
54
  apiKey: string;
83
55
  headerName?: string;
84
56
  headerPrefix?: string;
57
+ /**
58
+ * Vendor-specific extra credentials beyond the primary API key.
59
+ * E.g., Slack Socket Mode needs { appToken: 'xapp-...', signingSecret: '...' }
60
+ */
61
+ extra?: Record<string, string>;
85
62
  }
86
63
  /**
87
64
  * JWT Bearer token authentication
@@ -97,6 +74,8 @@ interface JWTConnectorAuth {
97
74
  issuer?: string;
98
75
  subject?: string;
99
76
  audience?: string;
77
+ /** Vendor-specific extra credentials */
78
+ extra?: Record<string, string>;
100
79
  }
101
80
  /**
102
81
  * Complete connector configuration
@@ -503,336 +482,24 @@ declare class Connector {
503
482
  }
504
483
 
505
484
  /**
506
- * Shared types used across all multimodal capabilities
507
- * This file provides the foundation for Image, Audio, and Video model registries
508
- */
509
-
510
- /**
511
- * Aspect ratios - normalized across all visual modalities (images, video)
512
- */
513
- type AspectRatio$1 = '1:1' | '16:9' | '9:16' | '4:3' | '3:4' | '21:9' | '3:2' | '2:3';
514
- /**
515
- * Quality levels - normalized across vendors
516
- * Providers map these to vendor-specific quality settings
517
- */
518
- type QualityLevel = 'draft' | 'standard' | 'high' | 'ultra';
519
- /**
520
- * Audio output formats
521
- */
522
- type AudioFormat = 'mp3' | 'opus' | 'aac' | 'flac' | 'wav' | 'pcm' | 'ogg';
523
- /**
524
- * Output format preference for media
525
- */
526
- type OutputFormat = 'url' | 'base64' | 'buffer';
527
- /**
528
- * Source links for model documentation and maintenance
529
- * Used to track where information came from and when it was last verified
530
- */
531
- interface ISourceLinks {
532
- /** Official documentation URL */
533
- documentation: string;
534
- /** Pricing page URL */
535
- pricing?: string;
536
- /** API reference URL */
537
- apiReference?: string;
538
- /** Additional reference (e.g., blog post, announcement) */
539
- additional?: string;
540
- /** Last verified date (YYYY-MM-DD) */
541
- lastVerified: string;
542
- }
543
- /**
544
- * Vendor-specific option schema for validation and documentation
545
- * Used to describe vendor-specific options that fall outside semantic options
546
- */
547
- interface VendorOptionSchema {
548
- /** Data type of the option */
549
- type: 'string' | 'number' | 'boolean' | 'enum' | 'array';
550
- /** Description of the option */
551
- description: string;
552
- /** Whether the option is required */
553
- required?: boolean;
554
- /** UI display label */
555
- label?: string;
556
- /** Valid values for enum/string types */
557
- enum?: string[];
558
- /** Default value */
559
- default?: unknown;
560
- /** Minimum value for numbers */
561
- min?: number;
562
- /** Maximum value for numbers */
563
- max?: number;
564
- /** Step value for number sliders */
565
- step?: number;
566
- /** UI control type hint */
567
- controlType?: 'select' | 'radio' | 'slider' | 'checkbox' | 'text' | 'textarea';
568
- }
569
- /**
570
- * Base model description - shared by all registries
571
- * Every model registry (Image, TTS, STT, Video) extends this
572
- */
573
- interface IBaseModelDescription {
574
- /** Model identifier (e.g., "dall-e-3", "tts-1") */
575
- name: string;
576
- /** Display name for UI (e.g., "DALL-E 3", "TTS-1") */
577
- displayName: string;
578
- /** Vendor/provider */
579
- provider: Vendor;
580
- /** Model description */
581
- description?: string;
582
- /** Whether the model is currently available */
583
- isActive: boolean;
584
- /** Release date (YYYY-MM-DD) */
585
- releaseDate?: string;
586
- /** Deprecation date if scheduled (YYYY-MM-DD) */
587
- deprecationDate?: string;
588
- /** Documentation/pricing links for maintenance */
589
- sources: ISourceLinks;
590
- }
591
-
592
- /**
593
- * Image generation provider interface
594
- */
595
-
596
- interface ImageGenerateOptions {
597
- model: string;
598
- prompt: string;
599
- size?: string;
600
- aspectRatio?: string;
601
- quality?: 'standard' | 'hd' | 'low' | 'medium' | 'high' | 'auto';
602
- style?: 'vivid' | 'natural';
603
- n?: number;
604
- response_format?: 'url' | 'b64_json';
605
- }
606
- interface ImageEditOptions {
607
- model: string;
608
- image: Buffer | string;
609
- prompt: string;
610
- mask?: Buffer | string;
611
- size?: string;
612
- n?: number;
613
- response_format?: 'url' | 'b64_json';
614
- }
615
- interface ImageVariationOptions {
616
- model: string;
617
- image: Buffer | string;
618
- n?: number;
619
- size?: string;
620
- response_format?: 'url' | 'b64_json';
621
- }
622
- interface ImageResponse {
623
- created: number;
624
- data: Array<{
625
- url?: string;
626
- b64_json?: string;
627
- revised_prompt?: string;
628
- }>;
629
- }
630
- interface IImageProvider extends IProvider {
631
- /**
632
- * Generate images from text prompt
633
- */
634
- generateImage(options: ImageGenerateOptions): Promise<ImageResponse>;
635
- /**
636
- * Edit an existing image (optional - not all providers support)
637
- */
638
- editImage?(options: ImageEditOptions): Promise<ImageResponse>;
639
- /**
640
- * Create variations of an image (optional)
641
- */
642
- createVariation?(options: ImageVariationOptions): Promise<ImageResponse>;
643
- /**
644
- * List available models
645
- */
646
- listModels?(): Promise<string[]>;
647
- }
648
-
649
- /**
650
- * Options for creating an ImageGeneration instance
651
- */
652
- interface ImageGenerationCreateOptions {
653
- /** Connector name or instance */
654
- connector: string | Connector;
655
- }
656
- /**
657
- * Simplified options for quick generation
485
+ * Base provider interface
658
486
  */
659
- interface SimpleGenerateOptions {
660
- /** Text prompt describing the image */
661
- prompt: string;
662
- /** Model to use (defaults to vendor's best model) */
663
- model?: string;
664
- /** Image size */
665
- size?: string;
666
- /** Quality setting */
667
- quality?: 'standard' | 'hd';
668
- /** Style setting (DALL-E 3 only) */
669
- style?: 'vivid' | 'natural';
670
- /** Number of images to generate */
671
- n?: number;
672
- /** Response format */
673
- response_format?: 'url' | 'b64_json';
487
+ interface ProviderCapabilities {
488
+ text: boolean;
489
+ images: boolean;
490
+ videos: boolean;
491
+ audio: boolean;
492
+ /** Optional feature flags for specific capabilities */
493
+ features?: Record<string, boolean>;
674
494
  }
675
- /**
676
- * ImageGeneration capability class
677
- */
678
- declare class ImageGeneration {
679
- private provider;
680
- private connector;
681
- private defaultModel;
682
- private constructor();
683
- /**
684
- * Create an ImageGeneration instance
685
- */
686
- static create(options: ImageGenerationCreateOptions): ImageGeneration;
687
- /**
688
- * Generate images from a text prompt
689
- */
690
- generate(options: SimpleGenerateOptions): Promise<ImageResponse>;
691
- /**
692
- * Edit an existing image
693
- * Note: Not all models/vendors support this
694
- */
695
- edit(options: ImageEditOptions): Promise<ImageResponse>;
696
- /**
697
- * Create variations of an existing image
698
- * Note: Only DALL-E 2 supports this
699
- */
700
- createVariation(options: ImageVariationOptions): Promise<ImageResponse>;
701
- /**
702
- * List available models for this provider
703
- */
704
- listModels(): Promise<string[]>;
705
- /**
706
- * Get information about a specific model
707
- */
708
- getModelInfo(modelName: string): IImageModelDescription | undefined;
709
- /**
710
- * Get the underlying provider
711
- */
712
- getProvider(): IImageProvider;
713
- /**
714
- * Get the current connector
715
- */
716
- getConnector(): Connector;
717
- /**
718
- * Get the default model for this vendor
719
- */
720
- private getDefaultModel;
495
+ interface IProvider {
496
+ readonly name: string;
497
+ readonly vendor?: string;
498
+ readonly capabilities: ProviderCapabilities;
721
499
  /**
722
- * Get the default edit model for this vendor
500
+ * Validate that the provider configuration is correct
723
501
  */
724
- private getEditModel;
725
- }
726
-
727
- /**
728
- * Image generation model registry with comprehensive metadata
729
- */
730
-
731
- /**
732
- * Supported image sizes by model
733
- */
734
- type ImageSize = '256x256' | '512x512' | '1024x1024' | '1024x1536' | '1536x1024' | '1792x1024' | '1024x1792' | 'auto';
735
- /**
736
- * Supported aspect ratios
737
- */
738
- type AspectRatio = '1:1' | '3:4' | '4:3' | '9:16' | '16:9' | '3:2' | '2:3';
739
- /**
740
- * Image model capabilities
741
- */
742
- interface ImageModelCapabilities {
743
- /** Supported image sizes */
744
- sizes: readonly ImageSize[];
745
- /** Supported aspect ratios (Google) */
746
- aspectRatios?: readonly AspectRatio[];
747
- /** Maximum number of images per request */
748
- maxImagesPerRequest: number;
749
- /** Supported output formats */
750
- outputFormats: readonly string[];
751
- /** Feature support flags */
752
- features: {
753
- /** Text-to-image generation */
754
- generation: boolean;
755
- /** Image editing/inpainting */
756
- editing: boolean;
757
- /** Image variations */
758
- variations: boolean;
759
- /** Style control */
760
- styleControl: boolean;
761
- /** Quality control (standard/hd) */
762
- qualityControl: boolean;
763
- /** Transparent backgrounds */
764
- transparency: boolean;
765
- /** Prompt revision/enhancement */
766
- promptRevision: boolean;
767
- };
768
- /** Model limits */
769
- limits: {
770
- /** Maximum prompt length in characters */
771
- maxPromptLength: number;
772
- /** Rate limit (requests per minute) */
773
- maxRequestsPerMinute?: number;
774
- };
775
- /** Vendor-specific options schema */
776
- vendorOptions?: Record<string, VendorOptionSchema>;
777
- }
778
- /**
779
- * Image model pricing
780
- */
781
- interface ImageModelPricing {
782
- /** Cost per image at standard quality */
783
- perImageStandard?: number;
784
- /** Cost per image at HD quality */
785
- perImageHD?: number;
786
- /** Cost per image (flat rate) */
787
- perImage?: number;
788
- currency: 'USD';
789
- }
790
- /**
791
- * Complete image model description
792
- */
793
- interface IImageModelDescription extends IBaseModelDescription {
794
- capabilities: ImageModelCapabilities;
795
- pricing?: ImageModelPricing;
502
+ validateConfig(): Promise<boolean>;
796
503
  }
797
- declare const IMAGE_MODELS: {
798
- readonly openai: {
799
- /** GPT-Image-1: Latest OpenAI image model with best quality */
800
- readonly GPT_IMAGE_1: "gpt-image-1";
801
- /** DALL-E 3: High quality image generation */
802
- readonly DALL_E_3: "dall-e-3";
803
- /** DALL-E 2: Fast, supports editing and variations */
804
- readonly DALL_E_2: "dall-e-2";
805
- };
806
- readonly google: {
807
- /** Imagen 4.0: Latest Google image generation model */
808
- readonly IMAGEN_4_GENERATE: "imagen-4.0-generate-001";
809
- /** Imagen 4.0 Ultra: Highest quality */
810
- readonly IMAGEN_4_ULTRA: "imagen-4.0-ultra-generate-001";
811
- /** Imagen 4.0 Fast: Optimized for speed */
812
- readonly IMAGEN_4_FAST: "imagen-4.0-fast-generate-001";
813
- };
814
- readonly grok: {
815
- /** Grok Imagine Image: xAI image generation with editing support */
816
- readonly GROK_IMAGINE_IMAGE: "grok-imagine-image";
817
- /** Grok 2 Image: xAI image generation (text-only input) */
818
- readonly GROK_2_IMAGE_1212: "grok-2-image-1212";
819
- };
820
- };
821
- /**
822
- * Complete image model registry
823
- * Last full audit: January 2026
824
- */
825
- declare const IMAGE_MODEL_REGISTRY: Record<string, IImageModelDescription>;
826
- declare const getImageModelInfo: (modelName: string) => IImageModelDescription | undefined;
827
- declare const getImageModelsByVendor: (vendor: Vendor) => IImageModelDescription[];
828
- declare const getActiveImageModels: () => IImageModelDescription[];
829
- /**
830
- * Get image models that support a specific feature
831
- */
832
- declare function getImageModelsWithFeature(feature: keyof IImageModelDescription['capabilities']['features']): IImageModelDescription[];
833
- /**
834
- * Calculate estimated cost for image generation
835
- */
836
- declare function calculateImageCost(modelName: string, imageCount: number, quality?: 'standard' | 'hd'): number | null;
837
504
 
838
- export { type AudioFormat as A, type ImageGenerateOptions as B, type ConnectorAccessContext as C, type ImageEditOptions as D, type ImageVariationOptions as E, type ImageResponse as F, type AspectRatio$1 as G, type OutputFormat as H, type IConnectorRegistry as I, type JWTConnectorAuth as J, type ISourceLinks as K, DEFAULT_CONNECTOR_TIMEOUT as L, DEFAULT_MAX_RETRIES as M, DEFAULT_RETRYABLE_STATUSES as N, type OAuthConnectorAuth as O, DEFAULT_BASE_DELAY_MS as P, type QualityLevel as Q, DEFAULT_MAX_DELAY_MS as R, type StoredToken as S, type VendorOptionSchema as V, type IConnectorAccessPolicy as a, Connector as b, type IBaseModelDescription as c, Vendor as d, type IImageProvider as e, type ConnectorFetchOptions as f, type ITokenStorage as g, type ConnectorConfig as h, type ConnectorAuth as i, type ConnectorConfigResult as j, VENDORS as k, isVendor as l, ImageGeneration as m, type ImageGenerationCreateOptions as n, type SimpleGenerateOptions as o, type APIKeyConnectorAuth as p, type IImageModelDescription as q, type ImageModelCapabilities as r, type ImageModelPricing as s, IMAGE_MODELS as t, IMAGE_MODEL_REGISTRY as u, getImageModelInfo as v, getImageModelsByVendor as w, getActiveImageModels as x, getImageModelsWithFeature as y, calculateImageCost as z };
505
+ export { type APIKeyConnectorAuth as A, type ConnectorAccessContext as C, DEFAULT_CONNECTOR_TIMEOUT as D, type IConnectorRegistry as I, type JWTConnectorAuth as J, type OAuthConnectorAuth as O, type ProviderCapabilities as P, type StoredToken as S, type IConnectorAccessPolicy as a, Connector as b, type IProvider as c, type ConnectorFetchOptions as d, type ITokenStorage as e, type ConnectorConfig as f, type ConnectorAuth as g, type ConnectorConfigResult as h, DEFAULT_MAX_RETRIES as i, DEFAULT_RETRYABLE_STATUSES as j, DEFAULT_BASE_DELAY_MS as k, DEFAULT_MAX_DELAY_MS as l };