@specverse/runtime 4.1.0 → 4.1.2

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 (93) hide show
  1. package/README.md +356 -0
  2. package/dist/runtime/views/core/atomic-components-registry.d.ts +63 -0
  3. package/dist/runtime/views/core/atomic-components-registry.d.ts.map +1 -0
  4. package/dist/runtime/views/core/atomic-components-registry.js +822 -0
  5. package/dist/runtime/views/core/atomic-components-registry.js.map +1 -0
  6. package/dist/runtime/views/core/composite-pattern-types.d.ts +171 -0
  7. package/dist/runtime/views/core/composite-pattern-types.d.ts.map +1 -0
  8. package/dist/runtime/views/core/composite-pattern-types.js +11 -0
  9. package/dist/runtime/views/core/composite-pattern-types.js.map +1 -0
  10. package/dist/runtime/views/core/composite-patterns.d.ts +67 -0
  11. package/dist/runtime/views/core/composite-patterns.d.ts.map +1 -0
  12. package/dist/runtime/views/core/composite-patterns.js +485 -0
  13. package/dist/runtime/views/core/composite-patterns.js.map +1 -0
  14. package/dist/runtime/views/core/entity-display.d.ts +28 -0
  15. package/dist/runtime/views/core/entity-display.d.ts.map +1 -1
  16. package/dist/runtime/views/core/entity-display.js +75 -0
  17. package/dist/runtime/views/core/entity-display.js.map +1 -1
  18. package/dist/runtime/views/core/index.d.ts +4 -1
  19. package/dist/runtime/views/core/index.d.ts.map +1 -1
  20. package/dist/runtime/views/core/index.js +5 -1
  21. package/dist/runtime/views/core/index.js.map +1 -1
  22. package/dist/runtime/views/core/pattern-engine.d.ts +2 -2
  23. package/dist/runtime/views/core/pattern-engine.d.ts.map +1 -1
  24. package/dist/runtime/views/core/pattern-engine.js.map +1 -1
  25. package/dist/runtime/views/core/types.d.ts +2 -0
  26. package/dist/runtime/views/core/types.d.ts.map +1 -1
  27. package/dist/runtime/views/index.d.ts +5 -2
  28. package/dist/runtime/views/index.d.ts.map +1 -1
  29. package/dist/runtime/views/index.js +5 -2
  30. package/dist/runtime/views/index.js.map +1 -1
  31. package/dist/runtime/views/react/components/DevShell.d.ts.map +1 -1
  32. package/dist/runtime/views/react/components/DevShell.js +6 -2
  33. package/dist/runtime/views/react/components/DevShell.js.map +1 -1
  34. package/dist/runtime/views/react/components/EntitySelect.d.ts +14 -0
  35. package/dist/runtime/views/react/components/EntitySelect.d.ts.map +1 -0
  36. package/dist/runtime/views/react/components/EntitySelect.js +29 -0
  37. package/dist/runtime/views/react/components/EntitySelect.js.map +1 -0
  38. package/dist/runtime/views/react/components/EventStream.d.ts +11 -0
  39. package/dist/runtime/views/react/components/EventStream.d.ts.map +1 -0
  40. package/dist/runtime/views/react/components/EventStream.js +49 -0
  41. package/dist/runtime/views/react/components/EventStream.js.map +1 -0
  42. package/dist/runtime/views/react/components/FieldInput.d.ts +23 -0
  43. package/dist/runtime/views/react/components/FieldInput.d.ts.map +1 -0
  44. package/dist/runtime/views/react/components/FieldInput.js +28 -0
  45. package/dist/runtime/views/react/components/FieldInput.js.map +1 -0
  46. package/dist/runtime/views/react/components/FormView.d.ts +21 -0
  47. package/dist/runtime/views/react/components/FormView.d.ts.map +1 -0
  48. package/dist/runtime/views/react/components/FormView.js +13 -0
  49. package/dist/runtime/views/react/components/FormView.js.map +1 -0
  50. package/dist/runtime/views/react/components/ModelManager.d.ts +6 -2
  51. package/dist/runtime/views/react/components/ModelManager.d.ts.map +1 -1
  52. package/dist/runtime/views/react/components/ModelManager.js +166 -61
  53. package/dist/runtime/views/react/components/ModelManager.js.map +1 -1
  54. package/dist/runtime/views/react/components/ModelSelector.d.ts.map +1 -1
  55. package/dist/runtime/views/react/components/ModelSelector.js +4 -1
  56. package/dist/runtime/views/react/components/ModelSelector.js.map +1 -1
  57. package/dist/runtime/views/react/components/OperationExecutor.d.ts +15 -0
  58. package/dist/runtime/views/react/components/OperationExecutor.d.ts.map +1 -0
  59. package/dist/runtime/views/react/components/OperationExecutor.js +86 -0
  60. package/dist/runtime/views/react/components/OperationExecutor.js.map +1 -0
  61. package/dist/runtime/views/react/components/OperationResultView.d.ts +10 -0
  62. package/dist/runtime/views/react/components/OperationResultView.d.ts.map +1 -0
  63. package/dist/runtime/views/react/components/OperationResultView.js +92 -0
  64. package/dist/runtime/views/react/components/OperationResultView.js.map +1 -0
  65. package/dist/runtime/views/react/components/OperationView.d.ts +21 -0
  66. package/dist/runtime/views/react/components/OperationView.d.ts.map +1 -0
  67. package/dist/runtime/views/react/components/OperationView.js +7 -0
  68. package/dist/runtime/views/react/components/OperationView.js.map +1 -0
  69. package/dist/runtime/views/react/components/RelationshipField.js +4 -4
  70. package/dist/runtime/views/react/components/RelationshipField.js.map +1 -1
  71. package/dist/runtime/views/react/components/RuntimeView.d.ts.map +1 -1
  72. package/dist/runtime/views/react/components/RuntimeView.js +93 -33
  73. package/dist/runtime/views/react/components/RuntimeView.js.map +1 -1
  74. package/dist/runtime/views/react/components/ViewRouter.d.ts +7 -1
  75. package/dist/runtime/views/react/components/ViewRouter.d.ts.map +1 -1
  76. package/dist/runtime/views/react/components/ViewRouter.js +57 -18
  77. package/dist/runtime/views/react/components/ViewRouter.js.map +1 -1
  78. package/dist/runtime/views/react/hooks/useEventStream.d.ts +29 -0
  79. package/dist/runtime/views/react/hooks/useEventStream.d.ts.map +1 -0
  80. package/dist/runtime/views/react/hooks/useEventStream.js +114 -0
  81. package/dist/runtime/views/react/hooks/useEventStream.js.map +1 -0
  82. package/dist/runtime/views/react/hooks/useResizableSidebar.d.ts.map +1 -1
  83. package/dist/runtime/views/react/hooks/useResizableSidebar.js +2 -0
  84. package/dist/runtime/views/react/hooks/useResizableSidebar.js.map +1 -1
  85. package/dist/runtime/views/react/index.d.ts +10 -1
  86. package/dist/runtime/views/react/index.d.ts.map +1 -1
  87. package/dist/runtime/views/react/index.js +11 -1
  88. package/dist/runtime/views/react/index.js.map +1 -1
  89. package/dist/runtime/views/react/react-pattern-adapter.d.ts +235 -0
  90. package/dist/runtime/views/react/react-pattern-adapter.d.ts.map +1 -0
  91. package/dist/runtime/views/react/react-pattern-adapter.js +1450 -0
  92. package/dist/runtime/views/react/react-pattern-adapter.js.map +1 -0
  93. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ViewRouter.js","sourceRoot":"","sources":["../../../../../src/runtime/views/react/components/ViewRouter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewRouter.js","sourceRoot":"","sources":["../../../../../src/runtime/views/react/components/ViewRouter.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * useEventStream — WebSocket event streaming hook
3
+ *
4
+ * Connects to the backend's WebSocket endpoint, subscribes to CURED events,
5
+ * and maintains a local event log. Derives WS URL from apiBaseUrl in context.
6
+ *
7
+ * Event flow: Backend EventBus → WS server → this hook → EventStream UI
8
+ */
9
+ export interface StreamEvent {
10
+ eventName: string;
11
+ data: any;
12
+ timestamp: Date;
13
+ }
14
+ export interface UseEventStreamOptions {
15
+ /** Max events to keep in memory */
16
+ maxEvents?: number;
17
+ /** Auto-connect on mount */
18
+ autoConnect?: boolean;
19
+ /** Reconnect delay in ms */
20
+ reconnectDelay?: number;
21
+ }
22
+ export declare function useEventStream(options?: UseEventStreamOptions): {
23
+ events: StreamEvent[];
24
+ isConnected: boolean;
25
+ connect: () => void;
26
+ disconnect: () => void;
27
+ clearEvents: () => void;
28
+ };
29
+ //# sourceMappingURL=useEventStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventStream.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/views/react/hooks/useEventStream.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4BAA4B;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B;;;;;;EAiHjE"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * useEventStream — WebSocket event streaming hook
3
+ *
4
+ * Connects to the backend's WebSocket endpoint, subscribes to CURED events,
5
+ * and maintains a local event log. Derives WS URL from apiBaseUrl in context.
6
+ *
7
+ * Event flow: Backend EventBus → WS server → this hook → EventStream UI
8
+ */
9
+ import { useState, useEffect, useRef, useCallback } from 'react';
10
+ import { useRuntimeContext } from '../context.js';
11
+ export function useEventStream(options = {}) {
12
+ const { maxEvents = 500, autoConnect = true, reconnectDelay = 3000 } = options;
13
+ const ctx = useRuntimeContext();
14
+ const [events, setEvents] = useState([]);
15
+ const [isConnected, setIsConnected] = useState(false);
16
+ const wsRef = useRef(null);
17
+ const reconnectTimerRef = useRef(null);
18
+ const intentionalCloseRef = useRef(false);
19
+ // Derive WebSocket URL from API base
20
+ const wsUrl = (() => {
21
+ const base = ctx.apiBaseUrl || '/api';
22
+ // /api → ws://host/ws, http://host:3000/api → ws://host:3000/ws
23
+ try {
24
+ if (base.startsWith('http')) {
25
+ const url = new URL(base);
26
+ url.protocol = url.protocol === 'https:' ? 'wss:' : 'ws:';
27
+ url.pathname = '/ws';
28
+ return url.toString();
29
+ }
30
+ // Relative path — use current host
31
+ const protocol = typeof window !== 'undefined' && window.location.protocol === 'https:' ? 'wss:' : 'ws:';
32
+ const host = typeof window !== 'undefined' ? window.location.host : 'localhost:3000';
33
+ return `${protocol}//${host}/ws`;
34
+ }
35
+ catch {
36
+ return 'ws://localhost:3000/ws';
37
+ }
38
+ })();
39
+ const addEvent = useCallback((event) => {
40
+ setEvents(prev => {
41
+ const next = [event, ...prev];
42
+ return next.length > maxEvents ? next.slice(0, maxEvents) : next;
43
+ });
44
+ }, [maxEvents]);
45
+ const connect = useCallback(() => {
46
+ if (wsRef.current) {
47
+ intentionalCloseRef.current = true;
48
+ wsRef.current.close();
49
+ }
50
+ const ws = new WebSocket(wsUrl);
51
+ ws.onopen = () => {
52
+ intentionalCloseRef.current = false;
53
+ setIsConnected(true);
54
+ };
55
+ ws.onclose = () => {
56
+ setIsConnected(false);
57
+ if (!intentionalCloseRef.current) {
58
+ reconnectTimerRef.current = window.setTimeout(connect, reconnectDelay);
59
+ }
60
+ };
61
+ ws.onerror = () => { };
62
+ ws.onmessage = (event) => {
63
+ try {
64
+ const message = JSON.parse(event.data);
65
+ if (message.type === 'event') {
66
+ const payload = message.payload;
67
+ const eventName = payload.eventName || payload.event;
68
+ if (!eventName || eventName === 'connected')
69
+ return;
70
+ addEvent({
71
+ eventName,
72
+ data: payload.data || payload.payload,
73
+ timestamp: new Date(),
74
+ });
75
+ }
76
+ // On connected message, subscribe to all events
77
+ if (message.type === 'event' && (message.payload?.event === 'connected' || message.payload?.eventName === 'connected')) {
78
+ const runtime = message.payload?.runtime;
79
+ if (runtime?.models) {
80
+ for (const model of runtime.models) {
81
+ for (const suffix of ['Created', 'Updated', 'Deleted', 'Evolved']) {
82
+ ws.send(JSON.stringify({ type: 'subscribe', payload: { eventName: `${model}${suffix}` } }));
83
+ }
84
+ }
85
+ }
86
+ if (runtime?.events) {
87
+ for (const evt of runtime.events) {
88
+ ws.send(JSON.stringify({ type: 'subscribe', payload: { eventName: evt } }));
89
+ }
90
+ }
91
+ }
92
+ }
93
+ catch { }
94
+ };
95
+ wsRef.current = ws;
96
+ }, [wsUrl, reconnectDelay, addEvent]);
97
+ const disconnect = useCallback(() => {
98
+ intentionalCloseRef.current = true;
99
+ if (reconnectTimerRef.current)
100
+ clearTimeout(reconnectTimerRef.current);
101
+ if (wsRef.current)
102
+ wsRef.current.close();
103
+ wsRef.current = null;
104
+ setIsConnected(false);
105
+ }, []);
106
+ const clearEvents = useCallback(() => setEvents([]), []);
107
+ useEffect(() => {
108
+ if (autoConnect)
109
+ connect();
110
+ return () => disconnect();
111
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
112
+ return { events, isConnected, connect, disconnect, clearEvents };
113
+ }
114
+ //# sourceMappingURL=useEventStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventStream.js","sourceRoot":"","sources":["../../../../../src/runtime/views/react/hooks/useEventStream.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useResizableSidebar.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/views/react/hooks/useResizableSidebar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B;;;;EAiCxE"}
1
+ {"version":3,"file":"useResizableSidebar.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/views/react/hooks/useResizableSidebar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B;;;;EAmCxE"}
@@ -23,8 +23,10 @@ export function useResizableSidebar(options = {}) {
23
23
  const handleMouseUp = () => {
24
24
  setIsResizing(false);
25
25
  document.body.style.cursor = '';
26
+ document.body.style.userSelect = '';
26
27
  };
27
28
  document.body.style.cursor = 'col-resize';
29
+ document.body.style.userSelect = 'none';
28
30
  document.addEventListener('mousemove', handleMouseMove);
29
31
  document.addEventListener('mouseup', handleMouseUp);
30
32
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useResizableSidebar.js","sourceRoot":"","sources":["../../../../../src/runtime/views/react/hooks/useResizableSidebar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAQzD,MAAM,UAAU,mBAAmB,CAAC,UAAmC,EAAE;IACvE,MAAM,EAAE,YAAY,GAAG,GAAG,EAAE,QAAQ,GAAG,GAAG,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,eAAe,GAAG,CAAC,CAAa,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAClC,CAAC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;QAC1C,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEpD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"useResizableSidebar.js","sourceRoot":"","sources":["../../../../../src/runtime/views/react/hooks/useResizableSidebar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAQzD,MAAM,UAAU,mBAAmB,CAAC,UAAmC,EAAE;IACvE,MAAM,EAAE,YAAY,GAAG,GAAG,EAAE,QAAQ,GAAG,GAAG,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,eAAe,GAAG,CAAC,CAAa,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QACtC,CAAC,CAAC;QAEF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QACxC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEpD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAC9C,CAAC"}
@@ -8,13 +8,22 @@
8
8
  export { RuntimeViewProvider, useRuntimeContext, } from './context.js';
9
9
  export { useTheme } from './hooks/useTheme.js';
10
10
  export { useResizableSidebar } from './hooks/useResizableSidebar.js';
11
- export { useEntityHelpers } from './hooks/useEntityHelpers.js';
11
+ export { useEntityHelpers, useFieldSeparation, useRelationshipResolver, METADATA_FIELDS } from './hooks/useEntityHelpers.js';
12
+ export { useEventStream, type StreamEvent } from './hooks/useEventStream.js';
13
+ export { ReactPatternAdapter, usePatternAdapter, REACT_PROTOCOL_MAPPING, type ReactPatternAdapterConfig, type PatternRenderContext, } from './react-pattern-adapter.js';
12
14
  export { RuntimeView } from './components/RuntimeView.js';
15
+ export { FormView } from './components/FormView.js';
13
16
  export { DevShell } from './components/DevShell.js';
14
17
  export { ViewRouter } from './components/ViewRouter.js';
15
18
  export { ViewSidebar } from './components/ViewSidebar.js';
16
19
  export { ModelSelector } from './components/ModelSelector.js';
17
20
  export { ModelManager } from './components/ModelManager.js';
18
21
  export { RelationshipField } from './components/RelationshipField.js';
22
+ export { FieldInput } from './components/FieldInput.js';
23
+ export { EntitySelect } from './components/EntitySelect.js';
24
+ export { OperationView } from './components/OperationView.js';
25
+ export { OperationExecutor } from './components/OperationExecutor.js';
26
+ export { OperationResultView } from './components/OperationResultView.js';
27
+ export { EventStream } from './components/EventStream.js';
19
28
  export { ResizeHandle } from './components/ui/ResizeHandle.js';
20
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/views/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/views/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7H,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7E,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC"}
@@ -10,14 +10,24 @@ export { RuntimeViewProvider, useRuntimeContext, } from './context.js';
10
10
  // Hooks
11
11
  export { useTheme } from './hooks/useTheme.js';
12
12
  export { useResizableSidebar } from './hooks/useResizableSidebar.js';
13
- export { useEntityHelpers } from './hooks/useEntityHelpers.js';
13
+ export { useEntityHelpers, useFieldSeparation, useRelationshipResolver, METADATA_FIELDS } from './hooks/useEntityHelpers.js';
14
+ export { useEventStream } from './hooks/useEventStream.js';
15
+ // Pattern adapter
16
+ export { ReactPatternAdapter, usePatternAdapter, REACT_PROTOCOL_MAPPING, } from './react-pattern-adapter.js';
14
17
  // Components
15
18
  export { RuntimeView } from './components/RuntimeView.js';
19
+ export { FormView } from './components/FormView.js';
16
20
  export { DevShell } from './components/DevShell.js';
17
21
  export { ViewRouter } from './components/ViewRouter.js';
18
22
  export { ViewSidebar } from './components/ViewSidebar.js';
19
23
  export { ModelSelector } from './components/ModelSelector.js';
20
24
  export { ModelManager } from './components/ModelManager.js';
21
25
  export { RelationshipField } from './components/RelationshipField.js';
26
+ export { FieldInput } from './components/FieldInput.js';
27
+ export { EntitySelect } from './components/EntitySelect.js';
28
+ export { OperationView } from './components/OperationView.js';
29
+ export { OperationExecutor } from './components/OperationExecutor.js';
30
+ export { OperationResultView } from './components/OperationResultView.js';
31
+ export { EventStream } from './components/EventStream.js';
22
32
  export { ResizeHandle } from './components/ui/ResizeHandle.js';
23
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/views/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wEAAwE;AACxE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/views/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wEAAwE;AACxE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7H,OAAO,EAAE,cAAc,EAAoB,MAAM,2BAA2B,CAAC;AAE7E,kBAAkB;AAClB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,4BAA4B,CAAC;AAEpC,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,235 @@
1
+ /**
2
+ * React Pattern Adapter
3
+ *
4
+ * Maps tech-independent composite view patterns from @specverse/lang
5
+ * to React-specific implementations with hooks and Tailwind styling.
6
+ *
7
+ * This adapter implements the unified view architecture by:
8
+ * 1. Using COMPOSITE_VIEW_PATTERNS as the single source of truth
9
+ * 2. Mapping semantic CURVED operations to React hooks/API calls
10
+ * 3. Rendering using ATOMIC_COMPONENTS_REGISTRY via Tailwind
11
+ *
12
+ * Stage 2: React Adapter Refactor
13
+ */
14
+ import { COMPOSITE_VIEW_PATTERNS, ATOMIC_COMPONENTS_REGISTRY, type CompositeViewPattern, type CURVEDOperation } from '../core/index.js';
15
+ import { createUniversalTailwindAdapter } from '../tailwind/universal-adapter.js';
16
+ /**
17
+ * React-specific protocol mapping for CURVED operations
18
+ *
19
+ * Maps semantic operations to HTTP methods and endpoints.
20
+ * This is what lives in instance factories for code generation,
21
+ * but for runtime we need it here.
22
+ */
23
+ export declare const REACT_PROTOCOL_MAPPING: Record<CURVEDOperation, {
24
+ method: string;
25
+ pathPattern: string;
26
+ }>;
27
+ /**
28
+ * React Pattern Adapter Configuration
29
+ */
30
+ export interface ReactPatternAdapterConfig {
31
+ apiBaseUrl?: string;
32
+ protocolMapping?: Partial<typeof REACT_PROTOCOL_MAPPING>;
33
+ tailwindAdapter?: ReturnType<typeof createUniversalTailwindAdapter>;
34
+ }
35
+ /**
36
+ * Pattern rendering context with React-specific data
37
+ */
38
+ export interface PatternRenderContext {
39
+ pattern: CompositeViewPattern;
40
+ viewSpec: any;
41
+ modelData: Record<string, any[]>;
42
+ modelSchemas?: Record<string, any>;
43
+ primaryModel?: string;
44
+ selectedEntity?: any;
45
+ primaryEntities?: any[];
46
+ protocolMapping: typeof REACT_PROTOCOL_MAPPING;
47
+ tailwindAdapter: ReturnType<typeof createUniversalTailwindAdapter>;
48
+ }
49
+ /**
50
+ * React Pattern Adapter
51
+ *
52
+ * Provides React-specific rendering of tech-independent composite patterns.
53
+ */
54
+ export declare class ReactPatternAdapter {
55
+ private tailwindAdapter;
56
+ constructor(config?: ReactPatternAdapterConfig);
57
+ /**
58
+ * Detect pattern type from view spec
59
+ */
60
+ detectPattern(viewSpec: any): CompositeViewPattern | null;
61
+ /**
62
+ * Render a pattern to HTML
63
+ */
64
+ renderPattern(context: PatternRenderContext, options?: {
65
+ enableListNavigation?: boolean;
66
+ enableRelatedNavigation?: boolean;
67
+ }): string;
68
+ /**
69
+ * Render FormView pattern
70
+ */
71
+ private renderFormView;
72
+ /**
73
+ * Render ListView pattern
74
+ */
75
+ private renderListView;
76
+ /**
77
+ * Render DetailView pattern
78
+ */
79
+ private renderDetailView;
80
+ /**
81
+ * Render multiple list components in a tabbed interface
82
+ */
83
+ private renderTabbedLists;
84
+ /**
85
+ * Render DashboardView pattern
86
+ */
87
+ private renderDashboardView;
88
+ /**
89
+ * Render generic data display (fallback)
90
+ */
91
+ private renderGenericDataDisplay;
92
+ /**
93
+ * Render fallback for unknown patterns
94
+ */
95
+ private renderFallback;
96
+ /**
97
+ * Helper: Render form component
98
+ *
99
+ * Generates a complete form with:
100
+ * - Inferred field types from model data (text, number, boolean)
101
+ * - Proper input types and validation
102
+ * - Required field indicators
103
+ * - Submit and reset buttons
104
+ * - Professional styling matching admin-demo
105
+ */
106
+ private renderFormComponent;
107
+ /**
108
+ * Helper: Infer relationship fields from model schema or data
109
+ *
110
+ * Reads relationship definitions from the model schema (like original FormView).
111
+ * Falls back to inferring from foreign keys in data if no schema available.
112
+ *
113
+ * Strategy:
114
+ * 1. Read from schema.relationships (preferred - matches original FormView)
115
+ * 2. If entities exist, scan their fields for foreign keys
116
+ * 3. If no entities, look at available models and infer common relationships
117
+ */
118
+ private inferRelationshipFields;
119
+ /**
120
+ * Helper: Humanize field name
121
+ * Converts camelCase/snake_case to readable labels
122
+ */
123
+ private humanizeFieldName;
124
+ /**
125
+ * Helper: Infer field types from model schema or data
126
+ * Prefers schema definitions, falls back to examining actual data
127
+ */
128
+ private inferFieldTypes;
129
+ /**
130
+ * Helper: Infer field names from model schema
131
+ * Reads schema.attributes to get field definitions
132
+ * Includes belongsTo relationships for display
133
+ */
134
+ private inferFieldsFromSchema;
135
+ /**
136
+ * Helper: Check if field is auto-generated (shouldn't show in forms)
137
+ */
138
+ private isAutoGeneratedField;
139
+ /**
140
+ * Helper: Get smart display name for an entity
141
+ *
142
+ * Wrapper around shared getEntityDisplayName utility.
143
+ * Maintained for backward compatibility with excludeRelationship parameter.
144
+ */
145
+ private getSmartDisplayName;
146
+ /**
147
+ * Helper: Resolve relationship value for display
148
+ *
149
+ * If fieldName is a belongsTo relationship, looks up the related entity
150
+ * and returns its display name. Otherwise returns the raw value.
151
+ */
152
+ private resolveFieldValue;
153
+ /**
154
+ * Helper: Get navigation info for a relationship field
155
+ *
156
+ * Returns navigation attributes if the field is a belongsTo relationship,
157
+ * null otherwise. Used to make relationship values clickable.
158
+ */
159
+ private getRelationshipNavInfo;
160
+ /**
161
+ * Helper: Render table component
162
+ *
163
+ * Generates a data table with:
164
+ * - Column headers with proper formatting
165
+ * - Data type-aware value rendering (objects, booleans, etc.)
166
+ * - Relationship field resolution (shows related entity names)
167
+ * - Empty state handling
168
+ * - Hover effects and professional styling
169
+ * - Responsive scrolling
170
+ */
171
+ private renderTableComponent;
172
+ /**
173
+ * Helper: Render list component
174
+ *
175
+ * Generates a list view with:
176
+ * - Flexible field display (comma-separated or multi-line)
177
+ * - Data type-aware rendering
178
+ * - Relationship field resolution (shows related entity names)
179
+ * - Empty state handling
180
+ * - Professional card-based styling
181
+ */
182
+ private renderListComponent;
183
+ /**
184
+ * Helper: Render content component (for detail views)
185
+ *
186
+ * Displays specific fields from an entity with rich formatting.
187
+ * Resolves relationship fields to show related entity names.
188
+ * This matches the original DetailView's "content" component behavior.
189
+ */
190
+ private renderContentComponent;
191
+ /**
192
+ * Helper: Render list component in detail view (for related entities)
193
+ *
194
+ * Shows related entities in a table format.
195
+ * This matches the original DetailView's "list" component behavior.
196
+ */
197
+ private renderDetailListComponent;
198
+ /**
199
+ * Helper: Render card component
200
+ *
201
+ * Displays entity fields with sophisticated formatting:
202
+ * - Objects: Formatted JSON in code block
203
+ * - Booleans: Yes/No badges
204
+ * - Other values: Plain text
205
+ */
206
+ private renderCardComponent;
207
+ /**
208
+ * Helper: Render metric card
209
+ */
210
+ private renderMetricCard;
211
+ /**
212
+ * Helper: Render atomic component
213
+ */
214
+ private renderAtomicComponent;
215
+ /**
216
+ * Helper: Infer field names from model data
217
+ *
218
+ * Extracts field names from the first entity in modelData for the given model.
219
+ * Filters out system fields like id, createdAt, updatedAt, and foreign key fields.
220
+ *
221
+ * @param modelData - Map of model names to entity arrays
222
+ * @param modelName - Name of the model to extract fields from
223
+ * @returns Array of field names suitable for display
224
+ */
225
+ private inferFieldsFromModel;
226
+ }
227
+ /**
228
+ * Hook: Use pattern adapter
229
+ */
230
+ export declare function usePatternAdapter(config?: ReactPatternAdapterConfig): ReactPatternAdapter;
231
+ /**
232
+ * Export pattern registry for external use
233
+ */
234
+ export { COMPOSITE_VIEW_PATTERNS, ATOMIC_COMPONENTS_REGISTRY };
235
+ //# sourceMappingURL=react-pattern-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-pattern-adapter.d.ts","sourceRoot":"","sources":["../../../../src/runtime/views/react/react-pattern-adapter.tsx"],"names":[],"mappings":"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"}