@womp/spark-agent 4.1.2 → 4.2.1
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/.env.example +6 -0
- package/README.md +436 -406
- package/dist/agent-tools.js +7 -1
- package/dist/bounded-output.d.ts +37 -0
- package/dist/bounded-output.js +110 -0
- package/dist/capabilities/geometry.js +14 -14
- package/dist/capabilities/operations.js +38 -33
- package/dist/capabilities/scene.js +87 -66
- package/dist/color.d.ts +8 -0
- package/dist/color.js +29 -0
- package/dist/generated/scene-declarations.d.ts +1 -1
- package/dist/generated/scene-declarations.js +1 -1
- package/dist/geometry/compiler.js +6 -4
- package/dist/geometry/diagnostics.d.ts +18 -0
- package/dist/geometry/diagnostics.js +70 -0
- package/dist/geometry/schemas/backend-schema.json +3393 -3393
- package/dist/geometry/schemas/flowir-dialect.json +1023 -1023
- package/dist/geometry.js +6 -6
- package/dist/prompt.js +70 -70
- package/dist/scene-environment.d.ts +1 -1
- package/dist/scene-environment.js +8 -4
- package/dist/scene-health.d.ts +23 -0
- package/dist/scene-health.js +71 -0
- package/dist/sdk-geometry-host.js +5 -3
- package/dist/sdk-scene-health-host.js +27 -5
- package/dist/sdk-scene-host.d.ts +5 -5
- package/dist/sdk-scene-host.js +7 -2
- package/dist/server/fixtures/materials/matte-blue.json +14 -14
- package/dist/server/fixtures/materials/polished-copper.json +14 -14
- package/dist/server/sqlite-store.js +37 -37
- package/dist/womp-scene-api.d.ts +11 -10
- package/dist/womp-scene-api.js +11 -9
- package/package.json +139 -139
package/dist/womp-scene-api.d.ts
CHANGED
|
@@ -34,7 +34,8 @@ export declare const LightTypeValue: {
|
|
|
34
34
|
readonly Sphere: 1;
|
|
35
35
|
readonly Distant: 2;
|
|
36
36
|
};
|
|
37
|
-
|
|
37
|
+
/** A color in the engine's 0-255 domain per channel, not 0-1. */
|
|
38
|
+
type Color255 = {
|
|
38
39
|
r: number;
|
|
39
40
|
g: number;
|
|
40
41
|
b: number;
|
|
@@ -154,8 +155,8 @@ export declare function createWompSceneApi(context: WompSceneApiContext): {
|
|
|
154
155
|
nodeSetBlend: (id: number, blend: number) => void;
|
|
155
156
|
nodeGetRound: (id: number) => number;
|
|
156
157
|
nodeSetRound: (id: number, round: number) => void;
|
|
157
|
-
nodeGetColor: (id: number) =>
|
|
158
|
-
nodeSetColor: (id: number,
|
|
158
|
+
nodeGetColor: (id: number) => Color255;
|
|
159
|
+
nodeSetColor: (id: number, rgb255: Color255 | Vec3) => void;
|
|
159
160
|
nodeGetMaterialId: (id: number) => number | null;
|
|
160
161
|
nodeSetMaterialId: (id: number, materialId: number) => void;
|
|
161
162
|
nodeGetResolution: (id: number) => number;
|
|
@@ -225,12 +226,12 @@ export declare function createWompSceneApi(context: WompSceneApiContext): {
|
|
|
225
226
|
materialSetName: (id: number, name: string) => void;
|
|
226
227
|
materialGetTier: (id: number) => number;
|
|
227
228
|
materialSetTier: (id: number, tier: number) => void;
|
|
228
|
-
materialGetColor: (id: number) =>
|
|
229
|
-
materialSetColor: (id: number,
|
|
230
|
-
materialGetSecondaryColor: (id: number) =>
|
|
231
|
-
materialSetSecondaryColor: (id: number,
|
|
232
|
-
materialGetSubsurfaceColor: (id: number) =>
|
|
233
|
-
materialSetSubsurfaceColor: (id: number,
|
|
229
|
+
materialGetColor: (id: number) => Color255;
|
|
230
|
+
materialSetColor: (id: number, rgb255: Color255) => void;
|
|
231
|
+
materialGetSecondaryColor: (id: number) => Color255;
|
|
232
|
+
materialSetSecondaryColor: (id: number, rgb255: Color255) => void;
|
|
233
|
+
materialGetSubsurfaceColor: (id: number) => Color255;
|
|
234
|
+
materialSetSubsurfaceColor: (id: number, rgb255: Color255) => void;
|
|
234
235
|
materialGetRoughness: (id: number) => number;
|
|
235
236
|
materialSetRoughness: (id: number, value: number) => void;
|
|
236
237
|
materialGetMetalness: (id: number) => number;
|
|
@@ -285,7 +286,7 @@ export declare function createWompSceneApi(context: WompSceneApiContext): {
|
|
|
285
286
|
setHdrName: (name: string) => void;
|
|
286
287
|
setHdrMultiplier: (multiplier: number) => void;
|
|
287
288
|
setHdrOrientation: (orientation: Vec2) => void;
|
|
288
|
-
setBackgroundColor: (
|
|
289
|
+
setBackgroundColor: (rgb255: {
|
|
289
290
|
r: number;
|
|
290
291
|
g: number;
|
|
291
292
|
b: number;
|
package/dist/womp-scene-api.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { xyzRotationFromMatrix, MAX_BLEND_RADIUS_MM, MAX_MIRROR_BLEND_RADIUS_MM } from "@womp/kakapo-sdk";
|
|
2
2
|
import { metadataObject, readMaterialMetadata, removeMaterialMetadata, shiftCurvePointMetadata, writeMaterialMetadata, } from "./scene-metadata.js";
|
|
3
3
|
import { createSceneEnvironment } from "./scene-environment.js";
|
|
4
|
+
import { assertColor255 } from "./color.js";
|
|
4
5
|
import { convertRotationBasis, sceneUnitMultiplier, fromEngineDimensions, fromEngineMirrorRotation, fromEnginePosition, toEngineDimensions, toEngineMirrorRotation, toEnginePosition, } from "./coordinates.js";
|
|
5
6
|
export const NodeType = {
|
|
6
7
|
Primitive: 0,
|
|
@@ -100,13 +101,14 @@ function color255(value) {
|
|
|
100
101
|
b: Math.round(value.z * 255),
|
|
101
102
|
};
|
|
102
103
|
}
|
|
104
|
+
/** 0-255 per channel, refusing a 0-1 color rather than rounding it to black (./color.ts). */
|
|
103
105
|
function color1(value) {
|
|
104
106
|
const input = value;
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
};
|
|
107
|
+
const r = finite(input.r ?? input.x, "color.r");
|
|
108
|
+
const g = finite(input.g ?? input.y, "color.g");
|
|
109
|
+
const b = finite(input.b ?? input.z, "color.b");
|
|
110
|
+
assertColor255([r, g, b]);
|
|
111
|
+
return { x: clamp(r, 0, 255) / 255, y: clamp(g, 0, 255) / 255, z: clamp(b, 0, 255) / 255 };
|
|
110
112
|
}
|
|
111
113
|
function runtimeEnum(values) {
|
|
112
114
|
const names = {};
|
|
@@ -677,7 +679,7 @@ export function createWompSceneApi(context) {
|
|
|
677
679
|
const node = requireNode(id);
|
|
678
680
|
return color255(node.kind === "primitive" || node.kind === "light" ? node.color : { x: 0, y: 0, z: 0 });
|
|
679
681
|
},
|
|
680
|
-
nodeSetColor: (id,
|
|
682
|
+
nodeSetColor: (id, rgb255) => update(id, { color: color1(rgb255) }),
|
|
681
683
|
nodeGetMaterialId: (id) => {
|
|
682
684
|
const node = requireNode(id);
|
|
683
685
|
return "materialId" in node ? node.materialId : null;
|
|
@@ -919,11 +921,11 @@ export function createWompSceneApi(context) {
|
|
|
919
921
|
writeMaterialMetadata(scene, id, { tier: value });
|
|
920
922
|
},
|
|
921
923
|
materialGetColor: (id) => color255(material(id).data.color),
|
|
922
|
-
materialSetColor: (id,
|
|
924
|
+
materialSetColor: (id, rgb255) => writeMaterial(id, { color: color1(rgb255) }),
|
|
923
925
|
materialGetSecondaryColor: (id) => color255(material(id).data.secondaryColor),
|
|
924
|
-
materialSetSecondaryColor: (id,
|
|
926
|
+
materialSetSecondaryColor: (id, rgb255) => writeMaterial(id, { secondaryColor: color1(rgb255) }),
|
|
925
927
|
materialGetSubsurfaceColor: (id) => color255(material(id).data.subsurface),
|
|
926
|
-
materialSetSubsurfaceColor: (id,
|
|
928
|
+
materialSetSubsurfaceColor: (id, rgb255) => writeMaterial(id, { subsurface: color1(rgb255) }),
|
|
927
929
|
materialGetRoughness: (id) => material(id).data.roughness,
|
|
928
930
|
materialSetRoughness: (id, value) => writeMaterial(id, { roughness: clamp(finite(value, "roughness"), 0, 1) }),
|
|
929
931
|
materialGetMetalness: (id) => material(id).data.metalness,
|
package/package.json
CHANGED
|
@@ -1,139 +1,139 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@womp/spark-agent",
|
|
3
|
-
"version": "4.1
|
|
4
|
-
"description": "Portable skills-based AI agent with local and durable chat transports for Womp",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
8
|
-
"bin": {
|
|
9
|
-
"spark-agent": "dist/cli.js",
|
|
10
|
-
"simple-bench": "dist/simple-bench-cli.js",
|
|
11
|
-
"agent-run": "dist/agent-run-cli.js"
|
|
12
|
-
},
|
|
13
|
-
"exports": {
|
|
14
|
-
"./browser": {
|
|
15
|
-
"types": "./dist/browser.d.ts",
|
|
16
|
-
"import": "./dist/browser.js",
|
|
17
|
-
"default": "./dist/browser.js"
|
|
18
|
-
},
|
|
19
|
-
"./capabilities": {
|
|
20
|
-
"types": "./dist/capabilities.d.ts",
|
|
21
|
-
"import": "./dist/capabilities.js",
|
|
22
|
-
"default": "./dist/capabilities.js"
|
|
23
|
-
},
|
|
24
|
-
"./kakapo": {
|
|
25
|
-
"types": "./dist/kakapo.d.ts",
|
|
26
|
-
"import": "./dist/kakapo.js",
|
|
27
|
-
"default": "./dist/kakapo.js"
|
|
28
|
-
},
|
|
29
|
-
"./geometry": {
|
|
30
|
-
"types": "./dist/geometry.d.ts",
|
|
31
|
-
"import": "./dist/geometry.js",
|
|
32
|
-
"default": "./dist/geometry.js"
|
|
33
|
-
},
|
|
34
|
-
"./openscad": {
|
|
35
|
-
"types": "./dist/openscad.d.ts",
|
|
36
|
-
"import": "./dist/openscad.js",
|
|
37
|
-
"default": "./dist/openscad.js"
|
|
38
|
-
},
|
|
39
|
-
"./quickjs": {
|
|
40
|
-
"types": "./dist/quickjs-executor.d.ts",
|
|
41
|
-
"import": "./dist/quickjs-executor.js",
|
|
42
|
-
"default": "./dist/quickjs-executor.js"
|
|
43
|
-
},
|
|
44
|
-
".": {
|
|
45
|
-
"types": "./dist/index.d.ts",
|
|
46
|
-
"import": "./dist/index.js",
|
|
47
|
-
"default": "./dist/index.js"
|
|
48
|
-
},
|
|
49
|
-
"./ui": {
|
|
50
|
-
"types": "./dist/ui.d.ts",
|
|
51
|
-
"import": "./dist/ui.js",
|
|
52
|
-
"default": "./dist/ui.js"
|
|
53
|
-
},
|
|
54
|
-
"./client": {
|
|
55
|
-
"types": "./dist/client.d.ts",
|
|
56
|
-
"import": "./dist/client.js",
|
|
57
|
-
"default": "./dist/client.js"
|
|
58
|
-
},
|
|
59
|
-
"./server": {
|
|
60
|
-
"types": "./dist/server/index.d.ts",
|
|
61
|
-
"import": "./dist/server/index.js",
|
|
62
|
-
"default": "./dist/server/index.js"
|
|
63
|
-
},
|
|
64
|
-
"./express": {
|
|
65
|
-
"types": "./dist/server/express.d.ts",
|
|
66
|
-
"import": "./dist/server/express.js",
|
|
67
|
-
"default": "./dist/server/express.js"
|
|
68
|
-
},
|
|
69
|
-
"./package.json": "./package.json"
|
|
70
|
-
},
|
|
71
|
-
"files": [
|
|
72
|
-
"dist/**/*.js",
|
|
73
|
-
"dist/**/*.d.ts",
|
|
74
|
-
"dist/server/fixtures/**/*.json",
|
|
75
|
-
"dist/geometry/schemas/**/*.json",
|
|
76
|
-
"README.md"
|
|
77
|
-
],
|
|
78
|
-
"sideEffects": false,
|
|
79
|
-
"engines": {
|
|
80
|
-
"node": ">=22.13"
|
|
81
|
-
},
|
|
82
|
-
"repository": {
|
|
83
|
-
"type": "git",
|
|
84
|
-
"url": "git+https://github.com/wompxyz/spark-agent.git"
|
|
85
|
-
},
|
|
86
|
-
"publishConfig": {
|
|
87
|
-
"access": "public"
|
|
88
|
-
},
|
|
89
|
-
"license": "MIT",
|
|
90
|
-
"scripts": {
|
|
91
|
-
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
92
|
-
"build": "yarn clean && node scripts/generate-skill-declarations.mjs && tsc -p tsconfig.json && node scripts/copy-fixtures.mjs",
|
|
93
|
-
"typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p web/tsconfig.json",
|
|
94
|
-
"lint": "yarn typecheck",
|
|
95
|
-
"dev": "yarn build && concurrently --kill-others \"yarn dev:server\" \"yarn dev:web\"",
|
|
96
|
-
"dev:server": "tsx src/cli.ts",
|
|
97
|
-
"simple-bench": "tsx src/simple-bench-cli.ts",
|
|
98
|
-
"agent-run": "tsx src/agent-run-cli.ts",
|
|
99
|
-
"dev:demo-account": "yarn build && concurrently --kill-others \"yarn dev:server --profile demo-account\" \"yarn dev:web\"",
|
|
100
|
-
"dev:web": "vite --config web/vite.config.ts",
|
|
101
|
-
"start": "node dist/cli.js",
|
|
102
|
-
"web:build": "yarn build && tsc --noEmit -p web/tsconfig.json && vite build --config web/vite.config.ts",
|
|
103
|
-
"test": "yarn build && tsx --tsconfig tsconfig.json --test test/**/*.test.ts && node --input-type=module -e \"await Promise.all([import('@womp/spark-agent'), import('@womp/spark-agent/ui'), import('@womp/spark-agent/client'), import('@womp/spark-agent/server'), import('@womp/spark-agent/express'), import('@womp/spark-agent/kakapo'), import('@womp/spark-agent/geometry'), import('@womp/spark-agent/openscad')])\"",
|
|
104
|
-
"test:live": "tsx --tsconfig tsconfig.json test/womp-scene-api.live.ts",
|
|
105
|
-
"prepack": "yarn build"
|
|
106
|
-
},
|
|
107
|
-
"dependencies": {
|
|
108
|
-
"@ai-sdk/anthropic": "4.0.50",
|
|
109
|
-
"@ai-sdk/google": "4.0.69",
|
|
110
|
-
"@ai-sdk/openai": "4.0.63",
|
|
111
|
-
"@jitl/quickjs-wasmfile-release-sync": "0.32.0",
|
|
112
|
-
"@womp/flowir": "0.3.0",
|
|
113
|
-
"@womp/kakapo-sdk": "0.4.0",
|
|
114
|
-
"ai": "7.0.95",
|
|
115
|
-
"eventsource-parser": "^3.0.6",
|
|
116
|
-
"express": "^5.2.1",
|
|
117
|
-
"lodash": "4.18.1",
|
|
118
|
-
"quickjs-emscripten-core": "0.32.0",
|
|
119
|
-
"zod": "4.5.4"
|
|
120
|
-
},
|
|
121
|
-
"devDependencies": {
|
|
122
|
-
"@ai-sdk/react": "^4.0.77",
|
|
123
|
-
"@types/express": "^5.0.5",
|
|
124
|
-
"@types/lodash": "4.17.24",
|
|
125
|
-
"@types/node": "^24.0.0",
|
|
126
|
-
"@types/react": "^19.2.17",
|
|
127
|
-
"@types/react-dom": "^19.2.3",
|
|
128
|
-
"@vitejs/plugin-react": "^6.0.4",
|
|
129
|
-
"concurrently": "^9.2.1",
|
|
130
|
-
"lucide-react": "^1.26.0",
|
|
131
|
-
"react": "^19.2.8",
|
|
132
|
-
"react-dom": "^19.2.8",
|
|
133
|
-
"react-markdown": "^10.1.0",
|
|
134
|
-
"remark-gfm": "^4.0.1",
|
|
135
|
-
"tsx": "^4.23.1",
|
|
136
|
-
"typescript": "^5.9.3",
|
|
137
|
-
"vite": "^8.1.5"
|
|
138
|
-
}
|
|
139
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@womp/spark-agent",
|
|
3
|
+
"version": "4.2.1",
|
|
4
|
+
"description": "Portable skills-based AI agent with local and durable chat transports for Womp",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"spark-agent": "dist/cli.js",
|
|
10
|
+
"simple-bench": "dist/simple-bench-cli.js",
|
|
11
|
+
"agent-run": "dist/agent-run-cli.js"
|
|
12
|
+
},
|
|
13
|
+
"exports": {
|
|
14
|
+
"./browser": {
|
|
15
|
+
"types": "./dist/browser.d.ts",
|
|
16
|
+
"import": "./dist/browser.js",
|
|
17
|
+
"default": "./dist/browser.js"
|
|
18
|
+
},
|
|
19
|
+
"./capabilities": {
|
|
20
|
+
"types": "./dist/capabilities.d.ts",
|
|
21
|
+
"import": "./dist/capabilities.js",
|
|
22
|
+
"default": "./dist/capabilities.js"
|
|
23
|
+
},
|
|
24
|
+
"./kakapo": {
|
|
25
|
+
"types": "./dist/kakapo.d.ts",
|
|
26
|
+
"import": "./dist/kakapo.js",
|
|
27
|
+
"default": "./dist/kakapo.js"
|
|
28
|
+
},
|
|
29
|
+
"./geometry": {
|
|
30
|
+
"types": "./dist/geometry.d.ts",
|
|
31
|
+
"import": "./dist/geometry.js",
|
|
32
|
+
"default": "./dist/geometry.js"
|
|
33
|
+
},
|
|
34
|
+
"./openscad": {
|
|
35
|
+
"types": "./dist/openscad.d.ts",
|
|
36
|
+
"import": "./dist/openscad.js",
|
|
37
|
+
"default": "./dist/openscad.js"
|
|
38
|
+
},
|
|
39
|
+
"./quickjs": {
|
|
40
|
+
"types": "./dist/quickjs-executor.d.ts",
|
|
41
|
+
"import": "./dist/quickjs-executor.js",
|
|
42
|
+
"default": "./dist/quickjs-executor.js"
|
|
43
|
+
},
|
|
44
|
+
".": {
|
|
45
|
+
"types": "./dist/index.d.ts",
|
|
46
|
+
"import": "./dist/index.js",
|
|
47
|
+
"default": "./dist/index.js"
|
|
48
|
+
},
|
|
49
|
+
"./ui": {
|
|
50
|
+
"types": "./dist/ui.d.ts",
|
|
51
|
+
"import": "./dist/ui.js",
|
|
52
|
+
"default": "./dist/ui.js"
|
|
53
|
+
},
|
|
54
|
+
"./client": {
|
|
55
|
+
"types": "./dist/client.d.ts",
|
|
56
|
+
"import": "./dist/client.js",
|
|
57
|
+
"default": "./dist/client.js"
|
|
58
|
+
},
|
|
59
|
+
"./server": {
|
|
60
|
+
"types": "./dist/server/index.d.ts",
|
|
61
|
+
"import": "./dist/server/index.js",
|
|
62
|
+
"default": "./dist/server/index.js"
|
|
63
|
+
},
|
|
64
|
+
"./express": {
|
|
65
|
+
"types": "./dist/server/express.d.ts",
|
|
66
|
+
"import": "./dist/server/express.js",
|
|
67
|
+
"default": "./dist/server/express.js"
|
|
68
|
+
},
|
|
69
|
+
"./package.json": "./package.json"
|
|
70
|
+
},
|
|
71
|
+
"files": [
|
|
72
|
+
"dist/**/*.js",
|
|
73
|
+
"dist/**/*.d.ts",
|
|
74
|
+
"dist/server/fixtures/**/*.json",
|
|
75
|
+
"dist/geometry/schemas/**/*.json",
|
|
76
|
+
"README.md"
|
|
77
|
+
],
|
|
78
|
+
"sideEffects": false,
|
|
79
|
+
"engines": {
|
|
80
|
+
"node": ">=22.13"
|
|
81
|
+
},
|
|
82
|
+
"repository": {
|
|
83
|
+
"type": "git",
|
|
84
|
+
"url": "git+https://github.com/wompxyz/spark-agent.git"
|
|
85
|
+
},
|
|
86
|
+
"publishConfig": {
|
|
87
|
+
"access": "public"
|
|
88
|
+
},
|
|
89
|
+
"license": "MIT",
|
|
90
|
+
"scripts": {
|
|
91
|
+
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
92
|
+
"build": "yarn clean && node scripts/generate-skill-declarations.mjs && tsc -p tsconfig.json && node scripts/copy-fixtures.mjs",
|
|
93
|
+
"typecheck": "tsc --noEmit -p tsconfig.json && tsc --noEmit -p web/tsconfig.json",
|
|
94
|
+
"lint": "yarn typecheck",
|
|
95
|
+
"dev": "yarn build && concurrently --kill-others \"yarn dev:server\" \"yarn dev:web\"",
|
|
96
|
+
"dev:server": "tsx src/cli.ts",
|
|
97
|
+
"simple-bench": "tsx src/simple-bench-cli.ts",
|
|
98
|
+
"agent-run": "tsx src/agent-run-cli.ts",
|
|
99
|
+
"dev:demo-account": "yarn build && concurrently --kill-others \"yarn dev:server --profile demo-account\" \"yarn dev:web\"",
|
|
100
|
+
"dev:web": "vite --config web/vite.config.ts",
|
|
101
|
+
"start": "node dist/cli.js",
|
|
102
|
+
"web:build": "yarn build && tsc --noEmit -p web/tsconfig.json && vite build --config web/vite.config.ts",
|
|
103
|
+
"test": "yarn build && tsx --tsconfig tsconfig.json --test test/**/*.test.ts && node --input-type=module -e \"await Promise.all([import('@womp/spark-agent'), import('@womp/spark-agent/ui'), import('@womp/spark-agent/client'), import('@womp/spark-agent/server'), import('@womp/spark-agent/express'), import('@womp/spark-agent/kakapo'), import('@womp/spark-agent/geometry'), import('@womp/spark-agent/openscad')])\"",
|
|
104
|
+
"test:live": "tsx --tsconfig tsconfig.json test/womp-scene-api.live.ts",
|
|
105
|
+
"prepack": "yarn build"
|
|
106
|
+
},
|
|
107
|
+
"dependencies": {
|
|
108
|
+
"@ai-sdk/anthropic": "4.0.50",
|
|
109
|
+
"@ai-sdk/google": "4.0.69",
|
|
110
|
+
"@ai-sdk/openai": "4.0.63",
|
|
111
|
+
"@jitl/quickjs-wasmfile-release-sync": "0.32.0",
|
|
112
|
+
"@womp/flowir": "0.3.0",
|
|
113
|
+
"@womp/kakapo-sdk": "0.4.0",
|
|
114
|
+
"ai": "7.0.95",
|
|
115
|
+
"eventsource-parser": "^3.0.6",
|
|
116
|
+
"express": "^5.2.1",
|
|
117
|
+
"lodash": "4.18.1",
|
|
118
|
+
"quickjs-emscripten-core": "0.32.0",
|
|
119
|
+
"zod": "4.5.4"
|
|
120
|
+
},
|
|
121
|
+
"devDependencies": {
|
|
122
|
+
"@ai-sdk/react": "^4.0.77",
|
|
123
|
+
"@types/express": "^5.0.5",
|
|
124
|
+
"@types/lodash": "4.17.24",
|
|
125
|
+
"@types/node": "^24.0.0",
|
|
126
|
+
"@types/react": "^19.2.17",
|
|
127
|
+
"@types/react-dom": "^19.2.3",
|
|
128
|
+
"@vitejs/plugin-react": "^6.0.4",
|
|
129
|
+
"concurrently": "^9.2.1",
|
|
130
|
+
"lucide-react": "^1.26.0",
|
|
131
|
+
"react": "^19.2.8",
|
|
132
|
+
"react-dom": "^19.2.8",
|
|
133
|
+
"react-markdown": "^10.1.0",
|
|
134
|
+
"remark-gfm": "^4.0.1",
|
|
135
|
+
"tsx": "^4.23.1",
|
|
136
|
+
"typescript": "^5.9.3",
|
|
137
|
+
"vite": "^8.1.5"
|
|
138
|
+
}
|
|
139
|
+
}
|