@lanonasis/ai-sdk 0.1.0 → 0.2.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/README.md +255 -12
- package/dist/client.d.ts +79 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +425 -0
- package/dist/client.js.map +1 -0
- package/dist/http/client.d.ts +66 -0
- package/dist/http/client.d.ts.map +1 -0
- package/dist/http/client.js +243 -0
- package/dist/http/client.js.map +1 -0
- package/dist/index.d.ts +49 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -17
- package/dist/index.js.map +1 -1
- package/dist/react/hooks.d.ts +64 -0
- package/dist/react/hooks.d.ts.map +1 -0
- package/dist/react/hooks.js +231 -0
- package/dist/react/hooks.js.map +1 -0
- package/dist/types/index.d.ts +257 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +46 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +53 -7
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React Hooks for @lanonasis/ai-sdk
|
|
3
|
+
* Optional: Only import if using React
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* import { useLanonasis, useChat } from '@lanonasis/ai-sdk/react';
|
|
8
|
+
*
|
|
9
|
+
* function ChatComponent() {
|
|
10
|
+
* const { client, isReady } = useLanonasis({ apiKey: 'lnss_xxx' });
|
|
11
|
+
* const { messages, send, isLoading } = useChat({ client });
|
|
12
|
+
*
|
|
13
|
+
* return <div>...</div>;
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
import { useState, useCallback, useRef, useEffect } from 'react';
|
|
18
|
+
import { LanonasisAI } from '../client.js';
|
|
19
|
+
export function useLanonasis(options) {
|
|
20
|
+
const [isReady, setIsReady] = useState(false);
|
|
21
|
+
const [error, setError] = useState(null);
|
|
22
|
+
const clientRef = useRef(null);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
try {
|
|
25
|
+
clientRef.current = new LanonasisAI(options);
|
|
26
|
+
setIsReady(true);
|
|
27
|
+
setError(null);
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
setError(e);
|
|
31
|
+
setIsReady(false);
|
|
32
|
+
}
|
|
33
|
+
}, [options.apiKey, options.baseUrl]);
|
|
34
|
+
return {
|
|
35
|
+
client: clientRef.current,
|
|
36
|
+
isReady,
|
|
37
|
+
error,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export function useChat(options) {
|
|
41
|
+
const { client, conversationId: initialConversationId, systemPrompt, onError } = options;
|
|
42
|
+
const [messages, setMessages] = useState([]);
|
|
43
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
44
|
+
const [error, setError] = useState(null);
|
|
45
|
+
const [conversationId, setConversationId] = useState(initialConversationId);
|
|
46
|
+
// Initialize with system prompt
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (systemPrompt && messages.length === 0) {
|
|
49
|
+
setMessages([{ role: 'system', content: systemPrompt }]);
|
|
50
|
+
}
|
|
51
|
+
}, [systemPrompt, messages.length]);
|
|
52
|
+
const send = useCallback(async (content) => {
|
|
53
|
+
if (!client) {
|
|
54
|
+
const err = new Error('Client not initialized');
|
|
55
|
+
setError(err);
|
|
56
|
+
onError?.(err);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
setIsLoading(true);
|
|
60
|
+
setError(null);
|
|
61
|
+
const userMessage = { role: 'user', content };
|
|
62
|
+
setMessages((prev) => [...prev, userMessage]);
|
|
63
|
+
try {
|
|
64
|
+
const response = await client.chat({
|
|
65
|
+
messages: [userMessage],
|
|
66
|
+
conversationId,
|
|
67
|
+
systemPrompt,
|
|
68
|
+
});
|
|
69
|
+
const assistantMessage = response.choices[0]?.message;
|
|
70
|
+
if (assistantMessage) {
|
|
71
|
+
setMessages((prev) => [...prev, assistantMessage]);
|
|
72
|
+
}
|
|
73
|
+
if (response.conversationId) {
|
|
74
|
+
setConversationId(response.conversationId);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
const err = e;
|
|
79
|
+
setError(err);
|
|
80
|
+
onError?.(err);
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
setIsLoading(false);
|
|
84
|
+
}
|
|
85
|
+
}, [client, conversationId, systemPrompt, onError]);
|
|
86
|
+
const sendWithStream = useCallback(async (content) => {
|
|
87
|
+
if (!client) {
|
|
88
|
+
const err = new Error('Client not initialized');
|
|
89
|
+
setError(err);
|
|
90
|
+
onError?.(err);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
setIsLoading(true);
|
|
94
|
+
setError(null);
|
|
95
|
+
const userMessage = { role: 'user', content };
|
|
96
|
+
setMessages((prev) => [...prev, userMessage]);
|
|
97
|
+
// Add placeholder for assistant message
|
|
98
|
+
setMessages((prev) => [...prev, { role: 'assistant', content: '' }]);
|
|
99
|
+
try {
|
|
100
|
+
let fullContent = '';
|
|
101
|
+
for await (const chunk of client.chatStream({
|
|
102
|
+
messages: [userMessage],
|
|
103
|
+
conversationId,
|
|
104
|
+
systemPrompt,
|
|
105
|
+
})) {
|
|
106
|
+
const delta = chunk.choices[0]?.delta?.content;
|
|
107
|
+
if (delta) {
|
|
108
|
+
fullContent += delta;
|
|
109
|
+
setMessages((prev) => {
|
|
110
|
+
const updated = [...prev];
|
|
111
|
+
updated[updated.length - 1] = { role: 'assistant', content: fullContent };
|
|
112
|
+
return updated;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
const err = e;
|
|
119
|
+
setError(err);
|
|
120
|
+
onError?.(err);
|
|
121
|
+
}
|
|
122
|
+
finally {
|
|
123
|
+
setIsLoading(false);
|
|
124
|
+
}
|
|
125
|
+
}, [client, conversationId, systemPrompt, onError]);
|
|
126
|
+
const clear = useCallback(() => {
|
|
127
|
+
setMessages(systemPrompt ? [{ role: 'system', content: systemPrompt }] : []);
|
|
128
|
+
setError(null);
|
|
129
|
+
}, [systemPrompt]);
|
|
130
|
+
return {
|
|
131
|
+
messages,
|
|
132
|
+
isLoading,
|
|
133
|
+
error,
|
|
134
|
+
send,
|
|
135
|
+
sendWithStream,
|
|
136
|
+
clear,
|
|
137
|
+
conversationId,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
export function useMemory(options) {
|
|
141
|
+
const { client } = options;
|
|
142
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
143
|
+
const [error, setError] = useState(null);
|
|
144
|
+
const search = useCallback(async (query, limit = 10) => {
|
|
145
|
+
if (!client)
|
|
146
|
+
return [];
|
|
147
|
+
setIsLoading(true);
|
|
148
|
+
setError(null);
|
|
149
|
+
try {
|
|
150
|
+
const result = await client.memory.searchMemories({
|
|
151
|
+
query,
|
|
152
|
+
limit,
|
|
153
|
+
status: 'active',
|
|
154
|
+
threshold: 0.7,
|
|
155
|
+
});
|
|
156
|
+
return result.data?.results || [];
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
setError(e);
|
|
160
|
+
return [];
|
|
161
|
+
}
|
|
162
|
+
finally {
|
|
163
|
+
setIsLoading(false);
|
|
164
|
+
}
|
|
165
|
+
}, [client]);
|
|
166
|
+
const save = useCallback(async (title, content, tags = []) => {
|
|
167
|
+
if (!client)
|
|
168
|
+
return;
|
|
169
|
+
setIsLoading(true);
|
|
170
|
+
setError(null);
|
|
171
|
+
try {
|
|
172
|
+
await client.memory.createMemory({
|
|
173
|
+
title,
|
|
174
|
+
content,
|
|
175
|
+
memory_type: 'knowledge',
|
|
176
|
+
tags,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
catch (e) {
|
|
180
|
+
setError(e);
|
|
181
|
+
throw e;
|
|
182
|
+
}
|
|
183
|
+
finally {
|
|
184
|
+
setIsLoading(false);
|
|
185
|
+
}
|
|
186
|
+
}, [client]);
|
|
187
|
+
const buildContext = useCallback(async (query) => {
|
|
188
|
+
if (!client)
|
|
189
|
+
return null;
|
|
190
|
+
setIsLoading(true);
|
|
191
|
+
setError(null);
|
|
192
|
+
try {
|
|
193
|
+
const result = await client.memory.searchWithContext(query);
|
|
194
|
+
return result.data?.context || null;
|
|
195
|
+
}
|
|
196
|
+
catch (e) {
|
|
197
|
+
setError(e);
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
finally {
|
|
201
|
+
setIsLoading(false);
|
|
202
|
+
}
|
|
203
|
+
}, [client]);
|
|
204
|
+
return { search, save, buildContext, isLoading, error };
|
|
205
|
+
}
|
|
206
|
+
export function useOrchestrate(options) {
|
|
207
|
+
const { client } = options;
|
|
208
|
+
const [result, setResult] = useState(null);
|
|
209
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
210
|
+
const [error, setError] = useState(null);
|
|
211
|
+
const orchestrate = useCallback(async (query) => {
|
|
212
|
+
if (!client)
|
|
213
|
+
return null;
|
|
214
|
+
setIsLoading(true);
|
|
215
|
+
setError(null);
|
|
216
|
+
try {
|
|
217
|
+
const response = await client.orchestrate(query);
|
|
218
|
+
setResult(response);
|
|
219
|
+
return response;
|
|
220
|
+
}
|
|
221
|
+
catch (e) {
|
|
222
|
+
setError(e);
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
finally {
|
|
226
|
+
setIsLoading(false);
|
|
227
|
+
}
|
|
228
|
+
}, [client]);
|
|
229
|
+
return { orchestrate, result, isLoading, error };
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @lanonasis/ai-sdk - Type Definitions
|
|
3
|
+
* Aligned with existing ecosystem packages (memory-sdk, security-sdk)
|
|
4
|
+
*/
|
|
5
|
+
export type { MemoryEntry, MemoryType, MemoryStatus, MemorySearchResult, ChatSession, CreateMemoryRequest, SearchMemoryRequest, UserMemoryStats } from '@lanonasis/memory-sdk-standalone';
|
|
6
|
+
export interface LanonasisConfig {
|
|
7
|
+
/** API key (required) - format: lano_xxx... (primary), lnss_xxx..., or onasis_xxx... (legacy) */
|
|
8
|
+
apiKey: string;
|
|
9
|
+
/** Base URL for chat/orchestration API (default: https://api.lanonasis.com) */
|
|
10
|
+
baseUrl?: string;
|
|
11
|
+
/** Memory service URL (default: uses baseUrl) */
|
|
12
|
+
memoryUrl?: string;
|
|
13
|
+
/** Request timeout in ms (default: 30000) */
|
|
14
|
+
timeout?: number;
|
|
15
|
+
/** Number of retries on failure (default: 3) */
|
|
16
|
+
maxRetries?: number;
|
|
17
|
+
/** Enable debug logging (default: false) */
|
|
18
|
+
debug?: boolean;
|
|
19
|
+
/** Custom headers to include in requests */
|
|
20
|
+
headers?: Record<string, string>;
|
|
21
|
+
/** Memory configuration */
|
|
22
|
+
memory?: MemoryConfig;
|
|
23
|
+
/** Organization ID for multi-tenant setups */
|
|
24
|
+
organizationId?: string;
|
|
25
|
+
/** Use local orchestration via vortexai-l0 instead of API (default: false) */
|
|
26
|
+
useLocalOrchestration?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface MemoryConfig {
|
|
29
|
+
/** Enable persistent memory (default: true) */
|
|
30
|
+
enabled?: boolean;
|
|
31
|
+
/** Auto-save conversation to memory (default: true) */
|
|
32
|
+
autoSave?: boolean;
|
|
33
|
+
/** Context building strategy */
|
|
34
|
+
contextStrategy?: 'relevance' | 'temporal' | 'conversational' | 'diverse' | 'hybrid';
|
|
35
|
+
/** Max tokens for context window */
|
|
36
|
+
maxContextTokens?: number;
|
|
37
|
+
}
|
|
38
|
+
export type MessageRole = 'system' | 'user' | 'assistant' | 'function' | 'tool';
|
|
39
|
+
export interface Message {
|
|
40
|
+
role: MessageRole;
|
|
41
|
+
content: string;
|
|
42
|
+
name?: string;
|
|
43
|
+
functionCall?: FunctionCall;
|
|
44
|
+
toolCalls?: ToolCall[];
|
|
45
|
+
metadata?: MessageMetadata;
|
|
46
|
+
}
|
|
47
|
+
export interface MessageMetadata {
|
|
48
|
+
id?: string;
|
|
49
|
+
timestamp?: string;
|
|
50
|
+
model?: string;
|
|
51
|
+
tokens?: TokenUsage;
|
|
52
|
+
latencyMs?: number;
|
|
53
|
+
}
|
|
54
|
+
export interface FunctionCall {
|
|
55
|
+
name: string;
|
|
56
|
+
arguments: string;
|
|
57
|
+
}
|
|
58
|
+
export interface ToolCall {
|
|
59
|
+
id: string;
|
|
60
|
+
type: 'function';
|
|
61
|
+
function: FunctionCall;
|
|
62
|
+
}
|
|
63
|
+
export interface ChatRequest {
|
|
64
|
+
/** Messages to send */
|
|
65
|
+
messages: Message[];
|
|
66
|
+
/** Model to use (default: lanonasis-v1) */
|
|
67
|
+
model?: string;
|
|
68
|
+
/** Temperature (0-2, default: 0.7) */
|
|
69
|
+
temperature?: number;
|
|
70
|
+
/** Max tokens in response */
|
|
71
|
+
maxTokens?: number;
|
|
72
|
+
/** Enable streaming response */
|
|
73
|
+
stream?: boolean;
|
|
74
|
+
/** System prompt override */
|
|
75
|
+
systemPrompt?: string;
|
|
76
|
+
/** Conversation/session ID for memory */
|
|
77
|
+
conversationId?: string;
|
|
78
|
+
/** Include memory context */
|
|
79
|
+
includeMemory?: boolean;
|
|
80
|
+
/** Function definitions for function calling */
|
|
81
|
+
functions?: FunctionDefinition[];
|
|
82
|
+
/** Tool definitions */
|
|
83
|
+
tools?: ToolDefinition[];
|
|
84
|
+
/** Stop sequences */
|
|
85
|
+
stop?: string[];
|
|
86
|
+
/** User identifier for tracking */
|
|
87
|
+
user?: string;
|
|
88
|
+
/** Custom metadata */
|
|
89
|
+
metadata?: Record<string, unknown>;
|
|
90
|
+
}
|
|
91
|
+
export interface ChatResponse {
|
|
92
|
+
id: string;
|
|
93
|
+
object: 'chat.completion';
|
|
94
|
+
created: number;
|
|
95
|
+
model: string;
|
|
96
|
+
choices: ChatChoice[];
|
|
97
|
+
usage: TokenUsage;
|
|
98
|
+
conversationId?: string;
|
|
99
|
+
memoryUpdated?: boolean;
|
|
100
|
+
}
|
|
101
|
+
export interface ChatChoice {
|
|
102
|
+
index: number;
|
|
103
|
+
message: Message;
|
|
104
|
+
finishReason: 'stop' | 'length' | 'function_call' | 'tool_calls' | 'content_filter';
|
|
105
|
+
}
|
|
106
|
+
export interface TokenUsage {
|
|
107
|
+
promptTokens: number;
|
|
108
|
+
completionTokens: number;
|
|
109
|
+
totalTokens: number;
|
|
110
|
+
}
|
|
111
|
+
export interface ChatStreamChunk {
|
|
112
|
+
id: string;
|
|
113
|
+
object: 'chat.completion.chunk';
|
|
114
|
+
created: number;
|
|
115
|
+
model: string;
|
|
116
|
+
choices: StreamChoice[];
|
|
117
|
+
}
|
|
118
|
+
export interface StreamChoice {
|
|
119
|
+
index: number;
|
|
120
|
+
delta: Partial<Message>;
|
|
121
|
+
finishReason: string | null;
|
|
122
|
+
}
|
|
123
|
+
export type StreamCallback = (chunk: ChatStreamChunk) => void;
|
|
124
|
+
export interface FunctionDefinition {
|
|
125
|
+
name: string;
|
|
126
|
+
description: string;
|
|
127
|
+
parameters: JsonSchema;
|
|
128
|
+
}
|
|
129
|
+
export interface ToolDefinition {
|
|
130
|
+
type: 'function';
|
|
131
|
+
function: FunctionDefinition;
|
|
132
|
+
}
|
|
133
|
+
export interface JsonSchema {
|
|
134
|
+
type: 'object';
|
|
135
|
+
properties: Record<string, JsonSchemaProperty>;
|
|
136
|
+
required?: string[];
|
|
137
|
+
}
|
|
138
|
+
export interface JsonSchemaProperty {
|
|
139
|
+
type: string;
|
|
140
|
+
description?: string;
|
|
141
|
+
enum?: string[];
|
|
142
|
+
items?: JsonSchemaProperty;
|
|
143
|
+
properties?: Record<string, JsonSchemaProperty>;
|
|
144
|
+
}
|
|
145
|
+
export interface OrchestrateRequest {
|
|
146
|
+
/** Natural language query */
|
|
147
|
+
query: string;
|
|
148
|
+
/** Context from previous interactions */
|
|
149
|
+
context?: OrchestrateContext;
|
|
150
|
+
/** Specific workflow to run */
|
|
151
|
+
workflow?: string;
|
|
152
|
+
/** Enabled plugins */
|
|
153
|
+
plugins?: string[];
|
|
154
|
+
/** User identifier */
|
|
155
|
+
userId?: string;
|
|
156
|
+
/** Session/conversation ID */
|
|
157
|
+
sessionId?: string;
|
|
158
|
+
/** Include memory in context */
|
|
159
|
+
includeMemory?: boolean;
|
|
160
|
+
/** Custom parameters */
|
|
161
|
+
parameters?: Record<string, unknown>;
|
|
162
|
+
}
|
|
163
|
+
export interface OrchestrateContext {
|
|
164
|
+
conversationHistory?: Message[];
|
|
165
|
+
memoryContext?: string;
|
|
166
|
+
userProfile?: Record<string, unknown>;
|
|
167
|
+
customData?: Record<string, unknown>;
|
|
168
|
+
}
|
|
169
|
+
export interface OrchestrateResponse {
|
|
170
|
+
id: string;
|
|
171
|
+
status: 'success' | 'partial' | 'error';
|
|
172
|
+
message: string;
|
|
173
|
+
workflow?: WorkflowResult;
|
|
174
|
+
agents?: AgentResult[];
|
|
175
|
+
data?: unknown;
|
|
176
|
+
usage?: TokenUsage;
|
|
177
|
+
metadata?: OrchestrateMetadata;
|
|
178
|
+
}
|
|
179
|
+
export interface WorkflowResult {
|
|
180
|
+
id: string;
|
|
181
|
+
name: string;
|
|
182
|
+
steps: WorkflowStep[];
|
|
183
|
+
output: unknown;
|
|
184
|
+
duration: number;
|
|
185
|
+
}
|
|
186
|
+
export interface WorkflowStep {
|
|
187
|
+
id: string;
|
|
188
|
+
name: string;
|
|
189
|
+
status: 'completed' | 'failed' | 'skipped';
|
|
190
|
+
output?: unknown;
|
|
191
|
+
error?: string;
|
|
192
|
+
duration: number;
|
|
193
|
+
}
|
|
194
|
+
export interface AgentResult {
|
|
195
|
+
id: string;
|
|
196
|
+
name: string;
|
|
197
|
+
action: string;
|
|
198
|
+
result: unknown;
|
|
199
|
+
confidence: number;
|
|
200
|
+
}
|
|
201
|
+
export interface OrchestrateMetadata {
|
|
202
|
+
requestId: string;
|
|
203
|
+
processingTime: number;
|
|
204
|
+
model: string;
|
|
205
|
+
pluginsUsed: string[];
|
|
206
|
+
}
|
|
207
|
+
export interface ApiKeyInfo {
|
|
208
|
+
id: string;
|
|
209
|
+
prefix: string;
|
|
210
|
+
name: string;
|
|
211
|
+
createdAt: string;
|
|
212
|
+
lastUsedAt?: string;
|
|
213
|
+
expiresAt?: string;
|
|
214
|
+
scopes: ApiKeyScope[];
|
|
215
|
+
rateLimit: RateLimitInfo;
|
|
216
|
+
usage: UsageInfo;
|
|
217
|
+
}
|
|
218
|
+
export type ApiKeyScope = 'chat' | 'orchestrate' | 'memory:read' | 'memory:write' | 'agents' | 'workflows' | '*';
|
|
219
|
+
export interface RateLimitInfo {
|
|
220
|
+
requestsPerMinute: number;
|
|
221
|
+
requestsPerDay: number;
|
|
222
|
+
tokensPerMinute: number;
|
|
223
|
+
tokensPerDay: number;
|
|
224
|
+
}
|
|
225
|
+
export interface UsageInfo {
|
|
226
|
+
requestsToday: number;
|
|
227
|
+
tokensToday: number;
|
|
228
|
+
totalRequests: number;
|
|
229
|
+
totalTokens: number;
|
|
230
|
+
}
|
|
231
|
+
export declare class LanonasisError extends Error {
|
|
232
|
+
code: string;
|
|
233
|
+
status?: number | undefined;
|
|
234
|
+
details?: unknown | undefined;
|
|
235
|
+
constructor(message: string, code: string, status?: number | undefined, details?: unknown | undefined);
|
|
236
|
+
}
|
|
237
|
+
export declare class AuthenticationError extends LanonasisError {
|
|
238
|
+
constructor(message?: string);
|
|
239
|
+
}
|
|
240
|
+
export declare class RateLimitError extends LanonasisError {
|
|
241
|
+
retryAfter?: number | undefined;
|
|
242
|
+
constructor(message?: string, retryAfter?: number | undefined);
|
|
243
|
+
}
|
|
244
|
+
export declare class ValidationError extends LanonasisError {
|
|
245
|
+
constructor(message: string, details?: unknown);
|
|
246
|
+
}
|
|
247
|
+
export declare class NetworkError extends LanonasisError {
|
|
248
|
+
constructor(message?: string);
|
|
249
|
+
}
|
|
250
|
+
export type EventType = 'request:start' | 'request:success' | 'request:error' | 'stream:start' | 'stream:chunk' | 'stream:end' | 'memory:save' | 'memory:load' | 'ratelimit:warning';
|
|
251
|
+
export interface SDKEvent {
|
|
252
|
+
type: EventType;
|
|
253
|
+
timestamp: number;
|
|
254
|
+
data: unknown;
|
|
255
|
+
}
|
|
256
|
+
export type EventHandler = (event: SDKEvent) => void;
|
|
257
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @lanonasis/ai-sdk - Type Definitions
|
|
3
|
+
* Aligned with existing ecosystem packages (memory-sdk, security-sdk)
|
|
4
|
+
*/
|
|
5
|
+
// ============================================================================
|
|
6
|
+
// Error Types
|
|
7
|
+
// ============================================================================
|
|
8
|
+
export class LanonasisError extends Error {
|
|
9
|
+
code;
|
|
10
|
+
status;
|
|
11
|
+
details;
|
|
12
|
+
constructor(message, code, status, details) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.code = code;
|
|
15
|
+
this.status = status;
|
|
16
|
+
this.details = details;
|
|
17
|
+
this.name = 'LanonasisError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class AuthenticationError extends LanonasisError {
|
|
21
|
+
constructor(message = 'Invalid or missing API key') {
|
|
22
|
+
super(message, 'AUTHENTICATION_ERROR', 401);
|
|
23
|
+
this.name = 'AuthenticationError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export class RateLimitError extends LanonasisError {
|
|
27
|
+
retryAfter;
|
|
28
|
+
constructor(message = 'Rate limit exceeded', retryAfter) {
|
|
29
|
+
super(message, 'RATE_LIMIT_ERROR', 429);
|
|
30
|
+
this.retryAfter = retryAfter;
|
|
31
|
+
this.name = 'RateLimitError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class ValidationError extends LanonasisError {
|
|
35
|
+
constructor(message, details) {
|
|
36
|
+
super(message, 'VALIDATION_ERROR', 400, details);
|
|
37
|
+
this.name = 'ValidationError';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class NetworkError extends LanonasisError {
|
|
41
|
+
constructor(message = 'Network request failed') {
|
|
42
|
+
super(message, 'NETWORK_ERROR');
|
|
43
|
+
this.name = 'NetworkError';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0UH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,OAAO,cAAe,SAAQ,KAAK;IAG9B;IACA;IACA;IAJT,YACE,OAAe,EACR,IAAY,EACZ,MAAe,EACf,OAAiB;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAS;QACf,YAAO,GAAP,OAAO,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACrD,YAAY,OAAO,GAAG,4BAA4B;QAChD,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,cAAc;IAGvC;IAFT,YACE,OAAO,GAAG,qBAAqB,EACxB,UAAmB;QAE1B,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAFjC,eAAU,GAAV,UAAU,CAAS;QAG1B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C,YAAY,OAAO,GAAG,wBAAwB;QAC5C,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lanonasis/ai-sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "Drop-in AI SDK for browser and Node.js with persistent memory, chat completions, and vortexai-l0 orchestration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.js",
|
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"import": "./dist/index.js",
|
|
13
13
|
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./types": {
|
|
16
|
+
"types": "./dist/types/index.d.ts",
|
|
17
|
+
"import": "./dist/types/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./react": {
|
|
20
|
+
"types": "./dist/react/hooks.d.ts",
|
|
21
|
+
"import": "./dist/react/hooks.js"
|
|
14
22
|
}
|
|
15
23
|
},
|
|
16
24
|
"files": [
|
|
@@ -19,14 +27,52 @@
|
|
|
19
27
|
"scripts": {
|
|
20
28
|
"build": "tsc -p tsconfig.json",
|
|
21
29
|
"smoke:web": "esbuild src/index.ts --bundle --platform=browser --format=esm --outdir=dist-smoke",
|
|
22
|
-
"lint": "
|
|
23
|
-
"test": "
|
|
30
|
+
"lint": "eslint src --ext .ts",
|
|
31
|
+
"test": "vitest run",
|
|
32
|
+
"test:watch": "vitest",
|
|
33
|
+
"prepublishOnly": "npm run build"
|
|
24
34
|
},
|
|
25
35
|
"dependencies": {
|
|
26
|
-
"
|
|
36
|
+
"@lanonasis/memory-sdk-standalone": "^1.1.0",
|
|
37
|
+
"vortexai-l0": "^1.1.0"
|
|
27
38
|
},
|
|
28
39
|
"devDependencies": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
40
|
+
"@types/node": "^25.0.3",
|
|
41
|
+
"@types/react": "^19.2.7",
|
|
42
|
+
"esbuild": "^0.25.8",
|
|
43
|
+
"typescript": "^5.9.3",
|
|
44
|
+
"vitest": "^4.0.16"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"react": "^18.3.1"
|
|
48
|
+
},
|
|
49
|
+
"peerDependenciesMeta": {
|
|
50
|
+
"react": {
|
|
51
|
+
"optional": true
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"keywords": [
|
|
55
|
+
"ai",
|
|
56
|
+
"sdk",
|
|
57
|
+
"lanonasis",
|
|
58
|
+
"llm",
|
|
59
|
+
"chatbot",
|
|
60
|
+
"memory",
|
|
61
|
+
"orchestration",
|
|
62
|
+
"vortexai"
|
|
63
|
+
],
|
|
64
|
+
"author": "Lanonasis",
|
|
65
|
+
"license": "MIT",
|
|
66
|
+
"repository": {
|
|
67
|
+
"type": "git",
|
|
68
|
+
"url": "https://github.com/thefixer3x/lan-onasis-monorepo",
|
|
69
|
+
"directory": "packages/ai-sdk"
|
|
70
|
+
},
|
|
71
|
+
"engines": {
|
|
72
|
+
"node": ">=18.0.0"
|
|
73
|
+
},
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public",
|
|
76
|
+
"registry": "https://registry.npmjs.org/"
|
|
31
77
|
}
|
|
32
78
|
}
|