@contractspec/lib.surface-runtime 0.3.0 → 0.3.3

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.
Files changed (152) hide show
  1. package/dist/adapters/ai-sdk-stub.js +1 -6
  2. package/dist/adapters/blocknote-stub.js +3 -8
  3. package/dist/adapters/dnd-kit-adapter.js +6 -11
  4. package/dist/adapters/dnd-kit-stub.js +1 -6
  5. package/dist/adapters/floating-ui-stub.js +4 -9
  6. package/dist/adapters/index.js +7 -176
  7. package/dist/adapters/interfaces.js +0 -1
  8. package/dist/adapters/motion-stub.js +2 -7
  9. package/dist/adapters/resizable-panels-stub.js +7 -12
  10. package/dist/browser/adapters/ai-sdk-stub.js +1 -5
  11. package/dist/browser/adapters/blocknote-stub.js +3 -7
  12. package/dist/browser/adapters/dnd-kit-adapter.js +6 -10
  13. package/dist/browser/adapters/dnd-kit-stub.js +1 -5
  14. package/dist/browser/adapters/floating-ui-stub.js +4 -8
  15. package/dist/browser/adapters/index.js +7 -175
  16. package/dist/browser/adapters/motion-stub.js +2 -6
  17. package/dist/browser/adapters/resizable-panels-stub.js +5 -9
  18. package/dist/browser/evals/golden-harness.js +4 -825
  19. package/dist/browser/examples/pm-workbench.bundle.js +2 -316
  20. package/dist/browser/i18n/catalogs/en.js +1 -5
  21. package/dist/browser/i18n/catalogs/es.js +1 -5
  22. package/dist/browser/i18n/catalogs/fr.js +1 -5
  23. package/dist/browser/i18n/catalogs/index.js +3 -133
  24. package/dist/browser/i18n/index.js +3 -168
  25. package/dist/browser/i18n/keys.js +1 -5
  26. package/dist/browser/i18n/messages.js +6 -137
  27. package/dist/browser/index.js +4 -2470
  28. package/dist/browser/react/BundleProvider.js +12 -19
  29. package/dist/browser/react/BundleRenderer.js +15 -662
  30. package/dist/browser/react/OverlayConflictResolver.js +12 -180
  31. package/dist/browser/react/PatchProposalCard.js +9 -177
  32. package/dist/browser/react/RegionRenderer.js +14 -60
  33. package/dist/browser/react/SlotRenderer.js +15 -58
  34. package/dist/browser/react/WidgetPalette.js +6 -10
  35. package/dist/browser/react/index.js +14 -794
  36. package/dist/browser/runtime/apply-surface-patch.js +3 -208
  37. package/dist/browser/runtime/audit-events.js +8 -19
  38. package/dist/browser/runtime/build-context.js +2 -6
  39. package/dist/browser/runtime/extension-registry.js +3 -9
  40. package/dist/browser/runtime/field-renderer-registry.js +5 -11
  41. package/dist/browser/runtime/index.js +54 -1487
  42. package/dist/browser/runtime/overlay-alignment.js +8 -19
  43. package/dist/browser/runtime/overlay-signer.js +2 -7
  44. package/dist/browser/runtime/override-store.js +3 -9
  45. package/dist/browser/runtime/planner-prompt.js +2 -6
  46. package/dist/browser/runtime/planner-tools.js +3 -9
  47. package/dist/browser/runtime/policy-eval.js +3 -135
  48. package/dist/browser/runtime/preference-adapter.js +2 -62
  49. package/dist/browser/runtime/resolve-bundle.js +10 -447
  50. package/dist/browser/runtime/resolve-preferences.js +3 -7
  51. package/dist/browser/runtime/rollback.js +2 -325
  52. package/dist/browser/runtime/widget-registry.js +1 -5
  53. package/dist/browser/spec/define-module-bundle.js +2 -67
  54. package/dist/browser/spec/index.js +9 -317
  55. package/dist/browser/spec/validate-bundle.js +3 -8
  56. package/dist/browser/spec/validate-surface-patch.js +5 -11
  57. package/dist/browser/telemetry/index.js +4 -16
  58. package/dist/browser/telemetry/surface-metrics.js +7 -16
  59. package/dist/evals/golden-context.js +0 -1
  60. package/dist/evals/golden-harness.js +4 -826
  61. package/dist/examples/pm-workbench.bundle.js +2 -317
  62. package/dist/i18n/catalogs/en.js +1 -6
  63. package/dist/i18n/catalogs/es.js +1 -6
  64. package/dist/i18n/catalogs/fr.js +1 -6
  65. package/dist/i18n/catalogs/index.js +3 -134
  66. package/dist/i18n/index.js +3 -169
  67. package/dist/i18n/keys.js +1 -6
  68. package/dist/i18n/messages.js +6 -138
  69. package/dist/index.js +4 -2471
  70. package/dist/node/adapters/ai-sdk-stub.js +1 -5
  71. package/dist/node/adapters/blocknote-stub.js +3 -7
  72. package/dist/node/adapters/dnd-kit-adapter.js +6 -10
  73. package/dist/node/adapters/dnd-kit-stub.js +1 -5
  74. package/dist/node/adapters/floating-ui-stub.js +4 -8
  75. package/dist/node/adapters/index.js +7 -175
  76. package/dist/node/adapters/motion-stub.js +2 -6
  77. package/dist/node/adapters/resizable-panels-stub.js +5 -9
  78. package/dist/node/evals/golden-harness.js +4 -825
  79. package/dist/node/examples/pm-workbench.bundle.js +2 -316
  80. package/dist/node/i18n/catalogs/en.js +1 -5
  81. package/dist/node/i18n/catalogs/es.js +1 -5
  82. package/dist/node/i18n/catalogs/fr.js +1 -5
  83. package/dist/node/i18n/catalogs/index.js +3 -133
  84. package/dist/node/i18n/index.js +3 -168
  85. package/dist/node/i18n/keys.js +1 -5
  86. package/dist/node/i18n/messages.js +6 -137
  87. package/dist/node/index.js +4 -2470
  88. package/dist/node/react/BundleProvider.js +12 -19
  89. package/dist/node/react/BundleRenderer.js +15 -662
  90. package/dist/node/react/OverlayConflictResolver.js +12 -180
  91. package/dist/node/react/PatchProposalCard.js +9 -177
  92. package/dist/node/react/RegionRenderer.js +14 -60
  93. package/dist/node/react/SlotRenderer.js +15 -58
  94. package/dist/node/react/WidgetPalette.js +6 -10
  95. package/dist/node/react/index.js +14 -794
  96. package/dist/node/runtime/apply-surface-patch.js +3 -208
  97. package/dist/node/runtime/audit-events.js +8 -19
  98. package/dist/node/runtime/build-context.js +2 -6
  99. package/dist/node/runtime/extension-registry.js +3 -9
  100. package/dist/node/runtime/field-renderer-registry.js +5 -11
  101. package/dist/node/runtime/index.js +54 -1487
  102. package/dist/node/runtime/overlay-alignment.js +8 -19
  103. package/dist/node/runtime/overlay-signer.js +2 -7
  104. package/dist/node/runtime/override-store.js +3 -9
  105. package/dist/node/runtime/planner-prompt.js +2 -6
  106. package/dist/node/runtime/planner-tools.js +3 -9
  107. package/dist/node/runtime/policy-eval.js +3 -135
  108. package/dist/node/runtime/preference-adapter.js +2 -62
  109. package/dist/node/runtime/resolve-bundle.js +10 -447
  110. package/dist/node/runtime/resolve-preferences.js +3 -7
  111. package/dist/node/runtime/rollback.js +2 -325
  112. package/dist/node/runtime/widget-registry.js +1 -5
  113. package/dist/node/spec/define-module-bundle.js +2 -67
  114. package/dist/node/spec/index.js +9 -317
  115. package/dist/node/spec/validate-bundle.js +3 -8
  116. package/dist/node/spec/validate-surface-patch.js +5 -11
  117. package/dist/node/telemetry/index.js +4 -16
  118. package/dist/node/telemetry/surface-metrics.js +7 -16
  119. package/dist/react/BundleProvider.js +12 -20
  120. package/dist/react/BundleRenderer.js +15 -663
  121. package/dist/react/OverlayConflictResolver.js +12 -181
  122. package/dist/react/PatchProposalCard.js +9 -178
  123. package/dist/react/RegionRenderer.js +14 -61
  124. package/dist/react/SlotRenderer.js +15 -59
  125. package/dist/react/WidgetPalette.js +6 -11
  126. package/dist/react/index.js +14 -795
  127. package/dist/runtime/apply-surface-patch.js +3 -209
  128. package/dist/runtime/audit-events.js +8 -20
  129. package/dist/runtime/build-context.js +2 -7
  130. package/dist/runtime/extension-registry.js +3 -10
  131. package/dist/runtime/field-renderer-registry.js +9 -16
  132. package/dist/runtime/index.js +54 -1488
  133. package/dist/runtime/overlay-alignment.js +8 -20
  134. package/dist/runtime/overlay-signer.js +2 -8
  135. package/dist/runtime/override-store.js +3 -10
  136. package/dist/runtime/planner-prompt.js +11 -9
  137. package/dist/runtime/planner-tools.js +4 -11
  138. package/dist/runtime/policy-eval.js +3 -136
  139. package/dist/runtime/preference-adapter.js +2 -63
  140. package/dist/runtime/resolve-bundle.js +10 -448
  141. package/dist/runtime/resolve-preferences.js +3 -8
  142. package/dist/runtime/rollback.js +2 -326
  143. package/dist/runtime/widget-registry.js +1 -6
  144. package/dist/spec/define-module-bundle.js +2 -68
  145. package/dist/spec/index.js +9 -318
  146. package/dist/spec/types.js +0 -1
  147. package/dist/spec/validate-bundle.js +3 -9
  148. package/dist/spec/validate-surface-patch.js +5 -12
  149. package/dist/spec/verification-snapshot-types.js +0 -1
  150. package/dist/telemetry/index.js +4 -17
  151. package/dist/telemetry/surface-metrics.js +7 -17
  152. package/package.json +7 -7
@@ -1,6 +1,4 @@
1
- // @bun
2
- // src/adapters/ai-sdk-stub.ts
3
- var aiSdkAdapterStub = {
1
+ export const aiSdkAdapterStub = {
4
2
  startThread(_args) {
5
3
  return null;
6
4
  },
@@ -8,6 +6,3 @@ var aiSdkAdapterStub = {
8
6
  return [];
9
7
  }
10
8
  };
11
- export {
12
- aiSdkAdapterStub
13
- };
@@ -1,7 +1,5 @@
1
- // @bun
2
- // src/adapters/blocknote-stub.tsx
3
- import { jsxDEV } from "react/jsx-dev-runtime";
4
- var blocknoteAdapterStub = {
1
+ import { jsxDEV as jsxDEV_7x81h0kn } from "react/jsx-dev-runtime";
2
+ export const blocknoteAdapterStub = {
5
3
  supportsNode(_kind) {
6
4
  return false;
7
5
  },
@@ -9,7 +7,7 @@ var blocknoteAdapterStub = {
9
7
  return {};
10
8
  },
11
9
  renderNode(node, _ctx) {
12
- return /* @__PURE__ */ jsxDEV("div", {
10
+ return /* @__PURE__ */ jsxDEV_7x81h0kn("div", {
13
11
  "data-blocknote-stub": true,
14
12
  "data-node-id": node.nodeId,
15
13
  children: node.title ?? node.kind
@@ -26,6 +24,3 @@ var blocknoteAdapterStub = {
26
24
  };
27
25
  }
28
26
  };
29
- export {
30
- blocknoteAdapterStub
31
- };
@@ -1,17 +1,15 @@
1
- // @bun
2
- // src/adapters/dnd-kit-adapter.tsx
1
+ "use client";
2
+ import { jsxDEV as jsxDEV_7x81h0kn } from "react/jsx-dev-runtime";
3
3
  import {
4
4
  DndContext,
5
5
  PointerSensor,
6
6
  useSensor,
7
7
  useSensors
8
8
  } from "@dnd-kit/core";
9
- import { jsxDEV } from "react/jsx-dev-runtime";
10
- "use client";
11
- var noop = () => {
9
+ const noop = () => {
12
10
  return;
13
11
  };
14
- var _onPatch = noop;
12
+ let _onPatch = noop;
15
13
  function handleDragEnd(event) {
16
14
  const { active, over } = event;
17
15
  if (!over)
@@ -27,18 +25,15 @@ function DndWrapperComponent({ children, onPatch }) {
27
25
  const sensors = useSensors(useSensor(PointerSensor, {
28
26
  activationConstraint: { distance: 8 }
29
27
  }));
30
- return /* @__PURE__ */ jsxDEV(DndContext, {
28
+ return /* @__PURE__ */ jsxDEV_7x81h0kn(DndContext, {
31
29
  sensors,
32
30
  onDragEnd: handleDragEnd,
33
31
  children
34
32
  }, undefined, false, undefined, this);
35
33
  }
36
- var dndKitAdapter = {
34
+ export const dndKitAdapter = {
37
35
  enableSurfaceEditing(args) {
38
36
  _onPatch = args.onPatch;
39
37
  },
40
38
  DndWrapper: DndWrapperComponent
41
39
  };
42
- export {
43
- dndKitAdapter
44
- };
@@ -1,8 +1,3 @@
1
- // @bun
2
- // src/adapters/dnd-kit-stub.ts
3
- var dndKitAdapterStub = {
1
+ export const dndKitAdapterStub = {
4
2
  enableSurfaceEditing(_args) {}
5
3
  };
6
- export {
7
- dndKitAdapterStub
8
- };
@@ -1,19 +1,14 @@
1
- // @bun
2
- // src/adapters/floating-ui-stub.tsx
3
- import { jsxDEV } from "react/jsx-dev-runtime";
4
- var floatingUiAdapterStub = {
1
+ import { jsxDEV as jsxDEV_7x81h0kn } from "react/jsx-dev-runtime";
2
+ export const floatingUiAdapterStub = {
5
3
  renderAnchoredMenu({ anchorId, items }) {
6
- return /* @__PURE__ */ jsxDEV("div", {
4
+ return /* @__PURE__ */ jsxDEV_7x81h0kn("div", {
7
5
  "data-floating-stub": true,
8
6
  "data-anchor-id": anchorId,
9
7
  role: "menu",
10
- children: items.map((a) => /* @__PURE__ */ jsxDEV("div", {
8
+ children: items.map((a) => /* @__PURE__ */ jsxDEV_7x81h0kn("div", {
11
9
  role: "menuitem",
12
10
  children: a.title
13
11
  }, a.actionId, false, undefined, this))
14
12
  }, undefined, false, undefined, this);
15
13
  }
16
14
  };
17
- export {
18
- floatingUiAdapterStub
19
- };
@@ -1,176 +1,7 @@
1
- // @bun
2
- // src/adapters/ai-sdk-stub.ts
3
- var aiSdkAdapterStub = {
4
- startThread(_args) {
5
- return null;
6
- },
7
- async requestPatches(_args) {
8
- return [];
9
- }
10
- };
11
-
12
- // src/adapters/blocknote-stub.tsx
13
- import { jsxDEV } from "react/jsx-dev-runtime";
14
- var blocknoteAdapterStub = {
15
- supportsNode(_kind) {
16
- return false;
17
- },
18
- createSchema(_registry) {
19
- return {};
20
- },
21
- renderNode(node, _ctx) {
22
- return /* @__PURE__ */ jsxDEV("div", {
23
- "data-blocknote-stub": true,
24
- "data-node-id": node.nodeId,
25
- children: node.title ?? node.kind
26
- }, undefined, false, undefined, this);
27
- },
28
- async serialize(node) {
29
- return { nodeId: node.nodeId, kind: node.kind };
30
- },
31
- async deserialize(input) {
32
- const o = input;
33
- return {
34
- nodeId: o?.nodeId ?? "stub",
35
- kind: o?.kind ?? "custom-widget"
36
- };
37
- }
38
- };
39
-
40
- // src/adapters/dnd-kit-adapter.tsx
41
- import {
42
- DndContext,
43
- PointerSensor,
44
- useSensor,
45
- useSensors
46
- } from "@dnd-kit/core";
47
- import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
48
- "use client";
49
- var noop = () => {
50
- return;
51
- };
52
- var _onPatch = noop;
53
- function handleDragEnd(event) {
54
- const { active, over } = event;
55
- if (!over)
56
- return;
57
- const fromId = active.id;
58
- const toSlotId = over.id;
59
- if (fromId && toSlotId) {
60
- _onPatch([{ op: "move-node", nodeId: fromId, toSlotId }]);
61
- }
62
- }
63
- function DndWrapperComponent({ children, onPatch }) {
64
- _onPatch = onPatch;
65
- const sensors = useSensors(useSensor(PointerSensor, {
66
- activationConstraint: { distance: 8 }
67
- }));
68
- return /* @__PURE__ */ jsxDEV2(DndContext, {
69
- sensors,
70
- onDragEnd: handleDragEnd,
71
- children
72
- }, undefined, false, undefined, this);
73
- }
74
- var dndKitAdapter = {
75
- enableSurfaceEditing(args) {
76
- _onPatch = args.onPatch;
77
- },
78
- DndWrapper: DndWrapperComponent
79
- };
80
-
81
- // src/adapters/dnd-kit-stub.ts
82
- var dndKitAdapterStub = {
83
- enableSurfaceEditing(_args) {}
84
- };
85
-
86
- // src/adapters/floating-ui-stub.tsx
87
- import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
88
- var floatingUiAdapterStub = {
89
- renderAnchoredMenu({ anchorId, items }) {
90
- return /* @__PURE__ */ jsxDEV3("div", {
91
- "data-floating-stub": true,
92
- "data-anchor-id": anchorId,
93
- role: "menu",
94
- children: items.map((a) => /* @__PURE__ */ jsxDEV3("div", {
95
- role: "menuitem",
96
- children: a.title
97
- }, a.actionId, false, undefined, this))
98
- }, undefined, false, undefined, this);
99
- }
100
- };
101
-
102
- // src/adapters/motion-stub.ts
103
- var PACE_TOKENS = {
104
- deliberate: {
105
- durationMs: 300,
106
- enableEntrance: true,
107
- layout: true
108
- },
109
- balanced: {
110
- durationMs: 150,
111
- enableEntrance: true,
112
- layout: true
113
- },
114
- rapid: {
115
- durationMs: 50,
116
- enableEntrance: false,
117
- layout: false
118
- }
119
- };
120
- var motionAdapterStub = {
121
- getTokens(pace) {
122
- return PACE_TOKENS[pace] ?? PACE_TOKENS.balanced;
123
- }
124
- };
125
-
126
- // src/adapters/resizable-panels-stub.tsx
127
- import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
128
- var LAYOUT_STORAGE_KEY = "surface-runtime:panel-layout:";
129
- var resizablePanelsAdapterStub = {
130
- renderPanelGroup(region, ctx, renderChild) {
131
- const direction = region.direction === "horizontal" ? "row" : "column";
132
- return /* @__PURE__ */ jsxDEV4("div", {
133
- "data-panel-group": true,
134
- "data-persist-key": region.persistKey,
135
- style: {
136
- display: "flex",
137
- flexDirection: direction,
138
- flex: 1,
139
- minHeight: 0
140
- },
141
- children: region.children.map((child, i) => /* @__PURE__ */ jsxDEV4("div", {
142
- style: { flex: 1, minWidth: 0, minHeight: 0 },
143
- children: renderChild(child, ctx)
144
- }, i, false, undefined, this))
145
- }, undefined, false, undefined, this);
146
- },
147
- async restoreLayout(persistKey) {
148
- if (typeof localStorage === "undefined")
149
- return null;
150
- try {
151
- const raw = localStorage.getItem(LAYOUT_STORAGE_KEY + persistKey);
152
- if (!raw)
153
- return null;
154
- const parsed = JSON.parse(raw);
155
- return Array.isArray(parsed) ? parsed : null;
156
- } catch {
157
- return null;
158
- }
159
- },
160
- async saveLayout(persistKey, sizes) {
161
- if (typeof localStorage === "undefined")
162
- return;
163
- try {
164
- localStorage.setItem(LAYOUT_STORAGE_KEY + persistKey, JSON.stringify(sizes));
165
- } catch {}
166
- }
167
- };
168
- export {
169
- resizablePanelsAdapterStub,
170
- motionAdapterStub,
171
- floatingUiAdapterStub,
172
- dndKitAdapterStub,
173
- dndKitAdapter,
174
- blocknoteAdapterStub,
175
- aiSdkAdapterStub
176
- };
1
+ export { aiSdkAdapterStub } from "./ai-sdk-stub";
2
+ export { blocknoteAdapterStub } from "./blocknote-stub";
3
+ export { dndKitAdapterStub } from "./dnd-kit-stub";
4
+ export { dndKitAdapter } from "./dnd-kit-adapter";
5
+ export { floatingUiAdapterStub } from "./floating-ui-stub";
6
+ export { motionAdapterStub } from "./motion-stub";
7
+ export { resizablePanelsAdapterStub } from "./resizable-panels-stub";
@@ -1 +0,0 @@
1
- // @bun
@@ -1,6 +1,4 @@
1
- // @bun
2
- // src/adapters/motion-stub.ts
3
- var PACE_TOKENS = {
1
+ const PACE_TOKENS = {
4
2
  deliberate: {
5
3
  durationMs: 300,
6
4
  enableEntrance: true,
@@ -17,11 +15,8 @@ var PACE_TOKENS = {
17
15
  layout: false
18
16
  }
19
17
  };
20
- var motionAdapterStub = {
18
+ export const motionAdapterStub = {
21
19
  getTokens(pace) {
22
20
  return PACE_TOKENS[pace] ?? PACE_TOKENS.balanced;
23
21
  }
24
22
  };
25
- export {
26
- motionAdapterStub
27
- };
@@ -1,11 +1,9 @@
1
- // @bun
2
- // src/adapters/resizable-panels-stub.tsx
3
- import { jsxDEV } from "react/jsx-dev-runtime";
4
- var LAYOUT_STORAGE_KEY = "surface-runtime:panel-layout:";
5
- var resizablePanelsAdapterStub = {
1
+ import { jsxDEV as jsxDEV_7x81h0kn } from "react/jsx-dev-runtime";
2
+ const LAYOUT_STORAGE_KEY = "surface-runtime:panel-layout:";
3
+ export const resizablePanelsAdapterStub = {
6
4
  renderPanelGroup(region, ctx, renderChild) {
7
5
  const direction = region.direction === "horizontal" ? "row" : "column";
8
- return /* @__PURE__ */ jsxDEV("div", {
6
+ return /* @__PURE__ */ jsxDEV_7x81h0kn("div", {
9
7
  "data-panel-group": true,
10
8
  "data-persist-key": region.persistKey,
11
9
  style: {
@@ -14,7 +12,7 @@ var resizablePanelsAdapterStub = {
14
12
  flex: 1,
15
13
  minHeight: 0
16
14
  },
17
- children: region.children.map((child, i) => /* @__PURE__ */ jsxDEV("div", {
15
+ children: region.children.map((child, i) => /* @__PURE__ */ jsxDEV_7x81h0kn("div", {
18
16
  style: { flex: 1, minWidth: 0, minHeight: 0 },
19
17
  children: renderChild(child, ctx)
20
18
  }, i, false, undefined, this))
@@ -24,7 +22,7 @@ var resizablePanelsAdapterStub = {
24
22
  if (typeof localStorage === "undefined")
25
23
  return null;
26
24
  try {
27
- const raw = localStorage.getItem(LAYOUT_STORAGE_KEY + persistKey);
25
+ const raw = localStorage.getItem("surface-runtime:panel-layout:" + persistKey);
28
26
  if (!raw)
29
27
  return null;
30
28
  const parsed = JSON.parse(raw);
@@ -37,10 +35,7 @@ var resizablePanelsAdapterStub = {
37
35
  if (typeof localStorage === "undefined")
38
36
  return;
39
37
  try {
40
- localStorage.setItem(LAYOUT_STORAGE_KEY + persistKey, JSON.stringify(sizes));
38
+ localStorage.setItem("surface-runtime:panel-layout:" + persistKey, JSON.stringify(sizes));
41
39
  } catch {}
42
40
  }
43
41
  };
44
- export {
45
- resizablePanelsAdapterStub
46
- };
@@ -1,5 +1,4 @@
1
- // src/adapters/ai-sdk-stub.ts
2
- var aiSdkAdapterStub = {
1
+ export const aiSdkAdapterStub = {
3
2
  startThread(_args) {
4
3
  return null;
5
4
  },
@@ -7,6 +6,3 @@ var aiSdkAdapterStub = {
7
6
  return [];
8
7
  }
9
8
  };
10
- export {
11
- aiSdkAdapterStub
12
- };
@@ -1,6 +1,5 @@
1
- // src/adapters/blocknote-stub.tsx
2
- import { jsxDEV } from "react/jsx-dev-runtime";
3
- var blocknoteAdapterStub = {
1
+ import { jsxDEV as jsxDEV_7x81h0kn } from "react/jsx-dev-runtime";
2
+ export const blocknoteAdapterStub = {
4
3
  supportsNode(_kind) {
5
4
  return false;
6
5
  },
@@ -8,7 +7,7 @@ var blocknoteAdapterStub = {
8
7
  return {};
9
8
  },
10
9
  renderNode(node, _ctx) {
11
- return /* @__PURE__ */ jsxDEV("div", {
10
+ return /* @__PURE__ */ jsxDEV_7x81h0kn("div", {
12
11
  "data-blocknote-stub": true,
13
12
  "data-node-id": node.nodeId,
14
13
  children: node.title ?? node.kind
@@ -25,6 +24,3 @@ var blocknoteAdapterStub = {
25
24
  };
26
25
  }
27
26
  };
28
- export {
29
- blocknoteAdapterStub
30
- };
@@ -1,16 +1,15 @@
1
- // src/adapters/dnd-kit-adapter.tsx
1
+ "use client";
2
+ import { jsxDEV as jsxDEV_7x81h0kn } from "react/jsx-dev-runtime";
2
3
  import {
3
4
  DndContext,
4
5
  PointerSensor,
5
6
  useSensor,
6
7
  useSensors
7
8
  } from "@dnd-kit/core";
8
- import { jsxDEV } from "react/jsx-dev-runtime";
9
- "use client";
10
- var noop = () => {
9
+ const noop = () => {
11
10
  return;
12
11
  };
13
- var _onPatch = noop;
12
+ let _onPatch = noop;
14
13
  function handleDragEnd(event) {
15
14
  const { active, over } = event;
16
15
  if (!over)
@@ -26,18 +25,15 @@ function DndWrapperComponent({ children, onPatch }) {
26
25
  const sensors = useSensors(useSensor(PointerSensor, {
27
26
  activationConstraint: { distance: 8 }
28
27
  }));
29
- return /* @__PURE__ */ jsxDEV(DndContext, {
28
+ return /* @__PURE__ */ jsxDEV_7x81h0kn(DndContext, {
30
29
  sensors,
31
30
  onDragEnd: handleDragEnd,
32
31
  children
33
32
  }, undefined, false, undefined, this);
34
33
  }
35
- var dndKitAdapter = {
34
+ export const dndKitAdapter = {
36
35
  enableSurfaceEditing(args) {
37
36
  _onPatch = args.onPatch;
38
37
  },
39
38
  DndWrapper: DndWrapperComponent
40
39
  };
41
- export {
42
- dndKitAdapter
43
- };
@@ -1,7 +1,3 @@
1
- // src/adapters/dnd-kit-stub.ts
2
- var dndKitAdapterStub = {
1
+ export const dndKitAdapterStub = {
3
2
  enableSurfaceEditing(_args) {}
4
3
  };
5
- export {
6
- dndKitAdapterStub
7
- };
@@ -1,18 +1,14 @@
1
- // src/adapters/floating-ui-stub.tsx
2
- import { jsxDEV } from "react/jsx-dev-runtime";
3
- var floatingUiAdapterStub = {
1
+ import { jsxDEV as jsxDEV_7x81h0kn } from "react/jsx-dev-runtime";
2
+ export const floatingUiAdapterStub = {
4
3
  renderAnchoredMenu({ anchorId, items }) {
5
- return /* @__PURE__ */ jsxDEV("div", {
4
+ return /* @__PURE__ */ jsxDEV_7x81h0kn("div", {
6
5
  "data-floating-stub": true,
7
6
  "data-anchor-id": anchorId,
8
7
  role: "menu",
9
- children: items.map((a) => /* @__PURE__ */ jsxDEV("div", {
8
+ children: items.map((a) => /* @__PURE__ */ jsxDEV_7x81h0kn("div", {
10
9
  role: "menuitem",
11
10
  children: a.title
12
11
  }, a.actionId, false, undefined, this))
13
12
  }, undefined, false, undefined, this);
14
13
  }
15
14
  };
16
- export {
17
- floatingUiAdapterStub
18
- };
@@ -1,175 +1,7 @@
1
- // src/adapters/ai-sdk-stub.ts
2
- var aiSdkAdapterStub = {
3
- startThread(_args) {
4
- return null;
5
- },
6
- async requestPatches(_args) {
7
- return [];
8
- }
9
- };
10
-
11
- // src/adapters/blocknote-stub.tsx
12
- import { jsxDEV } from "react/jsx-dev-runtime";
13
- var blocknoteAdapterStub = {
14
- supportsNode(_kind) {
15
- return false;
16
- },
17
- createSchema(_registry) {
18
- return {};
19
- },
20
- renderNode(node, _ctx) {
21
- return /* @__PURE__ */ jsxDEV("div", {
22
- "data-blocknote-stub": true,
23
- "data-node-id": node.nodeId,
24
- children: node.title ?? node.kind
25
- }, undefined, false, undefined, this);
26
- },
27
- async serialize(node) {
28
- return { nodeId: node.nodeId, kind: node.kind };
29
- },
30
- async deserialize(input) {
31
- const o = input;
32
- return {
33
- nodeId: o?.nodeId ?? "stub",
34
- kind: o?.kind ?? "custom-widget"
35
- };
36
- }
37
- };
38
-
39
- // src/adapters/dnd-kit-adapter.tsx
40
- import {
41
- DndContext,
42
- PointerSensor,
43
- useSensor,
44
- useSensors
45
- } from "@dnd-kit/core";
46
- import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
47
- "use client";
48
- var noop = () => {
49
- return;
50
- };
51
- var _onPatch = noop;
52
- function handleDragEnd(event) {
53
- const { active, over } = event;
54
- if (!over)
55
- return;
56
- const fromId = active.id;
57
- const toSlotId = over.id;
58
- if (fromId && toSlotId) {
59
- _onPatch([{ op: "move-node", nodeId: fromId, toSlotId }]);
60
- }
61
- }
62
- function DndWrapperComponent({ children, onPatch }) {
63
- _onPatch = onPatch;
64
- const sensors = useSensors(useSensor(PointerSensor, {
65
- activationConstraint: { distance: 8 }
66
- }));
67
- return /* @__PURE__ */ jsxDEV2(DndContext, {
68
- sensors,
69
- onDragEnd: handleDragEnd,
70
- children
71
- }, undefined, false, undefined, this);
72
- }
73
- var dndKitAdapter = {
74
- enableSurfaceEditing(args) {
75
- _onPatch = args.onPatch;
76
- },
77
- DndWrapper: DndWrapperComponent
78
- };
79
-
80
- // src/adapters/dnd-kit-stub.ts
81
- var dndKitAdapterStub = {
82
- enableSurfaceEditing(_args) {}
83
- };
84
-
85
- // src/adapters/floating-ui-stub.tsx
86
- import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
87
- var floatingUiAdapterStub = {
88
- renderAnchoredMenu({ anchorId, items }) {
89
- return /* @__PURE__ */ jsxDEV3("div", {
90
- "data-floating-stub": true,
91
- "data-anchor-id": anchorId,
92
- role: "menu",
93
- children: items.map((a) => /* @__PURE__ */ jsxDEV3("div", {
94
- role: "menuitem",
95
- children: a.title
96
- }, a.actionId, false, undefined, this))
97
- }, undefined, false, undefined, this);
98
- }
99
- };
100
-
101
- // src/adapters/motion-stub.ts
102
- var PACE_TOKENS = {
103
- deliberate: {
104
- durationMs: 300,
105
- enableEntrance: true,
106
- layout: true
107
- },
108
- balanced: {
109
- durationMs: 150,
110
- enableEntrance: true,
111
- layout: true
112
- },
113
- rapid: {
114
- durationMs: 50,
115
- enableEntrance: false,
116
- layout: false
117
- }
118
- };
119
- var motionAdapterStub = {
120
- getTokens(pace) {
121
- return PACE_TOKENS[pace] ?? PACE_TOKENS.balanced;
122
- }
123
- };
124
-
125
- // src/adapters/resizable-panels-stub.tsx
126
- import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
127
- var LAYOUT_STORAGE_KEY = "surface-runtime:panel-layout:";
128
- var resizablePanelsAdapterStub = {
129
- renderPanelGroup(region, ctx, renderChild) {
130
- const direction = region.direction === "horizontal" ? "row" : "column";
131
- return /* @__PURE__ */ jsxDEV4("div", {
132
- "data-panel-group": true,
133
- "data-persist-key": region.persistKey,
134
- style: {
135
- display: "flex",
136
- flexDirection: direction,
137
- flex: 1,
138
- minHeight: 0
139
- },
140
- children: region.children.map((child, i) => /* @__PURE__ */ jsxDEV4("div", {
141
- style: { flex: 1, minWidth: 0, minHeight: 0 },
142
- children: renderChild(child, ctx)
143
- }, i, false, undefined, this))
144
- }, undefined, false, undefined, this);
145
- },
146
- async restoreLayout(persistKey) {
147
- if (typeof localStorage === "undefined")
148
- return null;
149
- try {
150
- const raw = localStorage.getItem(LAYOUT_STORAGE_KEY + persistKey);
151
- if (!raw)
152
- return null;
153
- const parsed = JSON.parse(raw);
154
- return Array.isArray(parsed) ? parsed : null;
155
- } catch {
156
- return null;
157
- }
158
- },
159
- async saveLayout(persistKey, sizes) {
160
- if (typeof localStorage === "undefined")
161
- return;
162
- try {
163
- localStorage.setItem(LAYOUT_STORAGE_KEY + persistKey, JSON.stringify(sizes));
164
- } catch {}
165
- }
166
- };
167
- export {
168
- resizablePanelsAdapterStub,
169
- motionAdapterStub,
170
- floatingUiAdapterStub,
171
- dndKitAdapterStub,
172
- dndKitAdapter,
173
- blocknoteAdapterStub,
174
- aiSdkAdapterStub
175
- };
1
+ export { aiSdkAdapterStub } from "./ai-sdk-stub";
2
+ export { blocknoteAdapterStub } from "./blocknote-stub";
3
+ export { dndKitAdapterStub } from "./dnd-kit-stub";
4
+ export { dndKitAdapter } from "./dnd-kit-adapter";
5
+ export { floatingUiAdapterStub } from "./floating-ui-stub";
6
+ export { motionAdapterStub } from "./motion-stub";
7
+ export { resizablePanelsAdapterStub } from "./resizable-panels-stub";
@@ -1,5 +1,4 @@
1
- // src/adapters/motion-stub.ts
2
- var PACE_TOKENS = {
1
+ const PACE_TOKENS = {
3
2
  deliberate: {
4
3
  durationMs: 300,
5
4
  enableEntrance: true,
@@ -16,11 +15,8 @@ var PACE_TOKENS = {
16
15
  layout: false
17
16
  }
18
17
  };
19
- var motionAdapterStub = {
18
+ export const motionAdapterStub = {
20
19
  getTokens(pace) {
21
20
  return PACE_TOKENS[pace] ?? PACE_TOKENS.balanced;
22
21
  }
23
22
  };
24
- export {
25
- motionAdapterStub
26
- };