@huanban/rulego-editor-core 1.3.18 → 1.4.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 (225) hide show
  1. package/README.md +153 -2
  2. package/assets/images/discovery-dark.svg +1 -0
  3. package/assets/images/discovery.svg +1 -0
  4. package/assets/images/nacos-dark.svg +1 -0
  5. package/assets/images/nacos.svg +1 -0
  6. package/assets/theme-icons/ant-blue/discovery-dark.svg +1 -0
  7. package/assets/theme-icons/ant-blue/discovery.svg +1 -0
  8. package/assets/theme-icons/ant-blue/nacos-dark.svg +1 -0
  9. package/assets/theme-icons/ant-blue/nacos.svg +1 -0
  10. package/assets/theme-icons/apple/discovery-dark.svg +1 -0
  11. package/assets/theme-icons/apple/discovery.svg +1 -0
  12. package/assets/theme-icons/apple/nacos-dark.svg +1 -0
  13. package/assets/theme-icons/apple/nacos.svg +1 -0
  14. package/assets/theme-icons/colorful/discovery-dark.svg +1 -0
  15. package/assets/theme-icons/colorful/discovery.svg +1 -0
  16. package/assets/theme-icons/colorful/nacos-dark.svg +1 -0
  17. package/assets/theme-icons/colorful/nacos.svg +1 -0
  18. package/assets/theme-icons/dark/discovery-dark.svg +1 -0
  19. package/assets/theme-icons/dark/discovery.svg +1 -0
  20. package/assets/theme-icons/dark/nacos-dark.svg +1 -0
  21. package/assets/theme-icons/dark/nacos.svg +1 -0
  22. package/assets/theme-icons/default/discovery-dark.svg +1 -0
  23. package/assets/theme-icons/default/discovery.svg +1 -0
  24. package/assets/theme-icons/default/nacos-dark.svg +1 -0
  25. package/assets/theme-icons/default/nacos.svg +1 -0
  26. package/assets/theme-icons/elegant/discovery-dark.svg +1 -0
  27. package/assets/theme-icons/elegant/discovery.svg +1 -0
  28. package/assets/theme-icons/elegant/nacos-dark.svg +1 -0
  29. package/assets/theme-icons/elegant/nacos.svg +1 -0
  30. package/assets/theme-icons/github/discovery-dark.svg +1 -0
  31. package/assets/theme-icons/github/discovery.svg +1 -0
  32. package/assets/theme-icons/github/nacos-dark.svg +1 -0
  33. package/assets/theme-icons/github/nacos.svg +1 -0
  34. package/assets/theme-icons/icon-theme-manifest.json +30 -14
  35. package/assets/theme-icons/icon-theme-overview.svg +1599 -1287
  36. package/assets/theme-icons/material/discovery-dark.svg +1 -0
  37. package/assets/theme-icons/material/discovery.svg +1 -0
  38. package/assets/theme-icons/material/nacos-dark.svg +1 -0
  39. package/assets/theme-icons/material/nacos.svg +1 -0
  40. package/assets/theme-icons/modern/discovery-dark.svg +1 -0
  41. package/assets/theme-icons/modern/discovery.svg +1 -0
  42. package/assets/theme-icons/modern/nacos-dark.svg +1 -0
  43. package/assets/theme-icons/modern/nacos.svg +1 -0
  44. package/assets/theme-icons/nature/discovery-dark.svg +1 -0
  45. package/assets/theme-icons/nature/discovery.svg +1 -0
  46. package/assets/theme-icons/nature/nacos-dark.svg +1 -0
  47. package/assets/theme-icons/nature/nacos.svg +1 -0
  48. package/assets/theme-icons/tailwind/discovery-dark.svg +1 -0
  49. package/assets/theme-icons/tailwind/discovery.svg +1 -0
  50. package/assets/theme-icons/tailwind/nacos-dark.svg +1 -0
  51. package/assets/theme-icons/tailwind/nacos.svg +1 -0
  52. package/assets/theme-icons/tech/discovery-dark.svg +1 -0
  53. package/assets/theme-icons/tech/discovery.svg +1 -0
  54. package/assets/theme-icons/tech/nacos-dark.svg +1 -0
  55. package/assets/theme-icons/tech/nacos.svg +1 -0
  56. package/assets/theme-icons/vscode/discovery-dark.svg +1 -0
  57. package/assets/theme-icons/vscode/discovery.svg +1 -0
  58. package/assets/theme-icons/vscode/nacos-dark.svg +1 -0
  59. package/assets/theme-icons/vscode/nacos.svg +1 -0
  60. package/dist/ai/copilot-markdown.d.ts +40 -0
  61. package/dist/ai/copilot-transport.d.ts +39 -0
  62. package/dist/api/AIManager.d.ts +5 -4
  63. package/dist/api/ApiProvider.d.ts +17 -69
  64. package/dist/api/ComponentCatalogCache.d.ts +27 -0
  65. package/dist/api/DebugSocketClient.d.ts +18 -25
  66. package/dist/api/RuleChainAPI.d.ts +24 -145
  67. package/dist/api/StreamParser.d.ts +0 -10
  68. package/dist/api/index.d.ts +4 -14
  69. package/dist/api/response-utils.d.ts +4 -22
  70. package/dist/api/types.d.ts +44 -179
  71. package/dist/chunks/editor-core-code-editor-CRki2wA_.js +512 -0
  72. package/dist/chunks/editor-core-default-components-BjF65lar.js +9448 -0
  73. package/dist/chunks/editor-core-dialogs-CkFLaC8Q.js +17176 -0
  74. package/dist/chunks/editor-core-icons-BqeFofNA.js +668 -0
  75. package/dist/chunks/editor-core-json-diff-RHsPeX-w.js +199 -0
  76. package/dist/chunks/editor-core-locales-i6o28vm2.js +4159 -0
  77. package/dist/chunks/editor-core-node-patches-BJTT3TuX.js +8060 -0
  78. package/dist/chunks/editor-core-node-views-BOaPVdmN.js +1288 -0
  79. package/dist/chunks/editor-core-property-drawers-lLsBIoCa.js +8035 -0
  80. package/dist/chunks/editor-core-standalone-CHXk3ukc.js +11270 -0
  81. package/dist/chunks/editor-core-styles-C1TbLgCK.js +8841 -0
  82. package/dist/chunks/vendor-logicflow-core-runtime-Cp6IBEjB.js +217 -0
  83. package/dist/chunks/vendor-logicflow-shared-C7YynLDn.js +4 -0
  84. package/dist/chunks/xlsx-BopDBbWb.js +24176 -0
  85. package/dist/core/ActionRegistry.d.ts +47 -0
  86. package/dist/core/AutoLayout.d.ts +1 -48
  87. package/dist/core/ComponentDocService.d.ts +28 -0
  88. package/dist/core/ComponentRegistry.d.ts +1 -125
  89. package/dist/core/DataAdapter.d.ts +4 -89
  90. package/dist/core/DiagnosticService.d.ts +15 -0
  91. package/dist/core/EditorCore.d.ts +22 -212
  92. package/dist/core/EditorWorkspace.d.ts +111 -0
  93. package/dist/core/EventBus.d.ts +0 -86
  94. package/dist/core/ExplorerTreeStore.d.ts +43 -0
  95. package/dist/core/FieldCapabilityRegistry.d.ts +16 -0
  96. package/dist/core/FieldChangeRegistry.d.ts +48 -0
  97. package/dist/core/HistoryManager.d.ts +0 -123
  98. package/dist/core/I18nManager.d.ts +0 -120
  99. package/dist/core/Optimizations.d.ts +0 -14
  100. package/dist/core/OptionSourceRegistry.d.ts +38 -0
  101. package/dist/core/RuleChainChatManager.d.ts +0 -37
  102. package/dist/core/RuleChainValidator.d.ts +0 -79
  103. package/dist/core/StateStore.d.ts +4 -140
  104. package/dist/core/ThemeManager.d.ts +0 -141
  105. package/dist/core/ValidationEngine.d.ts +0 -103
  106. package/dist/core/component-palette.d.ts +20 -0
  107. package/dist/core/component-payload.d.ts +0 -9
  108. package/dist/core/connection-status.d.ts +77 -0
  109. package/dist/core/context-menu-position.d.ts +27 -0
  110. package/dist/core/cron-schedule.d.ts +85 -0
  111. package/dist/core/debug-panel.d.ts +6 -0
  112. package/dist/core/editor-capabilities.d.ts +95 -0
  113. package/dist/core/editor-dock.d.ts +100 -0
  114. package/dist/core/editor-panel.d.ts +68 -0
  115. package/dist/core/explorer-tree.d.ts +27 -0
  116. package/dist/core/field-protocol.d.ts +32 -0
  117. package/dist/core/foundation-tokens.d.ts +38 -0
  118. package/dist/core/graph-operations.d.ts +34 -0
  119. package/dist/core/hover-tools.d.ts +26 -0
  120. package/dist/core/index.d.ts +68 -16
  121. package/dist/core/infer-run-input.d.ts +11 -0
  122. package/dist/core/key-value-editor.d.ts +6 -0
  123. package/dist/core/overlay-layers.d.ts +28 -0
  124. package/dist/core/recent-components.d.ts +51 -0
  125. package/dist/core/run-guard.d.ts +7 -0
  126. package/dist/core/runtime-field-dictionary.d.ts +68 -0
  127. package/dist/core/runtime-limits.d.ts +0 -5
  128. package/dist/core/save-conflict.d.ts +4 -0
  129. package/dist/core/server-status.d.ts +34 -0
  130. package/dist/core/simple-array.d.ts +4 -0
  131. package/dist/core/table-protocol.d.ts +36 -0
  132. package/dist/core/table-spreadsheet.d.ts +3 -0
  133. package/dist/core/test-cases.d.ts +54 -0
  134. package/dist/core/toolbar-icons.d.ts +4 -0
  135. package/dist/core/topology-rules.d.ts +17 -0
  136. package/dist/core/virtual-window.d.ts +20 -0
  137. package/dist/core/workspace-tab-actions.d.ts +13 -0
  138. package/dist/defaults/components.d.ts +0 -9
  139. package/dist/defaults/index.d.ts +0 -15
  140. package/dist/defaults/locale-en-US.d.ts +0 -24
  141. package/dist/defaults/locale-zh-CN.d.ts +0 -39
  142. package/dist/defaults/official-component-fallbacks.d.ts +0 -8
  143. package/dist/extensions/ClipboardExtension.d.ts +0 -23
  144. package/dist/extensions/KeyboardExtension.d.ts +0 -17
  145. package/dist/extensions/MenuExtension.d.ts +0 -23
  146. package/dist/iconRegistry.d.ts +0 -22
  147. package/dist/index.cjs +11320 -0
  148. package/dist/index.d.ts +25 -47
  149. package/dist/index.esm.js +1123 -99614
  150. package/dist/index.umd.js +3380 -1471
  151. package/dist/models/BaseNodeModel.d.ts +0 -32
  152. package/dist/models/index.d.ts +0 -1
  153. package/dist/nodes/AgentOrchestrationNode.d.ts +0 -24
  154. package/dist/nodes/GroupNode.d.ts +0 -38
  155. package/dist/nodes/HeadlessHtmlNode.d.ts +0 -16
  156. package/dist/nodes/SwitchNode.d.ts +0 -22
  157. package/dist/nodes/UnknownNodeModel.d.ts +0 -19
  158. package/dist/standalone/HuanbanRulegoEditor.d.ts +202 -401
  159. package/dist/standalone/ai-model-policy.d.ts +0 -1
  160. package/dist/standalone/ai-providers.d.ts +0 -1
  161. package/dist/standalone/auth-fetch.d.ts +2 -46
  162. package/dist/standalone/browser-assets.d.ts +0 -8
  163. package/dist/standalone/canvas-view.d.ts +6 -0
  164. package/dist/standalone/code-editor-language-loaders.d.ts +2 -0
  165. package/dist/standalone/code-editor-language-loaders.legacy.d.ts +7 -0
  166. package/dist/standalone/code-editor.d.ts +3 -87
  167. package/dist/standalone/connection-status-binding.d.ts +8 -0
  168. package/dist/standalone/custom-nodes.d.ts +0 -26
  169. package/dist/standalone/drawer-unsaved-guard.d.ts +2 -9
  170. package/dist/standalone/edge-label-quick-editor.d.ts +2 -0
  171. package/dist/standalone/editor-actions.d.ts +4 -0
  172. package/dist/standalone/editor-chain-info.d.ts +5 -38
  173. package/dist/standalone/editor-context-menu.d.ts +0 -21
  174. package/dist/standalone/editor-debug-ws.d.ts +37 -145
  175. package/dist/standalone/editor-delete.d.ts +0 -1
  176. package/dist/standalone/editor-dialogs.d.ts +16 -66
  177. package/dist/standalone/editor-events.d.ts +0 -27
  178. package/dist/standalone/editor-overlays.d.ts +14 -0
  179. package/dist/standalone/editor-property-drawers.d.ts +13 -71
  180. package/dist/standalone/editor-route-settings.d.ts +7 -55
  181. package/dist/standalone/editor-sidebar.d.ts +0 -18
  182. package/dist/standalone/editor-styles.d.ts +0 -11
  183. package/dist/standalone/editor-toast.d.ts +1 -2
  184. package/dist/standalone/editor-toolbar.d.ts +5 -80
  185. package/dist/standalone/editor-tour.d.ts +7 -0
  186. package/dist/standalone/editor-trace-overlay.d.ts +0 -5
  187. package/dist/standalone/full-json-dialog.d.ts +5 -1
  188. package/dist/standalone/group-node.d.ts +1 -51
  189. package/dist/standalone/icon-utils.d.ts +0 -20
  190. package/dist/standalone/index.d.ts +10 -7
  191. package/dist/standalone/json-diff.d.ts +0 -1
  192. package/dist/standalone/keyboard-events.d.ts +0 -1
  193. package/dist/standalone/layout-scheduler.d.ts +0 -6
  194. package/dist/standalone/lifecycle.d.ts +0 -5
  195. package/dist/standalone/logger.d.ts +0 -32
  196. package/dist/standalone/models-dev-catalog.d.ts +0 -1
  197. package/dist/standalone/node-copy.d.ts +7 -4
  198. package/dist/standalone/node-definitions.d.ts +0 -63
  199. package/dist/standalone/node-identity.d.ts +0 -1
  200. package/dist/standalone/node-theme.d.ts +8 -0
  201. package/dist/standalone/node-views-data.d.ts +0 -20
  202. package/dist/standalone/official-node-view-patches.d.ts +1 -14
  203. package/dist/standalone/outline-style.d.ts +7 -0
  204. package/dist/standalone/run-history-format.d.ts +0 -1
  205. package/dist/standalone/security-utils.d.ts +1 -5
  206. package/dist/standalone/shared-node-manager.d.ts +31 -0
  207. package/dist/standalone/themes.d.ts +0 -48
  208. package/dist/tools/tool-editor.d.ts +0 -1
  209. package/dist/types/component.d.ts +105 -87
  210. package/dist/types/editor.d.ts +16 -169
  211. package/dist/types/events.d.ts +30 -107
  212. package/dist/types/index.d.ts +3 -10
  213. package/dist/types/rule-chain.d.ts +0 -90
  214. package/dist/utils/GraphUtils.d.ts +0 -10
  215. package/dist/utils/helpers.d.ts +0 -80
  216. package/dist/utils/index.d.ts +0 -5
  217. package/dist/utils/pinyin-search.d.ts +0 -57
  218. package/dist/utils/relation-utils.d.ts +0 -1
  219. package/dist/utils/textUtils.d.ts +0 -12
  220. package/dist/version.d.ts +2 -3
  221. package/dist/xlsx-qn1xoUuv.cjs +105 -0
  222. package/package.json +19 -5
  223. package/vite-chunks.d.ts +11 -0
  224. package/vite-chunks.mjs +120 -0
  225. package/dist/index.cjs.js +0 -9515
@@ -0,0 +1,100 @@
1
+ export type EditorDockId = 'left' | 'right' | 'bottom' | 'ai';
2
+ export type EditorWidthDockId = Exclude<EditorDockId, 'bottom'>;
3
+ export interface EditorWidthDockState {
4
+ visible: boolean;
5
+ width: number;
6
+ }
7
+ export interface EditorHeightDockState {
8
+ visible: boolean;
9
+ height: number;
10
+ }
11
+ export interface EditorDockState extends Record<string, unknown> {
12
+ left: EditorWidthDockState;
13
+ right: EditorWidthDockState;
14
+ bottom: EditorHeightDockState;
15
+ ai: EditorWidthDockState;
16
+ }
17
+ export interface EditorDockBounds {
18
+ widthMin?: number;
19
+ widthMax?: number;
20
+ heightMin?: number;
21
+ heightMax?: number;
22
+ }
23
+ export type EditorDockPersistenceState = Partial<{
24
+ [K in EditorDockId]: K extends 'bottom' ? Partial<EditorHeightDockState> : Partial<EditorWidthDockState>;
25
+ }>;
26
+ export type EditorPersistenceScope = 'dock' | 'panel' | 'chat' | 'recent-components' | 'test-cases' | 'explorer';
27
+ export interface EditorPersistenceAdapter {
28
+ getItem(key: string): string | null | undefined;
29
+ setItem(key: string, value: string): void;
30
+ removeItem?(key: string): void;
31
+ }
32
+ export interface EditorPersistenceNamespace {
33
+ host: string;
34
+ editorInstance: string;
35
+ version: string | number;
36
+ }
37
+ export interface EditorPersistenceMigrationContext {
38
+ scope: EditorPersistenceScope;
39
+ namespace: Readonly<EditorPersistenceNamespace>;
40
+ fromVersion: string;
41
+ toVersion: string;
42
+ key: string;
43
+ }
44
+ export interface EditorStatePersistenceOptions<TState = unknown> {
45
+ adapter: EditorPersistenceAdapter;
46
+ namespace: EditorPersistenceNamespace;
47
+ migrateFromVersions?: ReadonlyArray<string | number>;
48
+ migrate?: (state: unknown, context: EditorPersistenceMigrationContext) => TState | null | undefined;
49
+ }
50
+ export type EditorChatHistoryMode = 'assistant' | 'run' | 'component';
51
+ export interface EditorChatHistoryPersistenceOptions {
52
+ adapter: EditorPersistenceAdapter;
53
+ namespace: EditorPersistenceNamespace;
54
+ chainId: string;
55
+ mode: EditorChatHistoryMode;
56
+ }
57
+ export interface EditorDockOptions {
58
+ initial?: Partial<{
59
+ [K in EditorDockId]: K extends 'bottom' ? Partial<EditorHeightDockState> : Partial<EditorWidthDockState>;
60
+ }>;
61
+ bounds?: EditorDockBounds;
62
+ persistence?: EditorStatePersistenceOptions<EditorDockPersistenceState>;
63
+ }
64
+ type DeepReadonly<T> = T extends (...args: never[]) => unknown ? T : T extends readonly (infer U)[] ? ReadonlyArray<DeepReadonly<U>> : T extends object ? {
65
+ readonly [K in keyof T]: DeepReadonly<T[K]>;
66
+ } : T;
67
+ export declare function buildEditorPersistenceKey(scope: EditorPersistenceScope, namespace?: EditorPersistenceNamespace): string | null;
68
+ export declare function buildEditorChatHistoryKey(options?: Pick<EditorChatHistoryPersistenceOptions, 'namespace' | 'chainId' | 'mode'>): string | null;
69
+ export declare function readEditorChatHistory(options: EditorChatHistoryPersistenceOptions): unknown[];
70
+ export declare function writeEditorChatHistory(options: EditorChatHistoryPersistenceOptions, messages: readonly unknown[]): boolean;
71
+ export declare function clearEditorChatHistory(options: EditorChatHistoryPersistenceOptions): boolean;
72
+ export interface EditorPersistenceController<TState> {
73
+ readonly key: string;
74
+ readonly restoredState: TState | null;
75
+ readonly migrated: boolean;
76
+ save(state: TState): void;
77
+ destroy(): void;
78
+ }
79
+ export declare function createEditorPersistenceController<TState>(scope: EditorPersistenceScope, options: EditorStatePersistenceOptions<TState> | undefined, normalizeState: (value: unknown) => TState | null): EditorPersistenceController<TState> | null;
80
+ export declare class EditorDockStore {
81
+ private readonly store;
82
+ private readonly bounds;
83
+ private readonly persistence;
84
+ private readonly transientWidthBaselines;
85
+ private unsubscribePersistence;
86
+ private destroyed;
87
+ constructor(options?: EditorDockOptions);
88
+ private toPersistenceState;
89
+ getDockState(): EditorDockState;
90
+ subscribe(listener: (state: Readonly<EditorDockState>, previousState: Readonly<EditorDockState>) => void): () => void;
91
+ setDockVisibility(dock: EditorDockId, visible: boolean): boolean;
92
+ setDockWidth(dock: EditorDockId, value: number): boolean;
93
+ setDockHeight(dock: EditorDockId, value: number): boolean;
94
+ beginTransientDockWidth(dock: EditorWidthDockId, minimumWidth: number): boolean;
95
+ restoreTransientDockWidth(dock: EditorWidthDockId): boolean;
96
+ resetDockState(): EditorDockState | null;
97
+ destroy(): void;
98
+ }
99
+ export declare const DEFAULT_EDITOR_DOCK_STATE: DeepReadonly<EditorDockState>;
100
+ export {};
@@ -0,0 +1,68 @@
1
+ import type { EditorDockId, EditorDockStore, EditorStatePersistenceOptions } from './editor-dock';
2
+ export type EditorPanelId = 'explorer' | 'components' | 'info' | 'node-config' | 'node-docs' | 'problems' | 'run-debug' | 'run-logs' | 'send' | 'ai';
3
+ export interface EditorPanelDefinition {
4
+ id: string;
5
+ dock: EditorDockId;
6
+ title?: string;
7
+ icon?: string;
8
+ order?: number;
9
+ closeable?: boolean;
10
+ visible?: boolean;
11
+ defaultExpanded?: boolean;
12
+ metadata?: Record<string, unknown>;
13
+ }
14
+ export interface EditorPanelState extends Record<string, unknown> {
15
+ panels: EditorPanelDefinition[];
16
+ openPanelIds: string[];
17
+ activeByDock: Partial<Record<EditorDockId, string | null>>;
18
+ expandedById?: Record<string, boolean>;
19
+ }
20
+ export interface EditorPanelPersistenceState {
21
+ openPanelIds: string[];
22
+ activeByDock: Partial<Record<EditorDockId, string | null>>;
23
+ expandedById?: Record<string, boolean>;
24
+ }
25
+ export interface EditorPanelRegistryOptions {
26
+ panels?: ReadonlyArray<EditorPanelDefinition>;
27
+ initiallyOpen?: string[];
28
+ activeByDock?: Partial<Record<EditorDockId, string | null>>;
29
+ dockStore?: EditorDockStore;
30
+ persistence?: EditorStatePersistenceOptions<EditorPanelPersistenceState>;
31
+ syncDockVisibility?: boolean;
32
+ }
33
+ type DeepReadonly<T> = T extends (...args: never[]) => unknown ? T : T extends readonly (infer U)[] ? ReadonlyArray<DeepReadonly<U>> : T extends object ? {
34
+ readonly [K in keyof T]: DeepReadonly<T[K]>;
35
+ } : T;
36
+ export declare const DEFAULT_EDITOR_PANELS: ReadonlyArray<DeepReadonly<EditorPanelDefinition>>;
37
+ export declare const DEFAULT_EDITOR_OPEN_PANEL_IDS: readonly ["components"];
38
+ export declare const DEFAULT_NODE_CONFIG_DOCK_WIDTH = 560;
39
+ export declare class EditorPanelRegistry {
40
+ private readonly store;
41
+ private readonly dockStore?;
42
+ private readonly persistence;
43
+ private unsubscribePersistence;
44
+ private destroyed;
45
+ constructor(options?: EditorPanelRegistryOptions);
46
+ getState(): Readonly<EditorPanelState>;
47
+ getPanels(dock?: EditorDockId): EditorPanelDefinition[];
48
+ getPanel(id: string): EditorPanelDefinition | null;
49
+ syncDockVisibility(): void;
50
+ subscribe(listener: (state: Readonly<EditorPanelState>, previousState: Readonly<EditorPanelState>) => void): () => void;
51
+ register(panel: EditorPanelDefinition, options?: {
52
+ open?: boolean;
53
+ activate?: boolean;
54
+ }): boolean;
55
+ unregister(id: string): boolean;
56
+ openPanel(id: string, activate?: boolean): boolean;
57
+ openNodeConfigPanel(minimumWidth?: number): boolean;
58
+ restoreNodeConfigPanelWidth(): boolean;
59
+ closePanel(id: string): boolean;
60
+ activatePanel(id: string): boolean;
61
+ setPanelExpanded(id: string, expanded: boolean): boolean;
62
+ togglePanelExpanded(id: string): boolean;
63
+ isPanelExpanded(id: string): boolean;
64
+ isOpen(id: string): boolean;
65
+ getActivePanel(dock: EditorDockId): EditorPanelDefinition | null;
66
+ destroy(): void;
67
+ }
68
+ export {};
@@ -0,0 +1,27 @@
1
+ import type { WorkflowItem } from '../api/types';
2
+ export type ExplorerTreeNodeKind = 'section' | 'category' | 'chain';
3
+ export interface ExplorerTreeNode {
4
+ key: string;
5
+ label: string;
6
+ kind: ExplorerTreeNodeKind;
7
+ count?: number;
8
+ path?: string;
9
+ chain?: WorkflowItem;
10
+ children?: ExplorerTreeNode[];
11
+ }
12
+ export interface ExplorerTreeLabels {
13
+ root: string;
14
+ sub: string;
15
+ uncategorized: string;
16
+ }
17
+ export interface ExplorerTreeOptions {
18
+ keyword?: string;
19
+ labels?: Partial<ExplorerTreeLabels>;
20
+ }
21
+ export declare const EXPLORER_SECTION_ROOT = "section:root";
22
+ export declare const EXPLORER_SECTION_SUB = "section:sub";
23
+ export declare function buildExplorerTree(workflows?: readonly WorkflowItem[], options?: ExplorerTreeOptions): ExplorerTreeNode[];
24
+ export declare function expandedExplorerKeys(tree?: readonly ExplorerTreeNode[]): string[];
25
+ export declare function explorerAncestorKeys(tree: readonly ExplorerTreeNode[] | undefined, targetKey: string): string[];
26
+ export declare function normalizeExplorerExpandedKeys(tree: readonly ExplorerTreeNode[], keys: readonly string[]): string[];
27
+ export declare function findExplorerNode(tree: readonly ExplorerTreeNode[] | undefined, key: string): ExplorerTreeNode | null;
@@ -0,0 +1,32 @@
1
+ import type { ComponentDefinition, ComponentField, FieldDependency } from '../types/component';
2
+ export interface ResolveComponentFieldsContext {
3
+ configuration?: Record<string, unknown>;
4
+ getFieldsByType?: (type: string) => ComponentField[] | undefined;
5
+ }
6
+ export interface FieldAttachmentEntry {
7
+ target: string;
8
+ field: ComponentField;
9
+ mode: 'drawer' | 'popover';
10
+ }
11
+ export type MapValueMode = 'string' | 'json';
12
+ export interface FieldValidationError {
13
+ field: string;
14
+ message: string;
15
+ }
16
+ export declare function getMapValueMode(field: Pick<ComponentField, 'component' | 'capabilities'> & Record<string, unknown>): MapValueMode;
17
+ export declare function formatMapEntryValue(value: unknown, mode?: MapValueMode): string;
18
+ export declare function parseMapEntryValue(value: string, mode?: MapValueMode): unknown;
19
+ export declare function getFieldAttachmentTarget(attachTo: ComponentField['attachTo']): string | undefined;
20
+ export declare function normalizeComponentField(field: ComponentField): ComponentField;
21
+ export declare function getFieldPathValue(source: unknown, path: string): unknown;
22
+ export declare function validateFieldValue(field: ComponentField, value: unknown): string[];
23
+ export declare function validateComponentFields(fields: ComponentField[] | undefined, configuration: Record<string, unknown>): FieldValidationError[];
24
+ export declare function evaluateFieldDependency(dependency: FieldDependency, configuration: Record<string, unknown>): boolean;
25
+ export declare function isFieldDependencySatisfied(field: ComponentField, configuration: Record<string, unknown>): boolean;
26
+ export declare function resolveComponentFields(component: ComponentDefinition, context?: ResolveComponentFieldsContext): ComponentField[];
27
+ export declare function getVisibleComponentFields(fields: ComponentField[], configuration: Record<string, unknown>): ComponentField[];
28
+ export declare function buildFieldAttachments(fields: ComponentField[]): Map<string, FieldAttachmentEntry[]>;
29
+ export declare function parseUnknownConfiguration(text: string): Record<string, unknown>;
30
+ export declare function cloneConfiguration(configuration: Record<string, unknown> | undefined): Record<string, unknown>;
31
+ export declare function sanitizeConfigurationByFields(configuration: Record<string, unknown> | undefined, fields: ComponentField[] | undefined): Record<string, unknown>;
32
+ export declare function buildDefaultConfiguration(component: ComponentDefinition, getFieldsByType?: (type: string) => ComponentField[] | undefined): Record<string, unknown>;
@@ -0,0 +1,38 @@
1
+ export declare const EDITOR_FOUNDATION_TOKEN_VALUES: Readonly<{
2
+ readonly 'font-family': "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Hiragino Sans GB\", \"Microsoft YaHei\", sans-serif";
3
+ readonly 'font-mono': "ui-monospace, \"SFMono-Regular\", \"Cascadia Code\", Menlo, Monaco, Consolas, monospace";
4
+ readonly 'font-size-xs': "11px";
5
+ readonly 'font-size-sm': "12px";
6
+ readonly 'font-size-base': "13px";
7
+ readonly 'font-size-lg': "14px";
8
+ readonly 'font-size-xl': "16px";
9
+ readonly 'font-size-2xl': "18px";
10
+ readonly 'font-size-3xl': "20px";
11
+ readonly 'icon-size': "16px";
12
+ readonly 'icon-size-lg': "20px";
13
+ readonly 'icon-size-xl': "24px";
14
+ readonly 'leading-tight': "1.45";
15
+ readonly 'leading-relaxed': "1.65";
16
+ readonly 'weight-normal': "400";
17
+ readonly 'weight-medium': "500";
18
+ readonly 'weight-semibold': "600";
19
+ readonly 'weight-bold': "700";
20
+ readonly 'space-3xs': "2px";
21
+ readonly 'space-2xs': "4px";
22
+ readonly 'space-xs': "6px";
23
+ readonly 'space-sm': "8px";
24
+ readonly 'space-md': "12px";
25
+ readonly 'space-lg': "16px";
26
+ readonly 'space-xl': "24px";
27
+ readonly 'space-2xl': "32px";
28
+ readonly 'space-3xl': "48px";
29
+ readonly 'space-tight': "6px";
30
+ readonly 'space-panel': "12px";
31
+ readonly 'duration-fast': "100ms";
32
+ readonly duration: "160ms";
33
+ readonly 'duration-slow': "240ms";
34
+ readonly 'ease-out': "cubic-bezier(0.25, 1, 0.5, 1)";
35
+ readonly 'ease-expo': "cubic-bezier(0.16, 1, 0.3, 1)";
36
+ }>;
37
+ export type EditorFoundationTokenPrefix = '--hb' | '--rg';
38
+ export declare function createEditorFoundationVariables(prefix: EditorFoundationTokenPrefix): Record<string, string>;
@@ -0,0 +1,34 @@
1
+ import type { LFEdgeData, LFGraphData, LFNodeData } from './DataAdapter';
2
+ export type AlignMode = 'left' | 'right' | 'top' | 'bottom' | 'horizontal-center' | 'vertical-center';
3
+ export type DistributeMode = 'horizontal' | 'vertical';
4
+ export declare function alignGraphNodes(graph: LFGraphData, nodeIds: string[], mode: AlignMode): LFGraphData;
5
+ export declare function distributeGraphNodes(graph: LFGraphData, nodeIds: string[], mode: DistributeMode): LFGraphData;
6
+ export declare function snapGraphNodesToGrid(graph: LFGraphData, nodeIds: string[], gridSize?: number): LFGraphData;
7
+ export declare function selectConnectedNodeIds(graph: LFGraphData, startIds: string[], direction?: 'upstream' | 'downstream' | 'both'): string[];
8
+ export interface CloneGraphSelectionOptions {
9
+ offsetX?: number;
10
+ offsetY?: number;
11
+ idGenerator: (kind: 'node' | 'edge', sourceId: string) => string;
12
+ transformNode?: (node: LFNodeData, source: LFNodeData) => LFNodeData;
13
+ }
14
+ export interface ClonedGraphSelection {
15
+ nodes: LFNodeData[];
16
+ edges: LFEdgeData[];
17
+ nodeIdMap: Record<string, string>;
18
+ }
19
+ export interface InsertGraphNodeOnEdgeOptions {
20
+ node: LFNodeData;
21
+ firstEdgeId: string;
22
+ secondEdgeId: string;
23
+ firstRelationType?: string;
24
+ secondRelationType?: string;
25
+ }
26
+ export interface InsertGraphNodeOnEdgeResult {
27
+ graph: LFGraphData;
28
+ originalEdge: LFEdgeData;
29
+ insertedNode: LFNodeData;
30
+ insertedEdges: [LFEdgeData, LFEdgeData];
31
+ }
32
+ export declare function insertGraphNodeOnEdge(graph: LFGraphData, edgeId: string, options: InsertGraphNodeOnEdgeOptions): InsertGraphNodeOnEdgeResult | null;
33
+ export declare function reserveUniqueGraphElementId(candidate: unknown, usedIds: Set<string>, fallback?: string): string;
34
+ export declare function cloneGraphSelection(graph: LFGraphData, nodeIds: string[], options: CloneGraphSelectionOptions): ClonedGraphSelection;
@@ -0,0 +1,26 @@
1
+ export interface EditorHoverToolPosition {
2
+ x: number;
3
+ y: number;
4
+ flipDown?: boolean;
5
+ }
6
+ export interface EditorHoverToolTarget extends EditorHoverToolPosition {
7
+ targetId: string;
8
+ visible?: boolean;
9
+ }
10
+ export interface EditorNodeRunTarget {
11
+ type?: unknown;
12
+ nodeType?: unknown;
13
+ properties?: {
14
+ model?: {
15
+ type?: unknown;
16
+ nodeType?: unknown;
17
+ } | null;
18
+ view?: {
19
+ type?: unknown;
20
+ nodeType?: unknown;
21
+ } | null;
22
+ } | null;
23
+ }
24
+ export declare function isEditorNodeRunTarget(target: EditorNodeRunTarget | string | null | undefined): boolean;
25
+ export type EditorNodeHoverAction = 'edit' | 'copy' | 'delete' | 'run-from' | 'run-only';
26
+ export type EditorEdgeHoverAction = 'insert-node' | 'delete';
@@ -1,20 +1,7 @@
1
- /**
2
- * @file core/index.ts
3
- * @description 核心模块统一导出入口
4
- *
5
- * 所有核心子系统均从此处导出:
6
- * - StateStore: 框架无关的响应式状态容器
7
- * - EventBus: 类型安全的事件总线
8
- * - DataAdapter: RuleGo ↔ LogicFlow 数据格式转换
9
- * - ComponentRegistry: 组件注册表
10
- * - HistoryManager: 撤销/重做管理
11
- * - ValidationEngine: 图验证引擎
12
- * - ThemeManager: 主题切换管理
13
- * - I18nManager: 国际化管理
14
- * - EditorCore: 核心引擎 (整合以上所有子系统)
15
- */
16
1
  export { StateStore } from './StateStore';
17
2
  export { EventBus } from './EventBus';
3
+ export { DEFAULT_RUNTIME_FIELD_MAX_DEPTH, DEFAULT_RUNTIME_FIELD_MAX_PATHS, DEFAULT_RUNTIME_FIELD_SAMPLE_LENGTH, RuntimeFieldDictionary, extractRuntimeFieldPaths, mergeRuntimeFieldCompletions, } from './runtime-field-dictionary';
4
+ export type { RuntimeFieldCompletionItem, RuntimeFieldConnection, RuntimeFieldDictionaryListener, RuntimeFieldDictionaryOptions, RuntimeFieldEvent, RuntimeFieldMessage, RuntimeFieldPath, RuntimeFieldSlot, RuntimeNodeFieldEntry, } from './runtime-field-dictionary';
18
5
  export { DataAdapter } from './DataAdapter';
19
6
  export type { LFNodeData, LFEdgeData, LFGraphData, LFPoint } from './DataAdapter';
20
7
  export { ComponentRegistry } from './ComponentRegistry';
@@ -28,9 +15,74 @@ export type { ThemeVariables, ThemeDefinition } from './ThemeManager';
28
15
  export { I18nManager, i18nText } from './I18nManager';
29
16
  export type { LocaleMessages, TranslationSource } from './I18nManager';
30
17
  export { EditorCore } from './EditorCore';
18
+ export { getEditorToolbarIconSvg, isEditorToolbarIconName, renderEditorToolbarIcon } from './toolbar-icons';
19
+ export type { EditorToolbarIconName } from './toolbar-icons';
20
+ export { clampContextMenuPosition, resolveContextSubmenuPosition, } from './context-menu-position';
21
+ export type { ContextMenuPosition, ContextMenuRect, ContextMenuSize, ContextMenuViewport, } from './context-menu-position';
22
+ export { extractRunMessageFields, extractRunMessageTypes, inferRunInput, extractMsgFields, extractMsgTypes, } from './infer-run-input';
23
+ export type { RunInputInference } from './infer-run-input';
24
+ export { normalizeKeyValueSelection, removeKeyValueEntriesAtIndexes, } from './key-value-editor';
25
+ export type { KeyValueEditorEntry } from './key-value-editor';
26
+ export { createDebugPanelRequestSnapshot, isDebugPanelRequestCurrent, } from './debug-panel';
27
+ export type { DebugPanelRequestSnapshot } from './debug-panel';
28
+ export { getRuleChainErrorTexts, isRuleChainNotDeployedError, resolveRuleChainDeployState, } from './run-guard';
29
+ export type { ResolveRuleChainDeployStateOptions, RuleChainDeployState, } from './run-guard';
30
+ export { ActionRegistry } from './ActionRegistry';
31
+ export type { EditorAction, EditorActionContext, EditorActionRuntime, EditorActionSource, EditorSelectionSnapshot, EditorShortcut, } from './ActionRegistry';
32
+ export { FieldCapabilityRegistry } from './FieldCapabilityRegistry';
33
+ export type { FieldCapabilityContext, FieldCapabilityHandler } from './FieldCapabilityRegistry';
34
+ export { OptionSourceRegistry, buildOptionSourceRequestKey } from './OptionSourceRegistry';
35
+ export type { OptionSourceContext, OptionSourceResolveContext, OptionSourceResolver } from './OptionSourceRegistry';
36
+ export { FieldChangeHandlerNotFoundError, FieldChangeRegistry, getFieldChangeHandlerName, } from './FieldChangeRegistry';
37
+ export type { FieldChangeContext, FieldChangeExecutionResult, FieldChangeExecutionStatus, FieldChangeHandler, FieldChangeResolveContext, FieldChangeResult, } from './FieldChangeRegistry';
38
+ export { buildFieldAttachments, buildDefaultConfiguration, cloneConfiguration, evaluateFieldDependency, formatMapEntryValue, getFieldAttachmentTarget, getFieldPathValue, getMapValueMode, getVisibleComponentFields, isFieldDependencySatisfied, parseUnknownConfiguration, parseMapEntryValue, resolveComponentFields, sanitizeConfigurationByFields, validateComponentFields, validateFieldValue, } from './field-protocol';
39
+ export type { FieldAttachmentEntry, FieldValidationError, MapValueMode, ResolveComponentFieldsContext } from './field-protocol';
40
+ export { alignGraphNodes, cloneGraphSelection, insertGraphNodeOnEdge, reserveUniqueGraphElementId, distributeGraphNodes, selectConnectedNodeIds, snapGraphNodesToGrid, } from './graph-operations';
41
+ export type { AlignMode, CloneGraphSelectionOptions, ClonedGraphSelection, DistributeMode, InsertGraphNodeOnEdgeOptions, InsertGraphNodeOnEdgeResult, } from './graph-operations';
42
+ export { DiagnosticService } from './DiagnosticService';
43
+ export { groupDiagnosticsByElement, validateTopology } from './topology-rules';
44
+ export type { DiagnosticItem, TopologyContext } from './topology-rules';
45
+ export { buildComponentPalette, normalizeComponentCategory, DEFAULT_COMPONENT_CATEGORY_ORDER } from './component-palette';
46
+ export type { ComponentPaletteBuildOptions, ComponentPaletteGroup, ComponentPaletteSubgroup } from './component-palette';
47
+ export { ComponentDocService } from './ComponentDocService';
48
+ export type { ComponentDoc, ComponentDocMeta, ComponentDocProvider } from './ComponentDocService';
49
+ export { buildExplorerTree, expandedExplorerKeys, explorerAncestorKeys, findExplorerNode, normalizeExplorerExpandedKeys, EXPLORER_SECTION_ROOT, EXPLORER_SECTION_SUB, } from './explorer-tree';
50
+ export type { ExplorerTreeNode, ExplorerTreeNodeKind, ExplorerTreeLabels, ExplorerTreeOptions } from './explorer-tree';
51
+ export { parseExcelTable, serializeExcelTable } from './table-spreadsheet';
52
+ export { ExplorerTreeStore } from './ExplorerTreeStore';
53
+ export type { ExplorerTreePersistenceState, ExplorerTreeStoreOptions, ExplorerTreeState, } from './ExplorerTreeStore';
54
+ export { SIMPLE_ARRAY_DELIMITER, mergeSimpleArrayValues, normalizeSimpleArrayValues, parseSimpleArrayInput, } from './simple-array';
55
+ export { EditorWorkspace } from './EditorWorkspace';
56
+ export type { EditorWorkspaceTab, EditorWorkspaceState, OpenWorkspaceTabInput, WorkspaceCloseDecision, WorkspaceCloseResultReason, WorkspaceSaveResponse, WorkspaceSaveOutcome, WorkspaceSaveHandlerResult, WorkspaceSaveHandler, CloseWorkspaceTabOptions, CloseWorkspaceTabDecisionOptions, CloseWorkspaceTabResult, WorkspaceConflictResolution, WorkspaceConflictResult, WorkspaceListener, } from './EditorWorkspace';
57
+ export { getEditorWorkspaceTabActions, getWorkspaceTabLifecycleState, isWorkspaceTabDisabled, isWorkspaceTabPinned, } from './workspace-tab-actions';
58
+ export type { EditorWorkspaceTabAction, EditorWorkspaceTabActionDescriptor, EditorWorkspaceTabLifecycleState, } from './workspace-tab-actions';
59
+ export { createRuleChainSaveFingerprint, hasRuleChainSaveConflict, normalizeRuleChainSaveSnapshot, } from './save-conflict';
60
+ export { EditorDockStore, DEFAULT_EDITOR_DOCK_STATE, buildEditorPersistenceKey, buildEditorChatHistoryKey, readEditorChatHistory, writeEditorChatHistory, clearEditorChatHistory, } from './editor-dock';
61
+ export type { EditorDockId, EditorWidthDockId, EditorWidthDockState, EditorHeightDockState, EditorDockState, EditorDockBounds, EditorDockPersistenceState, EditorDockOptions, EditorPersistenceScope, EditorPersistenceAdapter, EditorPersistenceNamespace, EditorPersistenceMigrationContext, EditorStatePersistenceOptions, EditorChatHistoryMode, EditorChatHistoryPersistenceOptions, } from './editor-dock';
62
+ export { EditorPanelRegistry, DEFAULT_EDITOR_PANELS, DEFAULT_EDITOR_OPEN_PANEL_IDS, DEFAULT_NODE_CONFIG_DOCK_WIDTH, } from './editor-panel';
63
+ export type { EditorPanelId, EditorPanelDefinition, EditorPanelState, EditorPanelPersistenceState, EditorPanelRegistryOptions, } from './editor-panel';
64
+ export { ServerStatusStore, deriveWsUrl } from './server-status';
65
+ export type { ServerStatus, ServerApiStatus, ServerWsStatus, ServerWsEventStatus, ServerStatusState, ServerStatusOptions, } from './server-status';
66
+ export { ConnectionStatusController, ConnectionStatusStore, normalizeConnectionStatusMap, resolveConnectionStatusView, } from './connection-status';
67
+ export type { ConnectionStatusControllerOptions, ConnectionStatusMap, ConnectionStatusPhase, ConnectionStatusProvider, ConnectionStatusSemanticKind, ConnectionStatusState, ConnectionStatusTranslator, ConnectionStatusView, NodeConnectionState, NodeConnectionStatus, } from './connection-status';
68
+ export { isEditorNodeRunTarget } from './hover-tools';
69
+ export type { EditorHoverToolPosition, EditorHoverToolTarget, EditorNodeRunTarget, EditorNodeHoverAction, EditorEdgeHoverAction, } from './hover-tools';
70
+ export { resolveEditorCapabilities, resolveCapabilities, CAPABILITY_BASE, CAPABILITY_PROFILES, } from './editor-capabilities';
71
+ export type { EditorMode, EditorUiCapabilities, EditorCapabilities, EditorCapabilitiesOverride, EditorCapabilityInput, } from './editor-capabilities';
31
72
  export { autoLayout, needsAutoLayout } from './AutoLayout';
32
73
  export type { AutoLayoutOptions } from './AutoLayout';
74
+ export { calculateVirtualWindow, DEFAULT_VIRTUAL_WINDOW_ITEM_HEIGHT, DEFAULT_VIRTUAL_WINDOW_VIEWPORT_HEIGHT, DEFAULT_VIRTUAL_WINDOW_OVERSCAN, DEFAULT_VIRTUAL_WINDOW_THRESHOLD, } from './virtual-window';
75
+ export type { VirtualWindow, VirtualWindowOptions } from './virtual-window';
76
+ export { RecentComponentsStore, RECENT_COMPONENTS_DEFAULTS } from './recent-components';
77
+ export type { RecentComponentEntry, RecentComponentsPersistenceOptions, RecentComponentsOptions, RecentComponentsState, } from './recent-components';
78
+ export { EditorTestCasesStore } from './test-cases';
79
+ export type { EditorTestCasePayload, EditorTestCaseEntry, EditorTestCasesPersistenceOptions, EditorTestCasesOptions, EditorTestCasesResult, } from './test-cases';
80
+ export { createEmptyTableRow, coerceTableCellValue, decodeTableRowsForEditing, encodeTableRowsForStorage, findDuplicateRowValues, generatePointRows, getPointTableImportDecision, getTableColumns, getTableDetailFields, isPointTableFields, normalizeTableRows, paginateTableRows, parseCsvTable, serializeCsvTable, } from './table-protocol';
81
+ export type { PointGenerationOptions, PointTableImportDecision, TablePage, TableRow } from './table-protocol';
82
+ export { cronPresetToRuleGoCron, nextRuleGoCronRuns, normalizeRuleGoCron, ruleGoCronToPreset, validateRuleGoCron, } from './cron-schedule';
83
+ export type { RuleGoCronBuildResult, RuleGoCronError, RuleGoCronErrorCode, RuleGoCronNextRunsOptions, RuleGoCronNextRunsResult, RuleGoCronPreset, RuleGoCronPresetParseResult, RuleGoCronValidationResult, } from './cron-schedule';
33
84
  export { RuleChainValidator } from './RuleChainValidator';
34
85
  export type { ValidationIssue, ValidationResult as RuleChainValidationResult, IssueSeverity, } from './RuleChainValidator';
86
+ export { EDITOR_OVERLAY_LAYERS, EDITOR_OVERLAY_LAYER_CSS_VARIABLES, EDITOR_OVERLAY_LAYER_CSS_TEXT, } from './overlay-layers';
87
+ export type { EditorOverlayLayerName } from './overlay-layers';
35
88
  export { RUNTIME_LIMITS, RuntimeLimitError, assertGraphWithinLimits, assertComponentsWithinLimits, assertTextWithinBytes, truncateText, assertObjectDepth, } from './runtime-limits';
36
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,11 @@
1
+ export interface RunInputInference {
2
+ msgType: string;
3
+ body: string;
4
+ msgTypes: string[];
5
+ fields: string[];
6
+ }
7
+ export declare function extractRunMessageFields(input: unknown): string[];
8
+ export declare function extractRunMessageTypes(input: unknown): string[];
9
+ export declare function inferRunInput(input: unknown): RunInputInference;
10
+ export declare const extractMsgFields: typeof extractRunMessageFields;
11
+ export declare const extractMsgTypes: typeof extractRunMessageTypes;
@@ -0,0 +1,6 @@
1
+ export interface KeyValueEditorEntry<T = string> {
2
+ key: string;
3
+ value: T;
4
+ }
5
+ export declare function normalizeKeyValueSelection(selection: Iterable<number>, length: number): number[];
6
+ export declare function removeKeyValueEntriesAtIndexes<T>(entries: readonly KeyValueEditorEntry<T>[], selection: Iterable<number>): KeyValueEditorEntry<T>[];
@@ -0,0 +1,28 @@
1
+ export declare const EDITOR_OVERLAY_LAYERS: Readonly<{
2
+ readonly chrome: 10;
3
+ readonly localOverlay: 190;
4
+ readonly floating: 10000;
5
+ readonly drawerBackdrop: 10010;
6
+ readonly drawer: 10011;
7
+ readonly modalBackdrop: 10020;
8
+ readonly modal: 10021;
9
+ readonly attachment: 10030;
10
+ readonly optionPicker: 10040;
11
+ readonly confirmation: 10050;
12
+ readonly notification: 10060;
13
+ }>;
14
+ export type EditorOverlayLayerName = keyof typeof EDITOR_OVERLAY_LAYERS;
15
+ export declare const EDITOR_OVERLAY_LAYER_CSS_VARIABLES: Readonly<{
16
+ chrome: string;
17
+ localOverlay: string;
18
+ floating: string;
19
+ drawerBackdrop: string;
20
+ drawer: string;
21
+ modalBackdrop: string;
22
+ modal: string;
23
+ attachment: string;
24
+ optionPicker: string;
25
+ confirmation: string;
26
+ notification: string;
27
+ }>;
28
+ export declare const EDITOR_OVERLAY_LAYER_CSS_TEXT: string;
@@ -0,0 +1,51 @@
1
+ import { type EditorPersistenceAdapter, type EditorPersistenceNamespace } from './editor-dock';
2
+ export interface RecentComponentEntry {
3
+ count: number;
4
+ ts: number;
5
+ }
6
+ export interface RecentComponentsPersistenceOptions {
7
+ adapter: EditorPersistenceAdapter;
8
+ namespace: EditorPersistenceNamespace;
9
+ }
10
+ export interface RecentComponentsOptions {
11
+ persistence?: RecentComponentsPersistenceOptions;
12
+ maxEntries?: number;
13
+ topN?: number;
14
+ halfLifeDays?: number;
15
+ now?: () => number;
16
+ }
17
+ export interface RecentComponentsState {
18
+ entries: Record<string, RecentComponentEntry>;
19
+ }
20
+ export declare class RecentComponentsStore {
21
+ private readonly adapter?;
22
+ private readonly storageKey;
23
+ private readonly persistenceIdentity;
24
+ private readonly maxEntries;
25
+ private readonly topN;
26
+ private readonly halfLifeDays;
27
+ private readonly now;
28
+ private entries;
29
+ private listeners;
30
+ private destroyed;
31
+ constructor(options?: RecentComponentsOptions);
32
+ getState(): RecentComponentsState;
33
+ subscribe(listener: (state: RecentComponentsState) => void): () => void;
34
+ recordUse(type: string): {
35
+ persisted: boolean;
36
+ topTypes: string[];
37
+ };
38
+ getTopTypes(limit?: number): string[];
39
+ clear(): boolean;
40
+ destroy(): void;
41
+ private score;
42
+ private prune;
43
+ private read;
44
+ private write;
45
+ private emit;
46
+ }
47
+ export declare const RECENT_COMPONENTS_DEFAULTS: Readonly<{
48
+ maxEntries: 60;
49
+ topN: 8;
50
+ halfLifeDays: 14;
51
+ }>;
@@ -0,0 +1,7 @@
1
+ export type RuleChainDeployState = 'undeployed' | 'stopped' | 'running' | 'unknown';
2
+ export interface ResolveRuleChainDeployStateOptions {
3
+ missingAsUnknown?: boolean;
4
+ }
5
+ export declare function resolveRuleChainDeployState(ruleChain: unknown, options?: ResolveRuleChainDeployStateOptions): RuleChainDeployState;
6
+ export declare function getRuleChainErrorTexts(error: unknown): string[];
7
+ export declare function isRuleChainNotDeployedError(error: unknown, chainId?: string): boolean;
@@ -0,0 +1,68 @@
1
+ export declare const DEFAULT_RUNTIME_FIELD_MAX_PATHS = 300;
2
+ export declare const DEFAULT_RUNTIME_FIELD_MAX_DEPTH = 6;
3
+ export declare const DEFAULT_RUNTIME_FIELD_SAMPLE_LENGTH = 40;
4
+ export interface RuntimeFieldPath {
5
+ path: string;
6
+ type: string;
7
+ sample: string;
8
+ }
9
+ export interface RuntimeFieldMessage {
10
+ data?: unknown;
11
+ dataType?: unknown;
12
+ metadata?: unknown;
13
+ type?: unknown;
14
+ [key: string]: unknown;
15
+ }
16
+ export interface RuntimeFieldEvent {
17
+ chainId?: unknown;
18
+ nodeId?: unknown;
19
+ flowType?: unknown;
20
+ msg?: RuntimeFieldMessage | null;
21
+ ts?: unknown;
22
+ [key: string]: unknown;
23
+ }
24
+ export interface RuntimeFieldConnection {
25
+ sourceNodeId?: unknown;
26
+ targetNodeId?: unknown;
27
+ }
28
+ export interface RuntimeFieldCompletionItem {
29
+ label?: string;
30
+ value?: string;
31
+ detail?: string;
32
+ type?: string;
33
+ }
34
+ export interface RuntimeFieldSlot {
35
+ paths: RuntimeFieldPath[];
36
+ ts: number;
37
+ }
38
+ export interface RuntimeNodeFieldEntry {
39
+ in?: RuntimeFieldSlot;
40
+ out?: RuntimeFieldSlot;
41
+ }
42
+ export interface RuntimeFieldDictionaryOptions {
43
+ maxPaths?: number;
44
+ maxDepth?: number;
45
+ sampleLength?: number;
46
+ }
47
+ export type RuntimeFieldDictionaryListener = () => void;
48
+ export declare function extractRuntimeFieldPaths(message: RuntimeFieldMessage | null | undefined, options?: RuntimeFieldDictionaryOptions): RuntimeFieldPath[];
49
+ export declare class RuntimeFieldDictionary {
50
+ private readonly options;
51
+ private readonly listeners;
52
+ private entries;
53
+ private activeChainId;
54
+ private version;
55
+ private destroyed;
56
+ constructor(options?: RuntimeFieldDictionaryOptions);
57
+ getChainId(): string;
58
+ getVersion(): number;
59
+ setChain(chainId: unknown): void;
60
+ ingest(event: RuntimeFieldEvent | null | undefined, fallbackChainId?: unknown): boolean;
61
+ getNodePaths(nodeId: unknown): RuntimeFieldPath[];
62
+ getUpstreamPaths(nodeId: unknown, connections: RuntimeFieldConnection[] | undefined): RuntimeFieldPath[];
63
+ clear(): void;
64
+ subscribe(listener: RuntimeFieldDictionaryListener): () => void;
65
+ destroy(): void;
66
+ private emitChange;
67
+ }
68
+ export declare function mergeRuntimeFieldCompletions(schemaItems: RuntimeFieldCompletionItem[] | undefined, runtimePaths: RuntimeFieldPath[] | undefined, observedLabel?: string): RuntimeFieldCompletionItem[];
@@ -1,7 +1,3 @@
1
- /**
2
- * @file core/runtime-limits.ts
3
- * @description Shared size limits to keep imports, rendering, layout, debug, and storage bounded.
4
- */
5
1
  export declare const RUNTIME_LIMITS: {
6
2
  readonly maxImportBytes: number;
7
3
  readonly maxGraphNodes: 1000;
@@ -33,4 +29,3 @@ export declare function assertComponentsWithinLimits(components: unknown[]): voi
33
29
  export declare function assertTextWithinBytes(text: string, maxBytes: number, label: string): void;
34
30
  export declare function truncateText(value: unknown, maxChars: number): string;
35
31
  export declare function assertObjectDepth(value: unknown, maxDepth: number, label: string): void;
36
- //# sourceMappingURL=runtime-limits.d.ts.map
@@ -0,0 +1,4 @@
1
+ import type { RuleChainData } from '../types/rule-chain';
2
+ export declare function normalizeRuleChainSaveSnapshot(data: unknown): unknown;
3
+ export declare function createRuleChainSaveFingerprint(data: unknown): string;
4
+ export declare function hasRuleChainSaveConflict(remote: unknown, baseline: RuleChainData | unknown): boolean;