chat-nest-core 1.1.0 → 1.1.2

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/dist/index.d.ts CHANGED
@@ -8,10 +8,16 @@ type Message = {
8
8
  role: MessageRole;
9
9
  content: string;
10
10
  };
11
+ type AiUsageProfile = "constrained" | "balanced" | "expanded";
12
+ declare const AI_USAGE_PROFILE_DEFAULT: AiUsageProfile;
11
13
  type UseAIChatOptions = {
12
14
  endpoint: string;
13
15
  initialMessages?: Message[];
14
16
  maxMessages?: number;
17
+ initialProfile?: AiUsageProfile;
18
+ /** Cap daily token budget (sent to server; server applies min(profile limit, this)). */
19
+ dailyTokenLimit?: number;
20
+ maxTokensPerRequest?: number;
15
21
  };
16
22
  type UseAIChatReturn = {
17
23
  messages: Message[];
@@ -20,14 +26,22 @@ type UseAIChatReturn = {
20
26
  isStreaming: boolean;
21
27
  error?: string;
22
28
  reset(): void;
29
+ profile: AiUsageProfile;
30
+ setProfile(profile: AiUsageProfile): void;
23
31
  };
24
32
  type StreamCallbacks = {
25
33
  onToken(token: string): void;
26
34
  onComplete(): void;
27
35
  onError(error: Error): void;
28
36
  };
37
+ type ChatRequestOptions = {
38
+ /** Cap daily token budget for this request. */
39
+ dailyTokenLimit?: number;
40
+ /** Cap max tokens per request (input + output) for this request. */
41
+ maxTokensPerRequest?: number;
42
+ };
29
43
  interface AIClient {
30
- streamChat(messages: Message[], callbacks: StreamCallbacks): void;
44
+ streamChat(messages: Message[], callbacks: StreamCallbacks, profile: AiUsageProfile, options?: ChatRequestOptions): Promise<void>;
31
45
  cancel(): void;
32
46
  }
33
47
  type AiClientConfig = {
@@ -37,4 +51,4 @@ type AiClientConfig = {
37
51
  maxRetries?: number;
38
52
  };
39
53
 
40
- export { type AIClient, type AiClientConfig, type Message, MessageRole, type StreamCallbacks, type UseAIChatOptions, type UseAIChatReturn };
54
+ export { type AIClient, AI_USAGE_PROFILE_DEFAULT, type AiClientConfig, type AiUsageProfile, type ChatRequestOptions, type Message, MessageRole, type StreamCallbacks, type UseAIChatOptions, type UseAIChatReturn };
package/dist/index.js CHANGED
@@ -3,6 +3,8 @@ var MessageRole = {
3
3
  User: "user",
4
4
  Assistant: "assistant"
5
5
  };
6
+ var AI_USAGE_PROFILE_DEFAULT = "balanced";
6
7
  export {
8
+ AI_USAGE_PROFILE_DEFAULT,
7
9
  MessageRole
8
10
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "chat-nest-core",
3
3
  "description": "Shared types and contracts for the Chat Nest AI platform.",
4
- "version": "1.1.0",
4
+ "version": "1.1.2",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",