@syntrologie/runtime-sdk 1.0.1 → 2.0.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.
- package/CAPABILITIES.md +630 -463
- package/README.md +285 -62
- package/dist/RuntimeProvider.d.ts +51 -0
- package/dist/RuntimeProvider.js +114 -0
- package/dist/RuntimeProvider.js.map +1 -0
- package/dist/SmartCanvasApp.d.ts +9 -3
- package/dist/SmartCanvasApp.js +36 -38
- package/dist/SmartCanvasApp.js.map +1 -1
- package/dist/actions/ActionEngine.d.ts +11 -0
- package/dist/actions/ActionEngine.js +274 -0
- package/dist/actions/ActionEngine.js.map +1 -0
- package/dist/actions/executors/index.d.ts +117 -0
- package/dist/actions/executors/index.js +242 -0
- package/dist/actions/executors/index.js.map +1 -0
- package/dist/actions/executors/tour.d.ts +18 -0
- package/dist/actions/executors/tour.js +332 -0
- package/dist/actions/executors/tour.js.map +1 -0
- package/dist/actions/index.d.ts +10 -0
- package/dist/actions/index.js +12 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/actions/types.d.ts +399 -0
- package/dist/actions/types.js +8 -0
- package/dist/actions/types.js.map +1 -0
- package/dist/actions/validation.d.ts +14 -0
- package/dist/actions/validation.js +603 -0
- package/dist/actions/validation.js.map +1 -0
- package/dist/api.d.ts +32 -18
- package/dist/api.js +56 -39
- package/dist/api.js.map +1 -1
- package/dist/apps/AppContext.d.ts +31 -0
- package/dist/apps/AppContext.js +93 -0
- package/dist/apps/AppContext.js.map +1 -0
- package/dist/apps/AppLoader.d.ts +84 -0
- package/dist/apps/AppLoader.js +256 -0
- package/dist/apps/AppLoader.js.map +1 -0
- package/dist/apps/AppRegistry.d.ts +102 -0
- package/dist/apps/AppRegistry.js +317 -0
- package/dist/apps/AppRegistry.js.map +1 -0
- package/dist/apps/examples/gamification-app.example.d.ts +305 -0
- package/dist/apps/examples/gamification-app.example.js +329 -0
- package/dist/apps/examples/gamification-app.example.js.map +1 -0
- package/dist/apps/faq/index.js +11 -0
- package/dist/apps/faq/index.js.map +7 -0
- package/dist/apps/gamification/index.js +2 -0
- package/dist/apps/gamification/index.js.map +7 -0
- package/dist/apps/index.d.ts +15 -0
- package/dist/apps/index.js +17 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/apps/nav/index.js +11 -0
- package/dist/apps/nav/index.js.map +7 -0
- package/dist/apps/types.d.ts +231 -0
- package/dist/apps/types.js +8 -0
- package/dist/apps/types.js.map +1 -0
- package/dist/bootstrap.d.ts +24 -0
- package/dist/bootstrap.js +133 -33
- package/dist/bootstrap.js.map +1 -1
- package/dist/components/ShadowCanvasOverlay.js +36 -9
- package/dist/components/ShadowCanvasOverlay.js.map +1 -1
- package/dist/components/TileCard.js +37 -18
- package/dist/components/TileCard.js.map +1 -1
- package/dist/context/schema.d.ts +16 -16
- package/dist/decisions/schema.d.ts +96 -96
- package/dist/earlyPatcher.d.ts +8 -20
- package/dist/earlyPatcher.js +13 -62
- package/dist/earlyPatcher.js.map +1 -1
- package/dist/editorLoader.d.ts +2 -0
- package/dist/editorLoader.js +52 -7
- package/dist/editorLoader.js.map +1 -1
- package/dist/events/normalizers/posthog.d.ts +24 -0
- package/dist/events/normalizers/posthog.js.map +1 -1
- package/dist/events/schema.d.ts +8 -8
- package/dist/events/types.d.ts +6 -0
- package/dist/events/types.js +8 -0
- package/dist/events/types.js.map +1 -1
- package/dist/hooks/useCanvasOverlays.d.ts +4 -1
- package/dist/hooks/useCanvasOverlays.js +53 -6
- package/dist/hooks/useCanvasOverlays.js.map +1 -1
- package/dist/hooks/useShadowCanvasConfig.d.ts +3 -7
- package/dist/hooks/useShadowCanvasConfig.js +2 -3
- package/dist/hooks/useShadowCanvasConfig.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/overlays/schema.d.ts +153 -153
- package/dist/runtime.d.ts +24 -0
- package/dist/runtime.js +75 -1
- package/dist/runtime.js.map +1 -1
- package/dist/smart-canvas.esm.js +155 -78
- package/dist/smart-canvas.esm.js.map +4 -4
- package/dist/smart-canvas.js +41155 -35362
- package/dist/smart-canvas.js.map +4 -4
- package/dist/smart-canvas.min.js +155 -78
- package/dist/smart-canvas.min.js.map +4 -4
- package/dist/store/example.d.ts +1 -0
- package/dist/store/example.js +43 -0
- package/dist/store/example.js.map +1 -0
- package/dist/store/mini-effector.d.ts +46 -0
- package/dist/store/mini-effector.js +90 -0
- package/dist/store/mini-effector.js.map +1 -0
- package/dist/surfaces/Surfaces.d.ts +11 -0
- package/dist/surfaces/Surfaces.js +361 -0
- package/dist/surfaces/Surfaces.js.map +1 -0
- package/dist/surfaces/index.d.ts +9 -0
- package/dist/surfaces/index.js +12 -0
- package/dist/surfaces/index.js.map +1 -0
- package/dist/surfaces/positioning.d.ts +50 -0
- package/dist/surfaces/positioning.js +231 -0
- package/dist/surfaces/positioning.js.map +1 -0
- package/dist/surfaces/types.d.ts +167 -0
- package/dist/surfaces/types.js +23 -0
- package/dist/surfaces/types.js.map +1 -0
- package/dist/telemetry/adapters/posthog.d.ts +6 -0
- package/dist/telemetry/adapters/posthog.js +9 -0
- package/dist/telemetry/adapters/posthog.js.map +1 -1
- package/dist/types-only.d.ts +32 -0
- package/dist/types-only.js +11 -0
- package/dist/types-only.js.map +1 -0
- package/dist/types.d.ts +26 -14
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/widgets/WidgetRegistry.d.ts +139 -0
- package/dist/widgets/WidgetRegistry.js +182 -0
- package/dist/widgets/WidgetRegistry.js.map +1 -0
- package/dist/widgets/index.d.ts +7 -0
- package/dist/widgets/index.js +7 -0
- package/dist/widgets/index.js.map +1 -0
- package/package.json +14 -7
- package/schema/canvas-config.schema.json +444 -254
package/dist/runtime.d.ts
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* - context: Page/session/viewport state
|
|
7
7
|
* - events: Normalized event stream
|
|
8
8
|
* - state: Persistent state storage
|
|
9
|
+
* - actions: ActionEngine for interventions
|
|
10
|
+
* - surfaces: Surfaces for UI rendering
|
|
9
11
|
*
|
|
10
12
|
* Note: ExperimentClient (GrowthBook) is NOT part of the runtime.
|
|
11
13
|
* GrowthBook's job is done at page load when it selects which config to deliver.
|
|
@@ -18,6 +20,10 @@ import { StateStore } from "./state/StateStore";
|
|
|
18
20
|
import type { DecisionStrategy, DecisionResult } from "./decisions/types";
|
|
19
21
|
import type { SessionMetricTracker } from "./metrics/sessionMetrics";
|
|
20
22
|
import type { RoutesConfig, TileConfig } from "./types";
|
|
23
|
+
import { type ActionEngine, ExecutorRegistry } from "./actions";
|
|
24
|
+
import { type Surfaces } from "./surfaces";
|
|
25
|
+
import { WidgetRegistry } from "./widgets";
|
|
26
|
+
import { AppRegistry } from "./apps";
|
|
21
27
|
/**
|
|
22
28
|
* Runtime version.
|
|
23
29
|
*/
|
|
@@ -40,6 +46,16 @@ export interface SmartCanvasRuntime {
|
|
|
40
46
|
state: StateStore;
|
|
41
47
|
/** Session metric tracker (optional) */
|
|
42
48
|
sessionMetrics?: SessionMetricTracker;
|
|
49
|
+
/** ActionEngine for applying interventions */
|
|
50
|
+
actions: ActionEngine;
|
|
51
|
+
/** Surfaces for rendering UI into named slots */
|
|
52
|
+
surfaces: Surfaces;
|
|
53
|
+
/** Widget registry for mountable components */
|
|
54
|
+
widgets: WidgetRegistry;
|
|
55
|
+
/** Executor registry for action executors */
|
|
56
|
+
executors: ExecutorRegistry;
|
|
57
|
+
/** App registry for SynOS apps */
|
|
58
|
+
apps: AppRegistry;
|
|
43
59
|
/** Runtime version */
|
|
44
60
|
version: string;
|
|
45
61
|
/** Runtime mode */
|
|
@@ -79,6 +95,14 @@ export interface SmartCanvasRuntimeOptions {
|
|
|
79
95
|
mode?: RuntimeMode;
|
|
80
96
|
/** State namespace */
|
|
81
97
|
namespace?: string;
|
|
98
|
+
/** External EventBus (if not provided, one will be created) */
|
|
99
|
+
events?: EventBus;
|
|
100
|
+
/** Custom widget registry (if not provided, default singleton is used) */
|
|
101
|
+
widgets?: WidgetRegistry;
|
|
102
|
+
/** Custom executor registry (if not provided, default singleton is used) */
|
|
103
|
+
executors?: ExecutorRegistry;
|
|
104
|
+
/** Custom app registry (if not provided, default singleton is used) */
|
|
105
|
+
apps?: AppRegistry;
|
|
82
106
|
}
|
|
83
107
|
/**
|
|
84
108
|
* Create a SmartCanvasRuntime instance.
|
package/dist/runtime.js
CHANGED
|
@@ -2,6 +2,11 @@ import { createContextManager } from "./context/ContextManager";
|
|
|
2
2
|
import { createEventBus } from "./events/EventBus";
|
|
3
3
|
import { createStateStore } from "./state/StateStore";
|
|
4
4
|
import { createDecisionEngine } from "./decisions/engine";
|
|
5
|
+
import { createActionEngine, executorRegistry } from "./actions";
|
|
6
|
+
import { createSurfaces } from "./surfaces";
|
|
7
|
+
import { ensureOverlayRoot } from "./overlays/runtime/overlay/root";
|
|
8
|
+
import { widgetRegistry as defaultWidgetRegistry } from "./widgets";
|
|
9
|
+
import { appRegistry as defaultAppRegistry } from "./apps";
|
|
5
10
|
/**
|
|
6
11
|
* Runtime version.
|
|
7
12
|
*/
|
|
@@ -59,17 +64,54 @@ function matchRoutePattern(pathname, pattern) {
|
|
|
59
64
|
const regex = new RegExp(`^${regexPattern}$`);
|
|
60
65
|
return regex.test(pathname);
|
|
61
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Resolve an anchor ID to an element.
|
|
69
|
+
* Supports CSS selectors, data attributes, and direct IDs.
|
|
70
|
+
*/
|
|
71
|
+
function resolveAnchorById(anchorId, ctx) {
|
|
72
|
+
// First check if it's a data attribute selector
|
|
73
|
+
if (anchorId.startsWith("[data-")) {
|
|
74
|
+
return document.querySelector(anchorId);
|
|
75
|
+
}
|
|
76
|
+
// Check anchors tracked in context
|
|
77
|
+
const runtimeContext = ctx.get();
|
|
78
|
+
if (runtimeContext.anchors) {
|
|
79
|
+
const anchorState = runtimeContext.anchors.find((a) => a.anchorId === anchorId);
|
|
80
|
+
if (anchorState === null || anchorState === void 0 ? void 0 : anchorState.present) {
|
|
81
|
+
// Try to find element by data attribute first
|
|
82
|
+
const el = document.querySelector(`[data-syntro-anchor="${anchorId}"]`);
|
|
83
|
+
if (el)
|
|
84
|
+
return el;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Try as CSS selector (must start with . or # or [)
|
|
88
|
+
if (anchorId.startsWith(".") || anchorId.startsWith("#") || anchorId.startsWith("[")) {
|
|
89
|
+
return document.querySelector(anchorId);
|
|
90
|
+
}
|
|
91
|
+
// Try as ID
|
|
92
|
+
const byId = document.getElementById(anchorId);
|
|
93
|
+
if (byId)
|
|
94
|
+
return byId;
|
|
95
|
+
// Try as data attribute
|
|
96
|
+
return document.querySelector(`[data-syntro-anchor="${anchorId}"]`);
|
|
97
|
+
}
|
|
62
98
|
/**
|
|
63
99
|
* Create a SmartCanvasRuntime instance.
|
|
64
100
|
*/
|
|
65
101
|
export function createSmartCanvasRuntime(options = {}) {
|
|
102
|
+
var _a, _b, _c, _d;
|
|
66
103
|
const { telemetry, sessionMetrics, routes, mode = "production", namespace } = options;
|
|
104
|
+
// Use provided registries or defaults
|
|
105
|
+
const widgets = (_a = options.widgets) !== null && _a !== void 0 ? _a : defaultWidgetRegistry;
|
|
106
|
+
const executors = (_b = options.executors) !== null && _b !== void 0 ? _b : executorRegistry;
|
|
107
|
+
const apps = (_c = options.apps) !== null && _c !== void 0 ? _c : defaultAppRegistry;
|
|
67
108
|
// Create core providers
|
|
68
109
|
const context = createContextManager({
|
|
69
110
|
telemetry,
|
|
70
111
|
routes,
|
|
71
112
|
});
|
|
72
|
-
|
|
113
|
+
// Use external EventBus if provided, otherwise create one
|
|
114
|
+
const events = (_d = options.events) !== null && _d !== void 0 ? _d : createEventBus();
|
|
73
115
|
const state = createStateStore({
|
|
74
116
|
namespace,
|
|
75
117
|
});
|
|
@@ -79,12 +121,36 @@ export function createSmartCanvasRuntime(options = {}) {
|
|
|
79
121
|
events,
|
|
80
122
|
sessionMetrics,
|
|
81
123
|
});
|
|
124
|
+
// Create overlay root for Surfaces and ActionEngine
|
|
125
|
+
const overlayRoot = ensureOverlayRoot();
|
|
126
|
+
// Anchor resolver bound to context
|
|
127
|
+
const anchorResolver = (anchorId) => resolveAnchorById(anchorId, context);
|
|
128
|
+
// Create Surfaces provider with widget registry
|
|
129
|
+
const surfaces = createSurfaces({
|
|
130
|
+
overlayRoot,
|
|
131
|
+
eventBus: events,
|
|
132
|
+
anchorResolver,
|
|
133
|
+
widgetRegistry: widgets,
|
|
134
|
+
});
|
|
135
|
+
// Create ActionEngine provider with executor registry
|
|
136
|
+
const actions = createActionEngine({
|
|
137
|
+
overlayRoot,
|
|
138
|
+
eventBus: events,
|
|
139
|
+
surfaces,
|
|
140
|
+
anchorResolver,
|
|
141
|
+
executorRegistry: executors,
|
|
142
|
+
});
|
|
82
143
|
const runtime = {
|
|
83
144
|
telemetry,
|
|
84
145
|
context,
|
|
85
146
|
events,
|
|
86
147
|
state,
|
|
87
148
|
sessionMetrics,
|
|
149
|
+
actions,
|
|
150
|
+
surfaces,
|
|
151
|
+
widgets,
|
|
152
|
+
executors,
|
|
153
|
+
apps,
|
|
88
154
|
version: RUNTIME_VERSION,
|
|
89
155
|
mode,
|
|
90
156
|
async evaluate(strategy) {
|
|
@@ -124,9 +190,17 @@ export function createSmartCanvasRuntime(options = {}) {
|
|
|
124
190
|
context.setRoutes(routes);
|
|
125
191
|
},
|
|
126
192
|
destroy() {
|
|
193
|
+
// Unbind and clean up apps registry
|
|
194
|
+
apps.unbind().catch((err) => {
|
|
195
|
+
console.error("[Runtime] Error unbinding apps registry:", err);
|
|
196
|
+
});
|
|
127
197
|
context.destroy();
|
|
198
|
+
actions.destroy();
|
|
199
|
+
surfaces.destroy();
|
|
128
200
|
},
|
|
129
201
|
};
|
|
202
|
+
// Bind apps registry to runtime
|
|
203
|
+
apps.bind(runtime);
|
|
130
204
|
return runtime;
|
|
131
205
|
}
|
|
132
206
|
//# sourceMappingURL=runtime.js.map
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|