@lakitu/sdk 0.1.47 → 0.1.49
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/convex/cloud/models.ts
CHANGED
|
@@ -8,72 +8,10 @@
|
|
|
8
8
|
import { query, mutation } from "./_generated/server";
|
|
9
9
|
import { v } from "convex/values";
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Default model presets.
|
|
18
|
-
* Fast models for quick tasks, capable models for complex reasoning.
|
|
19
|
-
*/
|
|
20
|
-
export const MODEL_PRESETS: Record<ModelPreset, string> = {
|
|
21
|
-
fast: "groq/llama-3.1-70b-versatile",
|
|
22
|
-
balanced: "anthropic/claude-sonnet-4",
|
|
23
|
-
capable: "anthropic/claude-sonnet-4",
|
|
24
|
-
vision: "anthropic/claude-sonnet-4",
|
|
25
|
-
} as const;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Resolve a model preset or direct model name to the actual model ID.
|
|
29
|
-
*
|
|
30
|
-
* @param modelOrPreset - Either a preset name ("fast", "balanced") or direct model ID
|
|
31
|
-
* @param customPresets - Optional custom preset overrides
|
|
32
|
-
* @returns Resolved model ID
|
|
33
|
-
*/
|
|
34
|
-
export function resolveModel(
|
|
35
|
-
modelOrPreset: string | ModelPreset,
|
|
36
|
-
customPresets?: Partial<Record<ModelPreset, string>>
|
|
37
|
-
): string {
|
|
38
|
-
const presets = { ...MODEL_PRESETS, ...customPresets };
|
|
39
|
-
|
|
40
|
-
// Check if it's a preset name
|
|
41
|
-
if (modelOrPreset in presets) {
|
|
42
|
-
return presets[modelOrPreset as ModelPreset];
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Otherwise, treat as direct model ID
|
|
46
|
-
return modelOrPreset;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Get model for a specific use case.
|
|
51
|
-
*
|
|
52
|
-
* @param useCase - Use case description
|
|
53
|
-
* @returns Recommended preset
|
|
54
|
-
*/
|
|
55
|
-
export function getModelForUseCase(useCase:
|
|
56
|
-
| "intent_analysis"
|
|
57
|
-
| "code_execution"
|
|
58
|
-
| "research"
|
|
59
|
-
| "creative"
|
|
60
|
-
| "vision"
|
|
61
|
-
): ModelPreset {
|
|
62
|
-
switch (useCase) {
|
|
63
|
-
case "intent_analysis":
|
|
64
|
-
return "fast";
|
|
65
|
-
case "code_execution":
|
|
66
|
-
return "balanced";
|
|
67
|
-
case "research":
|
|
68
|
-
return "capable";
|
|
69
|
-
case "creative":
|
|
70
|
-
return "capable";
|
|
71
|
-
case "vision":
|
|
72
|
-
return "vision";
|
|
73
|
-
default:
|
|
74
|
-
return "balanced";
|
|
75
|
-
}
|
|
76
|
-
}
|
|
11
|
+
// Re-export shared model constants for backward compatibility
|
|
12
|
+
export { MODEL_PRESETS, resolveModel, getModelForUseCase, type ModelPreset } from "../../shared/models";
|
|
13
|
+
import type { ModelPreset } from "../../shared/models";
|
|
14
|
+
import { resolveModel } from "../../shared/models";
|
|
77
15
|
|
|
78
16
|
/**
|
|
79
17
|
* Model configuration stored in the database.
|
|
@@ -18,7 +18,7 @@ import { internal } from "../_generated/api";
|
|
|
18
18
|
import { wrapCodeForExecution, extractCodeBlocks } from "../utils/codeExecHelpers";
|
|
19
19
|
import type { ChainOfThoughtStep, StepStatus } from "../../../shared/chain-of-thought";
|
|
20
20
|
import { createStepId } from "../../../shared/chain-of-thought";
|
|
21
|
-
import { MODEL_PRESETS, resolveModel, type ModelPreset } from "
|
|
21
|
+
import { MODEL_PRESETS, resolveModel, type ModelPreset } from "../../../shared/models";
|
|
22
22
|
|
|
23
23
|
// Default model preset for code execution loop
|
|
24
24
|
// Actual model resolved via MODEL_PRESETS or custom config
|
package/package.json
CHANGED
package/shared/models.ts
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Model Configuration
|
|
3
|
+
*
|
|
4
|
+
* Pure model preset constants and resolution logic.
|
|
5
|
+
* Used by both cloud and sandbox code.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Model preset names.
|
|
10
|
+
*/
|
|
11
|
+
export type ModelPreset = "fast" | "balanced" | "capable" | "vision";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Default model presets.
|
|
15
|
+
* Fast models for quick tasks, capable models for complex reasoning.
|
|
16
|
+
*/
|
|
17
|
+
export const MODEL_PRESETS: Record<ModelPreset, string> = {
|
|
18
|
+
fast: "groq/llama-3.1-70b-versatile",
|
|
19
|
+
balanced: "anthropic/claude-sonnet-4",
|
|
20
|
+
capable: "anthropic/claude-sonnet-4",
|
|
21
|
+
vision: "anthropic/claude-sonnet-4",
|
|
22
|
+
} as const;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Resolve a model preset or direct model name to the actual model ID.
|
|
26
|
+
*
|
|
27
|
+
* @param modelOrPreset - Either a preset name ("fast", "balanced") or direct model ID
|
|
28
|
+
* @param customPresets - Optional custom preset overrides
|
|
29
|
+
* @returns Resolved model ID
|
|
30
|
+
*/
|
|
31
|
+
export function resolveModel(
|
|
32
|
+
modelOrPreset: string | ModelPreset,
|
|
33
|
+
customPresets?: Partial<Record<ModelPreset, string>>
|
|
34
|
+
): string {
|
|
35
|
+
const presets = { ...MODEL_PRESETS, ...customPresets };
|
|
36
|
+
|
|
37
|
+
// Check if it's a preset name
|
|
38
|
+
if (modelOrPreset in presets) {
|
|
39
|
+
return presets[modelOrPreset as ModelPreset];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Otherwise, treat as direct model ID
|
|
43
|
+
return modelOrPreset;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Get model for a specific use case.
|
|
48
|
+
*
|
|
49
|
+
* @param useCase - Use case description
|
|
50
|
+
* @returns Recommended preset
|
|
51
|
+
*/
|
|
52
|
+
export function getModelForUseCase(useCase:
|
|
53
|
+
| "intent_analysis"
|
|
54
|
+
| "code_execution"
|
|
55
|
+
| "research"
|
|
56
|
+
| "creative"
|
|
57
|
+
| "vision"
|
|
58
|
+
): ModelPreset {
|
|
59
|
+
switch (useCase) {
|
|
60
|
+
case "intent_analysis":
|
|
61
|
+
return "fast";
|
|
62
|
+
case "code_execution":
|
|
63
|
+
return "balanced";
|
|
64
|
+
case "research":
|
|
65
|
+
return "capable";
|
|
66
|
+
case "creative":
|
|
67
|
+
return "capable";
|
|
68
|
+
case "vision":
|
|
69
|
+
return "vision";
|
|
70
|
+
default:
|
|
71
|
+
return "balanced";
|
|
72
|
+
}
|
|
73
|
+
}
|