@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 +41 -27
- package/dist/{ImageModel-BkAX5Rr5.d.ts → IProvider-DcYJ3YE-.d.ts} +25 -358
- package/dist/{ImageModel-DtN780fU.d.cts → IProvider-c4QCbPjn.d.cts} +25 -358
- package/dist/ImageModel-BJ2mVPGV.d.ts +337 -0
- package/dist/ImageModel-BWN6VVS6.d.cts +337 -0
- package/dist/Vendor-DYh_bzwo.d.cts +31 -0
- package/dist/Vendor-DYh_bzwo.d.ts +31 -0
- package/dist/capabilities/agents/index.d.cts +3 -2
- package/dist/capabilities/agents/index.d.ts +3 -2
- package/dist/capabilities/images/index.cjs +8 -1
- package/dist/capabilities/images/index.cjs.map +1 -1
- package/dist/capabilities/images/index.d.cts +3 -2
- package/dist/capabilities/images/index.d.ts +3 -2
- package/dist/capabilities/images/index.js +8 -1
- package/dist/capabilities/images/index.js.map +1 -1
- package/dist/{index-BmOYeqU7.d.ts → index-B5UaeEvK.d.ts} +10 -5
- package/dist/{index-DCzFlLoN.d.cts → index-MJ14lkui.d.cts} +10 -5
- package/dist/index.cjs +2020 -1094
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +733 -417
- package/dist/index.d.ts +733 -417
- package/dist/index.js +1898 -986
- package/dist/index.js.map +1 -1
- package/dist/shared/index.cjs +1780 -0
- package/dist/shared/index.cjs.map +1 -0
- package/dist/shared/index.d.cts +266 -0
- package/dist/shared/index.d.ts +266 -0
- package/dist/shared/index.js +1760 -0
- package/dist/shared/index.js.map +1 -0
- package/package.json +6 -4
- package/dist/IProvider-BP49c93d.d.cts +0 -22
- package/dist/IProvider-BP49c93d.d.ts +0 -22
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
|
-
- [
|
|
22
|
-
- [
|
|
23
|
-
- [
|
|
24
|
-
- [
|
|
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** -
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
**
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
-
//
|
|
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('
|
|
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
|
|
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:
|
|
1229
|
-
npm run example:
|
|
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:
|
|
1232
|
-
|
|
1233
|
-
# Audio examples
|
|
1234
|
-
npm run example:audio # TTS and STT demo
|
|
1247
|
+
npm run example:providers # Multi-provider comparison
|
|
1235
1248
|
|
|
1236
|
-
#
|
|
1237
|
-
npm run example:
|
|
1238
|
-
npm run example:
|
|
1239
|
-
npm run example:
|
|
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
|
-
#
|
|
1242
|
-
npm run example:
|
|
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.
|
|
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 {
|
|
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
|
-
*
|
|
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
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
/**
|
|
665
|
-
|
|
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
|
-
|
|
677
|
-
|
|
678
|
-
|
|
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
|
-
*
|
|
500
|
+
* Validate that the provider configuration is correct
|
|
723
501
|
*/
|
|
724
|
-
|
|
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
|
|
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 };
|