@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.
@@ -8,72 +8,10 @@
8
8
  import { query, mutation } from "./_generated/server";
9
9
  import { v } from "convex/values";
10
10
 
11
- /**
12
- * Model preset names.
13
- */
14
- export type ModelPreset = "fast" | "balanced" | "capable" | "vision";
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 "../../cloud/models";
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lakitu/sdk",
3
- "version": "0.1.47",
3
+ "version": "0.1.49",
4
4
  "description": "Self-hosted AI agent framework for Convex + E2B with code execution",
5
5
  "type": "module",
6
6
  "main": "./dist/sdk/index.js",
@@ -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
+ }