@contractspec/lib.surface-runtime 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/README.md +164 -0
  2. package/dist/adapters/ai-sdk-stub.d.ts +5 -0
  3. package/dist/adapters/ai-sdk-stub.js +13 -0
  4. package/dist/adapters/blocknote-stub.d.ts +6 -0
  5. package/dist/adapters/blocknote-stub.js +31 -0
  6. package/dist/adapters/dnd-kit-adapter.d.ts +13 -0
  7. package/dist/adapters/dnd-kit-adapter.js +44 -0
  8. package/dist/adapters/dnd-kit-stub.d.ts +6 -0
  9. package/dist/adapters/dnd-kit-stub.js +8 -0
  10. package/dist/adapters/floating-ui-stub.d.ts +6 -0
  11. package/dist/adapters/floating-ui-stub.js +19 -0
  12. package/dist/adapters/index.d.ts +11 -0
  13. package/dist/adapters/index.js +176 -0
  14. package/dist/adapters/interfaces.d.ts +75 -0
  15. package/dist/adapters/interfaces.js +1 -0
  16. package/dist/adapters/motion-stub.d.ts +7 -0
  17. package/dist/adapters/motion-stub.js +27 -0
  18. package/dist/adapters/motion-stub.test.d.ts +1 -0
  19. package/dist/adapters/resizable-panels-stub.d.ts +6 -0
  20. package/dist/adapters/resizable-panels-stub.js +46 -0
  21. package/dist/adapters/resizable-panels-stub.test.d.ts +1 -0
  22. package/dist/browser/adapters/ai-sdk-stub.js +12 -0
  23. package/dist/browser/adapters/blocknote-stub.js +30 -0
  24. package/dist/browser/adapters/dnd-kit-adapter.js +43 -0
  25. package/dist/browser/adapters/dnd-kit-stub.js +7 -0
  26. package/dist/browser/adapters/floating-ui-stub.js +18 -0
  27. package/dist/browser/adapters/index.js +175 -0
  28. package/dist/browser/adapters/interfaces.js +0 -0
  29. package/dist/browser/adapters/motion-stub.js +26 -0
  30. package/dist/browser/adapters/resizable-panels-stub.js +45 -0
  31. package/dist/browser/evals/golden-context.js +0 -0
  32. package/dist/browser/evals/golden-harness.js +848 -0
  33. package/dist/browser/examples/pm-workbench.bundle.js +476 -0
  34. package/dist/browser/i18n/catalogs/en.js +71 -0
  35. package/dist/browser/i18n/catalogs/es.js +32 -0
  36. package/dist/browser/i18n/catalogs/fr.js +32 -0
  37. package/dist/browser/i18n/catalogs/index.js +133 -0
  38. package/dist/browser/i18n/index.js +173 -0
  39. package/dist/browser/i18n/keys.js +19 -0
  40. package/dist/browser/i18n/messages.js +143 -0
  41. package/dist/browser/index.js +2466 -0
  42. package/dist/browser/react/BundleProvider.js +47 -0
  43. package/dist/browser/react/BundleRenderer.js +726 -0
  44. package/dist/browser/react/OverlayConflictResolver.js +255 -0
  45. package/dist/browser/react/PatchProposalCard.js +255 -0
  46. package/dist/browser/react/RegionRenderer.js +128 -0
  47. package/dist/browser/react/SlotRenderer.js +118 -0
  48. package/dist/browser/react/WidgetPalette.js +59 -0
  49. package/dist/browser/react/index.js +792 -0
  50. package/dist/browser/runtime/apply-surface-patch.js +322 -0
  51. package/dist/browser/runtime/audit-events.js +137 -0
  52. package/dist/browser/runtime/build-context.js +55 -0
  53. package/dist/browser/runtime/extension-registry.js +58 -0
  54. package/dist/browser/runtime/field-renderer-registry.js +145 -0
  55. package/dist/browser/runtime/index.js +1496 -0
  56. package/dist/browser/runtime/overlay-alignment.js +83 -0
  57. package/dist/browser/runtime/overlay-signer.js +15 -0
  58. package/dist/browser/runtime/override-store.js +52 -0
  59. package/dist/browser/runtime/planner-prompt.js +67 -0
  60. package/dist/browser/runtime/planner-tools.js +77 -0
  61. package/dist/browser/runtime/policy-eval.js +155 -0
  62. package/dist/browser/runtime/preference-adapter.js +67 -0
  63. package/dist/browser/runtime/resolve-bundle.js +767 -0
  64. package/dist/browser/runtime/resolve-preferences.js +59 -0
  65. package/dist/browser/runtime/rollback.js +347 -0
  66. package/dist/browser/runtime/widget-registry.js +36 -0
  67. package/dist/browser/spec/define-module-bundle.js +113 -0
  68. package/dist/browser/spec/index.js +319 -0
  69. package/dist/browser/spec/types.js +0 -0
  70. package/dist/browser/spec/validate-bundle.js +65 -0
  71. package/dist/browser/spec/validate-surface-patch.js +206 -0
  72. package/dist/browser/spec/verification-snapshot-types.js +0 -0
  73. package/dist/browser/telemetry/index.js +20 -0
  74. package/dist/browser/telemetry/surface-metrics.js +20 -0
  75. package/dist/evals/golden-context.d.ts +24 -0
  76. package/dist/evals/golden-context.js +1 -0
  77. package/dist/evals/golden-harness.d.ts +29 -0
  78. package/dist/evals/golden-harness.js +849 -0
  79. package/dist/evals/golden-harness.test.d.ts +1 -0
  80. package/dist/examples/pm-workbench.bundle.d.ts +177 -0
  81. package/dist/examples/pm-workbench.bundle.js +477 -0
  82. package/dist/i18n/catalogs/en.d.ts +1 -0
  83. package/dist/i18n/catalogs/en.js +72 -0
  84. package/dist/i18n/catalogs/es.d.ts +1 -0
  85. package/dist/i18n/catalogs/es.js +33 -0
  86. package/dist/i18n/catalogs/fr.d.ts +1 -0
  87. package/dist/i18n/catalogs/fr.js +33 -0
  88. package/dist/i18n/catalogs/index.d.ts +3 -0
  89. package/dist/i18n/catalogs/index.js +134 -0
  90. package/dist/i18n/index.d.ts +5 -0
  91. package/dist/i18n/index.js +174 -0
  92. package/dist/i18n/keys.d.ts +20 -0
  93. package/dist/i18n/keys.js +20 -0
  94. package/dist/i18n/messages.d.ts +5 -0
  95. package/dist/i18n/messages.js +144 -0
  96. package/dist/index.d.ts +4 -0
  97. package/dist/index.js +2467 -0
  98. package/dist/node/adapters/ai-sdk-stub.js +12 -0
  99. package/dist/node/adapters/blocknote-stub.js +30 -0
  100. package/dist/node/adapters/dnd-kit-adapter.js +43 -0
  101. package/dist/node/adapters/dnd-kit-stub.js +7 -0
  102. package/dist/node/adapters/floating-ui-stub.js +18 -0
  103. package/dist/node/adapters/index.js +175 -0
  104. package/dist/node/adapters/interfaces.js +0 -0
  105. package/dist/node/adapters/motion-stub.js +26 -0
  106. package/dist/node/adapters/resizable-panels-stub.js +45 -0
  107. package/dist/node/evals/golden-context.js +0 -0
  108. package/dist/node/evals/golden-harness.js +848 -0
  109. package/dist/node/examples/pm-workbench.bundle.js +476 -0
  110. package/dist/node/i18n/catalogs/en.js +71 -0
  111. package/dist/node/i18n/catalogs/es.js +32 -0
  112. package/dist/node/i18n/catalogs/fr.js +32 -0
  113. package/dist/node/i18n/catalogs/index.js +133 -0
  114. package/dist/node/i18n/index.js +173 -0
  115. package/dist/node/i18n/keys.js +19 -0
  116. package/dist/node/i18n/messages.js +143 -0
  117. package/dist/node/index.js +2466 -0
  118. package/dist/node/react/BundleProvider.js +47 -0
  119. package/dist/node/react/BundleRenderer.js +726 -0
  120. package/dist/node/react/OverlayConflictResolver.js +255 -0
  121. package/dist/node/react/PatchProposalCard.js +255 -0
  122. package/dist/node/react/RegionRenderer.js +128 -0
  123. package/dist/node/react/SlotRenderer.js +118 -0
  124. package/dist/node/react/WidgetPalette.js +59 -0
  125. package/dist/node/react/index.js +792 -0
  126. package/dist/node/runtime/apply-surface-patch.js +322 -0
  127. package/dist/node/runtime/audit-events.js +137 -0
  128. package/dist/node/runtime/build-context.js +55 -0
  129. package/dist/node/runtime/extension-registry.js +58 -0
  130. package/dist/node/runtime/field-renderer-registry.js +145 -0
  131. package/dist/node/runtime/index.js +1496 -0
  132. package/dist/node/runtime/overlay-alignment.js +83 -0
  133. package/dist/node/runtime/overlay-signer.js +15 -0
  134. package/dist/node/runtime/override-store.js +52 -0
  135. package/dist/node/runtime/planner-prompt.js +67 -0
  136. package/dist/node/runtime/planner-tools.js +77 -0
  137. package/dist/node/runtime/policy-eval.js +155 -0
  138. package/dist/node/runtime/preference-adapter.js +67 -0
  139. package/dist/node/runtime/resolve-bundle.js +767 -0
  140. package/dist/node/runtime/resolve-preferences.js +59 -0
  141. package/dist/node/runtime/rollback.js +347 -0
  142. package/dist/node/runtime/widget-registry.js +36 -0
  143. package/dist/node/spec/define-module-bundle.js +113 -0
  144. package/dist/node/spec/index.js +319 -0
  145. package/dist/node/spec/types.js +0 -0
  146. package/dist/node/spec/validate-bundle.js +65 -0
  147. package/dist/node/spec/validate-surface-patch.js +206 -0
  148. package/dist/node/spec/verification-snapshot-types.js +0 -0
  149. package/dist/node/telemetry/index.js +20 -0
  150. package/dist/node/telemetry/surface-metrics.js +20 -0
  151. package/dist/react/BundleProvider.d.ts +13 -0
  152. package/dist/react/BundleProvider.js +48 -0
  153. package/dist/react/BundleRenderer.d.ts +22 -0
  154. package/dist/react/BundleRenderer.js +727 -0
  155. package/dist/react/OverlayConflictResolver.d.ts +15 -0
  156. package/dist/react/OverlayConflictResolver.js +256 -0
  157. package/dist/react/PatchProposalCard.d.ts +13 -0
  158. package/dist/react/PatchProposalCard.js +256 -0
  159. package/dist/react/RegionRenderer.d.ts +13 -0
  160. package/dist/react/RegionRenderer.js +129 -0
  161. package/dist/react/SlotRenderer.d.ts +13 -0
  162. package/dist/react/SlotRenderer.js +119 -0
  163. package/dist/react/WidgetPalette.d.ts +12 -0
  164. package/dist/react/WidgetPalette.js +60 -0
  165. package/dist/react/index.d.ts +7 -0
  166. package/dist/react/index.js +793 -0
  167. package/dist/runtime/apply-surface-patch.d.ts +15 -0
  168. package/dist/runtime/apply-surface-patch.js +323 -0
  169. package/dist/runtime/apply-surface-patch.test.d.ts +1 -0
  170. package/dist/runtime/audit-events.d.ts +70 -0
  171. package/dist/runtime/audit-events.js +138 -0
  172. package/dist/runtime/audit-events.test.d.ts +1 -0
  173. package/dist/runtime/build-context.d.ts +9 -0
  174. package/dist/runtime/build-context.js +56 -0
  175. package/dist/runtime/extension-registry.d.ts +39 -0
  176. package/dist/runtime/extension-registry.js +59 -0
  177. package/dist/runtime/field-renderer-registry.d.ts +23 -0
  178. package/dist/runtime/field-renderer-registry.js +146 -0
  179. package/dist/runtime/field-renderer-registry.test.d.ts +1 -0
  180. package/dist/runtime/index.d.ts +16 -0
  181. package/dist/runtime/index.js +1497 -0
  182. package/dist/runtime/overlay-alignment.d.ts +49 -0
  183. package/dist/runtime/overlay-alignment.js +84 -0
  184. package/dist/runtime/overlay-alignment.test.d.ts +1 -0
  185. package/dist/runtime/overlay-signer.d.ts +15 -0
  186. package/dist/runtime/overlay-signer.js +16 -0
  187. package/dist/runtime/override-store.d.ts +44 -0
  188. package/dist/runtime/override-store.js +53 -0
  189. package/dist/runtime/override-store.test.d.ts +1 -0
  190. package/dist/runtime/planner-prompt.d.ts +39 -0
  191. package/dist/runtime/planner-prompt.js +68 -0
  192. package/dist/runtime/planner-prompt.test.d.ts +1 -0
  193. package/dist/runtime/planner-tools.d.ts +106 -0
  194. package/dist/runtime/planner-tools.js +78 -0
  195. package/dist/runtime/planner-tools.test.d.ts +1 -0
  196. package/dist/runtime/policy-eval.d.ts +23 -0
  197. package/dist/runtime/policy-eval.js +156 -0
  198. package/dist/runtime/preference-adapter.d.ts +6 -0
  199. package/dist/runtime/preference-adapter.js +68 -0
  200. package/dist/runtime/resolve-bundle.d.ts +68 -0
  201. package/dist/runtime/resolve-bundle.js +768 -0
  202. package/dist/runtime/resolve-bundle.test.d.ts +1 -0
  203. package/dist/runtime/resolve-preferences.d.ts +9 -0
  204. package/dist/runtime/resolve-preferences.js +60 -0
  205. package/dist/runtime/resolve-preferences.test.d.ts +1 -0
  206. package/dist/runtime/rollback.d.ts +21 -0
  207. package/dist/runtime/rollback.js +348 -0
  208. package/dist/runtime/rollback.test.d.ts +1 -0
  209. package/dist/runtime/widget-registry.d.ts +26 -0
  210. package/dist/runtime/widget-registry.js +37 -0
  211. package/dist/runtime/widget-registry.test.d.ts +1 -0
  212. package/dist/spec/define-module-bundle.d.ts +17 -0
  213. package/dist/spec/define-module-bundle.js +114 -0
  214. package/dist/spec/define-module-bundle.test.d.ts +1 -0
  215. package/dist/spec/index.d.ts +5 -0
  216. package/dist/spec/index.js +320 -0
  217. package/dist/spec/types.d.ts +494 -0
  218. package/dist/spec/types.js +1 -0
  219. package/dist/spec/validate-bundle.d.ts +23 -0
  220. package/dist/spec/validate-bundle.js +66 -0
  221. package/dist/spec/validate-bundle.test.d.ts +1 -0
  222. package/dist/spec/validate-surface-patch.d.ts +39 -0
  223. package/dist/spec/validate-surface-patch.js +207 -0
  224. package/dist/spec/validate-surface-patch.test.d.ts +1 -0
  225. package/dist/spec/verification-snapshot-types.d.ts +23 -0
  226. package/dist/spec/verification-snapshot-types.js +1 -0
  227. package/dist/spec/verification-snapshot.test.d.ts +5 -0
  228. package/dist/telemetry/index.d.ts +5 -0
  229. package/dist/telemetry/index.js +21 -0
  230. package/dist/telemetry/surface-metrics.d.ts +17 -0
  231. package/dist/telemetry/surface-metrics.js +21 -0
  232. package/package.json +920 -0
@@ -0,0 +1,59 @@
1
+ // @bun
2
+ // src/runtime/extension-registry.ts
3
+ function createActionRegistry() {
4
+ const entries = new Map;
5
+ return {
6
+ register(entry) {
7
+ entries.set(entry.actionId, entry);
8
+ },
9
+ get(actionId) {
10
+ return entries.get(actionId);
11
+ },
12
+ has(actionId) {
13
+ return entries.has(actionId);
14
+ },
15
+ list() {
16
+ return Array.from(entries.values());
17
+ }
18
+ };
19
+ }
20
+ function createCommandRegistry() {
21
+ const entries = new Map;
22
+ return {
23
+ register(entry) {
24
+ entries.set(entry.commandId, entry);
25
+ },
26
+ get(commandId) {
27
+ return entries.get(commandId);
28
+ },
29
+ has(commandId) {
30
+ return entries.has(commandId);
31
+ },
32
+ list() {
33
+ return Array.from(entries.values());
34
+ }
35
+ };
36
+ }
37
+ function createBundleExtensionRegistry(options) {
38
+ const actionRegistry = options.actionRegistry ?? createActionRegistry();
39
+ const commandRegistry = options.commandRegistry ?? createCommandRegistry();
40
+ return {
41
+ registerWidget(entry) {
42
+ options.widgetRegistry.register(entry);
43
+ },
44
+ registerFieldRenderer(kind, entry) {
45
+ options.fieldRendererRegistry.registerFieldRenderer(kind, entry);
46
+ },
47
+ registerAction(entry) {
48
+ actionRegistry.register(entry);
49
+ },
50
+ registerCommand(entry) {
51
+ commandRegistry.register(entry);
52
+ }
53
+ };
54
+ }
55
+ export {
56
+ createCommandRegistry,
57
+ createBundleExtensionRegistry,
58
+ createActionRegistry
59
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Field renderer registry for entity surfaces.
3
+ * Registers core field kinds (text, number, date, select) and stubs for relation, rollup, formula, people.
4
+ * Aligns with 08_entity_surface_and_custom_fields.md.
5
+ */
6
+ import type { FieldRendererSpec } from '../spec/types';
7
+ /** Fallback field kind when unknown kind is requested. */
8
+ export declare const FALLBACK_FIELD_KIND = "text";
9
+ /** Registry interface for field renderers. */
10
+ export interface FieldRendererRegistry {
11
+ get(kind: string): FieldRendererSpec | undefined;
12
+ has(kind: string): boolean;
13
+ /** Returns spec or fallback for unknown kinds. */
14
+ getOrFallback(kind: string): FieldRendererSpec;
15
+ }
16
+ /** Mutable registry that supports registerFieldRenderer. Aligns with 09_extension_and_override_model. */
17
+ export interface MutableFieldRendererRegistry extends FieldRendererRegistry {
18
+ registerFieldRenderer(kind: string, entry: FieldRendererSpec): void;
19
+ }
20
+ /** Default field renderer registry with core kinds and stubs. */
21
+ export declare function createFieldRendererRegistry(): FieldRendererRegistry;
22
+ /** Creates a mutable field renderer registry. Extends base with registerFieldRenderer. */
23
+ export declare function createMutableFieldRendererRegistry(): MutableFieldRendererRegistry;
@@ -0,0 +1,146 @@
1
+ // @bun
2
+ // src/runtime/field-renderer-registry.ts
3
+ var FALLBACK_FIELD_KIND = "text";
4
+ var CORE_FIELD_KINDS = {
5
+ text: {
6
+ fieldKind: "text",
7
+ viewer: "text-viewer",
8
+ editor: "text-editor",
9
+ summaryViewer: "text-summary",
10
+ tableCell: "text-cell",
11
+ filters: ["contains", "equals", "startsWith", "endsWith"],
12
+ validators: ["required", "maxLength", "regex"]
13
+ },
14
+ number: {
15
+ fieldKind: "number",
16
+ viewer: "number-viewer",
17
+ editor: "number-editor",
18
+ summaryViewer: "number-summary",
19
+ tableCell: "number-cell",
20
+ filters: ["equals", "gt", "gte", "lt", "lte", "between"],
21
+ validators: ["required", "min", "max", "integer"]
22
+ },
23
+ date: {
24
+ fieldKind: "date",
25
+ viewer: "date-viewer",
26
+ editor: "date-editor",
27
+ summaryViewer: "date-summary",
28
+ tableCell: "date-cell",
29
+ filters: ["equals", "before", "after", "between"],
30
+ validators: ["required", "min", "max"]
31
+ },
32
+ select: {
33
+ fieldKind: "select",
34
+ viewer: "select-viewer",
35
+ editor: "select-editor",
36
+ summaryViewer: "select-summary",
37
+ tableCell: "select-cell",
38
+ filters: ["equals", "in"],
39
+ validators: ["required", "oneOf"]
40
+ },
41
+ checkbox: {
42
+ fieldKind: "checkbox",
43
+ viewer: "checkbox-viewer",
44
+ editor: "checkbox-editor",
45
+ summaryViewer: "checkbox-summary",
46
+ tableCell: "checkbox-cell",
47
+ filters: ["equals"],
48
+ validators: ["required"]
49
+ }
50
+ };
51
+ var STUB_FIELD_KINDS = {
52
+ relation: {
53
+ fieldKind: "relation",
54
+ viewer: "relation-viewer-stub",
55
+ summaryViewer: "relation-chip-stub",
56
+ tableCell: "relation-chip-stub"
57
+ },
58
+ rollup: {
59
+ fieldKind: "rollup",
60
+ viewer: "rollup-viewer-stub",
61
+ summaryViewer: "rollup-chip-stub",
62
+ tableCell: "rollup-cell-stub"
63
+ },
64
+ formula: {
65
+ fieldKind: "formula",
66
+ viewer: "formula-viewer-stub",
67
+ summaryViewer: "formula-summary-stub",
68
+ tableCell: "formula-cell-stub"
69
+ },
70
+ people: {
71
+ fieldKind: "people",
72
+ viewer: "people-viewer-stub",
73
+ editor: "people-picker-stub",
74
+ summaryViewer: "people-chip-stub",
75
+ tableCell: "people-cell-stub"
76
+ },
77
+ options: {
78
+ fieldKind: "options",
79
+ viewer: "options-viewer-stub",
80
+ editor: "options-editor-stub",
81
+ summaryViewer: "options-chip-stub",
82
+ tableCell: "options-cell-stub"
83
+ },
84
+ instance: {
85
+ fieldKind: "instance",
86
+ viewer: "instance-viewer-stub",
87
+ summaryViewer: "instance-chip-stub",
88
+ tableCell: "instance-cell-stub"
89
+ },
90
+ url: {
91
+ fieldKind: "url",
92
+ viewer: "url-viewer",
93
+ editor: "url-editor",
94
+ summaryViewer: "url-summary",
95
+ tableCell: "url-cell",
96
+ validators: ["required", "regex"]
97
+ }
98
+ };
99
+ function createFieldRendererRegistry() {
100
+ const all = { ...CORE_FIELD_KINDS, ...STUB_FIELD_KINDS };
101
+ const fallback = CORE_FIELD_KINDS[FALLBACK_FIELD_KIND];
102
+ if (!fallback) {
103
+ throw new Error(`Fallback field kind "${FALLBACK_FIELD_KIND}" not found`);
104
+ }
105
+ return {
106
+ get(kind) {
107
+ return all[kind];
108
+ },
109
+ has(kind) {
110
+ return kind in all;
111
+ },
112
+ getOrFallback(kind) {
113
+ return all[kind] ?? fallback;
114
+ }
115
+ };
116
+ }
117
+ function createMutableFieldRendererRegistry() {
118
+ const base = { ...CORE_FIELD_KINDS, ...STUB_FIELD_KINDS };
119
+ const custom = new Map;
120
+ const fallback = CORE_FIELD_KINDS[FALLBACK_FIELD_KIND];
121
+ if (!fallback) {
122
+ throw new Error(`Fallback field kind "${FALLBACK_FIELD_KIND}" not found`);
123
+ }
124
+ return {
125
+ get(kind) {
126
+ return custom.get(kind) ?? base[kind];
127
+ },
128
+ has(kind) {
129
+ return custom.has(kind) || kind in base;
130
+ },
131
+ getOrFallback(kind) {
132
+ return custom.get(kind) ?? base[kind] ?? fallback;
133
+ },
134
+ registerFieldRenderer(kind, entry) {
135
+ if (entry.fieldKind !== kind) {
136
+ throw new Error(`Field renderer entry fieldKind "${entry.fieldKind}" must match kind "${kind}"`);
137
+ }
138
+ custom.set(kind, entry);
139
+ }
140
+ };
141
+ }
142
+ export {
143
+ createMutableFieldRendererRegistry,
144
+ createFieldRendererRegistry,
145
+ FALLBACK_FIELD_KIND
146
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ export { buildContext } from './build-context';
2
+ export { resolvePreferenceProfile } from './resolve-preferences';
3
+ export { defaultPreferenceAdapter } from './preference-adapter';
4
+ export { resolveBundle, type PolicyHooks, type ResolveBundleOptions, type OverlayMergeOptions, type OverlayConflict, type ResolvedSurfacePlan, } from './resolve-bundle';
5
+ export { applySurfacePatch, type ApplySurfacePatchResult, } from './apply-surface-patch';
6
+ export { compilePlannerPrompt, type PlannerPromptInput, } from './planner-prompt';
7
+ export { proposePatchToolConfig, PROPOSE_PATCH_TOOL_SCHEMA, buildSurfacePatchProposal, type PlannerToolConfig, } from './planner-tools';
8
+ export { createFieldRendererRegistry, createMutableFieldRendererRegistry, FALLBACK_FIELD_KIND, type FieldRendererRegistry, type MutableFieldRendererRegistry, } from './field-renderer-registry';
9
+ export { createWidgetRegistry, type WidgetRegistry, type WidgetRegistryEntry, type WidgetTrust, } from './widget-registry';
10
+ export { createActionRegistry, createCommandRegistry, createBundleExtensionRegistry, type ActionRegistry, type CommandRegistry, type BundleExtensionRegistry, } from './extension-registry';
11
+ export { createInMemoryOverrideStore, createOverrideStoreWithApprovalGate, buildOverrideTargetKey, type BundleOverrideStore, type StoredOverride, type ApprovalGateOptions, } from './override-store';
12
+ export { toOverlayScopeContext, toOverlayTargetRef, toOverlayRenderableField, fromOverlayRenderableField, toOverlayRenderable, mergeOverlayResultIntoFields, applyEntityFieldOverlays, type SurfaceOverlayTargetRef, } from './overlay-alignment';
13
+ export { signWorkspaceOverlay, verifyWorkspaceOverlay, type OverlaySigningKey, } from './overlay-signer';
14
+ export { emitPatchProposed, emitPatchApproved, emitPatchRejected, emitOverlaySaved, emitOverlayApplied, emitOverlayFailed, emitPolicyDenied, emitPolicyRedacted, } from './audit-events';
15
+ export { rollbackSurfacePatches, type RollbackResult } from './rollback';
16
+ export { evaluatePatchProposalPolicy, evaluateAndEmitPatchPolicy, } from './policy-eval';