@syntrologie/runtime-sdk 1.0.1-canary.3 → 2.0.0-canary.1
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 +118 -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 +250 -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/index.d.ts +18 -0
- package/dist/apps/index.js +26 -0
- package/dist/apps/index.js.map +1 -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 +46 -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 +162 -55
- package/dist/smart-canvas.esm.js.map +4 -4
- package/dist/smart-canvas.js +21133 -17957
- package/dist/smart-canvas.js.map +4 -4
- package/dist/smart-canvas.min.js +162 -55
- 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 +13 -3
- package/schema/canvas-config.schema.json +444 -254
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apps Module
|
|
3
|
+
*
|
|
4
|
+
* SynOS app system for extensible runtime and editor modules.
|
|
5
|
+
*/
|
|
6
|
+
export { AppRegistry, appRegistry } from "./AppRegistry";
|
|
7
|
+
export type { AppRegistryEventCallback } from "./AppRegistry";
|
|
8
|
+
export { createAppContext, cleanupAppContext } from "./AppContext";
|
|
9
|
+
export type { CreateAppContextOptions } from "./AppContext";
|
|
10
|
+
export { createAppLoader, isCoreActionKind, getAppIdFromActionKind, getAppIdFromWidgetId, } from "./AppLoader";
|
|
11
|
+
export type { AppLoader, AppLoaderOptions, AppLoadResult, CanvasConfigForLoader, } from "./AppLoader";
|
|
12
|
+
export { runtime as contentRuntime } from "@syntrologie/app-content/runtime";
|
|
13
|
+
export { runtime as overlaysRuntime } from "@syntrologie/app-overlays/runtime";
|
|
14
|
+
export { runtime as navigationRuntime } from "@syntrologie/app-navigation/runtime";
|
|
15
|
+
export { runtime as gamificationRuntime } from "@syntrologie/app-gamification/runtime";
|
|
16
|
+
export { runtime as navRuntime } from "@syntrologie/app-nav/runtime";
|
|
17
|
+
export { runtime as faqRuntime } from "@syntrologie/app-faq/runtime";
|
|
18
|
+
export type { AppManifest, AppRegistration, AppLifecycleState, AppContext, AppRuntimeExtensions, AppActionDefinition, AppWidgetDefinition, AppEventHandler, AppEventContext, EditorPanelProps, EditorPanelConfig, AppEditorModule, AppRegistryEvent, } from "./types";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apps Module
|
|
3
|
+
*
|
|
4
|
+
* SynOS app system for extensible runtime and editor modules.
|
|
5
|
+
*/
|
|
6
|
+
// App Registry
|
|
7
|
+
export { AppRegistry, appRegistry } from "./AppRegistry";
|
|
8
|
+
// App Context
|
|
9
|
+
export { createAppContext, cleanupAppContext } from "./AppContext";
|
|
10
|
+
// App Loader
|
|
11
|
+
export { createAppLoader, isCoreActionKind, getAppIdFromActionKind, getAppIdFromWidgetId, } from "./AppLoader";
|
|
12
|
+
// Core app runtime modules (executors bundled with runtime)
|
|
13
|
+
// Schemas and editors should be imported from individual packages:
|
|
14
|
+
// - @syntrologie/app-content/schema
|
|
15
|
+
// - @syntrologie/app-overlays/schema
|
|
16
|
+
// - @syntrologie/app-gamification/schema
|
|
17
|
+
// - @syntrologie/app-navigation/schema
|
|
18
|
+
// - @syntrologie/app-nav/schema
|
|
19
|
+
// - @syntrologie/app-faq/schema
|
|
20
|
+
export { runtime as contentRuntime } from "@syntrologie/app-content/runtime";
|
|
21
|
+
export { runtime as overlaysRuntime } from "@syntrologie/app-overlays/runtime";
|
|
22
|
+
export { runtime as navigationRuntime } from "@syntrologie/app-navigation/runtime";
|
|
23
|
+
export { runtime as gamificationRuntime } from "@syntrologie/app-gamification/runtime";
|
|
24
|
+
export { runtime as navRuntime } from "@syntrologie/app-nav/runtime";
|
|
25
|
+
export { runtime as faqRuntime } from "@syntrologie/app-faq/runtime";
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apps/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGzD,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGnE,aAAa;AACb,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAQrB,4DAA4D;AAC5D,mEAAmE;AACnE,oCAAoC;AACpC,qCAAqC;AACrC,yCAAyC;AACzC,uCAAuC;AACvC,gCAAgC;AAChC,gCAAgC;AAChC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* App Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the types for the SynOS app system.
|
|
5
|
+
* Apps provide runtime extensions (actions, widgets, events) and editor modules.
|
|
6
|
+
*/
|
|
7
|
+
import type { ZodSchema } from "zod";
|
|
8
|
+
import type { ActionExecutor } from "../actions/types";
|
|
9
|
+
import type { MountableWidget } from "../widgets/WidgetRegistry";
|
|
10
|
+
import type { NormalizedEvent } from "../events/types";
|
|
11
|
+
/**
|
|
12
|
+
* Action definition provided by an app.
|
|
13
|
+
*/
|
|
14
|
+
export interface AppActionDefinition {
|
|
15
|
+
/** Action kind (e.g., "gamification:awardBadge") */
|
|
16
|
+
kind: string;
|
|
17
|
+
/** Zod schema for validation */
|
|
18
|
+
schema?: ZodSchema;
|
|
19
|
+
/** Executor function */
|
|
20
|
+
executor: ActionExecutor<any>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Widget definition provided by an app.
|
|
24
|
+
*/
|
|
25
|
+
export interface AppWidgetDefinition {
|
|
26
|
+
/** Widget ID (e.g., "gamification:leaderboard") */
|
|
27
|
+
id: string;
|
|
28
|
+
/** The widget component */
|
|
29
|
+
component: MountableWidget;
|
|
30
|
+
/** Optional metadata */
|
|
31
|
+
metadata?: {
|
|
32
|
+
name?: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
icon?: string;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Context passed to app event handlers.
|
|
39
|
+
*/
|
|
40
|
+
export interface AppEventContext {
|
|
41
|
+
/** The app ID */
|
|
42
|
+
appId: string;
|
|
43
|
+
/** Access to state store */
|
|
44
|
+
state: {
|
|
45
|
+
get: (key: string) => unknown;
|
|
46
|
+
set: (key: string, value: unknown) => void;
|
|
47
|
+
};
|
|
48
|
+
/** Emit telemetry events */
|
|
49
|
+
telemetry?: {
|
|
50
|
+
emit: (eventName: string, props?: Record<string, unknown>) => void;
|
|
51
|
+
};
|
|
52
|
+
/** Access to surfaces */
|
|
53
|
+
surfaces?: {
|
|
54
|
+
mount: (slot: string, content: unknown, opts?: unknown) => {
|
|
55
|
+
unmount: () => void;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Event handler definition provided by an app.
|
|
61
|
+
*/
|
|
62
|
+
export interface AppEventHandler {
|
|
63
|
+
/** Event names to listen for */
|
|
64
|
+
names: string[];
|
|
65
|
+
/** Handler function */
|
|
66
|
+
handler: (event: NormalizedEvent, ctx: AppEventContext) => void | Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Runtime extensions provided by an app.
|
|
70
|
+
*/
|
|
71
|
+
export interface AppRuntimeExtensions {
|
|
72
|
+
/** Custom action kinds */
|
|
73
|
+
actions?: AppActionDefinition[];
|
|
74
|
+
/** Widget components */
|
|
75
|
+
widgets?: AppWidgetDefinition[];
|
|
76
|
+
/** Event handlers */
|
|
77
|
+
events?: AppEventHandler[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Props passed to editor panel components.
|
|
81
|
+
*/
|
|
82
|
+
export interface EditorPanelProps {
|
|
83
|
+
/** The current config for this app's portion */
|
|
84
|
+
config: Record<string, unknown>;
|
|
85
|
+
/** Callback when config changes */
|
|
86
|
+
onChange: (config: Record<string, unknown>) => void;
|
|
87
|
+
/** Editor utilities */
|
|
88
|
+
editor: {
|
|
89
|
+
/** Mark the editor as dirty (has unsaved changes) */
|
|
90
|
+
setDirty: (dirty: boolean) => void;
|
|
91
|
+
/** Navigate back to home */
|
|
92
|
+
navigateHome: () => Promise<boolean>;
|
|
93
|
+
/** Save the current config */
|
|
94
|
+
save: () => Promise<void>;
|
|
95
|
+
/** Publish the current config */
|
|
96
|
+
publish: (captureScreenshot?: boolean) => Promise<void>;
|
|
97
|
+
};
|
|
98
|
+
/** Platform client for API calls (optional) */
|
|
99
|
+
platformClient?: unknown;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Editor panel configuration.
|
|
103
|
+
*/
|
|
104
|
+
export interface EditorPanelConfig {
|
|
105
|
+
/** Panel title */
|
|
106
|
+
title: string;
|
|
107
|
+
/** Panel icon (emoji or icon key) */
|
|
108
|
+
icon: string;
|
|
109
|
+
/** Panel description */
|
|
110
|
+
description: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Editor module provided by an app.
|
|
114
|
+
*/
|
|
115
|
+
export interface AppEditorModule {
|
|
116
|
+
/** React component for the editor panel */
|
|
117
|
+
component: React.ComponentType<EditorPanelProps>;
|
|
118
|
+
/** Panel configuration */
|
|
119
|
+
panel: EditorPanelConfig;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* App manifest - the complete definition of a SynOS app.
|
|
123
|
+
*/
|
|
124
|
+
export interface AppManifest {
|
|
125
|
+
/** Unique app identifier (e.g., "adaptive-gamification") */
|
|
126
|
+
id: string;
|
|
127
|
+
/** App version (semver) */
|
|
128
|
+
version: string;
|
|
129
|
+
/** Human-readable app name */
|
|
130
|
+
name: string;
|
|
131
|
+
/** App description */
|
|
132
|
+
description?: string;
|
|
133
|
+
/** Runtime extensions */
|
|
134
|
+
runtime?: AppRuntimeExtensions;
|
|
135
|
+
/** Zod schema for this app's config portion */
|
|
136
|
+
configSchema?: ZodSchema;
|
|
137
|
+
/** Editor module (optional - apps without editors are runtime-only) */
|
|
138
|
+
editor?: AppEditorModule;
|
|
139
|
+
/** App dependencies (other app IDs that must be loaded first) */
|
|
140
|
+
dependencies?: string[];
|
|
141
|
+
/** App metadata */
|
|
142
|
+
metadata?: {
|
|
143
|
+
/** Author name or organization */
|
|
144
|
+
author?: string;
|
|
145
|
+
/** Homepage URL */
|
|
146
|
+
homepage?: string;
|
|
147
|
+
/** License identifier */
|
|
148
|
+
license?: string;
|
|
149
|
+
/** Tags for categorization */
|
|
150
|
+
tags?: string[];
|
|
151
|
+
/** Whether this is a built-in app (bundled with runtime) */
|
|
152
|
+
isBuiltIn?: boolean;
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* App lifecycle state.
|
|
157
|
+
*/
|
|
158
|
+
export type AppLifecycleState = "registered" | "activating" | "active" | "deactivating" | "inactive" | "error";
|
|
159
|
+
/**
|
|
160
|
+
* App registration - tracked state for a registered app.
|
|
161
|
+
*/
|
|
162
|
+
export interface AppRegistration {
|
|
163
|
+
/** The app manifest */
|
|
164
|
+
manifest: AppManifest;
|
|
165
|
+
/** Current lifecycle state */
|
|
166
|
+
state: AppLifecycleState;
|
|
167
|
+
/** When the app was registered */
|
|
168
|
+
registeredAt: number;
|
|
169
|
+
/** When the app was last activated */
|
|
170
|
+
activatedAt?: number;
|
|
171
|
+
/** Error message if state is "error" */
|
|
172
|
+
error?: string;
|
|
173
|
+
/** Cleanup function to deactivate the app */
|
|
174
|
+
cleanup?: () => void | Promise<void>;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Sandboxed runtime context provided to apps.
|
|
178
|
+
*/
|
|
179
|
+
export interface AppContext {
|
|
180
|
+
/** The app ID */
|
|
181
|
+
appId: string;
|
|
182
|
+
/** State store (scoped to app namespace) */
|
|
183
|
+
state: {
|
|
184
|
+
get: (key: string) => unknown;
|
|
185
|
+
set: (key: string, value: unknown) => void;
|
|
186
|
+
remove: (key: string) => void;
|
|
187
|
+
};
|
|
188
|
+
/** Telemetry (if available) */
|
|
189
|
+
telemetry?: {
|
|
190
|
+
emit: (eventName: string, props?: Record<string, unknown>) => void;
|
|
191
|
+
getSessionId: () => string | undefined;
|
|
192
|
+
};
|
|
193
|
+
/** Surfaces access */
|
|
194
|
+
surfaces: {
|
|
195
|
+
mount: (slot: string, content: unknown, opts?: unknown) => {
|
|
196
|
+
unmount: () => void;
|
|
197
|
+
update: (content: unknown) => void;
|
|
198
|
+
};
|
|
199
|
+
canMount: (slot: string, priority?: number) => boolean;
|
|
200
|
+
};
|
|
201
|
+
/** Event subscription */
|
|
202
|
+
events: {
|
|
203
|
+
subscribe: (callback: (event: NormalizedEvent) => void) => () => void;
|
|
204
|
+
publish: (name: string, props?: Record<string, unknown>) => void;
|
|
205
|
+
};
|
|
206
|
+
/** Register app-provided actions */
|
|
207
|
+
registerAction: (definition: AppActionDefinition) => void;
|
|
208
|
+
/** Register app-provided widgets */
|
|
209
|
+
registerWidget: (definition: AppWidgetDefinition) => void;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Events emitted by the app registry.
|
|
213
|
+
*/
|
|
214
|
+
export type AppRegistryEvent = {
|
|
215
|
+
type: "app:registered";
|
|
216
|
+
appId: string;
|
|
217
|
+
manifest: AppManifest;
|
|
218
|
+
} | {
|
|
219
|
+
type: "app:activated";
|
|
220
|
+
appId: string;
|
|
221
|
+
} | {
|
|
222
|
+
type: "app:deactivated";
|
|
223
|
+
appId: string;
|
|
224
|
+
} | {
|
|
225
|
+
type: "app:error";
|
|
226
|
+
appId: string;
|
|
227
|
+
error: string;
|
|
228
|
+
} | {
|
|
229
|
+
type: "app:unregistered";
|
|
230
|
+
appId: string;
|
|
231
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/apps/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/bootstrap.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ import { decodeToken, encodeToken } from "./token";
|
|
|
20
20
|
import { SmartCanvasConfig, SmartCanvasHandle } from "./api";
|
|
21
21
|
import { SessionMetricTracker } from "./metrics";
|
|
22
22
|
import { SmartCanvasRuntime } from "./runtime";
|
|
23
|
+
import { appRegistry } from "./apps";
|
|
24
|
+
import { type AppLoader } from "./apps/AppLoader";
|
|
23
25
|
import type { ExperimentClient } from "./experiments/types";
|
|
24
26
|
import type { TelemetryClient } from "./telemetry/types";
|
|
25
27
|
import type { CanvasConfigFetcher } from "./types";
|
|
@@ -51,6 +53,18 @@ export interface SyntroInitOptions {
|
|
|
51
53
|
* @default false
|
|
52
54
|
*/
|
|
53
55
|
enableSessionMetrics?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* CDN base URL for loading external SynOS apps.
|
|
58
|
+
* Apps are loaded from: {cdnBase}/apps/{appId}/index.js
|
|
59
|
+
*
|
|
60
|
+
* @default "https://cdn.syntro.io"
|
|
61
|
+
*/
|
|
62
|
+
cdnBase?: string;
|
|
63
|
+
/**
|
|
64
|
+
* @deprecated Core app executors are now registered synchronously.
|
|
65
|
+
* This option has no effect and will be removed in a future version.
|
|
66
|
+
*/
|
|
67
|
+
registerBuiltInApps?: boolean;
|
|
54
68
|
}
|
|
55
69
|
export interface SyntroInitResult {
|
|
56
70
|
/**
|
|
@@ -77,6 +91,11 @@ export interface SyntroInitResult {
|
|
|
77
91
|
* @deprecated Access via runtime.sessionMetrics instead
|
|
78
92
|
*/
|
|
79
93
|
sessionMetrics?: SessionMetricTracker;
|
|
94
|
+
/**
|
|
95
|
+
* App loader for loading external apps from CDN.
|
|
96
|
+
* Exposed for manual app loading if needed.
|
|
97
|
+
*/
|
|
98
|
+
appLoader: AppLoader;
|
|
80
99
|
}
|
|
81
100
|
/**
|
|
82
101
|
* Initialize the Syntro SDK with a single token.
|
|
@@ -103,6 +122,11 @@ export declare const Syntro: {
|
|
|
103
122
|
declare global {
|
|
104
123
|
interface Window {
|
|
105
124
|
Syntro?: typeof Syntro;
|
|
125
|
+
SynOS?: {
|
|
126
|
+
appRegistry: typeof appRegistry;
|
|
127
|
+
runtime: SmartCanvasRuntime;
|
|
128
|
+
version: string;
|
|
129
|
+
};
|
|
106
130
|
}
|
|
107
131
|
}
|
|
108
132
|
export {};
|
package/dist/bootstrap.js
CHANGED
|
@@ -25,6 +25,9 @@ import { createSmartCanvas } from "./api";
|
|
|
25
25
|
import { createSessionMetricTracker } from "./metrics";
|
|
26
26
|
import { createSmartCanvasRuntime } from "./runtime";
|
|
27
27
|
import { initLogger, debug, warn, error as logError } from "./logger";
|
|
28
|
+
import { createEventBus } from "./events/EventBus";
|
|
29
|
+
import { createPostHogNormalizer } from "./events/normalizers/posthog";
|
|
30
|
+
import { createAppLoader } from "./apps/AppLoader";
|
|
28
31
|
/**
|
|
29
32
|
* Get environment variable, supporting both Vite and Next.js patterns.
|
|
30
33
|
*/
|
|
@@ -209,6 +212,15 @@ async function init(options) {
|
|
|
209
212
|
debug('Syntro Bootstrap', 'Phase 1: Using cached segment attributes:', cachedSegmentAttrs);
|
|
210
213
|
// Will be set when experiments client is created
|
|
211
214
|
let experiments;
|
|
215
|
+
// ============================================================================
|
|
216
|
+
// Create EventBus early so we can wire PostHog events into it
|
|
217
|
+
// ============================================================================
|
|
218
|
+
const events = createEventBus();
|
|
219
|
+
console.log('[Syntro Bootstrap] EventBus created');
|
|
220
|
+
// Create PostHog normalizer that feeds events into the EventBus
|
|
221
|
+
const postHogNormalizer = createPostHogNormalizer((event) => {
|
|
222
|
+
events.publishEvent(event);
|
|
223
|
+
});
|
|
212
224
|
// Callback for when PostHog feature flags are loaded (Phase 2)
|
|
213
225
|
const onFeatureFlagsLoaded = (allFlags) => {
|
|
214
226
|
var _a, _b, _c;
|
|
@@ -228,7 +240,7 @@ async function init(options) {
|
|
|
228
240
|
(_c = experiments.setAttributes) === null || _c === void 0 ? void 0 : _c.call(experiments, updatedAttrs);
|
|
229
241
|
}
|
|
230
242
|
};
|
|
231
|
-
// Initialize telemetry client with feature flags callback
|
|
243
|
+
// Initialize telemetry client with feature flags callback and event capture
|
|
232
244
|
let telemetry;
|
|
233
245
|
if (payload === null || payload === void 0 ? void 0 : payload.t) {
|
|
234
246
|
telemetry = createTelemetryClient("posthog", {
|
|
@@ -238,7 +250,10 @@ async function init(options) {
|
|
|
238
250
|
enableFeatureFlags: true,
|
|
239
251
|
// Wire up callback for when flags are loaded (Phase 2)
|
|
240
252
|
onFeatureFlagsLoaded,
|
|
253
|
+
// Wire up event capture to feed into EventBus
|
|
254
|
+
onCapture: postHogNormalizer,
|
|
241
255
|
});
|
|
256
|
+
console.log('[Syntro Bootstrap] Telemetry client created with EventBus wiring');
|
|
242
257
|
}
|
|
243
258
|
// ============================================================================
|
|
244
259
|
// Initialize experiment client with CACHED attributes (Phase 1)
|
|
@@ -259,29 +274,6 @@ async function init(options) {
|
|
|
259
274
|
: undefined,
|
|
260
275
|
});
|
|
261
276
|
}
|
|
262
|
-
// Create config fetcher
|
|
263
|
-
// Priority: custom fetcher > token-specified fetcher > experiments-based
|
|
264
|
-
let fetcher;
|
|
265
|
-
if (options.fetcher) {
|
|
266
|
-
// Custom fetcher provided - use it directly (for local dev / bypassing experiments)
|
|
267
|
-
fetcher = options.fetcher;
|
|
268
|
-
}
|
|
269
|
-
else if (payload === null || payload === void 0 ? void 0 : payload.f) {
|
|
270
|
-
// Explicit fetcher type specified in token
|
|
271
|
-
const configFetcher = createConfigFetcher(payload.f, (_c = payload.o) !== null && _c !== void 0 ? _c : {});
|
|
272
|
-
fetcher = async () => {
|
|
273
|
-
var _a;
|
|
274
|
-
const result = await configFetcher.fetch();
|
|
275
|
-
return {
|
|
276
|
-
...result.config,
|
|
277
|
-
tiles: (_a = result.config.tiles) !== null && _a !== void 0 ? _a : [],
|
|
278
|
-
};
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
else if (experiments) {
|
|
282
|
-
// Default: use experiments-based fetcher (GrowthBook config or URI)
|
|
283
|
-
fetcher = createCanvasConfigFetcher({ experiments });
|
|
284
|
-
}
|
|
285
277
|
// Create session metric tracker if enabled
|
|
286
278
|
if (options.enableSessionMetrics) {
|
|
287
279
|
sessionMetrics = createSessionMetricTracker({
|
|
@@ -292,13 +284,6 @@ async function init(options) {
|
|
|
292
284
|
});
|
|
293
285
|
debug('Syntro Bootstrap', 'SessionMetricTracker created');
|
|
294
286
|
}
|
|
295
|
-
// Create canvas with integrations
|
|
296
|
-
const canvas = await createSmartCanvas({
|
|
297
|
-
...options.canvas,
|
|
298
|
-
fetcher,
|
|
299
|
-
integrations: { experiments, telemetry },
|
|
300
|
-
editorUrl,
|
|
301
|
-
});
|
|
302
287
|
// Determine runtime mode
|
|
303
288
|
let runtimeMode = 'production';
|
|
304
289
|
if (editorMode)
|
|
@@ -307,11 +292,14 @@ async function init(options) {
|
|
|
307
292
|
runtimeMode = 'audit';
|
|
308
293
|
else if (getEnvVar('NODE_ENV') === 'development')
|
|
309
294
|
runtimeMode = 'development';
|
|
310
|
-
//
|
|
295
|
+
// ============================================================================
|
|
296
|
+
// Create runtime FIRST (before canvas, so we can wire up app loading)
|
|
297
|
+
// ============================================================================
|
|
311
298
|
const runtime = createSmartCanvasRuntime({
|
|
312
299
|
telemetry,
|
|
313
300
|
sessionMetrics,
|
|
314
301
|
mode: runtimeMode,
|
|
302
|
+
events, // Use the EventBus we created earlier (already wired to PostHog)
|
|
315
303
|
});
|
|
316
304
|
debug('Syntro Bootstrap', 'Runtime created:', {
|
|
317
305
|
version: runtime.version,
|
|
@@ -320,7 +308,119 @@ async function init(options) {
|
|
|
320
308
|
hasEvents: !!runtime.events,
|
|
321
309
|
hasState: !!runtime.state,
|
|
322
310
|
});
|
|
323
|
-
|
|
311
|
+
// ============================================================================
|
|
312
|
+
// Core app executors are registered synchronously in ExecutorRegistry
|
|
313
|
+
// No async registration needed - they're available immediately
|
|
314
|
+
// ============================================================================
|
|
315
|
+
debug('Syntro Bootstrap', 'Core app executors already registered');
|
|
316
|
+
// ============================================================================
|
|
317
|
+
// Create app loader for external apps from CDN
|
|
318
|
+
// ============================================================================
|
|
319
|
+
const cdnBase = options.cdnBase
|
|
320
|
+
|| getEnvVar("NEXT_PUBLIC_SYNTRO_CDN_BASE")
|
|
321
|
+
|| getEnvVar("VITE_SYNTRO_CDN_BASE")
|
|
322
|
+
|| "https://cdn.syntro.io";
|
|
323
|
+
const appLoader = createAppLoader({
|
|
324
|
+
cdnBase,
|
|
325
|
+
registry: runtime.apps,
|
|
326
|
+
onLoadStart: (appId) => {
|
|
327
|
+
debug('Syntro Bootstrap', `Loading app from CDN: ${appId}`);
|
|
328
|
+
},
|
|
329
|
+
onLoadEnd: (appId, success, error) => {
|
|
330
|
+
if (success) {
|
|
331
|
+
debug('Syntro Bootstrap', `App loaded successfully: ${appId}`);
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
warn('Syntro Bootstrap', `Failed to load app: ${appId}`, error);
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
});
|
|
338
|
+
// ============================================================================
|
|
339
|
+
// Expose global SynOS object for UMD app self-registration
|
|
340
|
+
// ============================================================================
|
|
341
|
+
if (typeof window !== "undefined") {
|
|
342
|
+
window.SynOS = {
|
|
343
|
+
appRegistry: runtime.apps,
|
|
344
|
+
runtime,
|
|
345
|
+
version: runtime.version,
|
|
346
|
+
};
|
|
347
|
+
debug('Syntro Bootstrap', 'Global SynOS object exposed');
|
|
348
|
+
}
|
|
349
|
+
// ============================================================================
|
|
350
|
+
// Create base config fetcher
|
|
351
|
+
// Priority: custom fetcher > token-specified fetcher > experiments-based
|
|
352
|
+
// ============================================================================
|
|
353
|
+
let baseFetcher;
|
|
354
|
+
if (options.fetcher) {
|
|
355
|
+
// Custom fetcher provided - use it directly (for local dev / bypassing experiments)
|
|
356
|
+
baseFetcher = options.fetcher;
|
|
357
|
+
}
|
|
358
|
+
else if (payload === null || payload === void 0 ? void 0 : payload.f) {
|
|
359
|
+
// Explicit fetcher type specified in token
|
|
360
|
+
const configFetcher = createConfigFetcher(payload.f, (_c = payload.o) !== null && _c !== void 0 ? _c : {});
|
|
361
|
+
baseFetcher = async () => {
|
|
362
|
+
var _a;
|
|
363
|
+
const result = await configFetcher.fetch();
|
|
364
|
+
return {
|
|
365
|
+
...result.config,
|
|
366
|
+
tiles: (_a = result.config.tiles) !== null && _a !== void 0 ? _a : [],
|
|
367
|
+
};
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
else if (experiments) {
|
|
371
|
+
// Default: use experiments-based fetcher (GrowthBook config or URI)
|
|
372
|
+
baseFetcher = createCanvasConfigFetcher({ experiments });
|
|
373
|
+
}
|
|
374
|
+
// ============================================================================
|
|
375
|
+
// Wrap fetcher to automatically load required apps when config is fetched
|
|
376
|
+
// ============================================================================
|
|
377
|
+
const appLoadingFetcher = baseFetcher
|
|
378
|
+
? async () => {
|
|
379
|
+
const config = await baseFetcher();
|
|
380
|
+
// Analyze config for required apps
|
|
381
|
+
// Cast to CanvasConfigForLoader - the loader only looks at action kinds
|
|
382
|
+
const configForLoader = config;
|
|
383
|
+
const requiredApps = appLoader.getRequiredApps(configForLoader);
|
|
384
|
+
debug('Syntro Bootstrap', 'Config fetched, required apps:', requiredApps);
|
|
385
|
+
if (requiredApps.length > 0) {
|
|
386
|
+
// Load external apps from CDN (built-in apps are already registered)
|
|
387
|
+
// This runs in parallel - we don't block on it
|
|
388
|
+
const loadPromise = appLoader.loadAppsForConfig(configForLoader)
|
|
389
|
+
.then(async (results) => {
|
|
390
|
+
const failedApps = results.filter((r) => !r.success);
|
|
391
|
+
if (failedApps.length > 0) {
|
|
392
|
+
warn('Syntro Bootstrap', 'Some apps failed to load:', failedApps);
|
|
393
|
+
}
|
|
394
|
+
// Activate required apps after loading
|
|
395
|
+
for (const appId of requiredApps) {
|
|
396
|
+
if (runtime.apps.has(appId)) {
|
|
397
|
+
try {
|
|
398
|
+
await runtime.apps.activate(appId);
|
|
399
|
+
}
|
|
400
|
+
catch (err) {
|
|
401
|
+
warn('Syntro Bootstrap', `Failed to activate app: ${appId}`, err);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
// For actions that need external apps, we need to wait
|
|
407
|
+
// But for core app actions, they can execute immediately
|
|
408
|
+
await loadPromise;
|
|
409
|
+
}
|
|
410
|
+
return config;
|
|
411
|
+
}
|
|
412
|
+
: undefined;
|
|
413
|
+
// ============================================================================
|
|
414
|
+
// Create canvas with runtime and app-loading fetcher
|
|
415
|
+
// ============================================================================
|
|
416
|
+
const canvas = await createSmartCanvas({
|
|
417
|
+
...options.canvas,
|
|
418
|
+
fetcher: appLoadingFetcher,
|
|
419
|
+
integrations: { experiments, telemetry },
|
|
420
|
+
editorUrl,
|
|
421
|
+
runtime, // Pass runtime so actions can be applied
|
|
422
|
+
});
|
|
423
|
+
return { canvas, runtime, experiments, telemetry, sessionMetrics, appLoader };
|
|
324
424
|
}
|
|
325
425
|
/**
|
|
326
426
|
* The Syntro namespace for single-token initialization.
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|