@statelyai/sdk 0.2.0 → 0.3.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.
@@ -247,123 +247,4 @@ function createWebSocketTransport(options) {
247
247
  }
248
248
 
249
249
  //#endregion
250
- //#region src/inspect.ts
251
- function generateId() {
252
- return createRequestId();
253
- }
254
- function createInspector(options) {
255
- const { url = "ws://localhost:4242", autoOpen = true, sessionId = generateId(), name } = options ?? {};
256
- let destroyed = false;
257
- const pendingMessages = [];
258
- const events = createEventRegistry();
259
- const transport = createWebSocketTransport({
260
- url,
261
- role: "client",
262
- sessionId,
263
- ...name && { metadata: { name } }
264
- });
265
- const exportManager = createPendingExportManager((message) => send(message));
266
- function send(msg) {
267
- if (!transport.ready) {
268
- pendingMessages.push(msg);
269
- return;
270
- }
271
- transport.send(msg);
272
- }
273
- function flush() {
274
- while (pendingMessages.length > 0) {
275
- const msg = pendingMessages.shift();
276
- transport.send(msg);
277
- }
278
- }
279
- transport.onReady(() => {
280
- flush();
281
- });
282
- if (autoOpen) transport.onReady(() => {
283
- transport.send({
284
- type: "@statelyai.requestOpen",
285
- sessionId
286
- });
287
- });
288
- transport.onMessage((msg) => {
289
- if (destroyed) return;
290
- switch (msg.type) {
291
- case "@statelyai.ready":
292
- events.emit("ready", { version: msg.version });
293
- break;
294
- case "@statelyai.loaded":
295
- events.emit("loaded", { graph: msg.graph });
296
- break;
297
- case "@statelyai.change":
298
- events.emit("change", {
299
- graph: msg.graph,
300
- machineConfig: msg.machineConfig
301
- });
302
- break;
303
- case "@statelyai.save":
304
- events.emit("save", {
305
- graph: msg.graph,
306
- machineConfig: msg.machineConfig
307
- });
308
- break;
309
- case "@statelyai.retrieved":
310
- exportManager.resolve(msg.requestId, msg.data);
311
- break;
312
- case "@statelyai.error":
313
- exportManager.reject(new Error(msg.message), msg.requestId);
314
- events.emit("error", {
315
- code: msg.code,
316
- message: msg.message
317
- });
318
- break;
319
- }
320
- });
321
- return {
322
- get sessionId() {
323
- return sessionId;
324
- },
325
- inspect(opts) {
326
- send(toInitMessage(opts));
327
- },
328
- update(machine, format) {
329
- send({
330
- type: "@statelyai.update",
331
- machine,
332
- format
333
- });
334
- },
335
- setMode(mode) {
336
- send({
337
- type: "@statelyai.setMode",
338
- mode
339
- });
340
- },
341
- export(format, callOptions) {
342
- return exportManager.start(format, callOptions, "Inspector is destroyed", () => destroyed);
343
- },
344
- on(event, handler) {
345
- events.on(event, handler);
346
- },
347
- off(event, handler) {
348
- events.off(event, handler);
349
- },
350
- sendSnapshot(snapshot, event) {
351
- send({
352
- type: "@statelyai.inspectSnapshot",
353
- snapshot,
354
- event: event ?? null
355
- });
356
- },
357
- destroy() {
358
- if (destroyed) return;
359
- destroyed = true;
360
- transport.destroy();
361
- exportManager.clear("Inspector destroyed");
362
- events.clear();
363
- pendingMessages.length = 0;
364
- }
365
- };
366
- }
367
-
368
- //#endregion
369
- export { createPendingExportManager as a, createEventRegistry as i, createPostMessageTransport as n, toInitMessage as o, createWebSocketTransport as r, createInspector as t };
250
+ export { createRequestId as a, createPendingExportManager as i, createWebSocketTransport as n, toInitMessage as o, createEventRegistry as r, createPostMessageTransport as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@statelyai/sdk",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "dist"
@@ -13,11 +13,30 @@
13
13
  "types": "./dist/index.d.mts",
14
14
  "import": "./dist/index.mjs"
15
15
  },
16
+ "./embed": {
17
+ "types": "./dist/embed.d.mts",
18
+ "import": "./dist/embed.mjs"
19
+ },
16
20
  "./inspect": {
17
21
  "types": "./dist/inspect.d.mts",
18
22
  "import": "./dist/inspect.mjs"
23
+ },
24
+ "./graph": {
25
+ "types": "./dist/graph.d.mts",
26
+ "import": "./dist/graph.mjs"
27
+ },
28
+ "./sync": {
29
+ "types": "./dist/sync.d.mts",
30
+ "import": "./dist/sync.mjs"
31
+ },
32
+ "./studio": {
33
+ "types": "./dist/studio.d.mts",
34
+ "import": "./dist/studio.mjs"
19
35
  }
20
36
  },
37
+ "dependencies": {
38
+ "@statelyai/graph": "^0.4.0"
39
+ },
21
40
  "devDependencies": {
22
41
  "jsdom": "^27.4.0",
23
42
  "tsdown": "0.21.0-beta.2",
@@ -27,6 +46,7 @@
27
46
  "scripts": {
28
47
  "build": "tsdown",
29
48
  "test": "vitest run",
49
+ "test:live": "vitest run src/studio.live.integration.test.ts",
30
50
  "test:watch": "vitest"
31
51
  }
32
52
  }