@uptimizr/agent-core 0.1.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.
- package/AGENTS.md +40 -0
- package/LICENSE +201 -0
- package/README.md +125 -0
- package/dist/client.d.ts +33 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +38 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/loop.d.ts +47 -0
- package/dist/loop.d.ts.map +1 -0
- package/dist/loop.js +84 -0
- package/dist/loop.js.map +1 -0
- package/dist/provider.d.ts +73 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +12 -0
- package/dist/provider.js.map +1 -0
- package/dist/providers/anthropic.d.ts +56 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +75 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/config.d.ts +74 -0
- package/dist/providers/config.d.ts.map +1 -0
- package/dist/providers/config.js +93 -0
- package/dist/providers/config.js.map +1 -0
- package/dist/providers/hosted.d.ts +50 -0
- package/dist/providers/hosted.d.ts.map +1 -0
- package/dist/providers/hosted.js +102 -0
- package/dist/providers/hosted.js.map +1 -0
- package/dist/providers/index.d.ts +16 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +16 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/openai.d.ts +53 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +79 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/webllm.d.ts +128 -0
- package/dist/providers/webllm.d.ts.map +1 -0
- package/dist/providers/webllm.js +158 -0
- package/dist/providers/webllm.js.map +1 -0
- package/dist/tools.d.ts +28 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +327 -0
- package/dist/tools.js.map +1 -0
- package/llms.txt +20 -0
- package/package.json +86 -0
package/dist/tools.js
ADDED
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const num = (v) => (typeof v === "number" ? v : undefined);
|
|
3
|
+
const str = (v) => (typeof v === "string" ? v : undefined);
|
|
4
|
+
// Shared, reusable input fields (all optional unless a tool needs otherwise).
|
|
5
|
+
const since = z.number().int().optional().describe("Start of the time range, epoch milliseconds.");
|
|
6
|
+
const until = z.number().int().optional().describe("End of the time range, epoch milliseconds.");
|
|
7
|
+
const bins = z.number().int().positive().max(500).optional().describe("Grid resolution per axis.");
|
|
8
|
+
const limit = z.number().int().positive().max(1000).optional().describe("Maximum rows to return.");
|
|
9
|
+
const scene = z.string().optional().describe("Restrict to one developer-assigned scene id.");
|
|
10
|
+
const session = z.string().optional().describe("Scope the aggregate to a single session id.");
|
|
11
|
+
const cellSize = z.number().positive().max(1000).optional().describe("Voxel size in world units.");
|
|
12
|
+
const interval = z
|
|
13
|
+
.number()
|
|
14
|
+
.int()
|
|
15
|
+
.positive()
|
|
16
|
+
.optional()
|
|
17
|
+
.describe("Time-series bucket width, seconds.");
|
|
18
|
+
const eventType = z
|
|
19
|
+
.string()
|
|
20
|
+
.optional()
|
|
21
|
+
.describe("Restrict to a single event type, e.g. pointer_click.");
|
|
22
|
+
const source = z
|
|
23
|
+
.enum(["mouse", "touch", "stylus", "pen", "xr-controller", "hand", "gaze", "transient", "other"])
|
|
24
|
+
.optional()
|
|
25
|
+
.describe("Restrict a pointer/world heatmap to one input source.");
|
|
26
|
+
const cameraMode = z
|
|
27
|
+
.enum(["viewer", "first-person"])
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("Camera navigation mode to scope to: 'viewer' (orbit) or 'first-person' (walkable).");
|
|
30
|
+
const rapidTurn = z
|
|
31
|
+
.number()
|
|
32
|
+
.nonnegative()
|
|
33
|
+
.max(Math.PI)
|
|
34
|
+
.optional()
|
|
35
|
+
.describe("Rapid-turn threshold in radians (0..π); view turns above this flag motion-sickness risk.");
|
|
36
|
+
const steps = z
|
|
37
|
+
.string()
|
|
38
|
+
.min(1)
|
|
39
|
+
.describe("Funnel steps as a JSON-encoded array of ordered step predicates (ADR 0038). Required. " +
|
|
40
|
+
'Each step is `{ "type": <event_type>, ... }`; e.g. ' +
|
|
41
|
+
'`[{"type":"scene_change","to":"lobby"},{"type":"mesh_interaction","mesh":"buy"}]`.');
|
|
42
|
+
/** Build the common `{ since, until }` range params from validated args. */
|
|
43
|
+
function range(args) {
|
|
44
|
+
return { since: num(args.since), until: num(args.until) };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The catalog of read-only tools. Each wraps one documented collector query
|
|
48
|
+
* endpoint (docs/integration.md §Query). There are intentionally **no**
|
|
49
|
+
* ingestion, mutation, or raw per-session event tools — the surface is
|
|
50
|
+
* aggregate, read-only, and privacy-preserving (ADR 0003 / ADR 0017).
|
|
51
|
+
*/
|
|
52
|
+
export const readTools = [
|
|
53
|
+
{
|
|
54
|
+
name: "list_sessions",
|
|
55
|
+
title: "List recent sessions",
|
|
56
|
+
description: "Recent sessions with id, visitor, event count, and start/end times.",
|
|
57
|
+
inputSchema: { since, until, limit },
|
|
58
|
+
buildRequest: (args) => ({
|
|
59
|
+
path: "api/v1/sessions",
|
|
60
|
+
params: { ...range(args), limit: num(args.limit) },
|
|
61
|
+
}),
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "pointer_heatmap",
|
|
65
|
+
title: "2D pointer heatmap",
|
|
66
|
+
description: "Binned 2D pointer-position heatmap (screen-normalized).",
|
|
67
|
+
inputSchema: { since, until, bins, scene, source, session },
|
|
68
|
+
buildRequest: (args) => ({
|
|
69
|
+
path: "api/v1/heatmaps/pointer",
|
|
70
|
+
params: {
|
|
71
|
+
...range(args),
|
|
72
|
+
bins: num(args.bins),
|
|
73
|
+
scene: str(args.scene),
|
|
74
|
+
source: str(args.source),
|
|
75
|
+
session: str(args.session),
|
|
76
|
+
},
|
|
77
|
+
}),
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "world_heatmap",
|
|
81
|
+
title: "3D world-space pointer heatmap",
|
|
82
|
+
description: "Voxelized world-space pointer heatmap.",
|
|
83
|
+
inputSchema: { since, until, cellSize, limit, scene, source },
|
|
84
|
+
buildRequest: (args) => ({
|
|
85
|
+
path: "api/v1/heatmaps/world",
|
|
86
|
+
params: {
|
|
87
|
+
...range(args),
|
|
88
|
+
cellSize: num(args.cellSize),
|
|
89
|
+
limit: num(args.limit),
|
|
90
|
+
scene: str(args.scene),
|
|
91
|
+
source: str(args.source),
|
|
92
|
+
},
|
|
93
|
+
}),
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: "camera_heatmap",
|
|
97
|
+
title: "View-direction heatmap",
|
|
98
|
+
description: "Camera view-direction distribution as spherical bins.",
|
|
99
|
+
inputSchema: { since, until, bins, scene, session },
|
|
100
|
+
buildRequest: (args) => ({
|
|
101
|
+
path: "api/v1/heatmaps/camera",
|
|
102
|
+
params: {
|
|
103
|
+
...range(args),
|
|
104
|
+
bins: num(args.bins),
|
|
105
|
+
scene: str(args.scene),
|
|
106
|
+
session: str(args.session),
|
|
107
|
+
},
|
|
108
|
+
}),
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: "click_rays",
|
|
112
|
+
title: "View-gated click rays",
|
|
113
|
+
description: "Clicks ASOF-joined to their nearest camera sample, per voxel and clicked mesh.",
|
|
114
|
+
inputSchema: { since, until, cellSize, limit, scene, source, session },
|
|
115
|
+
buildRequest: (args) => ({
|
|
116
|
+
path: "api/v1/heatmaps/click-rays",
|
|
117
|
+
params: {
|
|
118
|
+
...range(args),
|
|
119
|
+
cellSize: num(args.cellSize),
|
|
120
|
+
limit: num(args.limit),
|
|
121
|
+
scene: str(args.scene),
|
|
122
|
+
source: str(args.source),
|
|
123
|
+
session: str(args.session),
|
|
124
|
+
},
|
|
125
|
+
}),
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: "flow_links",
|
|
129
|
+
title: "Gaze→mesh flow links",
|
|
130
|
+
description: "Aggregate links from camera-direction bins to clicked meshes.",
|
|
131
|
+
inputSchema: { since, until, bins, limit, scene, session },
|
|
132
|
+
buildRequest: (args) => ({
|
|
133
|
+
path: "api/v1/heatmaps/flow",
|
|
134
|
+
params: {
|
|
135
|
+
...range(args),
|
|
136
|
+
bins: num(args.bins),
|
|
137
|
+
limit: num(args.limit),
|
|
138
|
+
scene: str(args.scene),
|
|
139
|
+
session: str(args.session),
|
|
140
|
+
},
|
|
141
|
+
}),
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
name: "top_meshes",
|
|
145
|
+
title: "Most-interacted meshes",
|
|
146
|
+
description: "Meshes ranked by interaction count.",
|
|
147
|
+
inputSchema: { since, until, limit, session },
|
|
148
|
+
buildRequest: (args) => ({
|
|
149
|
+
path: "api/v1/meshes/top",
|
|
150
|
+
params: { ...range(args), limit: num(args.limit), session: str(args.session) },
|
|
151
|
+
}),
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
name: "perf_summary",
|
|
155
|
+
title: "Rendering performance summary",
|
|
156
|
+
description: "Sample count and avg/min/p50 FPS over the range.",
|
|
157
|
+
inputSchema: { since, until, session },
|
|
158
|
+
buildRequest: (args) => ({
|
|
159
|
+
path: "api/v1/perf",
|
|
160
|
+
params: { ...range(args), session: str(args.session) },
|
|
161
|
+
}),
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
name: "list_scenes",
|
|
165
|
+
title: "List active scenes",
|
|
166
|
+
description: "Distinct developer-assigned scenes with activity.",
|
|
167
|
+
inputSchema: { since, until, limit },
|
|
168
|
+
buildRequest: (args) => ({
|
|
169
|
+
path: "api/v1/scenes",
|
|
170
|
+
params: { ...range(args), limit: num(args.limit) },
|
|
171
|
+
}),
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
name: "timeseries",
|
|
175
|
+
title: "Event-volume time series",
|
|
176
|
+
description: "Event-volume buckets over time, with average FPS per bucket.",
|
|
177
|
+
inputSchema: { since, until, interval, scene, type: eventType },
|
|
178
|
+
buildRequest: (args) => ({
|
|
179
|
+
path: "api/v1/timeseries",
|
|
180
|
+
params: {
|
|
181
|
+
...range(args),
|
|
182
|
+
interval: num(args.interval),
|
|
183
|
+
scene: str(args.scene),
|
|
184
|
+
type: str(args.type),
|
|
185
|
+
},
|
|
186
|
+
}),
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
name: "event_counts",
|
|
190
|
+
title: "Per-event-type counts",
|
|
191
|
+
description: "Counts per event type over the range (scene-health panel).",
|
|
192
|
+
inputSchema: { since, until, scene },
|
|
193
|
+
buildRequest: (args) => ({
|
|
194
|
+
path: "api/v1/event-counts",
|
|
195
|
+
params: { ...range(args), scene: str(args.scene) },
|
|
196
|
+
}),
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
name: "session_meta",
|
|
200
|
+
title: "Session descriptor",
|
|
201
|
+
description: "Coarse descriptor for one session (device/scene/user). No raw event stream.",
|
|
202
|
+
inputSchema: { sessionId: z.string().min(1).describe("The session id to describe.") },
|
|
203
|
+
buildRequest: (args) => ({
|
|
204
|
+
path: `api/v1/sessions/${encodeURIComponent(str(args.sessionId) ?? "")}/meta`,
|
|
205
|
+
params: {},
|
|
206
|
+
}),
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
name: "scene_representation",
|
|
210
|
+
title: "Scene representation",
|
|
211
|
+
description: "Registered proxy geometry (bounds/meshes) for one scene, if any.",
|
|
212
|
+
inputSchema: { sceneId: z.string().min(1).describe("The scene id to fetch.") },
|
|
213
|
+
buildRequest: (args) => ({
|
|
214
|
+
path: `api/v1/scenes/${encodeURIComponent(str(args.sceneId) ?? "")}/representation`,
|
|
215
|
+
params: {},
|
|
216
|
+
}),
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
name: "funnel",
|
|
220
|
+
title: "Conversion funnel",
|
|
221
|
+
description: "Ordered, per-session conversion funnel (ADR 0038): how many sessions reach each " +
|
|
222
|
+
"caller-supplied step. Steps are a JSON array (see the `steps` argument).",
|
|
223
|
+
inputSchema: { since, until, scene, cameraMode, steps },
|
|
224
|
+
buildRequest: (args) => ({
|
|
225
|
+
path: "api/v1/funnel",
|
|
226
|
+
params: {
|
|
227
|
+
...range(args),
|
|
228
|
+
scene: str(args.scene),
|
|
229
|
+
cameraMode: str(args.cameraMode),
|
|
230
|
+
steps: str(args.steps),
|
|
231
|
+
},
|
|
232
|
+
}),
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: "aggregate_paths",
|
|
236
|
+
title: "Aggregate desire-line paths",
|
|
237
|
+
description: "Crowd-level movement routes (ADR 0037): every session's camera path binned onto the " +
|
|
238
|
+
"ground grid and returned as ordered, session-keyed points for an overlaid route map.",
|
|
239
|
+
inputSchema: { since, until, cellSize, limit, scene, cameraMode },
|
|
240
|
+
buildRequest: (args) => ({
|
|
241
|
+
path: "api/v1/paths",
|
|
242
|
+
params: {
|
|
243
|
+
...range(args),
|
|
244
|
+
cellSize: num(args.cellSize),
|
|
245
|
+
limit: num(args.limit),
|
|
246
|
+
scene: str(args.scene),
|
|
247
|
+
cameraMode: str(args.cameraMode),
|
|
248
|
+
},
|
|
249
|
+
}),
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: "rendering_technology",
|
|
253
|
+
title: "Rendering-technology breakdown",
|
|
254
|
+
description: "Rendering-technology mix from session_start.graphics (ADR 0046): session count per " +
|
|
255
|
+
"(api, backend, api_version, shading_language) — WebGPU vs WebGL2 and shading language.",
|
|
256
|
+
inputSchema: { since, until, scene, session },
|
|
257
|
+
buildRequest: (args) => ({
|
|
258
|
+
path: "api/v1/rendering-technology",
|
|
259
|
+
params: { ...range(args), scene: str(args.scene), session: str(args.session) },
|
|
260
|
+
}),
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
name: "xr_rotation",
|
|
264
|
+
title: "XR head-rotation rate",
|
|
265
|
+
description: "XR head/view rotation rate (ADR 0048), a motion-sickness proxy: per-session rapid-turn " +
|
|
266
|
+
"counts over the camera pose stream.",
|
|
267
|
+
inputSchema: { since, until, rapidTurn, limit, scene, session },
|
|
268
|
+
buildRequest: (args) => ({
|
|
269
|
+
path: "api/v1/xr/rotation",
|
|
270
|
+
params: {
|
|
271
|
+
...range(args),
|
|
272
|
+
rapidTurn: num(args.rapidTurn),
|
|
273
|
+
limit: num(args.limit),
|
|
274
|
+
scene: str(args.scene),
|
|
275
|
+
session: str(args.session),
|
|
276
|
+
},
|
|
277
|
+
}),
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
name: "xr_sources",
|
|
281
|
+
title: "XR input-source usage",
|
|
282
|
+
description: "XR input-source split (ADR 0048): hand vs. controller vs. gaze usage.",
|
|
283
|
+
inputSchema: { since, until, limit, scene, session },
|
|
284
|
+
buildRequest: (args) => ({
|
|
285
|
+
path: "api/v1/xr/sources",
|
|
286
|
+
params: {
|
|
287
|
+
...range(args),
|
|
288
|
+
limit: num(args.limit),
|
|
289
|
+
scene: str(args.scene),
|
|
290
|
+
session: str(args.session),
|
|
291
|
+
},
|
|
292
|
+
}),
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
name: "xr_abandonment",
|
|
296
|
+
title: "XR session abandonment",
|
|
297
|
+
description: "XR session abandonment (ADR 0048): per XR session, its time bounds and event/interaction " +
|
|
298
|
+
"counts; a short span signals headset drop-off.",
|
|
299
|
+
inputSchema: { since, until, limit, scene, session },
|
|
300
|
+
buildRequest: (args) => ({
|
|
301
|
+
path: "api/v1/xr/abandonment",
|
|
302
|
+
params: {
|
|
303
|
+
...range(args),
|
|
304
|
+
limit: num(args.limit),
|
|
305
|
+
scene: str(args.scene),
|
|
306
|
+
session: str(args.session),
|
|
307
|
+
},
|
|
308
|
+
}),
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
name: "xr_locomotion",
|
|
312
|
+
title: "XR locomotion & comfort",
|
|
313
|
+
description: "XR locomotion & comfort (ADR 0048): per XR session, its locomotion-style mix " +
|
|
314
|
+
"(fly / navigate / teleport + duration) and wall-clock span — a discomfort proxy.",
|
|
315
|
+
inputSchema: { since, until, limit, scene, session },
|
|
316
|
+
buildRequest: (args) => ({
|
|
317
|
+
path: "api/v1/xr/locomotion",
|
|
318
|
+
params: {
|
|
319
|
+
...range(args),
|
|
320
|
+
limit: num(args.limit),
|
|
321
|
+
scene: str(args.scene),
|
|
322
|
+
session: str(args.session),
|
|
323
|
+
},
|
|
324
|
+
}),
|
|
325
|
+
},
|
|
326
|
+
];
|
|
327
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/llms.txt
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# @uptimizr/agent-core
|
|
2
|
+
|
|
3
|
+
> The framework-agnostic, browser-safe core for Uptimizr analytics agents: the single read-only
|
|
4
|
+
> tool catalog over the collector query API, a headless LLM provider-adapter interface, and the
|
|
5
|
+
> tool-calling loop. Defined once, consumed by MCP, the dashboard, and the demo (ADR 0050).
|
|
6
|
+
|
|
7
|
+
## Docs
|
|
8
|
+
|
|
9
|
+
- [Package reference](./README.md): install, usage, the full tool table, and the programmatic API.
|
|
10
|
+
- [Agent guide](./AGENTS.md): rules and tool catalog for AI agents.
|
|
11
|
+
- [Integration & API reference](https://github.com/RaananW/Uptimizr/blob/main/docs/integration.md): the underlying query endpoints.
|
|
12
|
+
- [Architecture Decision Records](https://github.com/RaananW/Uptimizr/tree/main/docs/adr): in-browser assistant (0050), privacy model (0003), thin backends (0005), consumer-facing agents (0017).
|
|
13
|
+
|
|
14
|
+
## Key exports
|
|
15
|
+
|
|
16
|
+
- `readTools` — the read-only tool catalog (one entry per query endpoint).
|
|
17
|
+
- `createCollectorClient(config)` — the thin GET-only collector client.
|
|
18
|
+
- `runAgent(options)` — the headless tool-calling loop (LLM ↔ tools ↔ collector).
|
|
19
|
+
- `toToolSchemas(tools?)` — convert catalog tools to JSON-Schema tool descriptors for an LLM.
|
|
20
|
+
- `LlmProvider` — the pluggable, user-controlled LLM backend interface (no bundled model or key).
|
package/package.json
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@uptimizr/agent-core",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Framework-agnostic, browser-safe core for Uptimizr analytics agents — the single read-only tool catalog over the collector query API, a headless LLM provider-adapter interface, and the tool-calling loop.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"uptimizr",
|
|
7
|
+
"analytics",
|
|
8
|
+
"3d",
|
|
9
|
+
"agent",
|
|
10
|
+
"ai",
|
|
11
|
+
"llm",
|
|
12
|
+
"tool-calling",
|
|
13
|
+
"mcp"
|
|
14
|
+
],
|
|
15
|
+
"license": "Apache-2.0",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/RaananW/Uptimizr.git",
|
|
19
|
+
"directory": "oss/packages/agent-core"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/RaananW/Uptimizr/issues"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://uptimizr.com/docs/guides/mcp/",
|
|
25
|
+
"author": "Raanan Weber (https://github.com/RaananW)",
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"private": false,
|
|
30
|
+
"type": "module",
|
|
31
|
+
"main": "./dist/index.js",
|
|
32
|
+
"module": "./dist/index.js",
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./dist/index.d.ts",
|
|
37
|
+
"import": "./dist/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./providers": {
|
|
40
|
+
"types": "./dist/providers/index.d.ts",
|
|
41
|
+
"import": "./dist/providers/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./providers/webllm": {
|
|
44
|
+
"types": "./dist/providers/webllm.d.ts",
|
|
45
|
+
"import": "./dist/providers/webllm.js"
|
|
46
|
+
},
|
|
47
|
+
"./providers/hosted": {
|
|
48
|
+
"types": "./dist/providers/hosted.d.ts",
|
|
49
|
+
"import": "./dist/providers/hosted.js"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"files": [
|
|
53
|
+
"dist",
|
|
54
|
+
"README.md",
|
|
55
|
+
"LICENSE",
|
|
56
|
+
"AGENTS.md",
|
|
57
|
+
"llms.txt"
|
|
58
|
+
],
|
|
59
|
+
"sideEffects": false,
|
|
60
|
+
"scripts": {
|
|
61
|
+
"build": "tsc -p tsconfig.json",
|
|
62
|
+
"dev": "tsc -p tsconfig.json --watch",
|
|
63
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
64
|
+
"test": "vitest run",
|
|
65
|
+
"lint": "eslint .",
|
|
66
|
+
"clean": "rm -rf dist *.tsbuildinfo"
|
|
67
|
+
},
|
|
68
|
+
"dependencies": {
|
|
69
|
+
"zod": "^4.4.3"
|
|
70
|
+
},
|
|
71
|
+
"peerDependencies": {
|
|
72
|
+
"@mlc-ai/web-llm": "^0.2.0"
|
|
73
|
+
},
|
|
74
|
+
"peerDependenciesMeta": {
|
|
75
|
+
"@mlc-ai/web-llm": {
|
|
76
|
+
"optional": true
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"devDependencies": {
|
|
80
|
+
"@mlc-ai/web-llm": "^0.2.79",
|
|
81
|
+
"vitest": "^4.1.10"
|
|
82
|
+
},
|
|
83
|
+
"engines": {
|
|
84
|
+
"node": ">=22"
|
|
85
|
+
}
|
|
86
|
+
}
|