@everworker/oneringai 0.1.2 → 0.1.4

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
@@ -6,6 +6,54 @@
6
6
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue.svg)](https://www.typescriptlang.org/)
7
7
  [![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/)
8
8
 
9
+ ## Table of Contents
10
+
11
+ - [Features](#features)
12
+ - [Quick Start](#quick-start) — Installation, basic usage, tools, vision, audio, images, video, search, scraping
13
+ - [Supported Providers](#supported-providers)
14
+ - [Key Features](#key-features)
15
+ - [1. Agent with Plugins](#1-agent-with-plugins)
16
+ - [2. Dynamic Tool Management](#2-dynamic-tool-management-new)
17
+ - [3. Tool Execution Plugins](#3-tool-execution-plugins-new)
18
+ - [4. Session Persistence](#4-session-persistence)
19
+ - [5. Working Memory](#5-working-memory)
20
+ - [6. Research with Search Tools](#6-research-with-search-tools)
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
+ - [11. Audio Capabilities](#11-audio-capabilities)
26
+ - [12. Model Registry](#12-model-registry)
27
+ - [13. Streaming](#13-streaming)
28
+ - [14. OAuth for External APIs](#14-oauth-for-external-apis)
29
+ - [15. Developer Tools](#15-developer-tools)
30
+ - [16. External API Integration](#16-external-api-integration) — Scoped Registry, Vendor Templates, Tool Discovery
31
+ - [MCP Integration](#mcp-model-context-protocol-integration)
32
+ - [Documentation](#documentation)
33
+ - [Examples](#examples)
34
+ - [Development](#development)
35
+ - [Architecture](#architecture)
36
+ - [Troubleshooting](#troubleshooting)
37
+ - [Contributing](#contributing)
38
+ - [License](#license)
39
+
40
+ <!-- For in-depth guides and full API reference, see the docs section below -->
41
+
42
+ ## Documentation
43
+
44
+ > **Start here if you're looking for detailed docs or the full API reference.**
45
+
46
+ | Document | Description |
47
+ |----------|-------------|
48
+ | **[User Guide](./USER_GUIDE.md)** | Comprehensive guide covering every feature with examples — connectors, agents, context, plugins, audio, video, search, MCP, OAuth, and more |
49
+ | **[API Reference](./API_REFERENCE.md)** | Auto-generated reference for all 600+ public exports — classes, interfaces, types, and functions with signatures |
50
+ | [CHANGELOG](./CHANGELOG.md) | Version history and migration notes |
51
+ | [MCP Integration](./MCP_INTEGRATION.md) | Model Context Protocol setup and usage |
52
+ | [Architecture (CLAUDE.md)](./CLAUDE.md) | Internal architecture guide |
53
+ | [Testing Guide](./TESTING.md) | How to run and write tests |
54
+
55
+ ---
56
+
9
57
  ## Features
10
58
 
11
59
  - ✨ **Unified API** - One interface for 10+ AI providers (OpenAI, Anthropic, Google, Groq, DeepSeek, and more)
@@ -557,7 +605,7 @@ await agent.run('Research AI developments in 2026 and store key findings');
557
605
  - 📝 **Working Memory** - Store findings with priority-based eviction
558
606
  - 🏗️ **Tiered Memory** - Raw → Summary → Findings pattern
559
607
 
560
- ### 6. Context Management
608
+ ### 7. Context Management
561
609
 
562
610
  **AgentContextNextGen** is the modern, plugin-based context manager. It provides clean separation of concerns with composable plugins:
563
611
 
@@ -621,7 +669,7 @@ const agent = Agent.create({
621
669
  |---------|---------|--------|------------------|
622
670
  | `workingMemory` | `true` | WorkingMemoryPluginNextGen | `memory_store/retrieve/delete/list` |
623
671
  | `inContextMemory` | `false` | InContextMemoryPluginNextGen | `context_set/delete/list` |
624
- | `persistentInstructions` | `false` | PersistentInstructionsPluginNextGen | `instructions_set/get/append/clear` |
672
+ | `persistentInstructions` | `false` | PersistentInstructionsPluginNextGen | `instructions_set/remove/list/clear` |
625
673
 
626
674
  **AgentContextNextGen architecture:**
627
675
  - **Plugin-first design** - All features are composable plugins
@@ -641,7 +689,7 @@ console.log(budget.available); // Remaining tokens
641
689
  console.log(budget.utilizationPercent); // Usage percentage
642
690
  ```
643
691
 
644
- ### 7. InContextMemory
692
+ ### 8. InContextMemory
645
693
 
646
694
  Store key-value pairs **directly in context** for instant LLM access without retrieval calls:
647
695
 
@@ -674,7 +722,7 @@ const state = plugin.get('current_state'); // { step: 2, status: 'active' }
674
722
 
675
723
  **Use cases:** Session state, user preferences, counters, flags, small accumulated results.
676
724
 
677
- ### 8. Persistent Instructions
725
+ ### 9. Persistent Instructions
678
726
 
679
727
  Store agent-level custom instructions that persist across sessions on disk:
680
728
 
@@ -692,8 +740,8 @@ const agent = Agent.create({
692
740
  },
693
741
  });
694
742
 
695
- // LLM can now use instructions_set/append/get/clear tools
696
- // Instructions persist to ~/.oneringai/agents/my-assistant/custom_instructions.md
743
+ // LLM can now use instructions_set/remove/list/clear tools
744
+ // Instructions persist to ~/.oneringai/agents/my-assistant/custom_instructions.json
697
745
  ```
698
746
 
699
747
  **Key Features:**
@@ -703,14 +751,14 @@ const agent = Agent.create({
703
751
  - 🛡️ **Never Compacted** - Critical instructions always preserved in context
704
752
 
705
753
  **Available Tools:**
706
- - `instructions_set` - Replace all custom instructions
707
- - `instructions_append` - Add a new section to existing instructions
708
- - `instructions_get` - Read current instructions
754
+ - `instructions_set` - Add or update a single instruction by key
755
+ - `instructions_remove` - Remove a single instruction by key
756
+ - `instructions_list` - List all instructions with keys and content
709
757
  - `instructions_clear` - Remove all instructions (requires confirmation)
710
758
 
711
759
  **Use cases:** Agent personality/behavior, user preferences, learned rules, tool usage patterns.
712
760
 
713
- ### 9. Direct LLM Access
761
+ ### 10. Direct LLM Access
714
762
 
715
763
  Bypass all context management for simple, stateless LLM calls:
716
764
 
@@ -925,7 +973,8 @@ Connector.create({
925
973
  });
926
974
 
927
975
  // Generate tools from the connector
928
- // Tools are prefixed with connector name: github_api, github_list_repos, etc.
976
+ // GitHub connectors get 7 dedicated tools + generic API automatically:
977
+ // search_files, search_code, read_file, get_pr, pr_files, pr_comments, create_pr
929
978
  const tools = ConnectorTools.for('github');
930
979
 
931
980
  // Use with an agent
@@ -935,12 +984,13 @@ const agent = Agent.create({
935
984
  tools: tools,
936
985
  });
937
986
 
938
- await agent.run('List all open issues in owner/repo');
987
+ await agent.run('Find all TypeScript files in src/ and show me the entry point');
988
+ await agent.run('Show me PR #42 and summarize the review comments');
939
989
  ```
940
990
 
941
991
  **Supported Services (35+):**
942
992
  - **Communication**: Slack, Discord, Microsoft Teams, Twilio
943
- - **Development**: GitHub, GitLab, Jira, Linear, Bitbucket
993
+ - **Development**: GitHub *(7 built-in tools)*, GitLab, Jira, Linear, Bitbucket
944
994
  - **Productivity**: Notion, Asana, Monday, Airtable, Trello
945
995
  - **CRM**: Salesforce, HubSpot, Zendesk, Intercom
946
996
  - **Payments**: Stripe, PayPal, Square
@@ -1173,37 +1223,25 @@ await agent.run('List files and analyze them');
1173
1223
 
1174
1224
  See [MCP_INTEGRATION.md](./MCP_INTEGRATION.md) for complete documentation.
1175
1225
 
1176
- ## Documentation
1177
-
1178
- 📖 **[Complete User Guide](./USER_GUIDE.md)** - Comprehensive guide covering all features
1179
-
1180
- ### Additional Resources
1181
-
1182
- - **[MCP_INTEGRATION.md](./MCP_INTEGRATION.md)** - Model Context Protocol integration guide
1183
- - **[CLAUDE.md](./CLAUDE.md)** - Architecture guide for AI assistants
1184
- - **[MULTIMODAL_ARCHITECTURE.md](./MULTIMODAL_ARCHITECTURE.md)** - Multimodal implementation details
1185
- - **[MICROSOFT_GRAPH_SETUP.md](./MICROSOFT_GRAPH_SETUP.md)** - Microsoft Graph OAuth setup
1186
- - **[TESTING.md](./TESTING.md)** - Testing guide for contributors
1187
-
1188
1226
  ## Examples
1189
1227
 
1190
1228
  ```bash
1191
1229
  # Basic examples
1192
- npm run example:basic # Simple text generation
1193
- npm run example:streaming # Streaming responses
1230
+ npm run example:text # Simple text generation
1231
+ npm run example:agent # Basic agent with tools
1232
+ npm run example:conversation # Multi-turn conversation
1233
+ npm run example:chat # Interactive chat
1194
1234
  npm run example:vision # Image analysis
1195
- npm run example:tools # Tool calling
1235
+ npm run example:providers # Multi-provider comparison
1196
1236
 
1197
- # Audio examples
1198
- npm run example:audio # TTS and STT demo
1237
+ # Tools and hooks
1238
+ npm run example:json-tool # JSON manipulation tool
1239
+ npm run example:hooks # Agent lifecycle hooks
1240
+ npm run example:web # Web research agent
1199
1241
 
1200
- # Task Agent examples
1201
- npm run example:task-agent # Basic task agent
1202
- npm run example:task-agent-demo # Full demo with memory
1203
- npm run example:planning-agent # AI-driven planning
1204
-
1205
- # Context management
1206
- npm run example:context-management # All strategies demo
1242
+ # OAuth examples
1243
+ npm run example:oauth # OAuth demo
1244
+ npm run example:oauth-registry # OAuth registry
1207
1245
  ```
1208
1246
 
1209
1247
  ## Development
@@ -1265,9 +1303,4 @@ MIT License - See [LICENSE](./LICENSE) file.
1265
1303
 
1266
1304
  ---
1267
1305
 
1268
- **Version:** 0.1.2
1269
- **Last Updated:** 2026-02-06
1270
-
1271
- For detailed documentation on all features, see the **[Complete User Guide](./USER_GUIDE.md)**.
1272
-
1273
- For internal development and architecture improvement plans, see **[IMPROVEMENT_PLAN.md](./IMPROVEMENT_PLAN.md)**.
1306
+ **Version:** 0.1.4 | **Last Updated:** 2026-02-08 | **[User Guide](./USER_GUIDE.md)** | **[API Reference](./API_REFERENCE.md)** | **[Changelog](./CHANGELOG.md)**
@@ -1,35 +1,6 @@
1
+ import { V as Vendor } from './Vendor-DYh_bzwo.cjs';
1
2
  import { I as IProvider } from './IProvider-BP49c93d.cjs';
2
3
 
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;
32
-
33
4
  /**
34
5
  * Connector - Represents authenticated connection to ANY API
35
6
  *
@@ -72,6 +43,8 @@ interface OAuthConnectorAuth {
72
43
  audience?: string;
73
44
  refreshBeforeExpiry?: number;
74
45
  storageKey?: string;
46
+ /** Vendor-specific extra credentials */
47
+ extra?: Record<string, string>;
75
48
  }
76
49
  /**
77
50
  * Static API key authentication
@@ -82,6 +55,11 @@ interface APIKeyConnectorAuth {
82
55
  apiKey: string;
83
56
  headerName?: string;
84
57
  headerPrefix?: string;
58
+ /**
59
+ * Vendor-specific extra credentials beyond the primary API key.
60
+ * E.g., Slack Socket Mode needs { appToken: 'xapp-...', signingSecret: '...' }
61
+ */
62
+ extra?: Record<string, string>;
85
63
  }
86
64
  /**
87
65
  * JWT Bearer token authentication
@@ -97,6 +75,8 @@ interface JWTConnectorAuth {
97
75
  issuer?: string;
98
76
  subject?: string;
99
77
  audience?: string;
78
+ /** Vendor-specific extra credentials */
79
+ extra?: Record<string, string>;
100
80
  }
101
81
  /**
102
82
  * Complete connector configuration
@@ -835,4 +815,4 @@ declare function getImageModelsWithFeature(feature: keyof IImageModelDescription
835
815
  */
836
816
  declare function calculateImageCost(modelName: string, imageCount: number, quality?: 'standard' | 'hd'): number | null;
837
817
 
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 };
818
+ export { type AudioFormat as A, type ImageResponse as B, type ConnectorAccessContext as C, type AspectRatio$1 as D, type OutputFormat as E, type ISourceLinks as F, DEFAULT_CONNECTOR_TIMEOUT as G, DEFAULT_MAX_RETRIES as H, type IConnectorRegistry as I, type JWTConnectorAuth as J, DEFAULT_RETRYABLE_STATUSES as K, DEFAULT_BASE_DELAY_MS as L, DEFAULT_MAX_DELAY_MS as M, type OAuthConnectorAuth as O, type QualityLevel as Q, type StoredToken as S, type VendorOptionSchema as V, type IConnectorAccessPolicy as a, Connector as b, type IBaseModelDescription as c, type IImageProvider as d, type ConnectorFetchOptions as e, type ITokenStorage as f, type ConnectorConfig as g, type ConnectorAuth as h, type ConnectorConfigResult as i, ImageGeneration as j, type ImageGenerationCreateOptions as k, type SimpleGenerateOptions as l, type APIKeyConnectorAuth as m, type IImageModelDescription as n, type ImageModelCapabilities as o, type ImageModelPricing as p, IMAGE_MODELS as q, IMAGE_MODEL_REGISTRY as r, getImageModelInfo as s, getImageModelsByVendor as t, getActiveImageModels as u, getImageModelsWithFeature as v, calculateImageCost as w, type ImageGenerateOptions as x, type ImageEditOptions as y, type ImageVariationOptions as z };
@@ -1,35 +1,6 @@
1
+ import { V as Vendor } from './Vendor-DYh_bzwo.js';
1
2
  import { I as IProvider } from './IProvider-BP49c93d.js';
2
3
 
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;
32
-
33
4
  /**
34
5
  * Connector - Represents authenticated connection to ANY API
35
6
  *
@@ -72,6 +43,8 @@ interface OAuthConnectorAuth {
72
43
  audience?: string;
73
44
  refreshBeforeExpiry?: number;
74
45
  storageKey?: string;
46
+ /** Vendor-specific extra credentials */
47
+ extra?: Record<string, string>;
75
48
  }
76
49
  /**
77
50
  * Static API key authentication
@@ -82,6 +55,11 @@ interface APIKeyConnectorAuth {
82
55
  apiKey: string;
83
56
  headerName?: string;
84
57
  headerPrefix?: string;
58
+ /**
59
+ * Vendor-specific extra credentials beyond the primary API key.
60
+ * E.g., Slack Socket Mode needs { appToken: 'xapp-...', signingSecret: '...' }
61
+ */
62
+ extra?: Record<string, string>;
85
63
  }
86
64
  /**
87
65
  * JWT Bearer token authentication
@@ -97,6 +75,8 @@ interface JWTConnectorAuth {
97
75
  issuer?: string;
98
76
  subject?: string;
99
77
  audience?: string;
78
+ /** Vendor-specific extra credentials */
79
+ extra?: Record<string, string>;
100
80
  }
101
81
  /**
102
82
  * Complete connector configuration
@@ -835,4 +815,4 @@ declare function getImageModelsWithFeature(feature: keyof IImageModelDescription
835
815
  */
836
816
  declare function calculateImageCost(modelName: string, imageCount: number, quality?: 'standard' | 'hd'): number | null;
837
817
 
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 };
818
+ export { type AudioFormat as A, type ImageResponse as B, type ConnectorAccessContext as C, type AspectRatio$1 as D, type OutputFormat as E, type ISourceLinks as F, DEFAULT_CONNECTOR_TIMEOUT as G, DEFAULT_MAX_RETRIES as H, type IConnectorRegistry as I, type JWTConnectorAuth as J, DEFAULT_RETRYABLE_STATUSES as K, DEFAULT_BASE_DELAY_MS as L, DEFAULT_MAX_DELAY_MS as M, type OAuthConnectorAuth as O, type QualityLevel as Q, type StoredToken as S, type VendorOptionSchema as V, type IConnectorAccessPolicy as a, Connector as b, type IBaseModelDescription as c, type IImageProvider as d, type ConnectorFetchOptions as e, type ITokenStorage as f, type ConnectorConfig as g, type ConnectorAuth as h, type ConnectorConfigResult as i, ImageGeneration as j, type ImageGenerationCreateOptions as k, type SimpleGenerateOptions as l, type APIKeyConnectorAuth as m, type IImageModelDescription as n, type ImageModelCapabilities as o, type ImageModelPricing as p, IMAGE_MODELS as q, IMAGE_MODEL_REGISTRY as r, getImageModelInfo as s, getImageModelsByVendor as t, getActiveImageModels as u, getImageModelsWithFeature as v, calculateImageCost as w, type ImageGenerateOptions as x, type ImageEditOptions as y, type ImageVariationOptions as z };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Supported AI Vendors
3
+ *
4
+ * Use this enum instead of string literals for type safety.
5
+ * These map to specific provider implementations.
6
+ */
7
+ declare const Vendor: {
8
+ readonly OpenAI: "openai";
9
+ readonly Anthropic: "anthropic";
10
+ readonly Google: "google";
11
+ readonly GoogleVertex: "google-vertex";
12
+ readonly Groq: "groq";
13
+ readonly Together: "together";
14
+ readonly Perplexity: "perplexity";
15
+ readonly Grok: "grok";
16
+ readonly DeepSeek: "deepseek";
17
+ readonly Mistral: "mistral";
18
+ readonly Ollama: "ollama";
19
+ readonly Custom: "custom";
20
+ };
21
+ type Vendor = (typeof Vendor)[keyof typeof Vendor];
22
+ /**
23
+ * All vendor values as array (useful for validation)
24
+ */
25
+ declare const VENDORS: ("openai" | "anthropic" | "google" | "google-vertex" | "groq" | "together" | "perplexity" | "grok" | "deepseek" | "mistral" | "ollama" | "custom")[];
26
+ /**
27
+ * Check if a string is a valid vendor
28
+ */
29
+ declare function isVendor(value: string): value is Vendor;
30
+
31
+ export { Vendor as V, VENDORS as a, isVendor as i };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Supported AI Vendors
3
+ *
4
+ * Use this enum instead of string literals for type safety.
5
+ * These map to specific provider implementations.
6
+ */
7
+ declare const Vendor: {
8
+ readonly OpenAI: "openai";
9
+ readonly Anthropic: "anthropic";
10
+ readonly Google: "google";
11
+ readonly GoogleVertex: "google-vertex";
12
+ readonly Groq: "groq";
13
+ readonly Together: "together";
14
+ readonly Perplexity: "perplexity";
15
+ readonly Grok: "grok";
16
+ readonly DeepSeek: "deepseek";
17
+ readonly Mistral: "mistral";
18
+ readonly Ollama: "ollama";
19
+ readonly Custom: "custom";
20
+ };
21
+ type Vendor = (typeof Vendor)[keyof typeof Vendor];
22
+ /**
23
+ * All vendor values as array (useful for validation)
24
+ */
25
+ declare const VENDORS: ("openai" | "anthropic" | "google" | "google-vertex" | "groq" | "together" | "perplexity" | "grok" | "deepseek" | "mistral" | "ollama" | "custom")[];
26
+ /**
27
+ * Check if a string is a valid vendor
28
+ */
29
+ declare function isVendor(value: string): value is Vendor;
30
+
31
+ export { Vendor as V, VENDORS as a, isVendor as i };
@@ -1,3 +1,3 @@
1
- export { aD as AfterToolContext, av as AgentEventName, A as AgentEvents, ay as AgenticLoopEventName, ax as AgenticLoopEvents, aG as ApprovalResult, aE as ApproveToolContext, m as AuditEntry, aC as BeforeToolContext, aI as ExecutionCompleteEvent, aw as ExecutionConfig, E as ExecutionContext, l as ExecutionMetrics, aH as ExecutionStartEvent, j as HistoryMode, aA as Hook, H as HookConfig, au as HookManager, az as HookName, aL as LLMRequestEvent, aM as LLMResponseEvent, aB as ModifyingHook, aK as ToolCompleteEvent, aF as ToolModification, aJ as ToolStartEvent } from '../../index-DCzFlLoN.cjs';
1
+ export { aD as AfterToolContext, av as AgentEventName, A as AgentEvents, ay as AgenticLoopEventName, ax as AgenticLoopEvents, aG as ApprovalResult, aE as ApproveToolContext, m as AuditEntry, aC as BeforeToolContext, aI as ExecutionCompleteEvent, aw as ExecutionConfig, E as ExecutionContext, l as ExecutionMetrics, aH as ExecutionStartEvent, j as HistoryMode, aA as Hook, H as HookConfig, au as HookManager, az as HookName, aL as LLMRequestEvent, aM as LLMResponseEvent, aB as ModifyingHook, aK as ToolCompleteEvent, aF as ToolModification, aJ as ToolStartEvent } from '../../index-NOV01LWF.cjs';
2
2
  import '../../IProvider-BP49c93d.cjs';
3
3
  import 'eventemitter3';
@@ -1,3 +1,3 @@
1
- export { aD as AfterToolContext, av as AgentEventName, A as AgentEvents, ay as AgenticLoopEventName, ax as AgenticLoopEvents, aG as ApprovalResult, aE as ApproveToolContext, m as AuditEntry, aC as BeforeToolContext, aI as ExecutionCompleteEvent, aw as ExecutionConfig, E as ExecutionContext, l as ExecutionMetrics, aH as ExecutionStartEvent, j as HistoryMode, aA as Hook, H as HookConfig, au as HookManager, az as HookName, aL as LLMRequestEvent, aM as LLMResponseEvent, aB as ModifyingHook, aK as ToolCompleteEvent, aF as ToolModification, aJ as ToolStartEvent } from '../../index-BmOYeqU7.js';
1
+ export { aD as AfterToolContext, av as AgentEventName, A as AgentEvents, ay as AgenticLoopEventName, ax as AgenticLoopEvents, aG as ApprovalResult, aE as ApproveToolContext, m as AuditEntry, aC as BeforeToolContext, aI as ExecutionCompleteEvent, aw as ExecutionConfig, E as ExecutionContext, l as ExecutionMetrics, aH as ExecutionStartEvent, j as HistoryMode, aA as Hook, H as HookConfig, au as HookManager, az as HookName, aL as LLMRequestEvent, aM as LLMResponseEvent, aB as ModifyingHook, aK as ToolCompleteEvent, aF as ToolModification, aJ as ToolStartEvent } from '../../index-CEp1H4fV.js';
2
2
  import '../../IProvider-BP49c93d.js';
3
3
  import 'eventemitter3';
@@ -1,2 +1,3 @@
1
- export { D as ImageEditOptions, B as ImageGenerateOptions, m as ImageGeneration, n as ImageGenerationCreateOptions, F as ImageResponse, E as ImageVariationOptions, o as SimpleGenerateOptions } from '../../ImageModel-DtN780fU.cjs';
1
+ export { y as ImageEditOptions, x as ImageGenerateOptions, j as ImageGeneration, k as ImageGenerationCreateOptions, B as ImageResponse, z as ImageVariationOptions, l as SimpleGenerateOptions } from '../../ImageModel-DSY7SNsq.cjs';
2
+ import '../../Vendor-DYh_bzwo.cjs';
2
3
  import '../../IProvider-BP49c93d.cjs';
@@ -1,2 +1,3 @@
1
- export { D as ImageEditOptions, B as ImageGenerateOptions, m as ImageGeneration, n as ImageGenerationCreateOptions, F as ImageResponse, E as ImageVariationOptions, o as SimpleGenerateOptions } from '../../ImageModel-BkAX5Rr5.js';
1
+ export { y as ImageEditOptions, x as ImageGenerateOptions, j as ImageGeneration, k as ImageGenerationCreateOptions, B as ImageResponse, z as ImageVariationOptions, l as SimpleGenerateOptions } from '../../ImageModel-qNJHPh4q.js';
2
+ import '../../Vendor-DYh_bzwo.js';
2
3
  import '../../IProvider-BP49c93d.js';
@@ -268,6 +268,8 @@ interface ToolContext {
268
268
  agentId?: string;
269
269
  /** Task ID (if running in TaskAgent) */
270
270
  taskId?: string;
271
+ /** User ID — set by host app via agent.tools.setToolContext() for per-user operations */
272
+ userId?: string;
271
273
  /** Working memory access (if agent has memory feature enabled) */
272
274
  memory?: WorkingMemoryAccess;
273
275
  /** Abort signal for cancellation */
@@ -268,6 +268,8 @@ interface ToolContext {
268
268
  agentId?: string;
269
269
  /** Task ID (if running in TaskAgent) */
270
270
  taskId?: string;
271
+ /** User ID — set by host app via agent.tools.setToolContext() for per-user operations */
272
+ userId?: string;
271
273
  /** Working memory access (if agent has memory feature enabled) */
272
274
  memory?: WorkingMemoryAccess;
273
275
  /** Abort signal for cancellation */