mindoodb-app-sdk 0.0.60 → 0.0.62

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/README.md CHANGED
@@ -435,18 +435,55 @@ const embed = await session.embeds.open({
435
435
  componentKey: sheet.key,
436
436
  databaseId: "crm",
437
437
  docId: doc.id,
438
- rect: panel.getBoundingClientRect(), // in this app's viewport
438
+ container: panel, // a positioned element; the component fills it
439
439
  });
440
- new ResizeObserver(() => void embed.setRect(panel.getBoundingClientRect())).observe(panel);
441
440
  const closed = await embed.closed; // { reason: "completed" | "cancelled" | "closed" | "error", result? }
442
441
  ```
443
442
 
444
- Haven lays the component's frame over the rectangle, above the host's frame, so the
445
- host cannot draw on top of it; hide it with `embed.setVisible(false)` while a dialog of
446
- the host should be visible. The first time a host embeds a component, Haven asks the user.
443
+ The SDK puts a frame into `container`, so the component is part of the host's page: it
444
+ scrolls, clips and resizes with it, and the host's menus and dialogs cover it like any
445
+ other element. The frame holds a page from Haven's origin that loads the component and
446
+ hands its connection to Haven, so the host cannot reach into the component or its data
447
+ channel. Haven tells the SDK where the container is (for the component's own menus);
448
+ the SDK follows the container's size and position by itself.
449
+
450
+ **Unsaved changes.** A component reports whether it has changes it has not saved yet,
451
+ and saves when its host asks:
452
+
453
+ ```ts
454
+ // component
455
+ watch(isDirty, (dirty) => void session.embedding.setDirty(dirty));
456
+ session.embedding.onSaveRequest(() => saveFile()); // throw to report a failure
457
+
458
+ // host, e.g. when the user closes the tab
459
+ if (embed.dirty) {
460
+ const choice = await askSaveDiscardCancel();
461
+ if (choice === "cancel") return;
462
+ if (choice === "save") await embed.save(); // rejects with the component's error
463
+ await embed.close({ discard: choice === "discard" });
464
+ } else {
465
+ await embed.close(); // the component may still flush (onBeforeClose)
466
+ }
467
+ ```
468
+
469
+ `embed.dirty` is `undefined` until the component reports anything, so a component that
470
+ never does is closed without asking; `embed.onDirtyChange` lets the host mark it (e.g. a
471
+ dot in its tab). `embed.save()` rejects with `unsupported` when the component has no save
472
+ handler.
473
+
474
+ Havens that predate this lay the component over the container instead, above the host's
475
+ frame (`embed.placement === "overlay"`). The host then cannot draw on top of it: hide it
476
+ with `embed.setVisible(false)` while a menu or dialog of the host should be visible.
477
+ Without a `container`, pass `rect` (in this app's viewport) and keep it current with
478
+ `embed.setRect` to get that overlay explicitly.
479
+
480
+ The first time a host embeds a component, Haven asks the user.
447
481
  In tests, `createMockMindooDBAppSession({ components })` records embeds
448
482
  (`listEmbeds`, `closeEmbed`), and the `/__haven-test/` page draws a stand-in with
449
- Done/Cancel buttons.
483
+ Done/Cancel buttons over the container. `createFakeBridgeHost({ embedFrameUrl })`
484
+ answers like a current Haven, so the SDK frames that URL in the container. Both
485
+ controllers simulate unsaved changes: `setEmbedDirty`, `failNextEmbedSave`, and for an
486
+ app under test that is a component, `getEmbeddingDirty` and `requestEmbeddingSave`.
450
487
 
451
488
  ### Databases and capabilities
452
489
 
@@ -1342,6 +1342,9 @@ import { parseMindooDBFormulaBooleanExpression } from "mindoodb-view-language";
1342
1342
  function isEmbedEventMessage(message) {
1343
1343
  return message.kind === "embed-event";
1344
1344
  }
1345
+ function isEmbeddingRequestMessage(message) {
1346
+ return message.kind === "embedding-request";
1347
+ }
1345
1348
  function toRect(rect) {
1346
1349
  return {
1347
1350
  left: Number(rect.left) || 0,
@@ -1350,26 +1353,123 @@ function toRect(rect) {
1350
1353
  height: Math.max(0, Number(rect.height) || 0)
1351
1354
  };
1352
1355
  }
1356
+ function containerRect(container) {
1357
+ const bounds = container.getBoundingClientRect();
1358
+ return toRect({ left: bounds.left, top: bounds.top, width: bounds.width, height: bounds.height });
1359
+ }
1360
+ var ContainerTracker = class {
1361
+ constructor(container, report) {
1362
+ this.container = container;
1363
+ this.report = report;
1364
+ this.observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(this.schedule);
1365
+ this.observer?.observe(container);
1366
+ window.addEventListener("resize", this.schedule);
1367
+ window.addEventListener("scroll", this.schedule, true);
1368
+ }
1369
+ container;
1370
+ report;
1371
+ frameRequest = null;
1372
+ observer;
1373
+ schedule = () => {
1374
+ if (this.frameRequest !== null) {
1375
+ return;
1376
+ }
1377
+ this.frameRequest = window.requestAnimationFrame(() => {
1378
+ this.frameRequest = null;
1379
+ this.report(containerRect(this.container));
1380
+ });
1381
+ };
1382
+ dispose() {
1383
+ this.observer?.disconnect();
1384
+ window.removeEventListener("resize", this.schedule);
1385
+ window.removeEventListener("scroll", this.schedule, true);
1386
+ if (this.frameRequest !== null) {
1387
+ window.cancelAnimationFrame(this.frameRequest);
1388
+ }
1389
+ }
1390
+ };
1391
+ function createComponentFrame(container, url, allow) {
1392
+ const frame = container.ownerDocument.createElement("iframe");
1393
+ frame.src = url;
1394
+ if (allow) {
1395
+ frame.setAttribute("allow", allow);
1396
+ }
1397
+ frame.setAttribute("referrerpolicy", "strict-origin-when-cross-origin");
1398
+ frame.dataset.mindoodbEmbed = "";
1399
+ Object.assign(frame.style, {
1400
+ position: "absolute",
1401
+ inset: "0",
1402
+ width: "100%",
1403
+ height: "100%",
1404
+ border: "0",
1405
+ display: "block"
1406
+ });
1407
+ container.appendChild(frame);
1408
+ return frame;
1409
+ }
1353
1410
  var MindooDBAppEmbedImpl = class {
1354
- constructor(rpc, embedId, componentKey, databaseId, docId) {
1411
+ constructor(rpc, embedId, componentKey, databaseId, docId, frame, container) {
1355
1412
  this.rpc = rpc;
1356
1413
  this.embedId = embedId;
1357
1414
  this.componentKey = componentKey;
1358
1415
  this.databaseId = databaseId;
1359
1416
  this.docId = docId;
1417
+ this.frame = frame;
1360
1418
  this.closed = new Promise((resolve) => {
1361
1419
  this.resolveClosed = resolve;
1362
1420
  });
1421
+ if (container) {
1422
+ this.tracker = new ContainerTracker(container, (rect) => {
1423
+ void this.setRect(rect).catch(() => {
1424
+ });
1425
+ });
1426
+ }
1363
1427
  }
1364
1428
  rpc;
1365
1429
  embedId;
1366
1430
  componentKey;
1367
1431
  databaseId;
1368
1432
  docId;
1433
+ frame;
1369
1434
  closed;
1370
1435
  resolveClosed;
1371
1436
  closedEvent = null;
1372
1437
  listeners = /* @__PURE__ */ new Set();
1438
+ dirtyListeners = /* @__PURE__ */ new Set();
1439
+ dirtyState = void 0;
1440
+ tracker = null;
1441
+ get placement() {
1442
+ return this.frame ? "frame" : "overlay";
1443
+ }
1444
+ get dirty() {
1445
+ return this.dirtyState;
1446
+ }
1447
+ onDirtyChange(listener) {
1448
+ this.dirtyListeners.add(listener);
1449
+ return () => {
1450
+ this.dirtyListeners.delete(listener);
1451
+ };
1452
+ }
1453
+ /** The component reported its unsaved-changes state. */
1454
+ setDirtyState(dirty) {
1455
+ if (this.closedEvent || this.dirtyState === dirty) {
1456
+ return;
1457
+ }
1458
+ this.dirtyState = dirty;
1459
+ this.dirtyListeners.forEach((listener) => {
1460
+ try {
1461
+ listener(dirty);
1462
+ } catch (error) {
1463
+ console.error("MindooDB embed dirty listener failed.", error);
1464
+ }
1465
+ });
1466
+ }
1467
+ async save() {
1468
+ if (this.closedEvent) {
1469
+ return;
1470
+ }
1471
+ await this.rpc.call("embeds.save", { embedId: this.embedId });
1472
+ }
1373
1473
  async setRect(rect) {
1374
1474
  if (this.closedEvent) {
1375
1475
  return;
@@ -1380,11 +1480,18 @@ var MindooDBAppEmbedImpl = class {
1380
1480
  if (this.closedEvent) {
1381
1481
  return;
1382
1482
  }
1483
+ if (this.frame) {
1484
+ this.frame.style.visibility = visible ? "" : "hidden";
1485
+ return;
1486
+ }
1383
1487
  await this.rpc.call("embeds.setVisible", { embedId: this.embedId, visible: visible === true });
1384
1488
  }
1385
- async close() {
1489
+ async close(options) {
1386
1490
  if (!this.closedEvent) {
1387
- await this.rpc.call("embeds.close", { embedId: this.embedId });
1491
+ await this.rpc.call("embeds.close", {
1492
+ embedId: this.embedId,
1493
+ ...options?.discard ? { discard: true } : {}
1494
+ });
1388
1495
  }
1389
1496
  return await this.closed;
1390
1497
  }
@@ -1405,6 +1512,9 @@ var MindooDBAppEmbedImpl = class {
1405
1512
  return;
1406
1513
  }
1407
1514
  this.closedEvent = event;
1515
+ this.tracker?.dispose();
1516
+ this.tracker = null;
1517
+ this.frame?.remove();
1408
1518
  this.resolveClosed(event);
1409
1519
  this.listeners.forEach((listener) => {
1410
1520
  try {
@@ -1414,13 +1524,31 @@ var MindooDBAppEmbedImpl = class {
1414
1524
  }
1415
1525
  });
1416
1526
  this.listeners.clear();
1527
+ this.dirtyListeners.clear();
1417
1528
  }
1418
1529
  };
1419
1530
  var MindooDBAppEmbedsClient = class {
1420
1531
  constructor(rpc) {
1421
1532
  this.rpc = rpc;
1422
1533
  this.stopListening = this.rpc.addMessageListener((message) => {
1423
- if (!isEmbedEventMessage(message) || message.event?.type !== "closed") {
1534
+ if (isEmbeddingRequestMessage(message)) {
1535
+ void this.answerRequest(message);
1536
+ return;
1537
+ }
1538
+ if (!isEmbedEventMessage(message)) {
1539
+ return;
1540
+ }
1541
+ if (message.event?.type === "dirty") {
1542
+ const { embedId, dirty } = message.event;
1543
+ const embed2 = this.open.get(embedId);
1544
+ if (embed2) {
1545
+ embed2.setDirtyState(dirty === true);
1546
+ } else {
1547
+ this.earlyDirty.set(embedId, dirty === true);
1548
+ }
1549
+ return;
1550
+ }
1551
+ if (message.event?.type !== "closed") {
1424
1552
  return;
1425
1553
  }
1426
1554
  const { type: _type, ...event } = message.event;
@@ -1442,16 +1570,28 @@ var MindooDBAppEmbedsClient = class {
1442
1570
  };
1443
1571
  this.embeds = {
1444
1572
  open: async (input) => {
1573
+ const { container, rect, ...rest } = input;
1574
+ const initialRect = container ? containerRect(container) : toRect(rect ?? { left: 0, top: 0, width: 0, height: 0 });
1445
1575
  const response = await this.rpc.call("embeds.open", {
1446
- input: { ...input, rect: toRect(input.rect) }
1576
+ // `frame`: Haven hands back a page for the container instead of laying
1577
+ // the component over this app. Havens that do not know it ignore it.
1578
+ input: { ...rest, rect: initialRect, ...container ? { placement: "frame" } : {} }
1447
1579
  });
1580
+ const frame = container && response.frame?.url ? createComponentFrame(container, response.frame.url, response.frame.allow) : null;
1448
1581
  const embed = new MindooDBAppEmbedImpl(
1449
1582
  this.rpc,
1450
1583
  response.embedId,
1451
1584
  input.componentKey,
1452
1585
  input.databaseId,
1453
- input.docId
1586
+ input.docId,
1587
+ frame,
1588
+ container
1454
1589
  );
1590
+ const earlyDirty = this.earlyDirty.get(embed.embedId);
1591
+ if (earlyDirty !== void 0) {
1592
+ this.earlyDirty.delete(embed.embedId);
1593
+ embed.setDirtyState(earlyDirty);
1594
+ }
1455
1595
  const early = this.early.get(embed.embedId);
1456
1596
  if (early) {
1457
1597
  this.early.delete(embed.embedId);
@@ -1474,6 +1614,17 @@ var MindooDBAppEmbedsClient = class {
1474
1614
  reason: "cancelled",
1475
1615
  ...message ? { message: String(message) } : {}
1476
1616
  });
1617
+ },
1618
+ setDirty: async (dirty) => {
1619
+ await this.rpc.call("embedding.setDirty", { dirty: dirty === true });
1620
+ },
1621
+ onSaveRequest: (handler) => {
1622
+ this.saveHandler = handler;
1623
+ return () => {
1624
+ if (this.saveHandler === handler) {
1625
+ this.saveHandler = null;
1626
+ }
1627
+ };
1477
1628
  }
1478
1629
  };
1479
1630
  }
@@ -1484,7 +1635,29 @@ var MindooDBAppEmbedsClient = class {
1484
1635
  open = /* @__PURE__ */ new Map();
1485
1636
  /** Events that arrived before `embeds.open` resolved with their id. */
1486
1637
  early = /* @__PURE__ */ new Map();
1638
+ earlyDirty = /* @__PURE__ */ new Map();
1487
1639
  stopListening;
1640
+ /** This app as a component: what to do when its host asks it to save. */
1641
+ saveHandler = null;
1642
+ /** Runs the save handler and tells Haven how it went; Haven answers the host. */
1643
+ async answerRequest(message) {
1644
+ let response;
1645
+ if (message.request !== "save" || !this.saveHandler) {
1646
+ response = { ok: false, error: "unsupported" };
1647
+ } else {
1648
+ try {
1649
+ await this.saveHandler();
1650
+ response = { ok: true };
1651
+ } catch (error) {
1652
+ response = { ok: false, error: error instanceof Error ? error.message : String(error) };
1653
+ }
1654
+ }
1655
+ try {
1656
+ await this.rpc.call("embedding.respond", { requestId: message.requestId, ...response });
1657
+ } catch (error) {
1658
+ console.warn("[mindoodb-app-sdk] Could not answer the host's request.", error);
1659
+ }
1660
+ }
1488
1661
  dispose() {
1489
1662
  this.stopListening();
1490
1663
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { M as MindooDBAppAttachmentPreviewMode, a as MindooDBAppDragBindSourceOptions, b as MindooDBAppDragStartInput, c as MindooDBAppDragStartResult, d as MindooDBAppDragPreview, e as MindooDBAppBridge, f as MindooDBAppAgentToolErrorCode, g as MindooDBAppHostShortcutBinding, h as MindooDBAppHostShortcutAction, i as MindooDBAppHostingMode, j as MindooDBAppDefinition, k as MindooDBAppDatabase, l as MindooDBAppDocument, m as MindooDBAppRichTextSpan, n as MindooDBAppRichTextSnapshot, o as MindooDBAppCreateDocumentInput } from './types-D0Bsbd1G.js';
2
- export { p as MINDOODB_APP_ACCEPTS_MAX, q as MINDOODB_APP_COMPONENTS_MAX, r as MINDOODB_APP_DEFINITION_FILE_NAME, s as MINDOODB_APP_DEFINITION_FORMAT, t as MINDOODB_APP_DEFINITION_PERMISSIONS, u as MINDOODB_APP_DEFINITION_REGISTRATION_PERMISSIONS, v as MINDOODB_APP_DEFINITION_VERSION, w as MINDOODB_APP_LISTING_DESCRIPTION_MAX, x as MINDOODB_APP_LISTING_MAX_SCREENSHOTS, y as MINDOODB_APP_LISTING_SUMMARY_MAX, z as MINDOODB_APP_SEAL_SIGNING_DOMAIN, A as MINDOODB_APP_WELL_KNOWN_DRAG_TYPES, B as MindooDBAppAcceptSpec, C as MindooDBAppAccessDecision, D as MindooDBAppAccessTier, E as MindooDBAppAgentApi, F as MindooDBAppAgentRegistration, G as MindooDBAppAgentTool, H as MindooDBAppAgentToolAnnotations, I as MindooDBAppAgentToolDescriptor, J as MindooDBAppAttachmentApi, K as MindooDBAppAttachmentChunk, L as MindooDBAppAttachmentInfo, N as MindooDBAppAttachmentPreviewOptions, O as MindooDBAppAttachmentPreviewSession, P as MindooDBAppAutomergeChangesPatch, Q as MindooDBAppAutomergeChangesSince, R as MindooDBAppAutomergeGetOptions, S as MindooDBAppAutomergePatchResult, T as MindooDBAppAutomergeSnapshot, U as MindooDBAppBridgeAgentInvokeMessage, V as MindooDBAppBridgeAgentResultMessage, W as MindooDBAppBridgeBeforeCloseAck, X as MindooDBAppBridgeBeforeCloseMessage, Y as MindooDBAppBridgeConnectMessage, Z as MindooDBAppBridgeConnectOptions, _ as MindooDBAppBridgeConnectedMessage, $ as MindooDBAppBridgeDragDropMessage, a0 as MindooDBAppBridgeDragLeaveMessage, a1 as MindooDBAppBridgeDragOverMessage, a2 as MindooDBAppBridgeEmbedEventMessage, a3 as MindooDBAppBridgeErrorPayload, a4 as MindooDBAppBridgeHandshakeErrorMessage, a5 as MindooDBAppBridgeHostFocusChangedMessage, a6 as MindooDBAppBridgeIncomingContentMessage, a7 as MindooDBAppBridgeLocaleChangedMessage, a8 as MindooDBAppBridgePortMessage, a9 as MindooDBAppBridgeQueryResultMessage, aa as MindooDBAppBridgeRpcError, ab as MindooDBAppBridgeRpcMessage, ac as MindooDBAppBridgeRpcRequest, ad as MindooDBAppBridgeRpcSuccess, ae as MindooDBAppBridgeShortcutInvokedMessage, af as MindooDBAppBridgeShortcutsChangedMessage, ag as MindooDBAppBridgeStreamAbortRequest, ah as MindooDBAppBridgeStreamAck, ai as MindooDBAppBridgeStreamCloseRequest, aj as MindooDBAppBridgeStreamError, ak as MindooDBAppBridgeStreamMessage, al as MindooDBAppBridgeStreamOpenResult, am as MindooDBAppBridgeStreamReadRequest, an as MindooDBAppBridgeStreamWriteRequest, ao as MindooDBAppBridgeThemeChangedMessage, ap as MindooDBAppBridgeUiPreferencesChangedMessage, aq as MindooDBAppBridgeViewChangedMessage, ar as MindooDBAppBridgeViewportChangedMessage, as as MindooDBAppBridgeWorkspaceFocusRequestedMessage, at as MindooDBAppBrowserFeatures, au as MindooDBAppCapability, av as MindooDBAppComponentChildren, aw as MindooDBAppComponentFieldValue, ax as MindooDBAppComponentInfo, ay as MindooDBAppComponentIntent, az as MindooDBAppComponentQuery, aA as MindooDBAppComponentSpec, aB as MindooDBAppComponentsApi, aC as MindooDBAppConfiguredViewCategorizationStyle, aD as MindooDBAppConfiguredViewColumn, aE as MindooDBAppConfiguredViewColumnRole, aF as MindooDBAppConfiguredViewExpressionMode, aG as MindooDBAppConfiguredViewFieldExpression, aH as MindooDBAppConfiguredViewFilterDefinition, aI as MindooDBAppConfiguredViewFilterMode, aJ as MindooDBAppConfiguredViewFilterRule, aK as MindooDBAppConfiguredViewFormulaExpression, aL as MindooDBAppConfiguredViewFormulaFilterDefinition, aM as MindooDBAppConfiguredViewPreviewMode, aN as MindooDBAppConfiguredViewRuleFilterDefinition, aO as MindooDBAppConfiguredViewRuleMatchMode, aP as MindooDBAppConfiguredViewRuleOperator, aQ as MindooDBAppConfiguredViewValueExpression, aR as MindooDBAppCreateKeyInfo, aS as MindooDBAppCreateViewInput, aT as MindooDBAppCreateViewNavigatorInput, aU as MindooDBAppDatabaseInfo, aV as MindooDBAppDefinitionDatabase, aW as MindooDBAppDefinitionListing, aX as MindooDBAppDefinitionPermission, aY as MindooDBAppDefinitionRegistrationPermission, aZ as MindooDBAppDefinitionScreenshot, a_ as MindooDBAppDefinitionValidation, a$ as MindooDBAppDirectoryApi, b0 as MindooDBAppDirectoryEntry, b1 as MindooDBAppDocumentApi, b2 as MindooDBAppDocumentHeadCursorResult, b3 as MindooDBAppDocumentHistoryEntry, b4 as MindooDBAppDocumentListQuery, b5 as MindooDBAppDocumentListResult, b6 as MindooDBAppDocumentQuery, b7 as MindooDBAppDocumentRevisionId, b8 as MindooDBAppDocumentScanPreset, b9 as MindooDBAppDocumentSummary, ba as MindooDBAppDragApi, bb as MindooDBAppDragCancelReason, bc as MindooDBAppDragDropEvent, bd as MindooDBAppDragEffect, be as MindooDBAppDragHoverResult, bf as MindooDBAppDragOffer, bg as MindooDBAppDragOverEvent, bh as MindooDBAppDragPointer, bi as MindooDBAppDragProfile, bj as MindooDBAppEmbed, bk as MindooDBAppEmbedCloseReason, bl as MindooDBAppEmbedClosedEvent, bm as MindooDBAppEmbedContext, bn as MindooDBAppEmbedOpenInput, bo as MindooDBAppEmbedRect, bp as MindooDBAppEmbeddingApi, bq as MindooDBAppEmbedsApi, br as MindooDBAppEntryAttachmentRef, bs as MindooDBAppEntryProvenance, bt as MindooDBAppExtractDocumentTextInput, bu as MindooDBAppExtractDocumentTextResult, bv as MindooDBAppExtractTextFormat, bw as MindooDBAppExtractionSetup, bx as MindooDBAppFulltextSetup, by as MindooDBAppHistoricalDocument, bz as MindooDBAppHistoryQuery, bA as MindooDBAppHostTheme, bB as MindooDBAppIdentityApi, bC as MindooDBAppInaccessibleDocument, bD as MindooDBAppInaccessibleDocumentListQuery, bE as MindooDBAppInaccessibleDocumentListResult, bF as MindooDBAppIncomingContent, bG as MindooDBAppIncomingContentHandler, bH as MindooDBAppIncomingContentInfo, bI as MindooDBAppIncomingItem, bJ as MindooDBAppIncomingItemInfo, bK as MindooDBAppIncomingResult, bL as MindooDBAppIncomingSource, bM as MindooDBAppJsonCounterIncrementPatch, bN as MindooDBAppJsonListDeletePatch, bO as MindooDBAppJsonListInsertPatch, bP as MindooDBAppJsonPatch, bQ as MindooDBAppJsonSetPatch, bR as MindooDBAppJsonTextMarkPatch, bS as MindooDBAppJsonTextSplicePatch, bT as MindooDBAppJsonTextUnmarkPatch, bU as MindooDBAppJsonUnsetPatch, bV as MindooDBAppLaunchContext, bW as MindooDBAppListUsersOptions, bX as MindooDBAppListUsersPage, bY as MindooDBAppLiveQuerySubscription, bZ as MindooDBAppLocalizedText, b_ as MindooDBAppMenuAnchor, b$ as MindooDBAppMenuApi, c0 as MindooDBAppMenuCommandItem, c1 as MindooDBAppMenuDismissReason, c2 as MindooDBAppMenuDismissedResult, c3 as MindooDBAppMenuItem, c4 as MindooDBAppMenuKind, c5 as MindooDBAppMenuPlacement, c6 as MindooDBAppMenuPointAnchor, c7 as MindooDBAppMenuRect, c8 as MindooDBAppMenuRectAnchor, c9 as MindooDBAppMenuSelectionResult, ca as MindooDBAppMenuSeparatorItem, cb as MindooDBAppNotificationSeverity, cc as MindooDBAppNotifyInput, cd as MindooDBAppNotifyResult, ce as MindooDBAppProposeAppInput, cf as MindooDBAppProposeAppResult, cg as MindooDBAppQueryCoverage, ch as MindooDBAppQueryInclude, ci as MindooDBAppQueryIncludeCardinality, cj as MindooDBAppQueryIncludeSlots, ck as MindooDBAppQueryResult, cl as MindooDBAppQueryRow, cm as MindooDBAppQuerySortKey, cn as MindooDBAppQueryTextClause, co as MindooDBAppReadableAttachmentStream, cp as MindooDBAppRecipientOptions, cq as MindooDBAppResolvedViewDefinition, cr as MindooDBAppResolvedViewSource, cs as MindooDBAppRevisionPhase, ct as MindooDBAppRevisionVerification, cu as MindooDBAppRichTextBlockSpan, cv as MindooDBAppRichTextGetOptions, cw as MindooDBAppRichTextImmutableString, cx as MindooDBAppRichTextMarkRange, cy as MindooDBAppRichTextMaterializeValue, cz as MindooDBAppRichTextPatch, cA as MindooDBAppRichTextScalar, cB as MindooDBAppRichTextSpliceStep, cC as MindooDBAppRichTextStep, cD as MindooDBAppRichTextStepPatch, cE as MindooDBAppRichTextTextSpan, cF as MindooDBAppRuntime, cG as MindooDBAppScanAttachmentOptions, cH as MindooDBAppScanAttachmentResult, cI as MindooDBAppScopedDocId, cJ as MindooDBAppScopedDocumentSummary, cK as MindooDBAppSealIntent, cL as MindooDBAppSealedChannelOpenInput, cM as MindooDBAppSealedChannelOpenResult, cN as MindooDBAppSealedChannelRequestInput, cO as MindooDBAppSession, cP as MindooDBAppShowMenuInput, cQ as MindooDBAppShowMenuResult, cR as MindooDBAppSignPreview, cS as MindooDBAppSignPreviewScope, cT as MindooDBAppSignStatementInput, cU as MindooDBAppSignStatementResult, cV as MindooDBAppStorageApi, cW as MindooDBAppSummarySetup, cX as MindooDBAppTextCursorOptions, cY as MindooDBAppTextCursorPosition, cZ as MindooDBAppTextCursorPositionsResult, c_ as MindooDBAppTextCursorsResult, c$ as MindooDBAppTextEdit, d0 as MindooDBAppTextPatch, d1 as MindooDBAppThemeMode, d2 as MindooDBAppTimestampApi, d3 as MindooDBAppTimestampInput, d4 as MindooDBAppTimestampProvider, d5 as MindooDBAppTimestampResult, d6 as MindooDBAppUiPreferences, d7 as MindooDBAppUpdateDocumentInput, d8 as MindooDBAppViewCursorDocumentListResult, d9 as MindooDBAppViewCursorResult, da as MindooDBAppViewEntry, db as MindooDBAppViewEntryKind, dc as MindooDBAppViewNavigator, dd as MindooDBAppViewNavigatorExpansionState, de as MindooDBAppViewNavigatorOpenOptions, df as MindooDBAppViewNavigatorPageOptions, dg as MindooDBAppViewNavigatorPageResult, dh as MindooDBAppViewNavigatorRangeQuery, di as MindooDBAppViewNavigatorSelectionState, dj as MindooDBAppViewUpdateStats, dk as MindooDBAppViewport, dl as MindooDBAppWellKnownDragType, dm as MindooDBAppWritableAttachmentStream, dn as mindooDBAppAcceptMatchesType, dp as mindooDBAppComponentFieldsMatch, dq as resolveMindooDBAppDefinitionUrl, dr as resolveMindooDBAppListingAssetUrl, ds as resolveMindooDBAppLocalizedText, dt as validateMindooDBAppAccepts, du as validateMindooDBAppComponents, dv as validateMindooDBAppDefinition } from './types-D0Bsbd1G.js';
1
+ import { M as MindooDBAppAttachmentPreviewMode, a as MindooDBAppDragBindSourceOptions, b as MindooDBAppDragStartInput, c as MindooDBAppDragStartResult, d as MindooDBAppDragPreview, e as MindooDBAppBridge, f as MindooDBAppAgentToolErrorCode, g as MindooDBAppHostShortcutBinding, h as MindooDBAppHostShortcutAction, i as MindooDBAppHostingMode, j as MindooDBAppDefinition, k as MindooDBAppDatabase, l as MindooDBAppDocument, m as MindooDBAppRichTextSpan, n as MindooDBAppRichTextSnapshot, o as MindooDBAppCreateDocumentInput } from './types-ClOh6z0L.js';
2
+ export { p as MINDOODB_APP_ACCEPTS_MAX, q as MINDOODB_APP_COMPONENTS_MAX, r as MINDOODB_APP_DEFINITION_FILE_NAME, s as MINDOODB_APP_DEFINITION_FORMAT, t as MINDOODB_APP_DEFINITION_PERMISSIONS, u as MINDOODB_APP_DEFINITION_REGISTRATION_PERMISSIONS, v as MINDOODB_APP_DEFINITION_VERSION, w as MINDOODB_APP_LISTING_DESCRIPTION_MAX, x as MINDOODB_APP_LISTING_MAX_SCREENSHOTS, y as MINDOODB_APP_LISTING_SUMMARY_MAX, z as MINDOODB_APP_SEAL_SIGNING_DOMAIN, A as MINDOODB_APP_WELL_KNOWN_DRAG_TYPES, B as MindooDBAppAcceptSpec, C as MindooDBAppAccessDecision, D as MindooDBAppAccessTier, E as MindooDBAppAgentApi, F as MindooDBAppAgentRegistration, G as MindooDBAppAgentTool, H as MindooDBAppAgentToolAnnotations, I as MindooDBAppAgentToolDescriptor, J as MindooDBAppAttachmentApi, K as MindooDBAppAttachmentChunk, L as MindooDBAppAttachmentInfo, N as MindooDBAppAttachmentPreviewOptions, O as MindooDBAppAttachmentPreviewSession, P as MindooDBAppAutomergeChangesPatch, Q as MindooDBAppAutomergeChangesSince, R as MindooDBAppAutomergeGetOptions, S as MindooDBAppAutomergePatchResult, T as MindooDBAppAutomergeSnapshot, U as MindooDBAppBridgeAgentInvokeMessage, V as MindooDBAppBridgeAgentResultMessage, W as MindooDBAppBridgeBeforeCloseAck, X as MindooDBAppBridgeBeforeCloseMessage, Y as MindooDBAppBridgeConnectMessage, Z as MindooDBAppBridgeConnectOptions, _ as MindooDBAppBridgeConnectedMessage, $ as MindooDBAppBridgeDragDropMessage, a0 as MindooDBAppBridgeDragLeaveMessage, a1 as MindooDBAppBridgeDragOverMessage, a2 as MindooDBAppBridgeEmbedEventMessage, a3 as MindooDBAppBridgeEmbeddingRequestMessage, a4 as MindooDBAppBridgeErrorPayload, a5 as MindooDBAppBridgeHandshakeErrorMessage, a6 as MindooDBAppBridgeHostFocusChangedMessage, a7 as MindooDBAppBridgeIncomingContentMessage, a8 as MindooDBAppBridgeLocaleChangedMessage, a9 as MindooDBAppBridgePortMessage, aa as MindooDBAppBridgeQueryResultMessage, ab as MindooDBAppBridgeRpcError, ac as MindooDBAppBridgeRpcMessage, ad as MindooDBAppBridgeRpcRequest, ae as MindooDBAppBridgeRpcSuccess, af as MindooDBAppBridgeShortcutInvokedMessage, ag as MindooDBAppBridgeShortcutsChangedMessage, ah as MindooDBAppBridgeStreamAbortRequest, ai as MindooDBAppBridgeStreamAck, aj as MindooDBAppBridgeStreamCloseRequest, ak as MindooDBAppBridgeStreamError, al as MindooDBAppBridgeStreamMessage, am as MindooDBAppBridgeStreamOpenResult, an as MindooDBAppBridgeStreamReadRequest, ao as MindooDBAppBridgeStreamWriteRequest, ap as MindooDBAppBridgeThemeChangedMessage, aq as MindooDBAppBridgeUiPreferencesChangedMessage, ar as MindooDBAppBridgeViewChangedMessage, as as MindooDBAppBridgeViewportChangedMessage, at as MindooDBAppBridgeWorkspaceFocusRequestedMessage, au as MindooDBAppBrowserFeatures, av as MindooDBAppCapability, aw as MindooDBAppComponentChildren, ax as MindooDBAppComponentFieldValue, ay as MindooDBAppComponentInfo, az as MindooDBAppComponentIntent, aA as MindooDBAppComponentQuery, aB as MindooDBAppComponentSpec, aC as MindooDBAppComponentsApi, aD as MindooDBAppConfiguredViewCategorizationStyle, aE as MindooDBAppConfiguredViewColumn, aF as MindooDBAppConfiguredViewColumnRole, aG as MindooDBAppConfiguredViewExpressionMode, aH as MindooDBAppConfiguredViewFieldExpression, aI as MindooDBAppConfiguredViewFilterDefinition, aJ as MindooDBAppConfiguredViewFilterMode, aK as MindooDBAppConfiguredViewFilterRule, aL as MindooDBAppConfiguredViewFormulaExpression, aM as MindooDBAppConfiguredViewFormulaFilterDefinition, aN as MindooDBAppConfiguredViewPreviewMode, aO as MindooDBAppConfiguredViewRuleFilterDefinition, aP as MindooDBAppConfiguredViewRuleMatchMode, aQ as MindooDBAppConfiguredViewRuleOperator, aR as MindooDBAppConfiguredViewValueExpression, aS as MindooDBAppCreateKeyInfo, aT as MindooDBAppCreateViewInput, aU as MindooDBAppCreateViewNavigatorInput, aV as MindooDBAppDatabaseInfo, aW as MindooDBAppDefinitionDatabase, aX as MindooDBAppDefinitionListing, aY as MindooDBAppDefinitionPermission, aZ as MindooDBAppDefinitionRegistrationPermission, a_ as MindooDBAppDefinitionScreenshot, a$ as MindooDBAppDefinitionValidation, b0 as MindooDBAppDirectoryApi, b1 as MindooDBAppDirectoryEntry, b2 as MindooDBAppDocumentApi, b3 as MindooDBAppDocumentHeadCursorResult, b4 as MindooDBAppDocumentHistoryEntry, b5 as MindooDBAppDocumentListQuery, b6 as MindooDBAppDocumentListResult, b7 as MindooDBAppDocumentQuery, b8 as MindooDBAppDocumentRevisionId, b9 as MindooDBAppDocumentScanPreset, ba as MindooDBAppDocumentSummary, bb as MindooDBAppDragApi, bc as MindooDBAppDragCancelReason, bd as MindooDBAppDragDropEvent, be as MindooDBAppDragEffect, bf as MindooDBAppDragHoverResult, bg as MindooDBAppDragOffer, bh as MindooDBAppDragOverEvent, bi as MindooDBAppDragPointer, bj as MindooDBAppDragProfile, bk as MindooDBAppEmbed, bl as MindooDBAppEmbedCloseReason, bm as MindooDBAppEmbedClosedEvent, bn as MindooDBAppEmbedContext, bo as MindooDBAppEmbedDirtyEvent, bp as MindooDBAppEmbedOpenInput, bq as MindooDBAppEmbedRect, br as MindooDBAppEmbeddingApi, bs as MindooDBAppEmbedsApi, bt as MindooDBAppEntryAttachmentRef, bu as MindooDBAppEntryProvenance, bv as MindooDBAppExtractDocumentTextInput, bw as MindooDBAppExtractDocumentTextResult, bx as MindooDBAppExtractTextFormat, by as MindooDBAppExtractionSetup, bz as MindooDBAppFulltextSetup, bA as MindooDBAppHistoricalDocument, bB as MindooDBAppHistoryQuery, bC as MindooDBAppHostTheme, bD as MindooDBAppIdentityApi, bE as MindooDBAppInaccessibleDocument, bF as MindooDBAppInaccessibleDocumentListQuery, bG as MindooDBAppInaccessibleDocumentListResult, bH as MindooDBAppIncomingContent, bI as MindooDBAppIncomingContentHandler, bJ as MindooDBAppIncomingContentInfo, bK as MindooDBAppIncomingItem, bL as MindooDBAppIncomingItemInfo, bM as MindooDBAppIncomingResult, bN as MindooDBAppIncomingSource, bO as MindooDBAppJsonCounterIncrementPatch, bP as MindooDBAppJsonListDeletePatch, bQ as MindooDBAppJsonListInsertPatch, bR as MindooDBAppJsonPatch, bS as MindooDBAppJsonSetPatch, bT as MindooDBAppJsonTextMarkPatch, bU as MindooDBAppJsonTextSplicePatch, bV as MindooDBAppJsonTextUnmarkPatch, bW as MindooDBAppJsonUnsetPatch, bX as MindooDBAppLaunchContext, bY as MindooDBAppListUsersOptions, bZ as MindooDBAppListUsersPage, b_ as MindooDBAppLiveQuerySubscription, b$ as MindooDBAppLocalizedText, c0 as MindooDBAppMenuAnchor, c1 as MindooDBAppMenuApi, c2 as MindooDBAppMenuCommandItem, c3 as MindooDBAppMenuDismissReason, c4 as MindooDBAppMenuDismissedResult, c5 as MindooDBAppMenuItem, c6 as MindooDBAppMenuKind, c7 as MindooDBAppMenuPlacement, c8 as MindooDBAppMenuPointAnchor, c9 as MindooDBAppMenuRect, ca as MindooDBAppMenuRectAnchor, cb as MindooDBAppMenuSelectionResult, cc as MindooDBAppMenuSeparatorItem, cd as MindooDBAppNotificationSeverity, ce as MindooDBAppNotifyInput, cf as MindooDBAppNotifyResult, cg as MindooDBAppProposeAppInput, ch as MindooDBAppProposeAppResult, ci as MindooDBAppQueryCoverage, cj as MindooDBAppQueryInclude, ck as MindooDBAppQueryIncludeCardinality, cl as MindooDBAppQueryIncludeSlots, cm as MindooDBAppQueryResult, cn as MindooDBAppQueryRow, co as MindooDBAppQuerySortKey, cp as MindooDBAppQueryTextClause, cq as MindooDBAppReadableAttachmentStream, cr as MindooDBAppRecipientOptions, cs as MindooDBAppResolvedViewDefinition, ct as MindooDBAppResolvedViewSource, cu as MindooDBAppRevisionPhase, cv as MindooDBAppRevisionVerification, cw as MindooDBAppRichTextBlockSpan, cx as MindooDBAppRichTextGetOptions, cy as MindooDBAppRichTextImmutableString, cz as MindooDBAppRichTextMarkRange, cA as MindooDBAppRichTextMaterializeValue, cB as MindooDBAppRichTextPatch, cC as MindooDBAppRichTextScalar, cD as MindooDBAppRichTextSpliceStep, cE as MindooDBAppRichTextStep, cF as MindooDBAppRichTextStepPatch, cG as MindooDBAppRichTextTextSpan, cH as MindooDBAppRuntime, cI as MindooDBAppScanAttachmentOptions, cJ as MindooDBAppScanAttachmentResult, cK as MindooDBAppScopedDocId, cL as MindooDBAppScopedDocumentSummary, cM as MindooDBAppSealIntent, cN as MindooDBAppSealedChannelOpenInput, cO as MindooDBAppSealedChannelOpenResult, cP as MindooDBAppSealedChannelRequestInput, cQ as MindooDBAppSession, cR as MindooDBAppShowMenuInput, cS as MindooDBAppShowMenuResult, cT as MindooDBAppSignPreview, cU as MindooDBAppSignPreviewScope, cV as MindooDBAppSignStatementInput, cW as MindooDBAppSignStatementResult, cX as MindooDBAppStorageApi, cY as MindooDBAppSummarySetup, cZ as MindooDBAppTextCursorOptions, c_ as MindooDBAppTextCursorPosition, c$ as MindooDBAppTextCursorPositionsResult, d0 as MindooDBAppTextCursorsResult, d1 as MindooDBAppTextEdit, d2 as MindooDBAppTextPatch, d3 as MindooDBAppThemeMode, d4 as MindooDBAppTimestampApi, d5 as MindooDBAppTimestampInput, d6 as MindooDBAppTimestampProvider, d7 as MindooDBAppTimestampResult, d8 as MindooDBAppUiPreferences, d9 as MindooDBAppUpdateDocumentInput, da as MindooDBAppViewCursorDocumentListResult, db as MindooDBAppViewCursorResult, dc as MindooDBAppViewEntry, dd as MindooDBAppViewEntryKind, de as MindooDBAppViewNavigator, df as MindooDBAppViewNavigatorExpansionState, dg as MindooDBAppViewNavigatorOpenOptions, dh as MindooDBAppViewNavigatorPageOptions, di as MindooDBAppViewNavigatorPageResult, dj as MindooDBAppViewNavigatorRangeQuery, dk as MindooDBAppViewNavigatorSelectionState, dl as MindooDBAppViewUpdateStats, dm as MindooDBAppViewport, dn as MindooDBAppWellKnownDragType, dp as MindooDBAppWritableAttachmentStream, dq as mindooDBAppAcceptMatchesType, dr as mindooDBAppComponentFieldsMatch, ds as resolveMindooDBAppDefinitionUrl, dt as resolveMindooDBAppListingAssetUrl, du as resolveMindooDBAppLocalizedText, dv as validateMindooDBAppAccepts, dw as validateMindooDBAppComponents, dx as validateMindooDBAppDefinition } from './types-ClOh6z0L.js';
3
3
  export { M as MINDOODB_APP_BUNDLE_ARCHIVE_FILE_NAME, a as MINDOODB_APP_BUNDLE_MANIFEST_FILE_NAME, b as MINDOODB_APP_BUNDLE_MANIFEST_FORMAT, c as MINDOODB_APP_BUNDLE_MANIFEST_VERSION, d as MindooDBAppBundleArchive, e as MindooDBAppBundleFileEntry, f as MindooDBAppBundleHash, g as MindooDBAppBundleManifest, h as MindooDBAppBundleManifestValidation, i as buildMindooDBAppBundleContentHashInput, j as isMindooDBAppBundleHash, n as normalizeMindooDBAppBundlePath, v as validateMindooDBAppBundleManifest } from './appBundleManifest-B0xfpaXG.js';
4
4
  import { MindooDBAppBooleanExpression } from 'mindoodb-view-language';
5
5
  export { MindooDBAppBooleanExpression, MindooDBAppExpression, MindooDBAppFilterDefinition, MindooDBAppViewCategoryChildrenPageRequest, MindooDBAppViewColumn, MindooDBAppViewColumnRole, MindooDBAppViewDefinition, MindooDBAppViewExpansionState, MindooDBAppViewExpressionBase, MindooDBAppViewExpressionDatePart, MindooDBAppViewExpressionOperation, MindooDBAppViewFieldExpression, MindooDBAppViewIfExpression, MindooDBAppViewLetExpression, MindooDBAppViewLiteralExpression, MindooDBAppViewLookupByPath, MindooDBAppViewOperationExpression, MindooDBAppViewOriginExpression, MindooDBAppViewPageRequest, MindooDBAppViewPageResult, MindooDBAppViewRow, MindooDBAppViewSortDirection, MindooDBAppViewTotalMode, MindooDBAppViewValueExpressionRef, MindooDBAppViewVariableExpression, createViewLanguage } from 'mindoodb-view-language';
package/dist/index.js CHANGED
@@ -47,7 +47,7 @@ import {
47
47
  validateMindooDBAppAccepts,
48
48
  validateMindooDBAppComponents,
49
49
  validateMindooDBAppDefinition
50
- } from "./chunk-HJUDYIPR.js";
50
+ } from "./chunk-QQRLEHFE.js";
51
51
  import {
52
52
  MINDOODB_APP_BUNDLE_ARCHIVE_FILE_NAME,
53
53
  MINDOODB_APP_BUNDLE_MANIFEST_FILE_NAME,
@@ -1,4 +1,4 @@
1
- import { ax as MindooDBAppComponentInfo, bo as MindooDBAppEmbedRect, aT as MindooDBAppCreateViewNavigatorInput, dc as MindooDBAppViewNavigator, ac as MindooDBAppBridgeRpcRequest, bA as MindooDBAppHostTheme, au as MindooDBAppCapability, j as MindooDBAppDefinition, J as MindooDBAppAttachmentApi, e as MindooDBAppBridge, cO as MindooDBAppSession, ce as MindooDBAppProposeAppInput, dk as MindooDBAppViewport, d6 as MindooDBAppUiPreferences, ck as MindooDBAppQueryResult, dj as MindooDBAppViewUpdateStats, a8 as MindooDBAppBridgePortMessage, aU as MindooDBAppDatabaseInfo, bk as MindooDBAppEmbedCloseReason, a3 as MindooDBAppBridgeErrorPayload, bV as MindooDBAppLaunchContext, b1 as MindooDBAppDocumentApi, de as MindooDBAppViewNavigatorOpenOptions, bB as MindooDBAppIdentityApi, d2 as MindooDBAppTimestampApi, a$ as MindooDBAppDirectoryApi, l as MindooDBAppDocument, bx as MindooDBAppFulltextSetup, bw as MindooDBAppExtractionSetup, cW as MindooDBAppSummarySetup, cf as MindooDBAppProposeAppResult, bL as MindooDBAppIncomingSource, c as MindooDBAppDragStartResult, bi as MindooDBAppDragProfile, bK as MindooDBAppIncomingResult } from '../types-D0Bsbd1G.js';
1
+ import { ay as MindooDBAppComponentInfo, bq as MindooDBAppEmbedRect, aU as MindooDBAppCreateViewNavigatorInput, de as MindooDBAppViewNavigator, ad as MindooDBAppBridgeRpcRequest, bC as MindooDBAppHostTheme, av as MindooDBAppCapability, j as MindooDBAppDefinition, J as MindooDBAppAttachmentApi, e as MindooDBAppBridge, cQ as MindooDBAppSession, cg as MindooDBAppProposeAppInput, dm as MindooDBAppViewport, d8 as MindooDBAppUiPreferences, cm as MindooDBAppQueryResult, dl as MindooDBAppViewUpdateStats, a9 as MindooDBAppBridgePortMessage, aV as MindooDBAppDatabaseInfo, bl as MindooDBAppEmbedCloseReason, a4 as MindooDBAppBridgeErrorPayload, bX as MindooDBAppLaunchContext, b2 as MindooDBAppDocumentApi, dg as MindooDBAppViewNavigatorOpenOptions, bD as MindooDBAppIdentityApi, d4 as MindooDBAppTimestampApi, b0 as MindooDBAppDirectoryApi, l as MindooDBAppDocument, bz as MindooDBAppFulltextSetup, by as MindooDBAppExtractionSetup, cY as MindooDBAppSummarySetup, ch as MindooDBAppProposeAppResult, bN as MindooDBAppIncomingSource, c as MindooDBAppDragStartResult, bj as MindooDBAppDragProfile, bM as MindooDBAppIncomingResult } from '../types-ClOh6z0L.js';
2
2
  import * as mindoodb from 'mindoodb';
3
3
  import 'mindoodb-view-language';
4
4
 
@@ -11,6 +11,8 @@ interface MockEmbedState {
11
11
  intent: "edit" | "view";
12
12
  rect: MindooDBAppEmbedRect;
13
13
  visible: boolean;
14
+ /** What the component last reported (`setEmbedDirty`); `undefined` until then. */
15
+ dirty?: boolean;
14
16
  }
15
17
  /** How an app running as an embedded component finished (`session.embedding`). */
16
18
  interface MockEmbeddingFinish {
@@ -342,6 +344,12 @@ interface CreateMockMindooDBAppSessionOptions {
342
344
  components?: MindooDBAppComponentInfo[];
343
345
  /** Called whenever the app opens, moves or closes an embed. */
344
346
  onEmbedChange?: (embeds: readonly MockEmbedState[]) => void;
347
+ /**
348
+ * Answer `embeds.open` with a `container` like a current Haven: with this page
349
+ * for the SDK to frame (e.g. `about:blank`). Without it the host behaves like an
350
+ * older Haven and the component is laid over the container.
351
+ */
352
+ embedFrameUrl?: string;
345
353
  }
346
354
  /**
347
355
  * Test usernames in Haven's canonical form: `CN=Test User 001/O=Test`, …
@@ -395,6 +403,14 @@ interface MockMindooDBAppSessionController {
395
403
  setComponents(components: MindooDBAppComponentInfo[]): void;
396
404
  /** For an app under test that runs as a component: its `session.embedding` call. */
397
405
  getEmbeddingFinish(): MockEmbeddingFinish | null;
406
+ /** As if the embedded component reported (un)saved changes; the app's embed follows. */
407
+ setEmbedDirty(embedId: string, dirty: boolean): void;
408
+ /** Makes the app's next `embed.save()` fail with this message. */
409
+ failNextEmbedSave(message: string): void;
410
+ /** For an app under test that runs as a component: its last `embedding.setDirty`. */
411
+ getEmbeddingDirty(): boolean | undefined;
412
+ /** For an app under test that runs as a component: asks it to save, as its host would. */
413
+ requestEmbeddingSave(): Promise<void>;
398
414
  }
399
415
 
400
416
  /** Content for `emitIncomingContent`. */
@@ -492,6 +508,17 @@ interface FakeBridgeHostController {
492
508
  closeEmbed(embedId: string, reason?: MindooDBAppEmbedCloseReason, result?: unknown): void;
493
509
  /** For an app under test that runs as a component: its `session.embedding` call. */
494
510
  getEmbeddingFinish(): MockEmbeddingFinish | null;
511
+ /** As if the embedded component reported (un)saved changes; pushes the `embed-event`. */
512
+ setEmbedDirty(embedId: string, dirty: boolean): void;
513
+ /** Makes the app's next `embed.save()` fail with this message. */
514
+ failNextEmbedSave(message: string): void;
515
+ /** For an app under test that runs as a component: its last `embedding.setDirty`. */
516
+ getEmbeddingDirty(): boolean | undefined;
517
+ /**
518
+ * For an app under test that runs as a component: pushes the host's save request
519
+ * over the port and resolves or rejects with the app's answer.
520
+ */
521
+ requestEmbeddingSave(): Promise<void>;
495
522
  }
496
523
  declare function createFakeBridgeHost(options?: CreateFakeBridgeHostOptions): FakeBridgeHostController;
497
524
 
@@ -4,7 +4,7 @@ import {
4
4
  mindooDBAppComponentFieldsMatch,
5
5
  pageUsers,
6
6
  releaseMindooDBAppBridgeSessions
7
- } from "../chunk-HJUDYIPR.js";
7
+ } from "../chunk-QQRLEHFE.js";
8
8
 
9
9
  // src/testing/index.ts
10
10
  import * as Automerge from "@automerge/automerge";
@@ -463,11 +463,22 @@ function createMockEmbedHost(options, getDatabase) {
463
463
  const embeds = /* @__PURE__ */ new Map();
464
464
  const handles = /* @__PURE__ */ new Map();
465
465
  const closedListeners = /* @__PURE__ */ new Set();
466
+ const dirtyListeners = /* @__PURE__ */ new Set();
467
+ let nextSaveError = null;
468
+ let embeddingDirty;
469
+ let saveRequestHandler = null;
466
470
  let embedCounter = 0;
467
471
  let embeddingFinish = null;
468
472
  function notifyChange() {
469
473
  options.onEmbedChange?.([...embeds.values()].map((entry) => ({ ...entry, rect: { ...entry.rect } })));
470
474
  }
475
+ function mockRect(input) {
476
+ if (input.rect) {
477
+ return { ...input.rect };
478
+ }
479
+ const bounds = input.container?.getBoundingClientRect();
480
+ return { left: bounds?.left ?? 0, top: bounds?.top ?? 0, width: bounds?.width ?? 0, height: bounds?.height ?? 0 };
481
+ }
471
482
  async function openEmbed(input) {
472
483
  const component = components.find((entry) => entry.key === input.componentKey);
473
484
  if (!component) {
@@ -492,7 +503,7 @@ function createMockEmbedHost(options, getDatabase) {
492
503
  databaseId: input.databaseId,
493
504
  docId: input.docId,
494
505
  intent,
495
- rect: { ...input.rect },
506
+ rect: mockRect(input),
496
507
  visible: input.visible !== false
497
508
  });
498
509
  notifyChange();
@@ -526,7 +537,27 @@ function createMockEmbedHost(options, getDatabase) {
526
537
  componentKey;
527
538
  databaseId;
528
539
  docId;
540
+ placement = "overlay";
541
+ frame = null;
529
542
  closed;
543
+ dirty = void 0;
544
+ dirtyListeners = /* @__PURE__ */ new Set();
545
+ onDirtyChange(listener) {
546
+ this.dirtyListeners.add(listener);
547
+ return () => {
548
+ this.dirtyListeners.delete(listener);
549
+ };
550
+ }
551
+ setDirtyState(dirty) {
552
+ if (this.settled || this.dirty === dirty) {
553
+ return;
554
+ }
555
+ this.dirty = dirty;
556
+ this.dirtyListeners.forEach((listener) => listener(dirty));
557
+ }
558
+ async save() {
559
+ await saveEmbed(this.embedId);
560
+ }
530
561
  resolve;
531
562
  listeners = /* @__PURE__ */ new Set();
532
563
  settled = null;
@@ -536,7 +567,7 @@ function createMockEmbedHost(options, getDatabase) {
536
567
  async setVisible(visible) {
537
568
  setVisible(this.embedId, visible);
538
569
  }
539
- async close() {
570
+ async close(_options) {
540
571
  closeEmbed(this.embedId, "closed");
541
572
  return await this.closed;
542
573
  }
@@ -566,6 +597,27 @@ function createMockEmbedHost(options, getDatabase) {
566
597
  notifyChange();
567
598
  }
568
599
  }
600
+ function setEmbedDirty(embedId, dirty) {
601
+ const entry = embeds.get(embedId);
602
+ if (!entry || entry.dirty === dirty) {
603
+ return;
604
+ }
605
+ entry.dirty = dirty;
606
+ handles.get(embedId)?.setDirtyState(dirty);
607
+ dirtyListeners.forEach((listener) => listener({ embedId, dirty }));
608
+ notifyChange();
609
+ }
610
+ async function saveEmbed(embedId) {
611
+ if (!embeds.has(embedId)) {
612
+ throw new Error("Unknown embed.");
613
+ }
614
+ const error = nextSaveError;
615
+ nextSaveError = null;
616
+ if (error) {
617
+ throw new Error(error);
618
+ }
619
+ setEmbedDirty(embedId, false);
620
+ }
569
621
  function setVisible(embedId, visible) {
570
622
  const entry = embeds.get(embedId);
571
623
  if (entry) {
@@ -596,6 +648,17 @@ function createMockEmbedHost(options, getDatabase) {
596
648
  },
597
649
  async cancel(message) {
598
650
  embeddingFinish = { reason: "cancelled", ...message ? { message } : {} };
651
+ },
652
+ async setDirty(dirty) {
653
+ embeddingDirty = dirty === true;
654
+ },
655
+ onSaveRequest(handler) {
656
+ saveRequestHandler = handler;
657
+ return () => {
658
+ if (saveRequestHandler === handler) {
659
+ saveRequestHandler = null;
660
+ }
661
+ };
599
662
  }
600
663
  },
601
664
  openEmbed,
@@ -619,6 +682,32 @@ function createMockEmbedHost(options, getDatabase) {
619
682
  return () => {
620
683
  closedListeners.delete(listener);
621
684
  };
685
+ },
686
+ setEmbedDirty,
687
+ onDirty(listener) {
688
+ dirtyListeners.add(listener);
689
+ return () => {
690
+ dirtyListeners.delete(listener);
691
+ };
692
+ },
693
+ saveEmbed,
694
+ failNextSave(message) {
695
+ nextSaveError = message;
696
+ },
697
+ getEmbeddingDirty() {
698
+ return embeddingDirty;
699
+ },
700
+ setEmbeddingDirty(dirty) {
701
+ embeddingDirty = dirty;
702
+ },
703
+ async requestEmbeddingSave() {
704
+ if (!saveRequestHandler) {
705
+ throw new Error("unsupported");
706
+ }
707
+ await saveRequestHandler();
708
+ },
709
+ setSaveRequestHandler(handler) {
710
+ saveRequestHandler = handler;
622
711
  }
623
712
  };
624
713
  }
@@ -4051,7 +4140,11 @@ function createMockMindooDBAppSession(options = {}) {
4051
4140
  listEmbeds: () => state.embedHost.listEmbeds(),
4052
4141
  closeEmbed: (embedId, reason, result) => state.embedHost.closeEmbed(embedId, reason, result),
4053
4142
  setComponents: (components) => state.embedHost.setComponents(components),
4054
- getEmbeddingFinish: () => state.embedHost.getEmbeddingFinish()
4143
+ getEmbeddingFinish: () => state.embedHost.getEmbeddingFinish(),
4144
+ setEmbedDirty: (embedId, dirty) => state.embedHost.setEmbedDirty(embedId, dirty),
4145
+ failNextEmbedSave: (message) => state.embedHost.failNextSave(message),
4146
+ getEmbeddingDirty: () => state.embedHost.getEmbeddingDirty(),
4147
+ requestEmbeddingSave: () => state.embedHost.requestEmbeddingSave()
4055
4148
  };
4056
4149
  }
4057
4150
  function createMockMindooDBAppBridge(options = {}) {
@@ -4070,6 +4163,13 @@ function createFakeBridgeHost(options = {}) {
4070
4163
  (port) => port.postMessage({ protocol: PROTOCOL, kind: "embed-event", event: { type: "closed", ...event } })
4071
4164
  );
4072
4165
  });
4166
+ state.embedHost.onDirty((event) => {
4167
+ connectedPorts.forEach(
4168
+ (port) => port.postMessage({ protocol: PROTOCOL, kind: "embed-event", event: { type: "dirty", ...event } })
4169
+ );
4170
+ });
4171
+ const embeddingRequests = /* @__PURE__ */ new Map();
4172
+ let embeddingRequestCounter = 0;
4073
4173
  const beforeCloseWaiters = /* @__PURE__ */ new Map();
4074
4174
  let beforeCloseCounter = 0;
4075
4175
  const viewSessions = /* @__PURE__ */ new Map();
@@ -4302,8 +4402,11 @@ function createFakeBridgeHost(options = {}) {
4302
4402
  params.query ?? void 0
4303
4403
  )
4304
4404
  };
4305
- case "embeds.open":
4306
- return { embedId: await state.embedHost.openEmbed(params.input) };
4405
+ case "embeds.open": {
4406
+ const input = params.input;
4407
+ const embedId = await state.embedHost.openEmbed(input);
4408
+ return input.placement === "frame" && options.embedFrameUrl ? { embedId, frame: { url: options.embedFrameUrl } } : { embedId };
4409
+ }
4307
4410
  case "embeds.setRect":
4308
4411
  state.embedHost.setRect(String(params.embedId), params.rect);
4309
4412
  return { ok: true };
@@ -4313,6 +4416,22 @@ function createFakeBridgeHost(options = {}) {
4313
4416
  case "embeds.close":
4314
4417
  state.embedHost.closeEmbed(String(params.embedId), "closed");
4315
4418
  return { ok: true };
4419
+ case "embeds.save":
4420
+ await state.embedHost.saveEmbed(String(params.embedId));
4421
+ return { ok: true };
4422
+ case "embedding.setDirty":
4423
+ state.embedHost.setEmbeddingDirty(params.dirty === true);
4424
+ return { ok: true };
4425
+ case "embedding.respond": {
4426
+ const pending = embeddingRequests.get(String(params.requestId));
4427
+ embeddingRequests.delete(String(params.requestId));
4428
+ if (params.ok === true) {
4429
+ pending?.resolve();
4430
+ } else {
4431
+ pending?.reject(new Error(typeof params.error === "string" ? params.error : "Save failed."));
4432
+ }
4433
+ return { ok: true };
4434
+ }
4316
4435
  case "embedding.finish":
4317
4436
  state.embedHost.finishEmbedding({
4318
4437
  reason: params.reason === "cancelled" ? "cancelled" : "completed",
@@ -4927,6 +5046,19 @@ function createFakeBridgeHost(options = {}) {
4927
5046
  listEmbeds: () => state.embedHost.listEmbeds(),
4928
5047
  closeEmbed: (embedId, reason, result) => state.embedHost.closeEmbed(embedId, reason, result),
4929
5048
  getEmbeddingFinish: () => state.embedHost.getEmbeddingFinish(),
5049
+ setEmbedDirty: (embedId, dirty) => state.embedHost.setEmbedDirty(embedId, dirty),
5050
+ failNextEmbedSave: (message) => state.embedHost.failNextSave(message),
5051
+ getEmbeddingDirty: () => state.embedHost.getEmbeddingDirty(),
5052
+ requestEmbeddingSave() {
5053
+ embeddingRequestCounter += 1;
5054
+ const requestId = `embedding-request-${embeddingRequestCounter}`;
5055
+ return new Promise((resolve, reject) => {
5056
+ embeddingRequests.set(requestId, { resolve, reject });
5057
+ connectedPorts.forEach(
5058
+ (port) => port.postMessage({ protocol: PROTOCOL, kind: "embedding-request", requestId, request: "save" })
5059
+ );
5060
+ });
5061
+ },
4930
5062
  dispose() {
4931
5063
  restoreWindow();
4932
5064
  connectedPorts.forEach((port) => {
@@ -1621,8 +1621,23 @@ interface MindooDBAppEmbedOpenInput {
1621
1621
  docId: string;
1622
1622
  /** Default `edit`. `view` gives the component read access only. */
1623
1623
  intent?: "edit" | "view";
1624
- /** Where the component appears, in this app's viewport. */
1625
- rect: MindooDBAppEmbedRect;
1624
+ /**
1625
+ * The element to show the component in (recommended). The SDK puts a frame into
1626
+ * it that fills it (`position: absolute; inset: 0`, so give the element a
1627
+ * position), and the component then belongs to this app's page: it scrolls,
1628
+ * clips and stacks with it, and this app's menus and dialogs cover it as usual.
1629
+ * The frame holds a page of Haven's that loads the component, so this app never
1630
+ * reaches into the component or its connection.
1631
+ *
1632
+ * Havens that predate this lay the component over the element instead; the SDK
1633
+ * then keeps the rectangle in step with the element itself.
1634
+ */
1635
+ container?: HTMLElement;
1636
+ /**
1637
+ * Without `container`: where Haven lays the component over this app, in this
1638
+ * app's viewport. Keep it current with `setRect`.
1639
+ */
1640
+ rect?: MindooDBAppEmbedRect;
1626
1641
  /** Default true. */
1627
1642
  visible?: boolean;
1628
1643
  }
@@ -1642,12 +1657,44 @@ interface MindooDBAppEmbed {
1642
1657
  readonly componentKey: string;
1643
1658
  readonly databaseId: string;
1644
1659
  readonly docId: string;
1645
- /** Move or resize; coordinates are in this app's viewport. */
1660
+ /**
1661
+ * `frame`: the component is a frame in `container` and stacks like any element
1662
+ * of this page. `overlay`: Haven lays it over this page, above everything in it,
1663
+ * so hide it (`setVisible(false)`) while a menu or dialog of this app would
1664
+ * overlap it.
1665
+ */
1666
+ readonly placement: "frame" | "overlay";
1667
+ /** The component's frame in `container` (`frame` placement), else null. */
1668
+ readonly frame: HTMLIFrameElement | null;
1669
+ /**
1670
+ * Move or resize; coordinates are in this app's viewport. Not needed with a
1671
+ * `container`, whose rectangle the SDK follows itself.
1672
+ */
1646
1673
  setRect(rect: MindooDBAppEmbedRect): Promise<void>;
1647
1674
  /** Hide without closing, e.g. while a dialog of the host covers it. */
1648
1675
  setVisible(visible: boolean): Promise<void>;
1649
- /** Let the component save, then close it. Resolves with the closed event. */
1650
- close(): Promise<MindooDBAppEmbedClosedEvent>;
1676
+ /**
1677
+ * Whether the component has changes it has not saved yet, as it last reported
1678
+ * (`session.embedding.setDirty`). `undefined` until it reports anything: a
1679
+ * component that never does cannot tell, so close it without asking.
1680
+ */
1681
+ readonly dirty: boolean | undefined;
1682
+ /** Called whenever the component reports a different `dirty` state. */
1683
+ onDirtyChange(listener: (dirty: boolean) => void): () => void;
1684
+ /**
1685
+ * Asks the component to save its pending changes (`session.embedding.onSaveRequest`),
1686
+ * e.g. after the user chose "Save" when closing it. Resolves once it saved; rejects
1687
+ * with the component's error, or with `unsupported` when it does not save on request.
1688
+ */
1689
+ save(): Promise<void>;
1690
+ /**
1691
+ * Let the component save, then close it. Resolves with the closed event.
1692
+ * `discard: true` closes without giving the component that chance, after the user
1693
+ * chose not to keep its unsaved changes.
1694
+ */
1695
+ close(options?: {
1696
+ discard?: boolean;
1697
+ }): Promise<MindooDBAppEmbedClosedEvent>;
1651
1698
  /** Called once when the component closes, whoever closed it. */
1652
1699
  onClosed(listener: (event: MindooDBAppEmbedClosedEvent) => void): () => void;
1653
1700
  /** Settles with the closed event. */
@@ -1660,7 +1707,7 @@ interface MindooDBAppComponentsApi {
1660
1707
  /** Show another app's component inside this app. */
1661
1708
  interface MindooDBAppEmbedsApi {
1662
1709
  /**
1663
- * Shows the component over `rect`. Haven copies the root document and its
1710
+ * Shows the component in `container` (or over `rect`). Haven copies the root document and its
1664
1711
  * children into a sandbox, runs the component against it and writes the changes
1665
1712
  * back to `databaseId`, which this app must be allowed to read and (for `edit`)
1666
1713
  * update. The first time, Haven asks the user to allow the pairing.
@@ -1676,16 +1723,41 @@ interface MindooDBAppEmbeddingApi {
1676
1723
  complete(result?: unknown): Promise<void>;
1677
1724
  /** Closes without a result, e.g. when the user cancels. */
1678
1725
  cancel(message?: string): Promise<void>;
1726
+ /**
1727
+ * Tells the host whether there are changes not saved yet, so it can mark the
1728
+ * component (e.g. a dot in its tab) and ask before closing it. Report every change
1729
+ * of the state; Haven passes the latest one on.
1730
+ */
1731
+ setDirty(dirty: boolean): Promise<void>;
1732
+ /**
1733
+ * Handles the host's request to save (`embed.save()`). Resolve once saved, throw to
1734
+ * report why it failed. One handler at a time; returns the unregister function.
1735
+ */
1736
+ onSaveRequest(handler: () => void | Promise<void>): () => void;
1737
+ }
1738
+ /** Haven → component: the host asked for something (`embed.save()`). */
1739
+ interface MindooDBAppBridgeEmbeddingRequestMessage {
1740
+ protocol: "mindoodb-app-bridge";
1741
+ kind: "embedding-request";
1742
+ requestId: string;
1743
+ request: "save";
1744
+ }
1745
+ /** The component reported whether it has unsaved changes. */
1746
+ interface MindooDBAppEmbedDirtyEvent {
1747
+ embedId: string;
1748
+ dirty: boolean;
1679
1749
  }
1680
1750
  /** Host → app: something happened to an embed this app opened. */
1681
1751
  interface MindooDBAppBridgeEmbedEventMessage {
1682
1752
  protocol: "mindoodb-app-bridge";
1683
1753
  kind: "embed-event";
1684
- event: {
1754
+ event: ({
1685
1755
  type: "closed";
1686
- } & MindooDBAppEmbedClosedEvent;
1756
+ } & MindooDBAppEmbedClosedEvent) | ({
1757
+ type: "dirty";
1758
+ } & MindooDBAppEmbedDirtyEvent);
1687
1759
  }
1688
- type MindooDBAppBridgePortMessage = MindooDBAppBridgeRpcMessage | MindooDBAppBridgeStreamMessage | MindooDBAppBridgeThemeChangedMessage | MindooDBAppBridgeViewportChangedMessage | MindooDBAppBridgeUiPreferencesChangedMessage | MindooDBAppBridgeLocaleChangedMessage | MindooDBAppBridgeQueryResultMessage | MindooDBAppBridgeViewChangedMessage | MindooDBAppBridgeBeforeCloseMessage | MindooDBAppBridgeBeforeCloseAck | MindooDBAppBridgeShortcutsChangedMessage | MindooDBAppBridgeShortcutInvokedMessage | MindooDBAppBridgeWorkspaceFocusRequestedMessage | MindooDBAppBridgeHostFocusChangedMessage | MindooDBAppBridgeAgentInvokeMessage | MindooDBAppBridgeAgentResultMessage | MindooDBAppBridgeDragOverMessage | MindooDBAppBridgeDragLeaveMessage | MindooDBAppBridgeDragDropMessage | MindooDBAppBridgeIncomingContentMessage | MindooDBAppBridgeEmbedEventMessage;
1760
+ type MindooDBAppBridgePortMessage = MindooDBAppBridgeRpcMessage | MindooDBAppBridgeStreamMessage | MindooDBAppBridgeThemeChangedMessage | MindooDBAppBridgeViewportChangedMessage | MindooDBAppBridgeUiPreferencesChangedMessage | MindooDBAppBridgeLocaleChangedMessage | MindooDBAppBridgeQueryResultMessage | MindooDBAppBridgeViewChangedMessage | MindooDBAppBridgeBeforeCloseMessage | MindooDBAppBridgeBeforeCloseAck | MindooDBAppBridgeShortcutsChangedMessage | MindooDBAppBridgeShortcutInvokedMessage | MindooDBAppBridgeWorkspaceFocusRequestedMessage | MindooDBAppBridgeHostFocusChangedMessage | MindooDBAppBridgeAgentInvokeMessage | MindooDBAppBridgeAgentResultMessage | MindooDBAppBridgeDragOverMessage | MindooDBAppBridgeDragLeaveMessage | MindooDBAppBridgeDragDropMessage | MindooDBAppBridgeIncomingContentMessage | MindooDBAppBridgeEmbedEventMessage | MindooDBAppBridgeEmbeddingRequestMessage;
1689
1761
  /** Placement hint for a host-rendered overlay menu. */
1690
1762
  type MindooDBAppMenuPlacement = "auto" | "bottom-start" | "bottom-end" | "top-start" | "top-end" | "right-start" | "left-start";
1691
1763
  /** Semantic hint allowing Haven to tune menu behavior or styling. */
@@ -3389,4 +3461,4 @@ interface MindooDBAppBridge {
3389
3461
  connect(options?: MindooDBAppBridgeConnectOptions): Promise<MindooDBAppSession>;
3390
3462
  }
3391
3463
 
3392
- export { type MindooDBAppBridgeDragDropMessage as $, MINDOODB_APP_WELL_KNOWN_DRAG_TYPES as A, type MindooDBAppAcceptSpec as B, type MindooDBAppAccessDecision as C, type MindooDBAppAccessTier as D, type MindooDBAppAgentApi as E, type MindooDBAppAgentRegistration as F, type MindooDBAppAgentTool as G, type MindooDBAppAgentToolAnnotations as H, type MindooDBAppAgentToolDescriptor as I, type MindooDBAppAttachmentApi as J, type MindooDBAppAttachmentChunk as K, type MindooDBAppAttachmentInfo as L, type MindooDBAppAttachmentPreviewMode as M, type MindooDBAppAttachmentPreviewOptions as N, type MindooDBAppAttachmentPreviewSession as O, type MindooDBAppAutomergeChangesPatch as P, type MindooDBAppAutomergeChangesSince as Q, type MindooDBAppAutomergeGetOptions as R, type MindooDBAppAutomergePatchResult as S, type MindooDBAppAutomergeSnapshot as T, type MindooDBAppBridgeAgentInvokeMessage as U, type MindooDBAppBridgeAgentResultMessage as V, type MindooDBAppBridgeBeforeCloseAck as W, type MindooDBAppBridgeBeforeCloseMessage as X, type MindooDBAppBridgeConnectMessage as Y, type MindooDBAppBridgeConnectOptions as Z, type MindooDBAppBridgeConnectedMessage as _, type MindooDBAppDragBindSourceOptions as a, type MindooDBAppDirectoryApi as a$, type MindooDBAppBridgeDragLeaveMessage as a0, type MindooDBAppBridgeDragOverMessage as a1, type MindooDBAppBridgeEmbedEventMessage as a2, type MindooDBAppBridgeErrorPayload as a3, type MindooDBAppBridgeHandshakeErrorMessage as a4, type MindooDBAppBridgeHostFocusChangedMessage as a5, type MindooDBAppBridgeIncomingContentMessage as a6, type MindooDBAppBridgeLocaleChangedMessage as a7, type MindooDBAppBridgePortMessage as a8, type MindooDBAppBridgeQueryResultMessage as a9, type MindooDBAppComponentSpec as aA, type MindooDBAppComponentsApi as aB, type MindooDBAppConfiguredViewCategorizationStyle as aC, type MindooDBAppConfiguredViewColumn as aD, type MindooDBAppConfiguredViewColumnRole as aE, type MindooDBAppConfiguredViewExpressionMode as aF, type MindooDBAppConfiguredViewFieldExpression as aG, type MindooDBAppConfiguredViewFilterDefinition as aH, type MindooDBAppConfiguredViewFilterMode as aI, type MindooDBAppConfiguredViewFilterRule as aJ, type MindooDBAppConfiguredViewFormulaExpression as aK, type MindooDBAppConfiguredViewFormulaFilterDefinition as aL, type MindooDBAppConfiguredViewPreviewMode as aM, type MindooDBAppConfiguredViewRuleFilterDefinition as aN, type MindooDBAppConfiguredViewRuleMatchMode as aO, type MindooDBAppConfiguredViewRuleOperator as aP, type MindooDBAppConfiguredViewValueExpression as aQ, type MindooDBAppCreateKeyInfo as aR, type MindooDBAppCreateViewInput as aS, type MindooDBAppCreateViewNavigatorInput as aT, type MindooDBAppDatabaseInfo as aU, type MindooDBAppDefinitionDatabase as aV, type MindooDBAppDefinitionListing as aW, type MindooDBAppDefinitionPermission as aX, type MindooDBAppDefinitionRegistrationPermission as aY, type MindooDBAppDefinitionScreenshot as aZ, type MindooDBAppDefinitionValidation as a_, type MindooDBAppBridgeRpcError as aa, type MindooDBAppBridgeRpcMessage as ab, type MindooDBAppBridgeRpcRequest as ac, type MindooDBAppBridgeRpcSuccess as ad, type MindooDBAppBridgeShortcutInvokedMessage as ae, type MindooDBAppBridgeShortcutsChangedMessage as af, type MindooDBAppBridgeStreamAbortRequest as ag, type MindooDBAppBridgeStreamAck as ah, type MindooDBAppBridgeStreamCloseRequest as ai, type MindooDBAppBridgeStreamError as aj, type MindooDBAppBridgeStreamMessage as ak, type MindooDBAppBridgeStreamOpenResult as al, type MindooDBAppBridgeStreamReadRequest as am, type MindooDBAppBridgeStreamWriteRequest as an, type MindooDBAppBridgeThemeChangedMessage as ao, type MindooDBAppBridgeUiPreferencesChangedMessage as ap, type MindooDBAppBridgeViewChangedMessage as aq, type MindooDBAppBridgeViewportChangedMessage as ar, type MindooDBAppBridgeWorkspaceFocusRequestedMessage as as, type MindooDBAppBrowserFeatures as at, type MindooDBAppCapability as au, type MindooDBAppComponentChildren as av, type MindooDBAppComponentFieldValue as aw, type MindooDBAppComponentInfo as ax, type MindooDBAppComponentIntent as ay, type MindooDBAppComponentQuery as az, type MindooDBAppDragStartInput as b, type MindooDBAppMenuApi as b$, type MindooDBAppDirectoryEntry as b0, type MindooDBAppDocumentApi as b1, type MindooDBAppDocumentHeadCursorResult as b2, type MindooDBAppDocumentHistoryEntry as b3, type MindooDBAppDocumentListQuery as b4, type MindooDBAppDocumentListResult as b5, type MindooDBAppDocumentQuery as b6, type MindooDBAppDocumentRevisionId as b7, type MindooDBAppDocumentScanPreset as b8, type MindooDBAppDocumentSummary as b9, type MindooDBAppHostTheme as bA, type MindooDBAppIdentityApi as bB, type MindooDBAppInaccessibleDocument as bC, type MindooDBAppInaccessibleDocumentListQuery as bD, type MindooDBAppInaccessibleDocumentListResult as bE, type MindooDBAppIncomingContent as bF, type MindooDBAppIncomingContentHandler as bG, type MindooDBAppIncomingContentInfo as bH, type MindooDBAppIncomingItem as bI, type MindooDBAppIncomingItemInfo as bJ, type MindooDBAppIncomingResult as bK, type MindooDBAppIncomingSource as bL, type MindooDBAppJsonCounterIncrementPatch as bM, type MindooDBAppJsonListDeletePatch as bN, type MindooDBAppJsonListInsertPatch as bO, type MindooDBAppJsonPatch as bP, type MindooDBAppJsonSetPatch as bQ, type MindooDBAppJsonTextMarkPatch as bR, type MindooDBAppJsonTextSplicePatch as bS, type MindooDBAppJsonTextUnmarkPatch as bT, type MindooDBAppJsonUnsetPatch as bU, type MindooDBAppLaunchContext as bV, type MindooDBAppListUsersOptions as bW, type MindooDBAppListUsersPage as bX, type MindooDBAppLiveQuerySubscription as bY, type MindooDBAppLocalizedText as bZ, type MindooDBAppMenuAnchor as b_, type MindooDBAppDragApi as ba, type MindooDBAppDragCancelReason as bb, type MindooDBAppDragDropEvent as bc, type MindooDBAppDragEffect as bd, type MindooDBAppDragHoverResult as be, type MindooDBAppDragOffer as bf, type MindooDBAppDragOverEvent as bg, type MindooDBAppDragPointer as bh, type MindooDBAppDragProfile as bi, type MindooDBAppEmbed as bj, type MindooDBAppEmbedCloseReason as bk, type MindooDBAppEmbedClosedEvent as bl, type MindooDBAppEmbedContext as bm, type MindooDBAppEmbedOpenInput as bn, type MindooDBAppEmbedRect as bo, type MindooDBAppEmbeddingApi as bp, type MindooDBAppEmbedsApi as bq, type MindooDBAppEntryAttachmentRef as br, type MindooDBAppEntryProvenance as bs, type MindooDBAppExtractDocumentTextInput as bt, type MindooDBAppExtractDocumentTextResult as bu, type MindooDBAppExtractTextFormat as bv, type MindooDBAppExtractionSetup as bw, type MindooDBAppFulltextSetup as bx, type MindooDBAppHistoricalDocument as by, type MindooDBAppHistoryQuery as bz, type MindooDBAppDragStartResult as c, type MindooDBAppTextEdit as c$, type MindooDBAppMenuCommandItem as c0, type MindooDBAppMenuDismissReason as c1, type MindooDBAppMenuDismissedResult as c2, type MindooDBAppMenuItem as c3, type MindooDBAppMenuKind as c4, type MindooDBAppMenuPlacement as c5, type MindooDBAppMenuPointAnchor as c6, type MindooDBAppMenuRect as c7, type MindooDBAppMenuRectAnchor as c8, type MindooDBAppMenuSelectionResult as c9, type MindooDBAppRichTextScalar as cA, type MindooDBAppRichTextSpliceStep as cB, type MindooDBAppRichTextStep as cC, type MindooDBAppRichTextStepPatch as cD, type MindooDBAppRichTextTextSpan as cE, type MindooDBAppRuntime as cF, type MindooDBAppScanAttachmentOptions as cG, type MindooDBAppScanAttachmentResult as cH, type MindooDBAppScopedDocId as cI, type MindooDBAppScopedDocumentSummary as cJ, type MindooDBAppSealIntent as cK, type MindooDBAppSealedChannelOpenInput as cL, type MindooDBAppSealedChannelOpenResult as cM, type MindooDBAppSealedChannelRequestInput as cN, type MindooDBAppSession as cO, type MindooDBAppShowMenuInput as cP, type MindooDBAppShowMenuResult as cQ, type MindooDBAppSignPreview as cR, type MindooDBAppSignPreviewScope as cS, type MindooDBAppSignStatementInput as cT, type MindooDBAppSignStatementResult as cU, type MindooDBAppStorageApi as cV, type MindooDBAppSummarySetup as cW, type MindooDBAppTextCursorOptions as cX, type MindooDBAppTextCursorPosition as cY, type MindooDBAppTextCursorPositionsResult as cZ, type MindooDBAppTextCursorsResult as c_, type MindooDBAppMenuSeparatorItem as ca, type MindooDBAppNotificationSeverity as cb, type MindooDBAppNotifyInput as cc, type MindooDBAppNotifyResult as cd, type MindooDBAppProposeAppInput as ce, type MindooDBAppProposeAppResult as cf, type MindooDBAppQueryCoverage as cg, type MindooDBAppQueryInclude as ch, type MindooDBAppQueryIncludeCardinality as ci, type MindooDBAppQueryIncludeSlots as cj, type MindooDBAppQueryResult as ck, type MindooDBAppQueryRow as cl, type MindooDBAppQuerySortKey as cm, type MindooDBAppQueryTextClause as cn, type MindooDBAppReadableAttachmentStream as co, type MindooDBAppRecipientOptions as cp, type MindooDBAppResolvedViewDefinition as cq, type MindooDBAppResolvedViewSource as cr, type MindooDBAppRevisionPhase as cs, type MindooDBAppRevisionVerification as ct, type MindooDBAppRichTextBlockSpan as cu, type MindooDBAppRichTextGetOptions as cv, type MindooDBAppRichTextImmutableString as cw, type MindooDBAppRichTextMarkRange as cx, type MindooDBAppRichTextMaterializeValue as cy, type MindooDBAppRichTextPatch as cz, type MindooDBAppDragPreview as d, type MindooDBAppTextPatch as d0, type MindooDBAppThemeMode as d1, type MindooDBAppTimestampApi as d2, type MindooDBAppTimestampInput as d3, type MindooDBAppTimestampProvider as d4, type MindooDBAppTimestampResult as d5, type MindooDBAppUiPreferences as d6, type MindooDBAppUpdateDocumentInput as d7, type MindooDBAppViewCursorDocumentListResult as d8, type MindooDBAppViewCursorResult as d9, type MindooDBAppViewEntry as da, type MindooDBAppViewEntryKind as db, type MindooDBAppViewNavigator as dc, type MindooDBAppViewNavigatorExpansionState as dd, type MindooDBAppViewNavigatorOpenOptions as de, type MindooDBAppViewNavigatorPageOptions as df, type MindooDBAppViewNavigatorPageResult as dg, type MindooDBAppViewNavigatorRangeQuery as dh, type MindooDBAppViewNavigatorSelectionState as di, type MindooDBAppViewUpdateStats as dj, type MindooDBAppViewport as dk, type MindooDBAppWellKnownDragType as dl, type MindooDBAppWritableAttachmentStream as dm, mindooDBAppAcceptMatchesType as dn, mindooDBAppComponentFieldsMatch as dp, resolveMindooDBAppDefinitionUrl as dq, resolveMindooDBAppListingAssetUrl as dr, resolveMindooDBAppLocalizedText as ds, validateMindooDBAppAccepts as dt, validateMindooDBAppComponents as du, validateMindooDBAppDefinition as dv, type MindooDBAppBridge as e, type MindooDBAppAgentToolErrorCode as f, type MindooDBAppHostShortcutBinding as g, type MindooDBAppHostShortcutAction as h, type MindooDBAppHostingMode as i, type MindooDBAppDefinition as j, type MindooDBAppDatabase as k, type MindooDBAppDocument as l, type MindooDBAppRichTextSpan as m, type MindooDBAppRichTextSnapshot as n, type MindooDBAppCreateDocumentInput as o, MINDOODB_APP_ACCEPTS_MAX as p, MINDOODB_APP_COMPONENTS_MAX as q, MINDOODB_APP_DEFINITION_FILE_NAME as r, MINDOODB_APP_DEFINITION_FORMAT as s, MINDOODB_APP_DEFINITION_PERMISSIONS as t, MINDOODB_APP_DEFINITION_REGISTRATION_PERMISSIONS as u, MINDOODB_APP_DEFINITION_VERSION as v, MINDOODB_APP_LISTING_DESCRIPTION_MAX as w, MINDOODB_APP_LISTING_MAX_SCREENSHOTS as x, MINDOODB_APP_LISTING_SUMMARY_MAX as y, MINDOODB_APP_SEAL_SIGNING_DOMAIN as z };
3464
+ export { type MindooDBAppBridgeDragDropMessage as $, MINDOODB_APP_WELL_KNOWN_DRAG_TYPES as A, type MindooDBAppAcceptSpec as B, type MindooDBAppAccessDecision as C, type MindooDBAppAccessTier as D, type MindooDBAppAgentApi as E, type MindooDBAppAgentRegistration as F, type MindooDBAppAgentTool as G, type MindooDBAppAgentToolAnnotations as H, type MindooDBAppAgentToolDescriptor as I, type MindooDBAppAttachmentApi as J, type MindooDBAppAttachmentChunk as K, type MindooDBAppAttachmentInfo as L, type MindooDBAppAttachmentPreviewMode as M, type MindooDBAppAttachmentPreviewOptions as N, type MindooDBAppAttachmentPreviewSession as O, type MindooDBAppAutomergeChangesPatch as P, type MindooDBAppAutomergeChangesSince as Q, type MindooDBAppAutomergeGetOptions as R, type MindooDBAppAutomergePatchResult as S, type MindooDBAppAutomergeSnapshot as T, type MindooDBAppBridgeAgentInvokeMessage as U, type MindooDBAppBridgeAgentResultMessage as V, type MindooDBAppBridgeBeforeCloseAck as W, type MindooDBAppBridgeBeforeCloseMessage as X, type MindooDBAppBridgeConnectMessage as Y, type MindooDBAppBridgeConnectOptions as Z, type MindooDBAppBridgeConnectedMessage as _, type MindooDBAppDragBindSourceOptions as a, type MindooDBAppDefinitionValidation as a$, type MindooDBAppBridgeDragLeaveMessage as a0, type MindooDBAppBridgeDragOverMessage as a1, type MindooDBAppBridgeEmbedEventMessage as a2, type MindooDBAppBridgeEmbeddingRequestMessage as a3, type MindooDBAppBridgeErrorPayload as a4, type MindooDBAppBridgeHandshakeErrorMessage as a5, type MindooDBAppBridgeHostFocusChangedMessage as a6, type MindooDBAppBridgeIncomingContentMessage as a7, type MindooDBAppBridgeLocaleChangedMessage as a8, type MindooDBAppBridgePortMessage as a9, type MindooDBAppComponentQuery as aA, type MindooDBAppComponentSpec as aB, type MindooDBAppComponentsApi as aC, type MindooDBAppConfiguredViewCategorizationStyle as aD, type MindooDBAppConfiguredViewColumn as aE, type MindooDBAppConfiguredViewColumnRole as aF, type MindooDBAppConfiguredViewExpressionMode as aG, type MindooDBAppConfiguredViewFieldExpression as aH, type MindooDBAppConfiguredViewFilterDefinition as aI, type MindooDBAppConfiguredViewFilterMode as aJ, type MindooDBAppConfiguredViewFilterRule as aK, type MindooDBAppConfiguredViewFormulaExpression as aL, type MindooDBAppConfiguredViewFormulaFilterDefinition as aM, type MindooDBAppConfiguredViewPreviewMode as aN, type MindooDBAppConfiguredViewRuleFilterDefinition as aO, type MindooDBAppConfiguredViewRuleMatchMode as aP, type MindooDBAppConfiguredViewRuleOperator as aQ, type MindooDBAppConfiguredViewValueExpression as aR, type MindooDBAppCreateKeyInfo as aS, type MindooDBAppCreateViewInput as aT, type MindooDBAppCreateViewNavigatorInput as aU, type MindooDBAppDatabaseInfo as aV, type MindooDBAppDefinitionDatabase as aW, type MindooDBAppDefinitionListing as aX, type MindooDBAppDefinitionPermission as aY, type MindooDBAppDefinitionRegistrationPermission as aZ, type MindooDBAppDefinitionScreenshot as a_, type MindooDBAppBridgeQueryResultMessage as aa, type MindooDBAppBridgeRpcError as ab, type MindooDBAppBridgeRpcMessage as ac, type MindooDBAppBridgeRpcRequest as ad, type MindooDBAppBridgeRpcSuccess as ae, type MindooDBAppBridgeShortcutInvokedMessage as af, type MindooDBAppBridgeShortcutsChangedMessage as ag, type MindooDBAppBridgeStreamAbortRequest as ah, type MindooDBAppBridgeStreamAck as ai, type MindooDBAppBridgeStreamCloseRequest as aj, type MindooDBAppBridgeStreamError as ak, type MindooDBAppBridgeStreamMessage as al, type MindooDBAppBridgeStreamOpenResult as am, type MindooDBAppBridgeStreamReadRequest as an, type MindooDBAppBridgeStreamWriteRequest as ao, type MindooDBAppBridgeThemeChangedMessage as ap, type MindooDBAppBridgeUiPreferencesChangedMessage as aq, type MindooDBAppBridgeViewChangedMessage as ar, type MindooDBAppBridgeViewportChangedMessage as as, type MindooDBAppBridgeWorkspaceFocusRequestedMessage as at, type MindooDBAppBrowserFeatures as au, type MindooDBAppCapability as av, type MindooDBAppComponentChildren as aw, type MindooDBAppComponentFieldValue as ax, type MindooDBAppComponentInfo as ay, type MindooDBAppComponentIntent as az, type MindooDBAppDragStartInput as b, type MindooDBAppLocalizedText as b$, type MindooDBAppDirectoryApi as b0, type MindooDBAppDirectoryEntry as b1, type MindooDBAppDocumentApi as b2, type MindooDBAppDocumentHeadCursorResult as b3, type MindooDBAppDocumentHistoryEntry as b4, type MindooDBAppDocumentListQuery as b5, type MindooDBAppDocumentListResult as b6, type MindooDBAppDocumentQuery as b7, type MindooDBAppDocumentRevisionId as b8, type MindooDBAppDocumentScanPreset as b9, type MindooDBAppHistoricalDocument as bA, type MindooDBAppHistoryQuery as bB, type MindooDBAppHostTheme as bC, type MindooDBAppIdentityApi as bD, type MindooDBAppInaccessibleDocument as bE, type MindooDBAppInaccessibleDocumentListQuery as bF, type MindooDBAppInaccessibleDocumentListResult as bG, type MindooDBAppIncomingContent as bH, type MindooDBAppIncomingContentHandler as bI, type MindooDBAppIncomingContentInfo as bJ, type MindooDBAppIncomingItem as bK, type MindooDBAppIncomingItemInfo as bL, type MindooDBAppIncomingResult as bM, type MindooDBAppIncomingSource as bN, type MindooDBAppJsonCounterIncrementPatch as bO, type MindooDBAppJsonListDeletePatch as bP, type MindooDBAppJsonListInsertPatch as bQ, type MindooDBAppJsonPatch as bR, type MindooDBAppJsonSetPatch as bS, type MindooDBAppJsonTextMarkPatch as bT, type MindooDBAppJsonTextSplicePatch as bU, type MindooDBAppJsonTextUnmarkPatch as bV, type MindooDBAppJsonUnsetPatch as bW, type MindooDBAppLaunchContext as bX, type MindooDBAppListUsersOptions as bY, type MindooDBAppListUsersPage as bZ, type MindooDBAppLiveQuerySubscription as b_, type MindooDBAppDocumentSummary as ba, type MindooDBAppDragApi as bb, type MindooDBAppDragCancelReason as bc, type MindooDBAppDragDropEvent as bd, type MindooDBAppDragEffect as be, type MindooDBAppDragHoverResult as bf, type MindooDBAppDragOffer as bg, type MindooDBAppDragOverEvent as bh, type MindooDBAppDragPointer as bi, type MindooDBAppDragProfile as bj, type MindooDBAppEmbed as bk, type MindooDBAppEmbedCloseReason as bl, type MindooDBAppEmbedClosedEvent as bm, type MindooDBAppEmbedContext as bn, type MindooDBAppEmbedDirtyEvent as bo, type MindooDBAppEmbedOpenInput as bp, type MindooDBAppEmbedRect as bq, type MindooDBAppEmbeddingApi as br, type MindooDBAppEmbedsApi as bs, type MindooDBAppEntryAttachmentRef as bt, type MindooDBAppEntryProvenance as bu, type MindooDBAppExtractDocumentTextInput as bv, type MindooDBAppExtractDocumentTextResult as bw, type MindooDBAppExtractTextFormat as bx, type MindooDBAppExtractionSetup as by, type MindooDBAppFulltextSetup as bz, type MindooDBAppDragStartResult as c, type MindooDBAppTextCursorPositionsResult as c$, type MindooDBAppMenuAnchor as c0, type MindooDBAppMenuApi as c1, type MindooDBAppMenuCommandItem as c2, type MindooDBAppMenuDismissReason as c3, type MindooDBAppMenuDismissedResult as c4, type MindooDBAppMenuItem as c5, type MindooDBAppMenuKind as c6, type MindooDBAppMenuPlacement as c7, type MindooDBAppMenuPointAnchor as c8, type MindooDBAppMenuRect as c9, type MindooDBAppRichTextMaterializeValue as cA, type MindooDBAppRichTextPatch as cB, type MindooDBAppRichTextScalar as cC, type MindooDBAppRichTextSpliceStep as cD, type MindooDBAppRichTextStep as cE, type MindooDBAppRichTextStepPatch as cF, type MindooDBAppRichTextTextSpan as cG, type MindooDBAppRuntime as cH, type MindooDBAppScanAttachmentOptions as cI, type MindooDBAppScanAttachmentResult as cJ, type MindooDBAppScopedDocId as cK, type MindooDBAppScopedDocumentSummary as cL, type MindooDBAppSealIntent as cM, type MindooDBAppSealedChannelOpenInput as cN, type MindooDBAppSealedChannelOpenResult as cO, type MindooDBAppSealedChannelRequestInput as cP, type MindooDBAppSession as cQ, type MindooDBAppShowMenuInput as cR, type MindooDBAppShowMenuResult as cS, type MindooDBAppSignPreview as cT, type MindooDBAppSignPreviewScope as cU, type MindooDBAppSignStatementInput as cV, type MindooDBAppSignStatementResult as cW, type MindooDBAppStorageApi as cX, type MindooDBAppSummarySetup as cY, type MindooDBAppTextCursorOptions as cZ, type MindooDBAppTextCursorPosition as c_, type MindooDBAppMenuRectAnchor as ca, type MindooDBAppMenuSelectionResult as cb, type MindooDBAppMenuSeparatorItem as cc, type MindooDBAppNotificationSeverity as cd, type MindooDBAppNotifyInput as ce, type MindooDBAppNotifyResult as cf, type MindooDBAppProposeAppInput as cg, type MindooDBAppProposeAppResult as ch, type MindooDBAppQueryCoverage as ci, type MindooDBAppQueryInclude as cj, type MindooDBAppQueryIncludeCardinality as ck, type MindooDBAppQueryIncludeSlots as cl, type MindooDBAppQueryResult as cm, type MindooDBAppQueryRow as cn, type MindooDBAppQuerySortKey as co, type MindooDBAppQueryTextClause as cp, type MindooDBAppReadableAttachmentStream as cq, type MindooDBAppRecipientOptions as cr, type MindooDBAppResolvedViewDefinition as cs, type MindooDBAppResolvedViewSource as ct, type MindooDBAppRevisionPhase as cu, type MindooDBAppRevisionVerification as cv, type MindooDBAppRichTextBlockSpan as cw, type MindooDBAppRichTextGetOptions as cx, type MindooDBAppRichTextImmutableString as cy, type MindooDBAppRichTextMarkRange as cz, type MindooDBAppDragPreview as d, type MindooDBAppTextCursorsResult as d0, type MindooDBAppTextEdit as d1, type MindooDBAppTextPatch as d2, type MindooDBAppThemeMode as d3, type MindooDBAppTimestampApi as d4, type MindooDBAppTimestampInput as d5, type MindooDBAppTimestampProvider as d6, type MindooDBAppTimestampResult as d7, type MindooDBAppUiPreferences as d8, type MindooDBAppUpdateDocumentInput as d9, type MindooDBAppViewCursorDocumentListResult as da, type MindooDBAppViewCursorResult as db, type MindooDBAppViewEntry as dc, type MindooDBAppViewEntryKind as dd, type MindooDBAppViewNavigator as de, type MindooDBAppViewNavigatorExpansionState as df, type MindooDBAppViewNavigatorOpenOptions as dg, type MindooDBAppViewNavigatorPageOptions as dh, type MindooDBAppViewNavigatorPageResult as di, type MindooDBAppViewNavigatorRangeQuery as dj, type MindooDBAppViewNavigatorSelectionState as dk, type MindooDBAppViewUpdateStats as dl, type MindooDBAppViewport as dm, type MindooDBAppWellKnownDragType as dn, type MindooDBAppWritableAttachmentStream as dp, mindooDBAppAcceptMatchesType as dq, mindooDBAppComponentFieldsMatch as dr, resolveMindooDBAppDefinitionUrl as ds, resolveMindooDBAppListingAssetUrl as dt, resolveMindooDBAppLocalizedText as du, validateMindooDBAppAccepts as dv, validateMindooDBAppComponents as dw, validateMindooDBAppDefinition as dx, type MindooDBAppBridge as e, type MindooDBAppAgentToolErrorCode as f, type MindooDBAppHostShortcutBinding as g, type MindooDBAppHostShortcutAction as h, type MindooDBAppHostingMode as i, type MindooDBAppDefinition as j, type MindooDBAppDatabase as k, type MindooDBAppDocument as l, type MindooDBAppRichTextSpan as m, type MindooDBAppRichTextSnapshot as n, type MindooDBAppCreateDocumentInput as o, MINDOODB_APP_ACCEPTS_MAX as p, MINDOODB_APP_COMPONENTS_MAX as q, MINDOODB_APP_DEFINITION_FILE_NAME as r, MINDOODB_APP_DEFINITION_FORMAT as s, MINDOODB_APP_DEFINITION_PERMISSIONS as t, MINDOODB_APP_DEFINITION_REGISTRATION_PERMISSIONS as u, MINDOODB_APP_DEFINITION_VERSION as v, MINDOODB_APP_LISTING_DESCRIPTION_MAX as w, MINDOODB_APP_LISTING_MAX_SCREENSHOTS as x, MINDOODB_APP_LISTING_SUMMARY_MAX as y, MINDOODB_APP_SEAL_SIGNING_DOMAIN as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindoodb-app-sdk",
3
- "version": "0.0.60",
3
+ "version": "0.0.62",
4
4
  "engines": {
5
5
  "node": ">=22.13.0"
6
6
  },