learngraph 0.3.0 → 0.4.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.
Files changed (33) hide show
  1. package/dist/cjs/llm/adapters/gemini.js +156 -0
  2. package/dist/cjs/llm/adapters/gemini.js.map +1 -0
  3. package/dist/cjs/llm/adapters/index.js +12 -1
  4. package/dist/cjs/llm/adapters/index.js.map +1 -1
  5. package/dist/cjs/llm/adapters/mediapipe.js +290 -0
  6. package/dist/cjs/llm/adapters/mediapipe.js.map +1 -0
  7. package/dist/cjs/llm/adapters/openrouter.js +190 -0
  8. package/dist/cjs/llm/adapters/openrouter.js.map +1 -0
  9. package/dist/cjs/llm/index.js +9 -1
  10. package/dist/cjs/llm/index.js.map +1 -1
  11. package/dist/esm/llm/adapters/gemini.js +151 -0
  12. package/dist/esm/llm/adapters/gemini.js.map +1 -0
  13. package/dist/esm/llm/adapters/index.js +3 -0
  14. package/dist/esm/llm/adapters/index.js.map +1 -1
  15. package/dist/esm/llm/adapters/mediapipe.js +252 -0
  16. package/dist/esm/llm/adapters/mediapipe.js.map +1 -0
  17. package/dist/esm/llm/adapters/openrouter.js +185 -0
  18. package/dist/esm/llm/adapters/openrouter.js.map +1 -0
  19. package/dist/esm/llm/index.js +1 -1
  20. package/dist/esm/llm/index.js.map +1 -1
  21. package/dist/types/llm/adapters/gemini.d.ts +30 -0
  22. package/dist/types/llm/adapters/gemini.d.ts.map +1 -0
  23. package/dist/types/llm/adapters/index.d.ts +3 -0
  24. package/dist/types/llm/adapters/index.d.ts.map +1 -1
  25. package/dist/types/llm/adapters/mediapipe.d.ts +113 -0
  26. package/dist/types/llm/adapters/mediapipe.d.ts.map +1 -0
  27. package/dist/types/llm/adapters/openrouter.d.ts +58 -0
  28. package/dist/types/llm/adapters/openrouter.d.ts.map +1 -0
  29. package/dist/types/llm/index.d.ts +2 -2
  30. package/dist/types/llm/index.d.ts.map +1 -1
  31. package/dist/types/types/llm.d.ts +40 -1
  32. package/dist/types/types/llm.d.ts.map +1 -1
  33. package/package.json +6 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediapipe.js","sourceRoot":"","sources":["../../../../src/llm/adapters/mediapipe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * OpenRouter LLM adapter
3
+ *
4
+ * OpenRouter provides access to many models through a single API:
5
+ * - OpenAI (GPT-4, GPT-3.5)
6
+ * - Anthropic (Claude)
7
+ * - Google (Gemini, PaLM)
8
+ * - Meta (Llama)
9
+ * - Mistral
10
+ * - And many more
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+ import { BaseLLMAdapter, LLMError } from './base.js';
15
+ /**
16
+ * Popular models available on OpenRouter
17
+ */
18
+ export const OPENROUTER_MODELS = {
19
+ // OpenAI
20
+ 'openai/gpt-4o': 'openai/gpt-4o',
21
+ 'openai/gpt-4-turbo': 'openai/gpt-4-turbo',
22
+ 'openai/gpt-3.5-turbo': 'openai/gpt-3.5-turbo',
23
+ // Anthropic
24
+ 'anthropic/claude-3.5-sonnet': 'anthropic/claude-3.5-sonnet',
25
+ 'anthropic/claude-3-opus': 'anthropic/claude-3-opus',
26
+ 'anthropic/claude-3-haiku': 'anthropic/claude-3-haiku',
27
+ // Google
28
+ 'google/gemini-pro': 'google/gemini-pro',
29
+ 'google/gemini-pro-1.5': 'google/gemini-pro-1.5',
30
+ // Meta
31
+ 'meta-llama/llama-3.1-70b-instruct': 'meta-llama/llama-3.1-70b-instruct',
32
+ 'meta-llama/llama-3.1-8b-instruct': 'meta-llama/llama-3.1-8b-instruct',
33
+ // Mistral
34
+ 'mistralai/mistral-large': 'mistralai/mistral-large',
35
+ 'mistralai/mistral-medium': 'mistralai/mistral-medium',
36
+ 'mistralai/mixtral-8x7b-instruct': 'mistralai/mixtral-8x7b-instruct',
37
+ // DeepSeek
38
+ 'deepseek/deepseek-chat': 'deepseek/deepseek-chat',
39
+ 'deepseek/deepseek-coder': 'deepseek/deepseek-coder',
40
+ // Qwen
41
+ 'qwen/qwen-2.5-72b-instruct': 'qwen/qwen-2.5-72b-instruct',
42
+ };
43
+ /**
44
+ * Adapter for OpenRouter API
45
+ *
46
+ * OpenRouter provides unified access to 100+ models from various providers.
47
+ * See https://openrouter.ai/docs for full documentation.
48
+ */
49
+ export class OpenRouterAdapter extends BaseLLMAdapter {
50
+ baseUrl;
51
+ siteUrl;
52
+ appName;
53
+ constructor(config) {
54
+ super(config);
55
+ this.baseUrl = config.baseUrl ?? 'https://openrouter.ai/api/v1';
56
+ if (config.siteUrl) {
57
+ this.siteUrl = config.siteUrl;
58
+ }
59
+ if (config.appName) {
60
+ this.appName = config.appName;
61
+ }
62
+ }
63
+ get provider() {
64
+ return 'openrouter';
65
+ }
66
+ async complete(request) {
67
+ if (!this.isConfigured()) {
68
+ throw new LLMError('OpenRouter adapter is not configured. Set OPENROUTER_API_KEY environment variable.', 'NOT_CONFIGURED', this.provider);
69
+ }
70
+ const openRouterRequest = this.buildRequest(request);
71
+ try {
72
+ const response = await this.executeRequest(openRouterRequest);
73
+ return this.parseResponse(response);
74
+ }
75
+ catch (error) {
76
+ if (error instanceof LLMError) {
77
+ throw error;
78
+ }
79
+ throw new LLMError(`OpenRouter API request failed: ${error instanceof Error ? error.message : 'Unknown error'}`, 'API_ERROR', this.provider, error instanceof Error ? error : undefined);
80
+ }
81
+ }
82
+ buildRequest(request) {
83
+ const openRouterRequest = {
84
+ model: this.config.model,
85
+ messages: request.messages.map((m) => ({
86
+ role: m.role,
87
+ content: m.content,
88
+ })),
89
+ max_tokens: request.maxTokens ?? this.config.maxTokens ?? 4096,
90
+ temperature: request.temperature ?? this.config.temperature ?? 0.3,
91
+ };
92
+ // Handle JSON response format
93
+ if (request.responseFormat === 'json') {
94
+ openRouterRequest.response_format = { type: 'json_object' };
95
+ }
96
+ return openRouterRequest;
97
+ }
98
+ async executeRequest(request) {
99
+ const headers = {
100
+ 'Content-Type': 'application/json',
101
+ Authorization: `Bearer ${this.config.apiKey}`,
102
+ };
103
+ // Add optional OpenRouter-specific headers for rankings
104
+ if (this.siteUrl) {
105
+ headers['HTTP-Referer'] = this.siteUrl;
106
+ }
107
+ if (this.appName) {
108
+ headers['X-Title'] = this.appName;
109
+ }
110
+ const response = await fetch(`${this.baseUrl}/chat/completions`, {
111
+ method: 'POST',
112
+ headers,
113
+ body: JSON.stringify(request),
114
+ signal: AbortSignal.timeout(this.config.timeout ?? 60000),
115
+ });
116
+ if (!response.ok) {
117
+ const errorBody = await response.text();
118
+ let errorMessage = `HTTP ${response.status}`;
119
+ try {
120
+ const errorJson = JSON.parse(errorBody);
121
+ errorMessage = errorJson.error?.message ?? errorMessage;
122
+ }
123
+ catch {
124
+ errorMessage = errorBody || errorMessage;
125
+ }
126
+ if (response.status === 429) {
127
+ throw new LLMError(`Rate limit exceeded: ${errorMessage}`, 'RATE_LIMIT', this.provider);
128
+ }
129
+ if (response.status === 402) {
130
+ throw new LLMError(`Payment required or insufficient credits: ${errorMessage}`, 'API_ERROR', this.provider);
131
+ }
132
+ throw new LLMError(`OpenRouter API error: ${errorMessage}`, 'API_ERROR', this.provider);
133
+ }
134
+ return response.json();
135
+ }
136
+ parseResponse(response) {
137
+ if (!response.choices || response.choices.length === 0) {
138
+ throw new LLMError('No choices in OpenRouter response', 'INVALID_RESPONSE', this.provider);
139
+ }
140
+ const choice = response.choices[0];
141
+ if (!choice) {
142
+ throw new LLMError('No choice in OpenRouter response', 'INVALID_RESPONSE', this.provider);
143
+ }
144
+ const content = choice.message.content;
145
+ // Try to parse JSON if present
146
+ let json;
147
+ try {
148
+ json = this.parseJSON(content);
149
+ }
150
+ catch {
151
+ // Not JSON, that's fine
152
+ }
153
+ // Map finish reasons to our standard format
154
+ const finishReason = choice.finish_reason === 'stop' ? 'stop' :
155
+ choice.finish_reason === 'length' ? 'length' :
156
+ choice.finish_reason === 'content_filter' ? 'content_filter' : 'stop';
157
+ return {
158
+ content,
159
+ json,
160
+ usage: {
161
+ promptTokens: response.usage.prompt_tokens,
162
+ completionTokens: response.usage.completion_tokens,
163
+ totalTokens: response.usage.total_tokens,
164
+ },
165
+ model: response.model,
166
+ finishReason,
167
+ };
168
+ }
169
+ }
170
+ /**
171
+ * Create an OpenRouter adapter from environment variables
172
+ */
173
+ export function createOpenRouterAdapter(model = 'anthropic/claude-3.5-sonnet', overrides) {
174
+ const apiKey = typeof process !== 'undefined' ? process.env.OPENROUTER_API_KEY : undefined;
175
+ const config = {
176
+ provider: 'openrouter',
177
+ model,
178
+ ...overrides,
179
+ };
180
+ if (apiKey) {
181
+ config.apiKey = apiKey;
182
+ }
183
+ return new OpenRouterAdapter(config);
184
+ }
185
+ //# sourceMappingURL=openrouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../../src/llm/adapters/openrouter.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  // ─────────────────────────────────────────────────────────────────────────────
7
7
  // Adapters
8
8
  // ─────────────────────────────────────────────────────────────────────────────
9
- export { BaseLLMAdapter, LLMError, DEFAULT_CONFIG, OpenAIAdapter, createOpenAIAdapter, AnthropicAdapter, createAnthropicAdapter, OllamaAdapter, createOllamaAdapter, } from './adapters/index.js';
9
+ export { BaseLLMAdapter, LLMError, DEFAULT_CONFIG, OpenAIAdapter, createOpenAIAdapter, AnthropicAdapter, createAnthropicAdapter, OllamaAdapter, createOllamaAdapter, GeminiAdapter, createGeminiAdapter, OpenRouterAdapter, createOpenRouterAdapter, OPENROUTER_MODELS, MediaPipeAdapter, createMediaPipeAdapter, MEDIAPIPE_MODELS, } from './adapters/index.js';
10
10
  // ─────────────────────────────────────────────────────────────────────────────
11
11
  // Orchestrator
12
12
  // ─────────────────────────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6BH,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAChF,OAAO,EACL,cAAc,EACd,QAAQ,EACR,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAG7B,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAExE,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAChF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgCH,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAChF,OAAO,EACL,cAAc,EACd,QAAQ,EACR,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAChF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAExE,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAChF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Google Gemini LLM adapter
3
+ *
4
+ * @packageDocumentation
5
+ */
6
+ import type { LLMProvider, GeminiConfig, CompletionRequest, CompletionResponse } from '../../types/llm.js';
7
+ import { BaseLLMAdapter } from './base.js';
8
+ /**
9
+ * Adapter for Google Gemini models
10
+ *
11
+ * Supports:
12
+ * - gemini-2.0-flash-exp
13
+ * - gemini-1.5-pro
14
+ * - gemini-1.5-flash
15
+ * - gemini-1.0-pro
16
+ */
17
+ export declare class GeminiAdapter extends BaseLLMAdapter {
18
+ private readonly baseUrl;
19
+ constructor(config: GeminiConfig);
20
+ get provider(): LLMProvider;
21
+ complete(request: CompletionRequest): Promise<CompletionResponse>;
22
+ private buildRequest;
23
+ private executeRequest;
24
+ private parseResponse;
25
+ }
26
+ /**
27
+ * Create a Gemini adapter from environment variables
28
+ */
29
+ export declare function createGeminiAdapter(model?: string, overrides?: Partial<GeminiConfig>): GeminiAdapter;
30
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../src/llm/adapters/gemini.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAY,MAAM,WAAW,CAAC;AAsCrD;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,cAAc;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,YAAY;IAOhC,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAEK,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2BvE,OAAO,CAAC,YAAY;YAgCN,cAAc;IAyC5B,OAAO,CAAC,aAAa;CA6CtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,SAAyB,EAC9B,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAChC,aAAa,CAkBf"}
@@ -8,4 +8,7 @@ export type { LLMErrorCode } from './base.js';
8
8
  export { OpenAIAdapter, createOpenAIAdapter } from './openai.js';
9
9
  export { AnthropicAdapter, createAnthropicAdapter } from './anthropic.js';
10
10
  export { OllamaAdapter, createOllamaAdapter } from './ollama.js';
11
+ export { GeminiAdapter, createGeminiAdapter } from './gemini.js';
12
+ export { OpenRouterAdapter, createOpenRouterAdapter, OPENROUTER_MODELS } from './openrouter.js';
13
+ export { MediaPipeAdapter, createMediaPipeAdapter, MEDIAPIPE_MODELS } from './mediapipe.js';
11
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/llm/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/llm/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * MediaPipe LLM Inference adapter for local Gemma models
3
+ *
4
+ * This adapter integrates with Google's MediaPipe LLM Inference Task API
5
+ * to run Gemma models locally using WebGPU acceleration.
6
+ *
7
+ * Supported models:
8
+ * - Gemma 2B / 7B
9
+ * - Gemma 2 2B
10
+ * - Gemma 3n (2B, 4B parameters)
11
+ *
12
+ * Requirements:
13
+ * - WebGPU-capable browser or Node.js with WebGPU support
14
+ * - @mediapipe/tasks-genai package
15
+ * - Downloaded model weights (.bin file)
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ import type { LLMProvider, MediaPipeConfig, CompletionRequest, CompletionResponse } from '../../types/llm.js';
20
+ import { BaseLLMAdapter } from './base.js';
21
+ /**
22
+ * Gemma model variants for MediaPipe
23
+ */
24
+ export declare const MEDIAPIPE_MODELS: {
25
+ readonly 'gemma-2b': "gemma-2b-it-gpu-int4.bin";
26
+ readonly 'gemma-7b': "gemma-7b-it-gpu-int8.bin";
27
+ readonly 'gemma2-2b': "gemma2-2b-it-gpu-int4.bin";
28
+ readonly 'gemma3n-e2b': "gemma-3n-E2B-it-int4.task";
29
+ readonly 'gemma3n-e4b': "gemma-3n-E4B-it-int4.task";
30
+ };
31
+ /**
32
+ * Adapter for MediaPipe LLM Inference API
33
+ *
34
+ * Runs Gemma models locally using WebGPU acceleration.
35
+ * The adapter lazily loads the model on first use.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * import { MediaPipeAdapter } from 'learngraph/llm';
40
+ *
41
+ * const adapter = new MediaPipeAdapter({
42
+ * provider: 'mediapipe',
43
+ * model: 'gemma3n-e2b',
44
+ * modelPath: '/models/gemma-3n-E2B-it-int4.task',
45
+ * });
46
+ *
47
+ * // Use with orchestrator
48
+ * const orchestrator = createOrchestrator(adapter);
49
+ * ```
50
+ */
51
+ export declare class MediaPipeAdapter extends BaseLLMAdapter {
52
+ private inference;
53
+ private readonly modelPath;
54
+ private readonly randomSeed?;
55
+ private readonly topK;
56
+ private readonly loraRanks?;
57
+ private initPromise;
58
+ constructor(config: MediaPipeConfig);
59
+ get provider(): LLMProvider;
60
+ /**
61
+ * Check if MediaPipe is configured (model path exists)
62
+ */
63
+ isConfigured(): boolean;
64
+ /**
65
+ * Initialize the MediaPipe LLM Inference engine
66
+ * Called automatically on first request
67
+ */
68
+ initialize(): Promise<void>;
69
+ private doInitialize;
70
+ /**
71
+ * Load MediaPipe library dynamically
72
+ */
73
+ private loadMediaPipe;
74
+ complete(request: CompletionRequest): Promise<CompletionResponse>;
75
+ /**
76
+ * Build a prompt string from chat messages
77
+ * Uses Gemma's instruction format
78
+ */
79
+ private buildPrompt;
80
+ /**
81
+ * Parse the generated response
82
+ */
83
+ private parseGeneratedResponse;
84
+ /**
85
+ * Close the inference engine and release resources
86
+ */
87
+ close(): void;
88
+ }
89
+ /**
90
+ * Create a MediaPipe adapter for local Gemma models
91
+ *
92
+ * @param modelPath - Path to the model file (.bin or .task)
93
+ * @param model - Model identifier (for reference)
94
+ * @param overrides - Additional configuration options
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * // Using a Gemma 3n model
99
+ * const adapter = createMediaPipeAdapter(
100
+ * '/models/gemma-3n-E2B-it-int4.task',
101
+ * 'gemma3n-e2b'
102
+ * );
103
+ *
104
+ * // With custom options
105
+ * const adapter = createMediaPipeAdapter(
106
+ * '/models/gemma2-2b-it-gpu-int4.bin',
107
+ * 'gemma2-2b',
108
+ * { maxTokens: 2048, temperature: 0.5 }
109
+ * );
110
+ * ```
111
+ */
112
+ export declare function createMediaPipeAdapter(modelPath: string, model?: string, overrides?: Partial<Omit<MediaPipeConfig, 'provider' | 'modelPath'>>): MediaPipeAdapter;
113
+ //# sourceMappingURL=mediapipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediapipe.d.ts","sourceRoot":"","sources":["../../../../src/llm/adapters/mediapipe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAY,MAAM,WAAW,CAAC;AAoCrD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;CAMnB,CAAC;AAEX;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,WAAW,CAA8B;gBAErC,MAAM,EAAE,eAAe;IAYnC,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAcnB,YAAY;IAuC1B;;OAEG;YACW,aAAa;IAarB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqCvE;;;OAGG;IACH,OAAO,CAAC,WAAW;IA6BnB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA6B9B;;OAEG;IACH,KAAK,IAAI,IAAI;CAOd;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,KAAK,SAAY,EACjB,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC,GACnE,gBAAgB,CASlB"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * OpenRouter LLM adapter
3
+ *
4
+ * OpenRouter provides access to many models through a single API:
5
+ * - OpenAI (GPT-4, GPT-3.5)
6
+ * - Anthropic (Claude)
7
+ * - Google (Gemini, PaLM)
8
+ * - Meta (Llama)
9
+ * - Mistral
10
+ * - And many more
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+ import type { LLMProvider, OpenRouterConfig, CompletionRequest, CompletionResponse } from '../../types/llm.js';
15
+ import { BaseLLMAdapter } from './base.js';
16
+ /**
17
+ * Popular models available on OpenRouter
18
+ */
19
+ export declare const OPENROUTER_MODELS: {
20
+ readonly 'openai/gpt-4o': "openai/gpt-4o";
21
+ readonly 'openai/gpt-4-turbo': "openai/gpt-4-turbo";
22
+ readonly 'openai/gpt-3.5-turbo': "openai/gpt-3.5-turbo";
23
+ readonly 'anthropic/claude-3.5-sonnet': "anthropic/claude-3.5-sonnet";
24
+ readonly 'anthropic/claude-3-opus': "anthropic/claude-3-opus";
25
+ readonly 'anthropic/claude-3-haiku': "anthropic/claude-3-haiku";
26
+ readonly 'google/gemini-pro': "google/gemini-pro";
27
+ readonly 'google/gemini-pro-1.5': "google/gemini-pro-1.5";
28
+ readonly 'meta-llama/llama-3.1-70b-instruct': "meta-llama/llama-3.1-70b-instruct";
29
+ readonly 'meta-llama/llama-3.1-8b-instruct': "meta-llama/llama-3.1-8b-instruct";
30
+ readonly 'mistralai/mistral-large': "mistralai/mistral-large";
31
+ readonly 'mistralai/mistral-medium': "mistralai/mistral-medium";
32
+ readonly 'mistralai/mixtral-8x7b-instruct': "mistralai/mixtral-8x7b-instruct";
33
+ readonly 'deepseek/deepseek-chat': "deepseek/deepseek-chat";
34
+ readonly 'deepseek/deepseek-coder': "deepseek/deepseek-coder";
35
+ readonly 'qwen/qwen-2.5-72b-instruct': "qwen/qwen-2.5-72b-instruct";
36
+ };
37
+ /**
38
+ * Adapter for OpenRouter API
39
+ *
40
+ * OpenRouter provides unified access to 100+ models from various providers.
41
+ * See https://openrouter.ai/docs for full documentation.
42
+ */
43
+ export declare class OpenRouterAdapter extends BaseLLMAdapter {
44
+ private readonly baseUrl;
45
+ private readonly siteUrl?;
46
+ private readonly appName?;
47
+ constructor(config: OpenRouterConfig);
48
+ get provider(): LLMProvider;
49
+ complete(request: CompletionRequest): Promise<CompletionResponse>;
50
+ private buildRequest;
51
+ private executeRequest;
52
+ private parseResponse;
53
+ }
54
+ /**
55
+ * Create an OpenRouter adapter from environment variables
56
+ */
57
+ export declare function createOpenRouterAdapter(model?: string, overrides?: Partial<OpenRouterConfig>): OpenRouterAdapter;
58
+ //# sourceMappingURL=openrouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../../src/llm/adapters/openrouter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAY,MAAM,WAAW,CAAC;AAqCrD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CA8BpB,CAAC;AAEX;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;gBAEtB,MAAM,EAAE,gBAAgB;IAWpC,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAEK,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2BvE,OAAO,CAAC,YAAY;YAmBN,cAAc;IA0D5B,OAAO,CAAC,aAAa;CA6CtB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,SAAgC,EACrC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACpC,iBAAiB,CAenB"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * @packageDocumentation
5
5
  */
6
- export type { LLMProvider, LLMConfig, OpenAIConfig, AnthropicConfig, OllamaConfig, MessageRole, ChatMessage, CompletionRequest, CompletionResponse, SkillExtractionRequest, ExtractedSkillLLM, SkillExtractionResponse, PrerequisiteInferenceRequest, InferredPrerequisite, PrerequisiteInferenceResponse, BloomAnalysisRequest, BloomAnalysisResponse, DecompositionRequest, DecompositionResponse, LLMAdapter, LLMOrchestrator as ILLMOrchestrator, } from '../types/llm.js';
7
- export { BaseLLMAdapter, LLMError, DEFAULT_CONFIG, OpenAIAdapter, createOpenAIAdapter, AnthropicAdapter, createAnthropicAdapter, OllamaAdapter, createOllamaAdapter, } from './adapters/index.js';
6
+ export type { LLMProvider, LLMConfig, OpenAIConfig, AnthropicConfig, OllamaConfig, GeminiConfig, OpenRouterConfig, MediaPipeConfig, MessageRole, ChatMessage, CompletionRequest, CompletionResponse, SkillExtractionRequest, ExtractedSkillLLM, SkillExtractionResponse, PrerequisiteInferenceRequest, InferredPrerequisite, PrerequisiteInferenceResponse, BloomAnalysisRequest, BloomAnalysisResponse, DecompositionRequest, DecompositionResponse, LLMAdapter, LLMOrchestrator as ILLMOrchestrator, } from '../types/llm.js';
7
+ export { BaseLLMAdapter, LLMError, DEFAULT_CONFIG, OpenAIAdapter, createOpenAIAdapter, AnthropicAdapter, createAnthropicAdapter, OllamaAdapter, createOllamaAdapter, GeminiAdapter, createGeminiAdapter, OpenRouterAdapter, createOpenRouterAdapter, OPENROUTER_MODELS, MediaPipeAdapter, createMediaPipeAdapter, MEDIAPIPE_MODELS, } from './adapters/index.js';
8
8
  export type { LLMErrorCode } from './adapters/index.js';
9
9
  export { LLMOrchestrator, createOrchestrator } from './orchestrator.js';
10
10
  export { SYSTEM_PROMPTS, EXTRACTION_SCHEMA, PREREQUISITE_SCHEMA, BLOOM_ANALYSIS_SCHEMA, DECOMPOSITION_SCHEMA, buildExtractionPrompt, buildPrerequisitePrompt, buildBloomPrompt, buildDecompositionPrompt, } from './prompts.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,YAAY,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,eAAe,IAAI,gBAAgB,GACpC,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,cAAc,EACd,QAAQ,EACR,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKxE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,YAAY,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,eAAe,IAAI,gBAAgB,GACpC,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,cAAc,EACd,QAAQ,EACR,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKxE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,cAAc,CAAC"}
@@ -8,7 +8,7 @@ import type { SkillNodeInput } from './skill.js';
8
8
  /**
9
9
  * Supported LLM providers
10
10
  */
11
- export type LLMProvider = 'openai' | 'anthropic' | 'ollama' | 'custom';
11
+ export type LLMProvider = 'openai' | 'anthropic' | 'ollama' | 'gemini' | 'openrouter' | 'mediapipe' | 'custom';
12
12
  /**
13
13
  * Base configuration for all LLM providers
14
14
  */
@@ -52,6 +52,45 @@ export interface OllamaConfig extends LLMConfig {
52
52
  /** Default: http://localhost:11434 */
53
53
  baseUrl?: string;
54
54
  }
55
+ /**
56
+ * Google Gemini-specific configuration
57
+ */
58
+ export interface GeminiConfig extends LLMConfig {
59
+ provider: 'gemini';
60
+ /** Project ID for Vertex AI (optional, uses generativelanguage.googleapis.com by default) */
61
+ projectId?: string;
62
+ /** Region for Vertex AI (optional) */
63
+ region?: string;
64
+ }
65
+ /**
66
+ * OpenRouter-specific configuration
67
+ */
68
+ export interface OpenRouterConfig extends LLMConfig {
69
+ provider: 'openrouter';
70
+ /** Your site URL for rankings (optional) */
71
+ siteUrl?: string;
72
+ /** Your app name for rankings (optional) */
73
+ appName?: string;
74
+ }
75
+ /**
76
+ * MediaPipe LLM Inference configuration (local Gemma models)
77
+ *
78
+ * Runs models locally in browser or Node.js using WebGPU/WebAssembly.
79
+ * Supports Gemma 2B, Gemma 7B, Gemma 2 2B, and Gemma 3n models.
80
+ */
81
+ export interface MediaPipeConfig extends LLMConfig {
82
+ provider: 'mediapipe';
83
+ /** Path to the model file (.bin) - required */
84
+ modelPath: string;
85
+ /** Maximum tokens to generate (default: 1024) */
86
+ maxTokens?: number;
87
+ /** Random seed for generation */
88
+ randomSeed?: number;
89
+ /** Top-K sampling (default: 40) */
90
+ topK?: number;
91
+ /** Number of tokens to use for LoRA ranks (optional) */
92
+ loraRanks?: number;
93
+ }
55
94
  /**
56
95
  * Message role in conversation
57
96
  */
@@ -1 +1 @@
1
- {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/types/llm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oBAAoB;IACpB,QAAQ,EAAE,WAAW,CAAC;IAEtB,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IAEd,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,QAAQ,EAAE,QAAQ,CAAC;IACnB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,QAAQ,EAAE,QAAQ,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAExB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,6BAA6B;IAC7B,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,oBAAoB;IACpB,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,gBAAgB,GAAG,OAAO,CAAC;CAC9D;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAEhB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAE9C,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,UAAU,EAAE,UAAU,CAAC;IAEvB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,kBAAkB,EAAE,OAAO,CAAC;IAE5B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,uBAAuB;IACvB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAE5B,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,kBAAkB;IAClB,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEnC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,0CAA0C;IAC1C,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,UAAU,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gDAAgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IAEtC,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IAEnB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,6BAA6B;IAC7B,aAAa,EAAE,oBAAoB,EAAE,CAAC;IAEtC,kBAAkB;IAClB,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEnC,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,6BAA6B;IAC7B,KAAK,EAAE,UAAU,CAAC;IAElB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,kDAAkD;IAClD,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAElB,kBAAkB;IAClB,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;CACpC;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAE5B,4CAA4C;IAC5C,aAAa,EAAE,oBAAoB,EAAE,CAAC;IAEtC,qCAAqC;IACrC,WAAW,EAAE,cAAc,EAAE,CAAC;IAE9B,kBAAkB;IAClB,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEnC,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAE/B,uBAAuB;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAElE,kDAAkD;IAClD,YAAY,IAAI,OAAO,CAAC;IAExB,yDAAyD;IACzD,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEjF,yCAAyC;IACzC,kBAAkB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAElG,oCAAoC;IACpC,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEjF,oCAAoC;IACpC,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEzE,iCAAiC;IACjC,UAAU,IAAI,UAAU,CAAC;CAC1B"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../../src/types/llm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learngraph",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "The world's first AI-powered learning path generator. Transform syllabi into personalized mastery paths with Zone of Proximal Development (ZPD), Bloom's Taxonomy, spaced repetition, and Bayesian Knowledge Tracing built in. Every student's path to mastery.",
5
5
  "author": "Dr. Ernesto Lee <dr.ernesto.lee@gmail.com>",
6
6
  "license": "Apache-2.0",
@@ -160,7 +160,8 @@
160
160
  "peerDependencies": {
161
161
  "neo4j-driver": "^5.0.0",
162
162
  "level": "^8.0.0",
163
- "levelgraph": "^3.0.0"
163
+ "levelgraph": "^3.0.0",
164
+ "@mediapipe/tasks-genai": "^0.10.0"
164
165
  },
165
166
  "peerDependenciesMeta": {
166
167
  "neo4j-driver": {
@@ -171,6 +172,9 @@
171
172
  },
172
173
  "levelgraph": {
173
174
  "optional": true
175
+ },
176
+ "@mediapipe/tasks-genai": {
177
+ "optional": true
174
178
  }
175
179
  }
176
180
  }