@statelyai/sdk 0.38.2 → 0.39.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.
@@ -1,4 +1,4 @@
1
- import { Qt as UploadResult } from "./protocol-DkcbN7fu.mjs";
1
+ import { Qt as UploadResult } from "./protocol-D3XQmmmv.mjs";
2
2
  //#region src/assetStorage.d.ts
3
3
  interface AssetUploadContext {
4
4
  stateNodeId: string;
@@ -1,5 +1,5 @@
1
1
  import { o as GraphPatch } from "./index-DfMkVP94.mjs";
2
- import { mn as EmbedPanelConfig, mt as ProjectWorkspaceConfig, n as AuthenticationRecovery, pn as PresentationMetadataInitializer, rt as ProjectEmbedMachine } from "./protocol-DkcbN7fu.mjs";
2
+ import { mn as EmbedPanelConfig, mt as ProjectWorkspaceConfig, n as AuthenticationRecovery, pn as PresentationMetadataInitializer, rt as ProjectEmbedMachine } from "./protocol-D3XQmmmv.mjs";
3
3
  import { a as MachineSourceLocations, t as EditorCapabilities } from "./editor-sync-types-Ch5P5XRj.mjs";
4
4
 
5
5
  //#region src/editorHostProtocol.d.ts
@@ -34,8 +34,13 @@ type EditorHostInboundMessage = {
34
34
  type: '@statelyai.change';
35
35
  graph: unknown;
36
36
  machineConfig: unknown;
37
- machineId?: string; /** The editor has applied a host source refresh, not a visual edit. */
38
- source?: 'external';
37
+ machineId?: string;
38
+ /**
39
+ * `external`: the editor has applied a host source refresh, not a visual
40
+ * edit. `layout`: automatic layout positions to persist as presentation.
41
+ */
42
+ source?: 'external' | 'layout'; /** Internal persistence payload sent with Studio-linked layout changes. */
43
+ serialized?: Record<string, string>;
39
44
  sourceBaselineGraph?: unknown;
40
45
  patches?: unknown[];
41
46
  sourceLocations?: MachineSourceLocations;
package/dist/embed.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { n as ProfileManifest, o as GraphPatch } from "./index-DfMkVP94.mjs";
2
2
  import { i as StatelyGraph } from "./graph-CfWCJS4m.mjs";
3
- import { $ as MachineVersionAutoSaveOptions, A as ExportFormat, E as EmbedMode, F as HostUpdateOptions, Q as MachineSourceLocations, Qt as UploadResult, S as EmbedEventName, X as MachineInitOptions, at as ProjectInitOptions, b as EmbedEventHandler, dt as ProjectWorkspaceActionIcon, f as CommentsConfig, gt as ProjectWorkspaceMachineOrigin, h as EditorCapabilities, hn as EmbedPanelPosition, ht as ProjectWorkspaceMachine, i as CapabilityDeniedEvent, j as ExportFormatMap, k as ExportCallOptions, mn as EmbedPanelConfig, mt as ProjectWorkspaceConfig, nn as ViewerOptions, pt as ProjectWorkspaceCapabilities, rt as ProjectEmbedMachine, ut as ProjectWorkspaceAction, v as EmbedDocument, vt as ProjectWorkspaceProject, w as EmbedExtensionsManifest, x as EmbedEventMap, y as EmbedDocumentLanguage, z as InitOptions } from "./protocol-DkcbN7fu.mjs";
3
+ import { $ as MachineVersionAutoSaveOptions, A as ExportFormat, E as EmbedMode, F as HostUpdateOptions, Q as MachineSourceLocations, Qt as UploadResult, S as EmbedEventName, X as MachineInitOptions, at as ProjectInitOptions, b as EmbedEventHandler, dt as ProjectWorkspaceActionIcon, f as CommentsConfig, gt as ProjectWorkspaceMachineOrigin, h as EditorCapabilities, hn as EmbedPanelPosition, ht as ProjectWorkspaceMachine, i as CapabilityDeniedEvent, j as ExportFormatMap, k as ExportCallOptions, mn as EmbedPanelConfig, mt as ProjectWorkspaceConfig, nn as ViewerOptions, pt as ProjectWorkspaceCapabilities, rt as ProjectEmbedMachine, ut as ProjectWorkspaceAction, v as EmbedDocument, vt as ProjectWorkspaceProject, w as EmbedExtensionsManifest, x as EmbedEventMap, y as EmbedDocumentLanguage, z as InitOptions } from "./protocol-D3XQmmmv.mjs";
4
4
  import { AssetUploadAdapter } from "./assetStorage.mjs";
5
5
  import { GraphDiff } from "@statelyai/graph";
6
6
 
package/dist/embed.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./protocol-M3Zeun3o.mjs";
2
- import { c as createPendingExportManager, l as settingsWithViewMode, r as createPostMessageTransport, s as createEventRegistry, t as SDK_VERSION, u as toInitMessage } from "./version-BRCbR47D.mjs";
2
+ import { c as createPendingExportManager, l as settingsWithViewMode, r as createPostMessageTransport, s as createEventRegistry, t as SDK_VERSION, u as toInitMessage } from "./version-gEUUpYtd.mjs";
3
3
  import { EDITOR_PROTOCOL_VERSION } from "./editorHostProtocol.mjs";
4
4
 
5
5
  //#region src/embed.ts
@@ -92,6 +92,8 @@ function extractInitOptions(options) {
92
92
  capabilities: options.capabilities,
93
93
  examples: options.examples,
94
94
  panels: options.panels,
95
+ panelLayout: options.panelLayout,
96
+ defaultPanelSide: options.defaultPanelSide,
95
97
  commentsByMachineId: options.commentsByMachineId,
96
98
  projectWorkspace: options.projectWorkspace,
97
99
  projectWorkspaceOpen: options.projectWorkspaceOpen,
@@ -113,6 +115,8 @@ function extractInitOptions(options) {
113
115
  capabilities: options.capabilities,
114
116
  examples: options.examples,
115
117
  panels: options.panels,
118
+ panelLayout: options.panelLayout,
119
+ defaultPanelSide: options.defaultPanelSide,
116
120
  comments: options.comments,
117
121
  sourceLocations: options.sourceLocations,
118
122
  chrome: options.chrome?.controls ? { controls: options.chrome.controls } : void 0,
@@ -291,6 +295,7 @@ function createStatelyEmbed(options) {
291
295
  graph: change.graph,
292
296
  machineConfig: change.machineConfig,
293
297
  machineId: change.machineId,
298
+ ...change.source ? { source: change.source } : {},
294
299
  patches: change.patches,
295
300
  sourceLocations: change.sourceLocations
296
301
  });
package/dist/index.d.mts CHANGED
@@ -1,13 +1,13 @@
1
1
  import { StatelyApiClientOptions, StatelyApiError, StatelyApiUrlOptions, createStatelyApiClient, createStatelyApiUrl } from "./api.mjs";
2
2
  import { o as GraphPatch, r as ActionLocation } from "./index-DfMkVP94.mjs";
3
3
  import { C as EventTypeData, S as DigraphNodeConfig, _ as studioMachineConverter, a as StatelyGraphData, b as DigraphConfig, c as StatelyInvoke, d as StudioAction, f as StudioEdge, g as fromStudioMachine, h as StudioNode, i as StatelyGraph, l as StatelyNodeData, m as StudioMachine, o as StatelyGuard, r as StatelyEdgeData, t as StatelyAction, v as toStudioMachine, w as StateNodeJSONData, x as DigraphEdgeConfig, y as DigraphAction } from "./graph-CfWCJS4m.mjs";
4
- import { $ as MachineVersionAutoSaveOptions, A as ExportFormat, C as EmbedExample, E as EmbedMode, F as HostUpdateOptions, G as InspectionTakenTransition, I as INSPECTION_PROTOCOL_VERSION, K as InspectorLoadedEvent, L as INSPECTION_ROOM_QUERY_PARAM, Qt as UploadResult, S as EmbedEventName, V as InspectionAction, W as InspectionSentEvent, _ as EmbedChromeOptions, an as createInspectionActorId, b as EmbedEventHandler, cn as isEmbedExample, dn as mergeInspectorSettings, dt as ProjectWorkspaceActionIcon, f as CommentsConfig, fn as resolveInspectorSettings, gt as ProjectWorkspaceMachineOrigin, h as EditorCapabilities, hn as EmbedPanelPosition, ht as ProjectWorkspaceMachine, i as CapabilityDeniedEvent, in as assertEmbedExamples, j as ExportFormatMap, k as ExportCallOptions, ln as isEmbedExampleMachine, m as EMBED_DOCUMENT_LIMITS, mn as EmbedPanelConfig, mt as ProjectWorkspaceConfig, nn as ViewerOptions, on as createInspectionRoomUrls, p as EMBED_DOCUMENT_LANGUAGES, pn as PresentationMetadataInitializer, pt as ProjectWorkspaceCapabilities, q as InspectorSettings, r as CapabilityDeniedCapability, rt as ProjectEmbedMachine, sn as getInspectionRoomId, ut as ProjectWorkspaceAction, v as EmbedDocument, vt as ProjectWorkspaceProject, x as EmbedEventMap, y as EmbedDocumentLanguage, z as InitOptions } from "./protocol-DkcbN7fu.mjs";
4
+ import { $ as MachineVersionAutoSaveOptions, A as ExportFormat, C as EmbedExample, E as EmbedMode, F as HostUpdateOptions, G as InspectionTakenTransition, I as INSPECTION_PROTOCOL_VERSION, K as InspectorLoadedEvent, L as INSPECTION_ROOM_QUERY_PARAM, Qt as UploadResult, S as EmbedEventName, V as InspectionAction, W as InspectionSentEvent, _ as EmbedChromeOptions, an as createInspectionActorId, b as EmbedEventHandler, cn as isEmbedExample, dn as mergeInspectorSettings, dt as ProjectWorkspaceActionIcon, f as CommentsConfig, fn as resolveInspectorSettings, gt as ProjectWorkspaceMachineOrigin, h as EditorCapabilities, hn as EmbedPanelPosition, ht as ProjectWorkspaceMachine, i as CapabilityDeniedEvent, in as assertEmbedExamples, j as ExportFormatMap, k as ExportCallOptions, ln as isEmbedExampleMachine, m as EMBED_DOCUMENT_LIMITS, mn as EmbedPanelConfig, mt as ProjectWorkspaceConfig, nn as ViewerOptions, on as createInspectionRoomUrls, p as EMBED_DOCUMENT_LANGUAGES, pn as PresentationMetadataInitializer, pt as ProjectWorkspaceCapabilities, q as InspectorSettings, r as CapabilityDeniedCapability, rt as ProjectEmbedMachine, sn as getInspectionRoomId, ut as ProjectWorkspaceAction, v as EmbedDocument, vt as ProjectWorkspaceProject, x as EmbedEventMap, y as EmbedDocumentLanguage, z as InitOptions } from "./protocol-D3XQmmmv.mjs";
5
5
  import { AssetUploadAdapter, AssetUploadContext, AssetUploadRequest, CreateS3AssetUploadAdapterOptions, CreateSupabaseAssetUploadAdapterOptions, S3UploadTarget, SupabaseStorageClient, createS3AssetUploadAdapter, createSupabaseAssetUploadAdapter } from "./assetStorage.mjs";
6
6
  import { StatelyAuthMode, StatelyCredential, createAuthorizationHeader, getCredentialToken } from "./auth.mjs";
7
7
  import { EDITOR_PROTOCOL_VERSION, EditorHostDiagnostic, EditorHostExportFormat, EditorHostInboundMessage, EditorHostInitOptions, EditorHostOutboundMessage, EditorHostValidationIssue } from "./editorHostProtocol.mjs";
8
8
  import { AssetConfig, EmbedEntity, EmbedFormatContext, EmbedFormatDefinition, EmbedGraph, EmbedProfileDefinition, PlanSourceUpdateInput, SourceUpdateEdit, SourceUpdatePlan, StatelyEmbed, StatelyEmbedOptions, createStatelyEmbed } from "./embed.mjs";
9
- import { _ as createWebSocketTransport, a as InspectedTransition, c as InspectorDiscoveryEntry, d as ManualActorOptions, f as createInspector, g as createPostMessageTransport, h as TransportFailure, i as InspectedSnapshot, l as InspectorEvents, m as Transport, n as CreateInspectorOptions, o as Inspector, p as createStatelyInspector, r as InspectedEvent, s as InspectorConnection, t as AdoptedActor, u as InspectorInspectionEvent } from "./inspect-0f8OvMck.mjs";
10
- import { A as Machine, C as StudioMachineRecord, D as VerifyApiKeyResponse, E as UpdateProjectInput, F as ProjectVisibility, I as VerifyResult, L as XStateVersion, M as Project, N as ProjectMachineSummary, O as createStatelyClient, P as ProjectSummary, R as ResourceErrorCode, S as StudioClientOptions, T as UpdateMachineInput, _ as ProjectMachine, a as CreateMachineTemplate, b as StudioApiErrorOptions, c as EnsureProjectInput, d as ExtractedMachine, f as GetMachineOptions, g as ProjectData, h as LegacyUpdateMachineInput, i as CreateMachineInput, j as MachineVersion, k as ExtractedMachines, l as ExtractMachinesInput, m as LegacyProjectVisibility, n as CreateMachineFromDefinitionInput, o as CreateProjectInput, r as CreateMachineFromTemplateInput, s as DEFAULT_STATELY_BASE_URL, t as ConnectedRepo, u as ExtractMachinesResponse, v as RepoType, w as StudioRequestOptions, x as StudioClient, y as StudioApiError } from "./studio-DSwp5rXP.mjs";
9
+ import { _ as createWebSocketTransport, a as InspectedTransition, c as InspectorDiscoveryEntry, d as ManualActorOptions, f as createInspector, g as createPostMessageTransport, h as TransportFailure, i as InspectedSnapshot, l as InspectorEvents, m as Transport, n as CreateInspectorOptions, o as Inspector, p as createStatelyInspector, r as InspectedEvent, s as InspectorConnection, t as AdoptedActor, u as InspectorInspectionEvent } from "./inspect-JNvMtuzC.mjs";
10
+ import { A as Machine, C as StudioMachineRecord, D as VerifyApiKeyResponse, E as UpdateProjectInput, F as ProjectVisibility, I as VerifyResult, L as XStateVersion, M as Project, N as ProjectMachineSummary, O as createStatelyClient, P as ProjectSummary, R as ResourceErrorCode, S as StudioClientOptions, T as UpdateMachineInput, _ as ProjectMachine, a as CreateMachineTemplate, b as StudioApiErrorOptions, c as EnsureProjectInput, d as ExtractedMachine, f as GetMachineOptions, g as ProjectData, h as LegacyUpdateMachineInput, i as CreateMachineInput, j as MachineVersion, k as ExtractedMachines, l as ExtractMachinesInput, m as LegacyProjectVisibility, n as CreateMachineFromDefinitionInput, o as CreateProjectInput, r as CreateMachineFromTemplateInput, s as DEFAULT_STATELY_BASE_URL, t as ConnectedRepo, u as ExtractMachinesResponse, v as RepoType, w as StudioRequestOptions, x as StudioClient, y as StudioApiError } from "./studio-ClBs4caM.mjs";
11
11
  import { OAuthAuthorizationServerMetadata, OAuthClientRegistrationResponse, OAuthProtectedResourceMetadata, OAuthTokenResponse, PkcePair, buildAuthorizeUrl, createPkcePair, discoverAuthorizationServer, discoverProtectedResource, exchangeCodeForToken, refreshToken, registerOAuthClient } from "./oauth.mjs";
12
12
  import { CreateInspectionRelayOptions, InspectionRelay, InspectionRelayEffect, InspectionRelayPeer, InspectionRelayRole, InspectionRelaySnapshot, createInspectionRelay } from "./relay.mjs";
13
13
  import { PreviewEvent, PreviewState, connectPreviewHost, createPreview } from "./preview.mjs";
package/dist/index.mjs CHANGED
@@ -1,11 +1,11 @@
1
- import { n as StudioApiError, r as createStatelyClient, t as DEFAULT_STATELY_BASE_URL } from "./studio-uGK1kS0n.mjs";
1
+ import { n as StudioApiError, r as createStatelyClient, t as DEFAULT_STATELY_BASE_URL } from "./studio-DL0yj2Pi.mjs";
2
2
  import { c as createInspectionRoomUrls, d as isEmbedExampleMachine, i as INSPECTION_ROOM_QUERY_PARAM, l as getInspectionRoomId, m as resolveInspectorSettings, n as EMBED_DOCUMENT_LIMITS, o as assertEmbedExamples, p as mergeInspectorSettings, r as INSPECTION_PROTOCOL_VERSION, s as createInspectionActorId, t as EMBED_DOCUMENT_LANGUAGES, u as isEmbedExample } from "./protocol-M3Zeun3o.mjs";
3
- import { i as createWebSocketTransport, r as createPostMessageTransport } from "./version-BRCbR47D.mjs";
3
+ import { i as createWebSocketTransport, r as createPostMessageTransport } from "./version-gEUUpYtd.mjs";
4
4
  import { EDITOR_PROTOCOL_VERSION } from "./editorHostProtocol.mjs";
5
5
  import { createStatelyEmbed } from "./embed.mjs";
6
6
  import { createS3AssetUploadAdapter, createSupabaseAssetUploadAdapter } from "./assetStorage.mjs";
7
7
  import { connectPreviewHost, createPreview } from "./preview.mjs";
8
- import { n as createStatelyInspector, t as createInspector } from "./inspect-CbLY5tk9.mjs";
8
+ import { n as createStatelyInspector, t as createInspector } from "./inspect-DXtP_tPO.mjs";
9
9
  import { createAuthorizationHeader, getCredentialToken } from "./auth.mjs";
10
10
  import { buildAuthorizeUrl, createPkcePair, discoverAuthorizationServer, discoverProtectedResource, exchangeCodeForToken, refreshToken, registerOAuthClient } from "./oauth.mjs";
11
11
  import { StatelyApiError, createStatelyApiClient, createStatelyApiUrl } from "./api.mjs";
@@ -1,5 +1,5 @@
1
1
  import { c as createInspectionRoomUrls, l as getInspectionRoomId, m as resolveInspectorSettings, p as mergeInspectorSettings, r as INSPECTION_PROTOCOL_VERSION } from "./protocol-M3Zeun3o.mjs";
2
- import { a as assertEmbedDocuments, c as createPendingExportManager, i as createWebSocketTransport, n as inspectionRuntime, o as assertEmbedPanels, s as createEventRegistry, t as SDK_VERSION } from "./version-BRCbR47D.mjs";
2
+ import { a as assertEmbedDocuments, c as createPendingExportManager, i as createWebSocketTransport, n as inspectionRuntime, o as assertEmbedPanels, s as createEventRegistry, t as SDK_VERSION } from "./version-gEUUpYtd.mjs";
3
3
  import { isPreviewEvent } from "./preview.mjs";
4
4
 
5
5
  //#region src/openBrowser.ts
@@ -129,7 +129,7 @@ function createInspector(options = {}) {
129
129
  let preferredSessionId = options.selectedSessionId ?? options.selectedActorId;
130
130
  const environmentUrl = typeof process !== "undefined" ? process.env?.STATELY_INSPECT_URL : void 0;
131
131
  const url = options.url ?? environmentUrl ?? "wss://sky.stately.ai";
132
- const { inspectorBaseUrl, name, machines: configuredMachines, serializeSnapshot = defaultSerializeSnapshot, panels, documents, readOnly, depth, capabilities, sessionIdReuse = "stopped", transport: injectedTransport } = options;
132
+ const { inspectorBaseUrl, name, machines: configuredMachines, serializeSnapshot = defaultSerializeSnapshot, panels, panelLayout, defaultPanelSide, documents, readOnly, depth, capabilities, sessionIdReuse = "stopped", transport: injectedTransport } = options;
133
133
  const declaredMachines = { ...configuredMachines };
134
134
  const launch = options.launch ?? (options.autoOpen === true ? "browser" : "none");
135
135
  const extractMachine = options.extractMachine ?? options.extractMachineConfig ?? defaultExtractMachineConfig;
@@ -520,7 +520,9 @@ function createInspector(options = {}) {
520
520
  ...readOnly !== void 0 && { readOnly },
521
521
  ...depth !== void 0 && { depth },
522
522
  ...capabilities !== void 0 && { capabilities },
523
- ...panels && { panels }
523
+ ...panels && { panels },
524
+ ...panelLayout && { panelLayout },
525
+ ...defaultPanelSide && { defaultPanelSide }
524
526
  };
525
527
  }
526
528
  function sendInit() {
@@ -1,4 +1,4 @@
1
- import { A as ExportFormat, G as InspectionTakenTransition, H as InspectionClientMetadata, K as InspectorLoadedEvent, V as InspectionAction, W as InspectionSentEvent, Z as MachinePayload, j as ExportFormatMap, k as ExportCallOptions, nn as ViewerOptions, q as InspectorSettings, x as EmbedEventMap, yt as ProtocolMessage } from "./protocol-DkcbN7fu.mjs";
1
+ import { A as ExportFormat, G as InspectionTakenTransition, H as InspectionClientMetadata, K as InspectorLoadedEvent, V as InspectionAction, W as InspectionSentEvent, Z as MachinePayload, j as ExportFormatMap, k as ExportCallOptions, nn as ViewerOptions, q as InspectorSettings, x as EmbedEventMap, yt as ProtocolMessage } from "./protocol-D3XQmmmv.mjs";
2
2
 
3
3
  //#region src/transport.d.ts
4
4
  interface TransportFailure {
@@ -1,3 +1,3 @@
1
- import { A as ExportFormat, E as EmbedMode, G as InspectionTakenTransition, K as InspectorLoadedEvent, S as EmbedEventName, V as InspectionAction, W as InspectionSentEvent, Z as MachinePayload, b as EmbedEventHandler, h as EditorCapabilities, j as ExportFormatMap, k as ExportCallOptions, mn as EmbedPanelConfig, nn as ViewerOptions, q as InspectorSettings, v as EmbedDocument, x as EmbedEventMap } from "./protocol-DkcbN7fu.mjs";
2
- import { a as InspectedTransition, c as InspectorDiscoveryEntry, d as ManualActorOptions, f as createInspector, i as InspectedSnapshot, l as InspectorEvents, m as Transport, n as CreateInspectorOptions, o as Inspector, p as createStatelyInspector, r as InspectedEvent, s as InspectorConnection, t as AdoptedActor, u as InspectorInspectionEvent } from "./inspect-0f8OvMck.mjs";
1
+ import { A as ExportFormat, E as EmbedMode, G as InspectionTakenTransition, K as InspectorLoadedEvent, S as EmbedEventName, V as InspectionAction, W as InspectionSentEvent, Z as MachinePayload, b as EmbedEventHandler, h as EditorCapabilities, j as ExportFormatMap, k as ExportCallOptions, mn as EmbedPanelConfig, nn as ViewerOptions, q as InspectorSettings, v as EmbedDocument, x as EmbedEventMap } from "./protocol-D3XQmmmv.mjs";
2
+ import { a as InspectedTransition, c as InspectorDiscoveryEntry, d as ManualActorOptions, f as createInspector, i as InspectedSnapshot, l as InspectorEvents, m as Transport, n as CreateInspectorOptions, o as Inspector, p as createStatelyInspector, r as InspectedEvent, s as InspectorConnection, t as AdoptedActor, u as InspectorInspectionEvent } from "./inspect-JNvMtuzC.mjs";
3
3
  export { AdoptedActor, CreateInspectorOptions, EditorCapabilities, EmbedDocument, EmbedEventHandler, EmbedEventMap, EmbedEventName, EmbedMode, EmbedPanelConfig, ExportCallOptions, ExportFormat, ExportFormatMap, InspectedEvent, InspectedSnapshot, InspectedTransition, InspectionAction, InspectionSentEvent, InspectionTakenTransition, Inspector, InspectorConnection, InspectorDiscoveryEntry, InspectorEvents, InspectorInspectionEvent, InspectorLoadedEvent, InspectorSettings, MachinePayload, ManualActorOptions, Transport, ViewerOptions, createInspector, createStatelyInspector };
package/dist/inspect.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import "./protocol-M3Zeun3o.mjs";
2
- import "./version-BRCbR47D.mjs";
2
+ import "./version-gEUUpYtd.mjs";
3
3
  import "./preview.mjs";
4
- import { n as createStatelyInspector, t as createInspector } from "./inspect-CbLY5tk9.mjs";
4
+ import { n as createStatelyInspector, t as createInspector } from "./inspect-DXtP_tPO.mjs";
5
5
 
6
6
  export { createInspector, createStatelyInspector };
@@ -267,7 +267,8 @@ interface EmbedEventMap {
267
267
  change: {
268
268
  graph: StatelyGraph;
269
269
  machineConfig: unknown;
270
- machineId?: string;
270
+ machineId?: string; /** See `ChangeMessage.source`. */
271
+ source?: 'external' | 'layout';
271
272
  patches?: unknown[];
272
273
  sourceLocations?: MachineSourceLocations;
273
274
  };
@@ -368,6 +369,19 @@ interface ViewerOptions<Settings = Record<string, unknown>> {
368
369
  /** Ephemeral, read-only reference documents owned by the host. */
369
370
  documents?: EmbedDocument[];
370
371
  panels?: EmbedPanelConfig[];
372
+ /**
373
+ * How panels adapt to the embed's size. `'auto'` (default) follows the
374
+ * container: at 900px or narrower at most one panel opens initially, at
375
+ * 560px or narrower panel tabs dock at the bottom, and mouse users never get
376
+ * the touch phone layout. `'fixed'` uses the app's viewport breakpoints.
377
+ */
378
+ panelLayout?: 'auto' | 'fixed';
379
+ /**
380
+ * Side that every side panel opens on when the editor is 900px wide or
381
+ * narrower, so two panels never squeeze the canvas. Defaults to the
382
+ * `panels.defaultSide` setting (`'right'`).
383
+ */
384
+ defaultPanelSide?: 'left' | 'right';
371
385
  theme?: 'light' | 'dark';
372
386
  viewMode?: 'graph' | 'list';
373
387
  settings?: Settings;
@@ -734,8 +748,15 @@ interface ChangeMessage {
734
748
  graph: StatelyGraph;
735
749
  machineConfig: unknown;
736
750
  machineId?: string;
737
- /** The editor has applied a host source refresh, not a visual edit. */
738
- source?: 'external';
751
+ /**
752
+ * `external`: the editor has applied a host source refresh, not a visual
753
+ * edit. `layout`: positions from an automatic layout of a machine (or
754
+ * region) that had no stored layout. Persist them so later loads skip
755
+ * automatic layout. Only sent when the user can edit; not an unsaved change.
756
+ */
757
+ source?: 'external' | 'layout';
758
+ /** Internal persistence payload sent with Studio-linked layout changes. */
759
+ serialized?: Record<string, string>;
739
760
  /** Source version beneath the visible graph when a draft is retained. */
740
761
  sourceBaselineGraph?: StatelyGraph;
741
762
  patches?: unknown[];
@@ -1,2 +1,2 @@
1
- import { $ as MachineVersionAutoSaveOptions, $t as ValidationIssue, A as ExportFormat, At as SetApiKeyMessage, B as InspectSnapshotMessage, Bt as SystemActorStoppedMessage, C as EmbedExample, Ct as RegisteredMessage, D as ErrorCode, Dt as SavedMessage, E as EmbedMode, Et as SaveMessage, F as HostUpdateOptions, Ft as SourceRange, G as InspectionTakenTransition, Gt as ToastDismissMessage, H as InspectionClientMetadata, Ht as SystemLoadedMessage, I as INSPECTION_PROTOCOL_VERSION, It as StateSourceLocation, J as LoadedMessage, Jt as UploadCapabilitiesMessage, K as InspectorLoadedEvent, Kt as ToastMessage, L as INSPECTION_ROOM_QUERY_PARAM, Lt as SystemActorEventMessage, M as ExtensionCallMessage, Mt as SetSettingsMessage, N as ExtensionResultMessage, Nt as SetThemeMessage, O as ErrorMessage, Ot as SerializedInspectionMachine, P as HighlightMessage, Pt as SourceLocation, Q as MachineSourceLocations, Qt as UploadResult, R as InitMessage, Rt as SystemActorRegisteredMessage, S as EmbedEventName, St as RegisterMessage, T as EmbedFormatManifest, Tt as RetrievedMessage, U as InspectionRoomUrls, Ut as SystemSelectActorMessage, V as InspectionAction, Vt as SystemInitMessage, W as InspectionSentEvent, Wt as SystemSendEventMessage, X as MachineInitOptions, Xt as UploadRequestMessage, Y as LoginMessage, Yt as UploadFileInfo, Z as MachinePayload, Zt as UploadResponseMessage, _ as EmbedChromeOptions, _t as ProjectWorkspaceOpenChangedMessage, a as CapabilityDeniedMessage, an as createInspectionActorId, at as ProjectInitOptions, b as EmbedEventHandler, bt as ReadOnlyReason, c as ClipboardReadMessage, cn as isEmbedExample, ct as ProjectSetWorkspaceOpenMessage, d as ClipboardWriteResponseMessage, dn as mergeInspectorSettings, dt as ProjectWorkspaceActionIcon, en as VersionSaveRequestedMessage, et as ModeChangedMessage, f as CommentsConfig, fn as resolveInspectorSettings, ft as ProjectWorkspaceActionMessage, g as EditorHandshakeMessage, gt as ProjectWorkspaceMachineOrigin, h as EditorCapabilities, hn as EmbedPanelPosition, ht as ProjectWorkspaceMachine, i as CapabilityDeniedEvent, in as assertEmbedExamples, it as ProjectInitMessage, j as ExportFormatMap, jt as SetModeMessage, k as ExportCallOptions, kt as SessionMessage, l as ClipboardReadResponseMessage, ln as isEmbedExampleMachine, lt as ProjectUpdateMessage, m as EMBED_DOCUMENT_LIMITS, mn as EmbedPanelConfig, mt as ProjectWorkspaceConfig, n as AuthenticationRecovery, nn as ViewerOptions, nt as PanelChangedMessage, o as ChangeMessage, on as createInspectionRoomUrls, ot as ProjectMachineSelectedMessage, p as EMBED_DOCUMENT_LANGUAGES, pt as ProjectWorkspaceCapabilities, q as InspectorSettings, qt as UpdateMessage, r as CapabilityDeniedCapability, rn as VizMessage, rt as ProjectEmbedMachine, s as ClientMessage, sn as getInspectionRoomId, st as ProjectSelectMachineMessage, t as ActorSystemEntry, tn as ViewModeChangedMessage, tt as PREFIX, u as ClipboardWriteMessage, un as isSerializedInspectionMachine, ut as ProjectWorkspaceAction, v as EmbedDocument, vt as ProjectWorkspaceProject, w as EmbedExtensionsManifest, wt as RetrieveMessage, x as EmbedEventMap, xt as ReadyMessage, y as EmbedDocumentLanguage, yt as ProtocolMessage, z as InitOptions, zt as SystemActorSnapshotMessage } from "./protocol-DkcbN7fu.mjs";
1
+ import { $ as MachineVersionAutoSaveOptions, $t as ValidationIssue, A as ExportFormat, At as SetApiKeyMessage, B as InspectSnapshotMessage, Bt as SystemActorStoppedMessage, C as EmbedExample, Ct as RegisteredMessage, D as ErrorCode, Dt as SavedMessage, E as EmbedMode, Et as SaveMessage, F as HostUpdateOptions, Ft as SourceRange, G as InspectionTakenTransition, Gt as ToastDismissMessage, H as InspectionClientMetadata, Ht as SystemLoadedMessage, I as INSPECTION_PROTOCOL_VERSION, It as StateSourceLocation, J as LoadedMessage, Jt as UploadCapabilitiesMessage, K as InspectorLoadedEvent, Kt as ToastMessage, L as INSPECTION_ROOM_QUERY_PARAM, Lt as SystemActorEventMessage, M as ExtensionCallMessage, Mt as SetSettingsMessage, N as ExtensionResultMessage, Nt as SetThemeMessage, O as ErrorMessage, Ot as SerializedInspectionMachine, P as HighlightMessage, Pt as SourceLocation, Q as MachineSourceLocations, Qt as UploadResult, R as InitMessage, Rt as SystemActorRegisteredMessage, S as EmbedEventName, St as RegisterMessage, T as EmbedFormatManifest, Tt as RetrievedMessage, U as InspectionRoomUrls, Ut as SystemSelectActorMessage, V as InspectionAction, Vt as SystemInitMessage, W as InspectionSentEvent, Wt as SystemSendEventMessage, X as MachineInitOptions, Xt as UploadRequestMessage, Y as LoginMessage, Yt as UploadFileInfo, Z as MachinePayload, Zt as UploadResponseMessage, _ as EmbedChromeOptions, _t as ProjectWorkspaceOpenChangedMessage, a as CapabilityDeniedMessage, an as createInspectionActorId, at as ProjectInitOptions, b as EmbedEventHandler, bt as ReadOnlyReason, c as ClipboardReadMessage, cn as isEmbedExample, ct as ProjectSetWorkspaceOpenMessage, d as ClipboardWriteResponseMessage, dn as mergeInspectorSettings, dt as ProjectWorkspaceActionIcon, en as VersionSaveRequestedMessage, et as ModeChangedMessage, f as CommentsConfig, fn as resolveInspectorSettings, ft as ProjectWorkspaceActionMessage, g as EditorHandshakeMessage, gt as ProjectWorkspaceMachineOrigin, h as EditorCapabilities, hn as EmbedPanelPosition, ht as ProjectWorkspaceMachine, i as CapabilityDeniedEvent, in as assertEmbedExamples, it as ProjectInitMessage, j as ExportFormatMap, jt as SetModeMessage, k as ExportCallOptions, kt as SessionMessage, l as ClipboardReadResponseMessage, ln as isEmbedExampleMachine, lt as ProjectUpdateMessage, m as EMBED_DOCUMENT_LIMITS, mn as EmbedPanelConfig, mt as ProjectWorkspaceConfig, n as AuthenticationRecovery, nn as ViewerOptions, nt as PanelChangedMessage, o as ChangeMessage, on as createInspectionRoomUrls, ot as ProjectMachineSelectedMessage, p as EMBED_DOCUMENT_LANGUAGES, pt as ProjectWorkspaceCapabilities, q as InspectorSettings, qt as UpdateMessage, r as CapabilityDeniedCapability, rn as VizMessage, rt as ProjectEmbedMachine, s as ClientMessage, sn as getInspectionRoomId, st as ProjectSelectMachineMessage, t as ActorSystemEntry, tn as ViewModeChangedMessage, tt as PREFIX, u as ClipboardWriteMessage, un as isSerializedInspectionMachine, ut as ProjectWorkspaceAction, v as EmbedDocument, vt as ProjectWorkspaceProject, w as EmbedExtensionsManifest, wt as RetrieveMessage, x as EmbedEventMap, xt as ReadyMessage, y as EmbedDocumentLanguage, yt as ProtocolMessage, z as InitOptions, zt as SystemActorSnapshotMessage } from "./protocol-D3XQmmmv.mjs";
2
2
  export { ActorSystemEntry, AuthenticationRecovery, CapabilityDeniedCapability, CapabilityDeniedEvent, CapabilityDeniedMessage, ChangeMessage, ClientMessage, ClipboardReadMessage, ClipboardReadResponseMessage, ClipboardWriteMessage, ClipboardWriteResponseMessage, CommentsConfig, EMBED_DOCUMENT_LANGUAGES, EMBED_DOCUMENT_LIMITS, EditorCapabilities, EditorHandshakeMessage, EmbedChromeOptions, EmbedDocument, EmbedDocumentLanguage, EmbedEventHandler, EmbedEventMap, EmbedEventName, EmbedExample, EmbedExtensionsManifest, EmbedFormatManifest, EmbedMode, EmbedPanelConfig, EmbedPanelPosition, ErrorCode, ErrorMessage, ExportCallOptions, ExportFormat, ExportFormatMap, ExtensionCallMessage, ExtensionResultMessage, HighlightMessage, HostUpdateOptions, INSPECTION_PROTOCOL_VERSION, INSPECTION_ROOM_QUERY_PARAM, InitMessage, InitOptions, InspectSnapshotMessage, InspectionAction, InspectionClientMetadata, InspectionRoomUrls, InspectionSentEvent, InspectionTakenTransition, InspectorLoadedEvent, InspectorSettings, LoadedMessage, LoginMessage, MachineInitOptions, MachinePayload, MachineSourceLocations, MachineVersionAutoSaveOptions, ModeChangedMessage, PREFIX, PanelChangedMessage, ProjectEmbedMachine, ProjectInitMessage, ProjectInitOptions, ProjectMachineSelectedMessage, ProjectSelectMachineMessage, ProjectSetWorkspaceOpenMessage, ProjectUpdateMessage, ProjectWorkspaceAction, ProjectWorkspaceActionIcon, ProjectWorkspaceActionMessage, ProjectWorkspaceCapabilities, ProjectWorkspaceConfig, ProjectWorkspaceMachine, ProjectWorkspaceMachineOrigin, ProjectWorkspaceOpenChangedMessage, ProjectWorkspaceProject, ProtocolMessage, ReadOnlyReason, ReadyMessage, RegisterMessage, RegisteredMessage, RetrieveMessage, RetrievedMessage, SaveMessage, SavedMessage, SerializedInspectionMachine, SessionMessage, SetApiKeyMessage, SetModeMessage, SetSettingsMessage, SetThemeMessage, SourceLocation, SourceRange, StateSourceLocation, SystemActorEventMessage, SystemActorRegisteredMessage, SystemActorSnapshotMessage, SystemActorStoppedMessage, SystemInitMessage, SystemLoadedMessage, SystemSelectActorMessage, SystemSendEventMessage, ToastDismissMessage, ToastMessage, UpdateMessage, UploadCapabilitiesMessage, UploadFileInfo, UploadRequestMessage, UploadResponseMessage, UploadResult, ValidationIssue, VersionSaveRequestedMessage, ViewModeChangedMessage, ViewerOptions, VizMessage, assertEmbedExamples, createInspectionActorId, createInspectionRoomUrls, getInspectionRoomId, isEmbedExample, isEmbedExampleMachine, isSerializedInspectionMachine, mergeInspectorSettings, resolveInspectorSettings };
package/dist/relay.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { yt as ProtocolMessage } from "./protocol-DkcbN7fu.mjs";
1
+ import { yt as ProtocolMessage } from "./protocol-D3XQmmmv.mjs";
2
2
  //#region src/relay.d.ts
3
3
  type InspectionRelayRole = 'producer' | 'viewer';
4
4
  interface InspectionRelayPeer {
package/dist/relay.mjs CHANGED
@@ -22,7 +22,8 @@ const FORWARD_ONLY_MESSAGE_TYPES = new Set([
22
22
  "@statelyai.capabilityDenied",
23
23
  "@statelyai.system.sendEvent",
24
24
  "@statelyai.register",
25
- "@statelyai.registered"
25
+ "@statelyai.registered",
26
+ "@statelyai.login"
26
27
  ]);
27
28
  function isSupportedMessageType(type) {
28
29
  return REPLAYABLE_MESSAGE_TYPES.has(type) || FORWARD_ONLY_MESSAGE_TYPES.has(type);
@@ -154,7 +154,7 @@ declare const machineSchema: ZodObject<{
154
154
  definition: ZodUnknown;
155
155
  graph: ZodOptional<ZodObject<{
156
156
  xgraphSchemaVersion: ZodOptional<ZodLiteral<"1.0.0">>;
157
- id: ZodString;
157
+ id: ZodOptional<ZodString>;
158
158
  type: ZodOptional<ZodString>;
159
159
  parentId: ZodOptional<ZodNullable<ZodString>>;
160
160
  initialNodeId: ZodOptional<ZodNullable<ZodString>>;
@@ -183,7 +183,7 @@ declare const machineSchema: ZodObject<{
183
183
  sourceId: ZodString;
184
184
  targetId: ZodString;
185
185
  label: ZodOptional<ZodNullable<ZodString>>;
186
- data: ZodUnknown;
186
+ data: ZodOptional<ZodUnknown>;
187
187
  x: ZodOptional<ZodNumber>;
188
188
  y: ZodOptional<ZodNumber>;
189
189
  width: ZodOptional<ZodNumber>;
@@ -14020,7 +14020,7 @@ const xgraphEdgeSchema = object({
14020
14020
  sourceId: string$1(),
14021
14021
  targetId: string$1(),
14022
14022
  label: string$1().nullable().optional(),
14023
- data: unknown(),
14023
+ data: unknown().optional(),
14024
14024
  x: number$1().optional(),
14025
14025
  y: number$1().optional(),
14026
14026
  width: number$1().optional(),
@@ -14032,7 +14032,7 @@ const xgraphEdgeSchema = object({
14032
14032
  /** XGraph wire shape accepted and emitted at API boundaries. */
14033
14033
  const xgraphSchema = object({
14034
14034
  xgraphSchemaVersion: literal("1.0.0").optional(),
14035
- id: string$1(),
14035
+ id: string$1().optional(),
14036
14036
  type: string$1().optional(),
14037
14037
  parentId: string$1().nullable().optional(),
14038
14038
  initialNodeId: string$1().nullable().optional(),
package/dist/studio.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { A as Machine, C as StudioMachineRecord, D as VerifyApiKeyResponse, E as UpdateProjectInput, F as ProjectVisibility, I as VerifyResult, L as XStateVersion, M as Project, N as ProjectMachineSummary, O as createStatelyClient, P as ProjectSummary, R as ResourceErrorCode, S as StudioClientOptions, T as UpdateMachineInput, _ as ProjectMachine, a as CreateMachineTemplate, b as StudioApiErrorOptions, c as EnsureProjectInput, d as ExtractedMachine, f as GetMachineOptions, g as ProjectData, h as LegacyUpdateMachineInput, i as CreateMachineInput, j as MachineVersion, k as ExtractedMachines, l as ExtractMachinesInput, m as LegacyProjectVisibility, n as CreateMachineFromDefinitionInput, o as CreateProjectInput, p as LegacyExtractMachinesOptions, r as CreateMachineFromTemplateInput, s as DEFAULT_STATELY_BASE_URL, t as ConnectedRepo, u as ExtractMachinesResponse, v as RepoType, w as StudioRequestOptions, x as StudioClient, y as StudioApiError } from "./studio-DSwp5rXP.mjs";
1
+ import { A as Machine, C as StudioMachineRecord, D as VerifyApiKeyResponse, E as UpdateProjectInput, F as ProjectVisibility, I as VerifyResult, L as XStateVersion, M as Project, N as ProjectMachineSummary, O as createStatelyClient, P as ProjectSummary, R as ResourceErrorCode, S as StudioClientOptions, T as UpdateMachineInput, _ as ProjectMachine, a as CreateMachineTemplate, b as StudioApiErrorOptions, c as EnsureProjectInput, d as ExtractedMachine, f as GetMachineOptions, g as ProjectData, h as LegacyUpdateMachineInput, i as CreateMachineInput, j as MachineVersion, k as ExtractedMachines, l as ExtractMachinesInput, m as LegacyProjectVisibility, n as CreateMachineFromDefinitionInput, o as CreateProjectInput, p as LegacyExtractMachinesOptions, r as CreateMachineFromTemplateInput, s as DEFAULT_STATELY_BASE_URL, t as ConnectedRepo, u as ExtractMachinesResponse, v as RepoType, w as StudioRequestOptions, x as StudioClient, y as StudioApiError } from "./studio-ClBs4caM.mjs";
2
2
  export { ConnectedRepo, CreateMachineFromDefinitionInput, CreateMachineFromTemplateInput, CreateMachineInput, CreateMachineTemplate, CreateProjectInput, DEFAULT_STATELY_BASE_URL, EnsureProjectInput, ExtractMachinesInput, ExtractMachinesResponse, ExtractedMachine, ExtractedMachines, GetMachineOptions, LegacyExtractMachinesOptions, LegacyProjectVisibility, LegacyUpdateMachineInput, Machine, MachineVersion, Project, ProjectData, ProjectMachine, ProjectMachineSummary, ProjectSummary, ProjectVisibility, RepoType, ResourceErrorCode, StudioApiError, StudioApiErrorOptions, StudioClient, StudioClientOptions, StudioMachineRecord, StudioRequestOptions, UpdateMachineInput, UpdateProjectInput, VerifyApiKeyResponse, VerifyResult, XStateVersion, createStatelyClient };
package/dist/studio.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { n as StudioApiError, r as createStatelyClient, t as DEFAULT_STATELY_BASE_URL } from "./studio-uGK1kS0n.mjs";
1
+ import { n as StudioApiError, r as createStatelyClient, t as DEFAULT_STATELY_BASE_URL } from "./studio-DL0yj2Pi.mjs";
2
2
  import "./auth.mjs";
3
3
 
4
4
  export { DEFAULT_STATELY_BASE_URL, StudioApiError, createStatelyClient };
@@ -144,6 +144,8 @@ function toInitMessage(options) {
144
144
  capabilities: options.capabilities,
145
145
  examples: options.examples,
146
146
  panels: options.panels,
147
+ panelLayout: options.panelLayout,
148
+ defaultPanelSide: options.defaultPanelSide,
147
149
  commentsByMachineId: options.commentsByMachineId,
148
150
  projectWorkspace: options.projectWorkspace,
149
151
  projectWorkspaceOpen: options.projectWorkspaceOpen,
@@ -165,6 +167,8 @@ function toInitMessage(options) {
165
167
  capabilities: options.capabilities,
166
168
  examples: options.examples,
167
169
  panels: options.panels,
170
+ panelLayout: options.panelLayout,
171
+ defaultPanelSide: options.defaultPanelSide,
168
172
  comments: options.comments,
169
173
  sourceLocations: options.sourceLocations,
170
174
  chrome: options.chrome,
@@ -379,7 +383,7 @@ function createWebSocketTransport(options) {
379
383
 
380
384
  //#endregion
381
385
  //#region src/version.ts
382
- const SDK_VERSION = "0.38.2";
386
+ const SDK_VERSION = "0.39.1";
383
387
  function inspectionRuntime() {
384
388
  if (typeof window !== "undefined") return "browser";
385
389
  if (typeof process !== "undefined" && process.versions?.node) return "node";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@statelyai/sdk",
3
- "version": "0.38.2",
3
+ "version": "0.39.1",
4
4
  "license": "MIT",
5
5
  "bin": {
6
6
  "stately-sdk": "./dist/bin.mjs"
@@ -96,8 +96,8 @@
96
96
  "ws": "^8.19.0",
97
97
  "xstate": "^5.0.0",
98
98
  "xstate-v6": "npm:xstate@6.0.0-alpha.65",
99
- "@statelyai/api-contract": "0.6.3",
100
- "@statelyai/graph-tools": "0.9.7"
99
+ "@statelyai/api-contract": "0.7.1",
100
+ "@statelyai/graph-tools": "0.10.2"
101
101
  },
102
102
  "peerDependencies": {
103
103
  "ws": "^8.19.0"