@statelyai/sdk 0.38.2 → 0.39.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.
@@ -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-hQHX5bet.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,12 +1,12 @@
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";
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
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";
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";
package/dist/index.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  import { n as StudioApiError, r as createStatelyClient, t as DEFAULT_STATELY_BASE_URL } from "./studio-uGK1kS0n.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-hQHX5bet.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-Bs7a6Sbq.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-hQHX5bet.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-hQHX5bet.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-Bs7a6Sbq.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 {
@@ -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.0";
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.0",
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.6.5",
100
+ "@statelyai/graph-tools": "0.10.0"
101
101
  },
102
102
  "peerDependencies": {
103
103
  "ws": "^8.19.0"