@hypen-space/core 0.4.37 → 0.4.38
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/README.md +13 -14
- package/dist/app.js +289 -227
- package/dist/app.js.map +5 -5
- package/dist/components/builtin.js +289 -227
- package/dist/components/builtin.js.map +5 -5
- package/dist/context.js +60 -64
- package/dist/context.js.map +2 -2
- package/dist/datasource.js +80 -0
- package/dist/datasource.js.map +10 -0
- package/dist/disposable.js +60 -63
- package/dist/disposable.js.map +2 -2
- package/dist/events.js +60 -63
- package/dist/events.js.map +2 -2
- package/dist/hypen.js +78 -0
- package/dist/hypen.js.map +10 -0
- package/dist/index.browser.d.ts +2 -1
- package/dist/index.browser.js +303 -244
- package/dist/index.browser.js.map +6 -7
- package/dist/index.d.ts +0 -3
- package/dist/index.js +492 -180
- package/dist/index.js.map +6 -6
- package/dist/logger.js +60 -64
- package/dist/logger.js.map +2 -2
- package/dist/remote/client.js +243 -158
- package/dist/remote/client.js.map +6 -6
- package/dist/remote/index.d.ts +6 -5
- package/dist/remote/index.js +241 -1986
- package/dist/remote/index.js.map +6 -13
- package/dist/remote/session.js +151 -0
- package/dist/remote/session.js.map +10 -0
- package/dist/renderer.js +60 -63
- package/dist/renderer.js.map +2 -2
- package/dist/result.js +220 -0
- package/dist/result.js.map +10 -0
- package/dist/retry.js +329 -0
- package/dist/retry.js.map +11 -0
- package/dist/router.js +62 -70
- package/dist/router.js.map +2 -2
- package/dist/state.js +3 -8
- package/dist/state.js.map +2 -2
- package/package.json +11 -56
- package/src/index.browser.ts +5 -4
- package/src/index.ts +10 -23
- package/src/remote/index.ts +9 -5
- package/dist/discovery.d.ts +0 -90
- package/dist/discovery.js +0 -1334
- package/dist/discovery.js.map +0 -15
- package/dist/engine.browser.d.ts +0 -116
- package/dist/engine.browser.js +0 -479
- package/dist/engine.browser.js.map +0 -12
- package/dist/engine.d.ts +0 -107
- package/dist/engine.js +0 -543
- package/dist/engine.js.map +0 -12
- package/dist/loader.d.ts +0 -51
- package/dist/loader.js +0 -292
- package/dist/loader.js.map +0 -11
- package/dist/plugin.d.ts +0 -39
- package/dist/plugin.js +0 -685
- package/dist/plugin.js.map +0 -12
- package/dist/remote/server.d.ts +0 -188
- package/dist/remote/server.js +0 -2270
- package/dist/remote/server.js.map +0 -19
- package/src/discovery.ts +0 -527
- package/src/engine.browser.ts +0 -302
- package/src/engine.ts +0 -282
- package/src/loader.ts +0 -136
- package/src/plugin.ts +0 -220
- package/src/remote/server.ts +0 -879
- package/wasm-browser/README.md +0 -594
- package/wasm-browser/hypen_engine.d.ts +0 -389
- package/wasm-browser/hypen_engine.js +0 -1070
- package/wasm-browser/hypen_engine_bg.wasm +0 -0
- package/wasm-browser/hypen_engine_bg.wasm.d.ts +0 -37
- package/wasm-browser/package.json +0 -24
- package/wasm-node/README.md +0 -594
- package/wasm-node/hypen_engine.d.ts +0 -327
- package/wasm-node/hypen_engine.js +0 -979
- package/wasm-node/hypen_engine_bg.wasm +0 -0
- package/wasm-node/hypen_engine_bg.wasm.d.ts +0 -37
- package/wasm-node/package.json +0 -22
package/dist/logger.js
CHANGED
|
@@ -22,12 +22,31 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
// src/logger.ts
|
|
25
|
+
var LOG_LEVEL_ORDER = {
|
|
26
|
+
debug: 0,
|
|
27
|
+
info: 1,
|
|
28
|
+
warn: 2,
|
|
29
|
+
error: 3,
|
|
30
|
+
none: 4
|
|
31
|
+
};
|
|
32
|
+
var LOG_LEVEL_COLORS = {
|
|
33
|
+
debug: "\x1B[36m",
|
|
34
|
+
info: "\x1B[32m",
|
|
35
|
+
warn: "\x1B[33m",
|
|
36
|
+
error: "\x1B[31m"
|
|
37
|
+
};
|
|
38
|
+
var RESET_COLOR = "\x1B[0m";
|
|
25
39
|
function isProduction() {
|
|
26
40
|
if (typeof process !== "undefined" && process.env) {
|
|
27
41
|
return false;
|
|
28
42
|
}
|
|
29
43
|
return false;
|
|
30
44
|
}
|
|
45
|
+
var config = {
|
|
46
|
+
level: isProduction() ? "error" : "info",
|
|
47
|
+
colors: true,
|
|
48
|
+
timestamps: false
|
|
49
|
+
};
|
|
31
50
|
function setLogLevel(level) {
|
|
32
51
|
config.level = level;
|
|
33
52
|
}
|
|
@@ -158,69 +177,46 @@ class Logger {
|
|
|
158
177
|
function createLogger(tag) {
|
|
159
178
|
return new Logger(tag);
|
|
160
179
|
}
|
|
161
|
-
var
|
|
162
|
-
var
|
|
163
|
-
|
|
164
|
-
debug
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
console.error(formatTag(tag, "error"), ...args);
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
frameworkLoggers = {
|
|
205
|
-
hypen: createLogger("Hypen"),
|
|
206
|
-
engine: createLogger("Engine"),
|
|
207
|
-
router: createLogger("Router"),
|
|
208
|
-
state: createLogger("State"),
|
|
209
|
-
events: createLogger("Events"),
|
|
210
|
-
remote: createLogger("Remote"),
|
|
211
|
-
renderer: createLogger("Renderer"),
|
|
212
|
-
module: createLogger("Module"),
|
|
213
|
-
lifecycle: createLogger("Lifecycle"),
|
|
214
|
-
loader: createLogger("Loader"),
|
|
215
|
-
context: createLogger("Context"),
|
|
216
|
-
discovery: createLogger("Discovery"),
|
|
217
|
-
plugin: createLogger("Plugin"),
|
|
218
|
-
canvas: createLogger("Canvas"),
|
|
219
|
-
debug: createLogger("Debug")
|
|
220
|
-
};
|
|
221
|
-
});
|
|
222
|
-
init_logger();
|
|
223
|
-
|
|
180
|
+
var logger = createLogger("Hypen");
|
|
181
|
+
var log = {
|
|
182
|
+
debug: (tag, ...args) => {
|
|
183
|
+
if (!shouldLog("debug"))
|
|
184
|
+
return;
|
|
185
|
+
console.log(formatTag(tag, "debug"), ...args);
|
|
186
|
+
},
|
|
187
|
+
info: (tag, ...args) => {
|
|
188
|
+
if (!shouldLog("info"))
|
|
189
|
+
return;
|
|
190
|
+
console.info(formatTag(tag, "info"), ...args);
|
|
191
|
+
},
|
|
192
|
+
warn: (tag, ...args) => {
|
|
193
|
+
if (!shouldLog("warn"))
|
|
194
|
+
return;
|
|
195
|
+
console.warn(formatTag(tag, "warn"), ...args);
|
|
196
|
+
},
|
|
197
|
+
error: (tag, ...args) => {
|
|
198
|
+
if (!shouldLog("error"))
|
|
199
|
+
return;
|
|
200
|
+
console.error(formatTag(tag, "error"), ...args);
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
var frameworkLoggers = {
|
|
204
|
+
hypen: createLogger("Hypen"),
|
|
205
|
+
engine: createLogger("Engine"),
|
|
206
|
+
router: createLogger("Router"),
|
|
207
|
+
state: createLogger("State"),
|
|
208
|
+
events: createLogger("Events"),
|
|
209
|
+
remote: createLogger("Remote"),
|
|
210
|
+
renderer: createLogger("Renderer"),
|
|
211
|
+
module: createLogger("Module"),
|
|
212
|
+
lifecycle: createLogger("Lifecycle"),
|
|
213
|
+
loader: createLogger("Loader"),
|
|
214
|
+
context: createLogger("Context"),
|
|
215
|
+
discovery: createLogger("Discovery"),
|
|
216
|
+
plugin: createLogger("Plugin"),
|
|
217
|
+
canvas: createLogger("Canvas"),
|
|
218
|
+
debug: createLogger("Debug")
|
|
219
|
+
};
|
|
224
220
|
export {
|
|
225
221
|
setLogLevel,
|
|
226
222
|
setDebugMode,
|
|
@@ -236,4 +232,4 @@ export {
|
|
|
236
232
|
Logger
|
|
237
233
|
};
|
|
238
234
|
|
|
239
|
-
//# debugId=
|
|
235
|
+
//# debugId=47CDD421CAAA512C64756E2164756E21
|
package/dist/logger.js.map
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * Configurable Debug Logger\n *\n * Provides environment-aware logging that can be disabled in production.\n * Supports log levels, tagged output, and performance timing.\n */\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\" | \"none\";\n\nexport interface LoggerConfig {\n /** Minimum log level (default: \"debug\" in dev, \"error\" in prod) */\n level: LogLevel;\n /** Enable colored output (default: true) */\n colors: boolean;\n /** Include timestamps (default: false) */\n timestamps: boolean;\n /** Custom log handler (default: console) */\n handler?: LogHandler;\n}\n\nexport interface LogHandler {\n debug(tag: string, ...args: unknown[]): void;\n info(tag: string, ...args: unknown[]): void;\n warn(tag: string, ...args: unknown[]): void;\n error(tag: string, ...args: unknown[]): void;\n}\n\n// ============================================================================\n// Constants\n// ============================================================================\n\nconst LOG_LEVEL_ORDER: Record<LogLevel, number> = {\n debug: 0,\n info: 1,\n warn: 2,\n error: 3,\n none: 4,\n};\n\nconst LOG_LEVEL_COLORS: Record<Exclude<LogLevel, \"none\">, string> = {\n debug: \"\\x1b[36m\", // Cyan\n info: \"\\x1b[32m\", // Green\n warn: \"\\x1b[33m\", // Yellow\n error: \"\\x1b[31m\", // Red\n};\n\nconst RESET_COLOR = \"\\x1b[0m\";\n\n// ============================================================================\n// Global Configuration\n// ============================================================================\n\n/**\n * Detect if running in production environment\n */\nfunction isProduction(): boolean {\n if (typeof process !== \"undefined\" && process.env) {\n return process.env.NODE_ENV === \"production\";\n }\n return false;\n}\n\n/**\n * Default configuration\n */\nlet config: LoggerConfig = {\n level: isProduction() ? \"error\" : \"info\",\n colors: true,\n timestamps: false,\n};\n\n// ============================================================================\n// Configuration API\n// ============================================================================\n\n/**\n * Set the global log level\n */\nexport function setLogLevel(level: LogLevel): void {\n config.level = level;\n}\n\n/**\n * Get the current log level\n */\nexport function getLogLevel(): LogLevel {\n return config.level;\n}\n\n/**\n * Configure the logger\n */\nexport function configureLogger(options: Partial<LoggerConfig>): void {\n config = { ...config, ...options };\n}\n\n/**\n * Enable all logging (sets level to \"debug\")\n */\nexport function enableLogging(): void {\n config.level = \"debug\";\n}\n\n/**\n * Disable all logging (sets level to \"none\")\n */\nexport function disableLogging(): void {\n config.level = \"none\";\n}\n\n/**\n * Enable debug mode - alias for enableLogging()\n * Call this at app startup to see all debug logs\n *\n * @example\n * ```typescript\n * import { setDebugMode } from \"@hypen-space/core\";\n * setDebugMode(true);\n * ```\n */\nexport function setDebugMode(enabled: boolean): void {\n config.level = enabled ? \"debug\" : \"error\";\n}\n\n/**\n * Check if debug mode is enabled\n */\nexport function isDebugMode(): boolean {\n return config.level === \"debug\";\n}\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\nfunction shouldLog(level: LogLevel): boolean {\n return LOG_LEVEL_ORDER[level] >= LOG_LEVEL_ORDER[config.level];\n}\n\nfunction formatTag(tag: string, level: LogLevel): string {\n const timestamp = config.timestamps ? `${new Date().toISOString()} ` : \"\";\n\n if (config.colors && level !== \"none\") {\n const color = LOG_LEVEL_COLORS[level as Exclude<LogLevel, \"none\">];\n return `${timestamp}${color}[${tag}]${RESET_COLOR}`;\n }\n\n return `${timestamp}[${tag}]`;\n}\n\n// ============================================================================\n// Logger Class\n// ============================================================================\n\n/**\n * Tagged logger instance\n *\n * @example\n * ```typescript\n * const log = createLogger(\"MyComponent\");\n * log.debug(\"initialized with\", { props });\n * log.error(\"failed to load\", error);\n * ```\n */\nexport class Logger {\n private readonly tag: string;\n\n constructor(tag: string) {\n this.tag = tag;\n }\n\n debug(...args: unknown[]): void {\n if (!shouldLog(\"debug\")) return;\n\n if (config.handler) {\n config.handler.debug(this.tag, ...args);\n } else {\n console.log(formatTag(this.tag, \"debug\"), ...args);\n }\n }\n\n info(...args: unknown[]): void {\n if (!shouldLog(\"info\")) return;\n\n if (config.handler) {\n config.handler.info(this.tag, ...args);\n } else {\n console.info(formatTag(this.tag, \"info\"), ...args);\n }\n }\n\n warn(...args: unknown[]): void {\n if (!shouldLog(\"warn\")) return;\n\n if (config.handler) {\n config.handler.warn(this.tag, ...args);\n } else {\n console.warn(formatTag(this.tag, \"warn\"), ...args);\n }\n }\n\n error(...args: unknown[]): void {\n if (!shouldLog(\"error\")) return;\n\n if (config.handler) {\n config.handler.error(this.tag, ...args);\n } else {\n console.error(formatTag(this.tag, \"error\"), ...args);\n }\n }\n\n /**\n * Time a function execution\n */\n time<T>(label: string, fn: () => T): T {\n if (!shouldLog(\"debug\")) {\n return fn();\n }\n\n const start = performance.now();\n try {\n return fn();\n } finally {\n const duration = performance.now() - start;\n this.debug(`${label}: ${duration.toFixed(2)}ms`);\n }\n }\n\n /**\n * Time an async function execution\n */\n async timeAsync<T>(label: string, fn: () => Promise<T>): Promise<T> {\n if (!shouldLog(\"debug\")) {\n return fn();\n }\n\n const start = performance.now();\n try {\n return await fn();\n } finally {\n const duration = performance.now() - start;\n this.debug(`${label}: ${duration.toFixed(2)}ms`);\n }\n }\n\n /**\n * Create a child logger with additional context\n */\n child(subTag: string): Logger {\n return new Logger(`${this.tag}:${subTag}`);\n }\n\n /**\n * Conditionally log based on a condition\n */\n debugIf(condition: boolean, ...args: unknown[]): void {\n if (condition) this.debug(...args);\n }\n\n warnIf(condition: boolean, ...args: unknown[]): void {\n if (condition) this.warn(...args);\n }\n\n errorIf(condition: boolean, ...args: unknown[]): void {\n if (condition) this.error(...args);\n }\n\n /**\n * Log once (useful for deprecation warnings)\n */\n private loggedOnce = new Set<string>();\n\n warnOnce(key: string, ...args: unknown[]): void {\n if (this.loggedOnce.has(key)) return;\n this.loggedOnce.add(key);\n this.warn(...args);\n }\n\n debugOnce(key: string, ...args: unknown[]): void {\n if (this.loggedOnce.has(key)) return;\n this.loggedOnce.add(key);\n this.debug(...args);\n }\n}\n\n// ============================================================================\n// Factory Functions\n// ============================================================================\n\n/**\n * Create a tagged logger\n *\n * @example\n * ```typescript\n * const log = createLogger(\"Router\");\n * log.info(\"navigating to\", path);\n * ```\n */\nexport function createLogger(tag: string): Logger {\n return new Logger(tag);\n}\n\n// ============================================================================\n// Default Logger Instance\n// ============================================================================\n\n/**\n * Default logger for general use\n */\nexport const logger = createLogger(\"Hypen\");\n\n// ============================================================================\n// Shorthand Functions (untagged)\n// ============================================================================\n\n/**\n * Shorthand logging functions for quick use\n * Prefer createLogger() for component-specific logging\n */\nexport const log = {\n debug: (tag: string, ...args: unknown[]): void => {\n if (!shouldLog(\"debug\")) return;\n console.log(formatTag(tag, \"debug\"), ...args);\n },\n\n info: (tag: string, ...args: unknown[]): void => {\n if (!shouldLog(\"info\")) return;\n console.info(formatTag(tag, \"info\"), ...args);\n },\n\n warn: (tag: string, ...args: unknown[]): void => {\n if (!shouldLog(\"warn\")) return;\n console.warn(formatTag(tag, \"warn\"), ...args);\n },\n\n error: (tag: string, ...args: unknown[]): void => {\n if (!shouldLog(\"error\")) return;\n console.error(formatTag(tag, \"error\"), ...args);\n },\n};\n\n// ============================================================================\n// Predefined Loggers for Framework Components\n// ============================================================================\n\nexport const frameworkLoggers = {\n hypen: createLogger(\"Hypen\"),\n engine: createLogger(\"Engine\"),\n router: createLogger(\"Router\"),\n state: createLogger(\"State\"),\n events: createLogger(\"Events\"),\n remote: createLogger(\"Remote\"),\n renderer: createLogger(\"Renderer\"),\n module: createLogger(\"Module\"),\n lifecycle: createLogger(\"Lifecycle\"),\n loader: createLogger(\"Loader\"),\n context: createLogger(\"Context\"),\n discovery: createLogger(\"Discovery\"),\n plugin: createLogger(\"Plugin\"),\n canvas: createLogger(\"Canvas\"),\n debug: createLogger(\"Debug\"),\n};\n"
|
|
6
6
|
],
|
|
7
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;
|
|
8
|
-
"debugId": "
|
|
7
|
+
"mappings": "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",
|
|
8
|
+
"debugId": "47CDD421CAAA512C64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/remote/client.js
CHANGED
|
@@ -21,13 +21,205 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
21
21
|
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
+
// src/result.ts
|
|
25
|
+
function Ok(value) {
|
|
26
|
+
return { ok: true, value };
|
|
27
|
+
}
|
|
28
|
+
function Err(error) {
|
|
29
|
+
return { ok: false, error };
|
|
30
|
+
}
|
|
31
|
+
function isOk(result) {
|
|
32
|
+
return result.ok;
|
|
33
|
+
}
|
|
34
|
+
function isErr(result) {
|
|
35
|
+
return !result.ok;
|
|
36
|
+
}
|
|
37
|
+
async function fromPromise(promise, mapError) {
|
|
38
|
+
try {
|
|
39
|
+
const value = await promise;
|
|
40
|
+
return Ok(value);
|
|
41
|
+
} catch (e) {
|
|
42
|
+
if (mapError) {
|
|
43
|
+
return Err(mapError(e));
|
|
44
|
+
}
|
|
45
|
+
return Err(e);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function fromTry(fn, mapError) {
|
|
49
|
+
try {
|
|
50
|
+
return Ok(fn());
|
|
51
|
+
} catch (e) {
|
|
52
|
+
if (mapError) {
|
|
53
|
+
return Err(mapError(e));
|
|
54
|
+
}
|
|
55
|
+
return Err(e);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function map(result, fn) {
|
|
59
|
+
if (result.ok) {
|
|
60
|
+
return Ok(fn(result.value));
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
function mapErr(result, fn) {
|
|
65
|
+
if (!result.ok) {
|
|
66
|
+
return Err(fn(result.error));
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
function flatMap(result, fn) {
|
|
71
|
+
if (result.ok) {
|
|
72
|
+
return fn(result.value);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
function unwrap(result) {
|
|
77
|
+
if (result.ok) {
|
|
78
|
+
return result.value;
|
|
79
|
+
}
|
|
80
|
+
throw result.error;
|
|
81
|
+
}
|
|
82
|
+
function unwrapOr(result, defaultValue) {
|
|
83
|
+
if (result.ok) {
|
|
84
|
+
return result.value;
|
|
85
|
+
}
|
|
86
|
+
return defaultValue;
|
|
87
|
+
}
|
|
88
|
+
function unwrapOrElse(result, fn) {
|
|
89
|
+
if (result.ok) {
|
|
90
|
+
return result.value;
|
|
91
|
+
}
|
|
92
|
+
return fn(result.error);
|
|
93
|
+
}
|
|
94
|
+
function match(result, handlers) {
|
|
95
|
+
if (result.ok) {
|
|
96
|
+
return handlers.ok(result.value);
|
|
97
|
+
}
|
|
98
|
+
return handlers.err(result.error);
|
|
99
|
+
}
|
|
100
|
+
function all(results) {
|
|
101
|
+
const values = [];
|
|
102
|
+
for (const result of results) {
|
|
103
|
+
if (!result.ok) {
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
values.push(result.value);
|
|
107
|
+
}
|
|
108
|
+
return Ok(values);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
class HypenError extends Error {
|
|
112
|
+
code;
|
|
113
|
+
context;
|
|
114
|
+
cause;
|
|
115
|
+
constructor(code, message, options) {
|
|
116
|
+
super(message);
|
|
117
|
+
this.name = "HypenError";
|
|
118
|
+
this.code = code;
|
|
119
|
+
this.context = options?.context;
|
|
120
|
+
this.cause = options?.cause;
|
|
121
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
class ActionError extends HypenError {
|
|
126
|
+
actionName;
|
|
127
|
+
constructor(actionName, cause) {
|
|
128
|
+
super("ACTION_ERROR", `Action handler "${actionName}" failed: ${cause instanceof Error ? cause.message : String(cause)}`, {
|
|
129
|
+
context: { actionName },
|
|
130
|
+
cause: cause instanceof Error ? cause : undefined
|
|
131
|
+
});
|
|
132
|
+
this.name = "ActionError";
|
|
133
|
+
this.actionName = actionName;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
class ConnectionError extends HypenError {
|
|
138
|
+
url;
|
|
139
|
+
attempt;
|
|
140
|
+
constructor(url, cause, attempt) {
|
|
141
|
+
super("CONNECTION_ERROR", `Connection to "${url}" failed${attempt ? ` (attempt ${attempt})` : ""}: ${cause instanceof Error ? cause.message : String(cause)}`, {
|
|
142
|
+
context: { url, attempt },
|
|
143
|
+
cause: cause instanceof Error ? cause : undefined
|
|
144
|
+
});
|
|
145
|
+
this.name = "ConnectionError";
|
|
146
|
+
this.url = url;
|
|
147
|
+
this.attempt = attempt;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
class StateError extends HypenError {
|
|
152
|
+
path;
|
|
153
|
+
constructor(message, path, cause) {
|
|
154
|
+
super("STATE_ERROR", message, {
|
|
155
|
+
context: { path },
|
|
156
|
+
cause: cause instanceof Error ? cause : undefined
|
|
157
|
+
});
|
|
158
|
+
this.name = "StateError";
|
|
159
|
+
this.path = path;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
class ParseError extends HypenError {
|
|
164
|
+
source;
|
|
165
|
+
constructor(message, source, cause) {
|
|
166
|
+
super("PARSE_ERROR", message, {
|
|
167
|
+
context: { source },
|
|
168
|
+
cause: cause instanceof Error ? cause : undefined
|
|
169
|
+
});
|
|
170
|
+
this.name = "ParseError";
|
|
171
|
+
this.source = source;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
class RenderError extends HypenError {
|
|
176
|
+
constructor(message, cause) {
|
|
177
|
+
super("RENDER_ERROR", message, {
|
|
178
|
+
cause: cause instanceof Error ? cause : undefined
|
|
179
|
+
});
|
|
180
|
+
this.name = "RenderError";
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
function classifyEngineError(err) {
|
|
184
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
185
|
+
if (message.startsWith("Parse error:")) {
|
|
186
|
+
return new ParseError(message);
|
|
187
|
+
}
|
|
188
|
+
if (message.startsWith("Invalid state:") || message.startsWith("Invalid state patch:")) {
|
|
189
|
+
return new StateError(message);
|
|
190
|
+
}
|
|
191
|
+
if (message.startsWith("Parent node not found:")) {
|
|
192
|
+
return new RenderError(message);
|
|
193
|
+
}
|
|
194
|
+
return new RenderError(message);
|
|
195
|
+
}
|
|
196
|
+
|
|
24
197
|
// src/logger.ts
|
|
198
|
+
var LOG_LEVEL_ORDER = {
|
|
199
|
+
debug: 0,
|
|
200
|
+
info: 1,
|
|
201
|
+
warn: 2,
|
|
202
|
+
error: 3,
|
|
203
|
+
none: 4
|
|
204
|
+
};
|
|
205
|
+
var LOG_LEVEL_COLORS = {
|
|
206
|
+
debug: "\x1B[36m",
|
|
207
|
+
info: "\x1B[32m",
|
|
208
|
+
warn: "\x1B[33m",
|
|
209
|
+
error: "\x1B[31m"
|
|
210
|
+
};
|
|
211
|
+
var RESET_COLOR = "\x1B[0m";
|
|
25
212
|
function isProduction() {
|
|
26
213
|
if (typeof process !== "undefined" && process.env) {
|
|
27
214
|
return false;
|
|
28
215
|
}
|
|
29
216
|
return false;
|
|
30
217
|
}
|
|
218
|
+
var config = {
|
|
219
|
+
level: isProduction() ? "error" : "info",
|
|
220
|
+
colors: true,
|
|
221
|
+
timestamps: false
|
|
222
|
+
};
|
|
31
223
|
function setLogLevel(level) {
|
|
32
224
|
config.level = level;
|
|
33
225
|
}
|
|
@@ -158,161 +350,48 @@ class Logger {
|
|
|
158
350
|
function createLogger(tag) {
|
|
159
351
|
return new Logger(tag);
|
|
160
352
|
}
|
|
161
|
-
var
|
|
162
|
-
var
|
|
163
|
-
|
|
164
|
-
debug
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
log = {
|
|
183
|
-
debug: (tag, ...args) => {
|
|
184
|
-
if (!shouldLog("debug"))
|
|
185
|
-
return;
|
|
186
|
-
console.log(formatTag(tag, "debug"), ...args);
|
|
187
|
-
},
|
|
188
|
-
info: (tag, ...args) => {
|
|
189
|
-
if (!shouldLog("info"))
|
|
190
|
-
return;
|
|
191
|
-
console.info(formatTag(tag, "info"), ...args);
|
|
192
|
-
},
|
|
193
|
-
warn: (tag, ...args) => {
|
|
194
|
-
if (!shouldLog("warn"))
|
|
195
|
-
return;
|
|
196
|
-
console.warn(formatTag(tag, "warn"), ...args);
|
|
197
|
-
},
|
|
198
|
-
error: (tag, ...args) => {
|
|
199
|
-
if (!shouldLog("error"))
|
|
200
|
-
return;
|
|
201
|
-
console.error(formatTag(tag, "error"), ...args);
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
frameworkLoggers = {
|
|
205
|
-
hypen: createLogger("Hypen"),
|
|
206
|
-
engine: createLogger("Engine"),
|
|
207
|
-
router: createLogger("Router"),
|
|
208
|
-
state: createLogger("State"),
|
|
209
|
-
events: createLogger("Events"),
|
|
210
|
-
remote: createLogger("Remote"),
|
|
211
|
-
renderer: createLogger("Renderer"),
|
|
212
|
-
module: createLogger("Module"),
|
|
213
|
-
lifecycle: createLogger("Lifecycle"),
|
|
214
|
-
loader: createLogger("Loader"),
|
|
215
|
-
context: createLogger("Context"),
|
|
216
|
-
discovery: createLogger("Discovery"),
|
|
217
|
-
plugin: createLogger("Plugin"),
|
|
218
|
-
canvas: createLogger("Canvas"),
|
|
219
|
-
debug: createLogger("Debug")
|
|
220
|
-
};
|
|
221
|
-
});
|
|
222
|
-
|
|
223
|
-
// src/result.ts
|
|
224
|
-
function Ok(value) {
|
|
225
|
-
return { ok: true, value };
|
|
226
|
-
}
|
|
227
|
-
function Err(error) {
|
|
228
|
-
return { ok: false, error };
|
|
229
|
-
}
|
|
230
|
-
function classifyEngineError(err) {
|
|
231
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
232
|
-
if (message.startsWith("Parse error:")) {
|
|
233
|
-
return new ParseError(message);
|
|
234
|
-
}
|
|
235
|
-
if (message.startsWith("Invalid state:") || message.startsWith("Invalid state patch:")) {
|
|
236
|
-
return new StateError(message);
|
|
237
|
-
}
|
|
238
|
-
if (message.startsWith("Parent node not found:")) {
|
|
239
|
-
return new RenderError(message);
|
|
353
|
+
var logger = createLogger("Hypen");
|
|
354
|
+
var log = {
|
|
355
|
+
debug: (tag, ...args) => {
|
|
356
|
+
if (!shouldLog("debug"))
|
|
357
|
+
return;
|
|
358
|
+
console.log(formatTag(tag, "debug"), ...args);
|
|
359
|
+
},
|
|
360
|
+
info: (tag, ...args) => {
|
|
361
|
+
if (!shouldLog("info"))
|
|
362
|
+
return;
|
|
363
|
+
console.info(formatTag(tag, "info"), ...args);
|
|
364
|
+
},
|
|
365
|
+
warn: (tag, ...args) => {
|
|
366
|
+
if (!shouldLog("warn"))
|
|
367
|
+
return;
|
|
368
|
+
console.warn(formatTag(tag, "warn"), ...args);
|
|
369
|
+
},
|
|
370
|
+
error: (tag, ...args) => {
|
|
371
|
+
if (!shouldLog("error"))
|
|
372
|
+
return;
|
|
373
|
+
console.error(formatTag(tag, "error"), ...args);
|
|
240
374
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
actionName;
|
|
260
|
-
constructor(actionName, cause) {
|
|
261
|
-
super("ACTION_ERROR", `Action handler "${actionName}" failed: ${cause instanceof Error ? cause.message : String(cause)}`, {
|
|
262
|
-
context: { actionName },
|
|
263
|
-
cause: cause instanceof Error ? cause : undefined
|
|
264
|
-
});
|
|
265
|
-
this.name = "ActionError";
|
|
266
|
-
this.actionName = actionName;
|
|
267
|
-
}
|
|
268
|
-
};
|
|
269
|
-
ConnectionError = class ConnectionError extends HypenError {
|
|
270
|
-
url;
|
|
271
|
-
attempt;
|
|
272
|
-
constructor(url, cause, attempt) {
|
|
273
|
-
super("CONNECTION_ERROR", `Connection to "${url}" failed${attempt ? ` (attempt ${attempt})` : ""}: ${cause instanceof Error ? cause.message : String(cause)}`, {
|
|
274
|
-
context: { url, attempt },
|
|
275
|
-
cause: cause instanceof Error ? cause : undefined
|
|
276
|
-
});
|
|
277
|
-
this.name = "ConnectionError";
|
|
278
|
-
this.url = url;
|
|
279
|
-
this.attempt = attempt;
|
|
280
|
-
}
|
|
281
|
-
};
|
|
282
|
-
StateError = class StateError extends HypenError {
|
|
283
|
-
path;
|
|
284
|
-
constructor(message, path, cause) {
|
|
285
|
-
super("STATE_ERROR", message, {
|
|
286
|
-
context: { path },
|
|
287
|
-
cause: cause instanceof Error ? cause : undefined
|
|
288
|
-
});
|
|
289
|
-
this.name = "StateError";
|
|
290
|
-
this.path = path;
|
|
291
|
-
}
|
|
292
|
-
};
|
|
293
|
-
ParseError = class ParseError extends HypenError {
|
|
294
|
-
source;
|
|
295
|
-
constructor(message, source, cause) {
|
|
296
|
-
super("PARSE_ERROR", message, {
|
|
297
|
-
context: { source },
|
|
298
|
-
cause: cause instanceof Error ? cause : undefined
|
|
299
|
-
});
|
|
300
|
-
this.name = "ParseError";
|
|
301
|
-
this.source = source;
|
|
302
|
-
}
|
|
303
|
-
};
|
|
304
|
-
RenderError = class RenderError extends HypenError {
|
|
305
|
-
constructor(message, cause) {
|
|
306
|
-
super("RENDER_ERROR", message, {
|
|
307
|
-
cause: cause instanceof Error ? cause : undefined
|
|
308
|
-
});
|
|
309
|
-
this.name = "RenderError";
|
|
310
|
-
}
|
|
311
|
-
};
|
|
312
|
-
});
|
|
375
|
+
};
|
|
376
|
+
var frameworkLoggers = {
|
|
377
|
+
hypen: createLogger("Hypen"),
|
|
378
|
+
engine: createLogger("Engine"),
|
|
379
|
+
router: createLogger("Router"),
|
|
380
|
+
state: createLogger("State"),
|
|
381
|
+
events: createLogger("Events"),
|
|
382
|
+
remote: createLogger("Remote"),
|
|
383
|
+
renderer: createLogger("Renderer"),
|
|
384
|
+
module: createLogger("Module"),
|
|
385
|
+
lifecycle: createLogger("Lifecycle"),
|
|
386
|
+
loader: createLogger("Loader"),
|
|
387
|
+
context: createLogger("Context"),
|
|
388
|
+
discovery: createLogger("Discovery"),
|
|
389
|
+
plugin: createLogger("Plugin"),
|
|
390
|
+
canvas: createLogger("Canvas"),
|
|
391
|
+
debug: createLogger("Debug")
|
|
392
|
+
};
|
|
313
393
|
|
|
314
394
|
// src/disposable.ts
|
|
315
|
-
init_logger();
|
|
316
395
|
var log2 = frameworkLoggers.lifecycle;
|
|
317
396
|
function isDisposable(obj) {
|
|
318
397
|
return obj !== null && typeof obj === "object" && "dispose" in obj && typeof obj.dispose === "function";
|
|
@@ -459,11 +538,7 @@ function usingSync(resource, fn) {
|
|
|
459
538
|
}
|
|
460
539
|
}
|
|
461
540
|
|
|
462
|
-
// src/remote/client.ts
|
|
463
|
-
init_result();
|
|
464
|
-
|
|
465
541
|
// src/retry.ts
|
|
466
|
-
init_result();
|
|
467
542
|
var DEFAULT_OPTIONS = {
|
|
468
543
|
maxAttempts: 3,
|
|
469
544
|
delayMs: 1000,
|
|
@@ -527,6 +602,17 @@ async function retry(fn, options = {}) {
|
|
|
527
602
|
}
|
|
528
603
|
throw lastError;
|
|
529
604
|
}
|
|
605
|
+
async function retryResult(fn, options = {}) {
|
|
606
|
+
try {
|
|
607
|
+
const value = await retry(fn, options);
|
|
608
|
+
return Ok(value);
|
|
609
|
+
} catch (e) {
|
|
610
|
+
return Err(e instanceof Error ? e : new Error(String(e)));
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
function withRetry(fn, options = {}) {
|
|
614
|
+
return (...args) => retry(() => fn(...args), options);
|
|
615
|
+
}
|
|
530
616
|
var RetryConditions = {
|
|
531
617
|
networkErrors: (error) => {
|
|
532
618
|
const message = error.message.toLowerCase();
|
|
@@ -578,7 +664,6 @@ var RetryPresets = {
|
|
|
578
664
|
};
|
|
579
665
|
|
|
580
666
|
// src/remote/client.ts
|
|
581
|
-
init_logger();
|
|
582
667
|
var log3 = frameworkLoggers.remote;
|
|
583
668
|
|
|
584
669
|
class RemoteEngine {
|
|
@@ -848,4 +933,4 @@ export {
|
|
|
848
933
|
RemoteEngine
|
|
849
934
|
};
|
|
850
935
|
|
|
851
|
-
//# debugId=
|
|
936
|
+
//# debugId=D84E411FD767F3BF64756E2164756E21
|