skeleton-crew-runtime 0.1.5 → 0.2.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.
Files changed (41) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +459 -291
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/action-engine.d.ts +5 -5
  5. package/dist/action-engine.d.ts.map +1 -1
  6. package/dist/action-engine.js +4 -1
  7. package/dist/action-engine.js.map +1 -1
  8. package/dist/index.d.ts +5 -3
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +5 -2
  11. package/dist/index.js.map +1 -1
  12. package/dist/plugin-loader.d.ts +12 -0
  13. package/dist/plugin-loader.d.ts.map +1 -0
  14. package/dist/plugin-loader.js +131 -0
  15. package/dist/plugin-loader.js.map +1 -0
  16. package/dist/plugin-registry.d.ts +6 -6
  17. package/dist/plugin-registry.d.ts.map +1 -1
  18. package/dist/plugin-registry.js +10 -0
  19. package/dist/plugin-registry.js.map +1 -1
  20. package/dist/plugins/ConfigPlugin.d.ts +6 -0
  21. package/dist/plugins/ConfigPlugin.d.ts.map +1 -0
  22. package/dist/plugins/ConfigPlugin.js +37 -0
  23. package/dist/plugins/ConfigPlugin.js.map +1 -0
  24. package/dist/runtime-context.d.ts +4 -3
  25. package/dist/runtime-context.d.ts.map +1 -1
  26. package/dist/runtime-context.js +3 -0
  27. package/dist/runtime-context.js.map +1 -1
  28. package/dist/runtime.d.ts +12 -6
  29. package/dist/runtime.d.ts.map +1 -1
  30. package/dist/runtime.js +31 -0
  31. package/dist/runtime.js.map +1 -1
  32. package/dist/test-utils.d.ts +19 -0
  33. package/dist/test-utils.d.ts.map +1 -0
  34. package/dist/test-utils.js +17 -0
  35. package/dist/test-utils.js.map +1 -0
  36. package/dist/types.d.ts +23 -16
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/ui-bridge.d.ts +3 -3
  39. package/dist/ui-bridge.d.ts.map +1 -1
  40. package/dist/ui-bridge.js.map +1 -1
  41. package/package.json +90 -84
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigPlugin.js","sourceRoot":"","sources":["../../src/plugins/ConfigPlugin.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC1C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;IAChB,KAAK,CAAC,KAAK,CAAC,GAAmB;QAG3B,MAAM,IAAI,GAAI,GAAW,CAAC,IAAI,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAIvC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;YACvB,EAAE,EAAE,YAAY;YAChB,OAAO,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC5B,IAAI,GAAG,EAAE,CAAC;oBACN,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;SACJ,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;YACvB,EAAE,EAAE,YAAY;YAChB,OAAO,EAAE,KAAK,EAAE,OAA4B,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC/B,OAAO,MAAM,CAAC;YAClB,CAAC;SACJ,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;YACvB,EAAE,EAAE,iBAAiB;YACrB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAEhB,MAAM,SAAS,GAAI,GAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACrD,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;oBAClC,OAAO,MAAM,SAAS,CAAE,GAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAC"}
@@ -4,7 +4,7 @@ import type { ActionEngine } from './action-engine.js';
4
4
  import type { PluginRegistry } from './plugin-registry.js';
5
5
  import type { EventBus } from './event-bus.js';
6
6
  import type { Runtime } from './runtime.js';
7
- export declare class RuntimeContextImpl implements RuntimeContext {
7
+ export declare class RuntimeContextImpl<TConfig = Record<string, unknown>> implements RuntimeContext<TConfig> {
8
8
  private screenRegistry;
9
9
  private actionEngine;
10
10
  private pluginRegistry;
@@ -17,7 +17,7 @@ export declare class RuntimeContextImpl implements RuntimeContext {
17
17
  private cachedActionsAPI;
18
18
  private cachedPluginsAPI;
19
19
  private cachedEventsAPI;
20
- constructor(screenRegistry: ScreenRegistry, actionEngine: ActionEngine, pluginRegistry: PluginRegistry, eventBus: EventBus, runtime: Runtime, hostContext: Record<string, unknown>, logger: Logger);
20
+ constructor(screenRegistry: ScreenRegistry, actionEngine: ActionEngine<TConfig>, pluginRegistry: PluginRegistry<TConfig>, eventBus: EventBus, runtime: Runtime<TConfig>, hostContext: Record<string, unknown>, logger: Logger);
21
21
  get screens(): any;
22
22
  private createScreensAPI;
23
23
  get actions(): any;
@@ -26,9 +26,10 @@ export declare class RuntimeContextImpl implements RuntimeContext {
26
26
  private createPluginsAPI;
27
27
  get events(): any;
28
28
  private createEventsAPI;
29
- getRuntime(): Runtime;
29
+ getRuntime(): Runtime<TConfig>;
30
30
  get logger(): Logger;
31
31
  get host(): Readonly<Record<string, unknown>>;
32
+ get config(): Readonly<TConfig>;
32
33
  get introspect(): IntrospectionAPI;
33
34
  private createIntrospectionAPI;
34
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../src/runtime-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAwD,gBAAgB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACjI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAwC5C,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,eAAe,CAAM;gBAG3B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,EAAE,MAAM;IA2BhB,IAAI,OAAO,QAEV;IAED,OAAO,CAAC,gBAAgB;IAkBxB,IAAI,OAAO,QAEV;IAED,OAAO,CAAC,gBAAgB;IAexB,IAAI,OAAO,QAEV;IAED,OAAO,CAAC,gBAAgB;IAqBxB,IAAI,MAAM,QAET;IAED,OAAO,CAAC,eAAe;IAkBvB,UAAU,IAAI,OAAO;IAOrB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAUD,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAE5C;IASD,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAMD,OAAO,CAAC,sBAAsB;CAkG/B"}
1
+ {"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../src/runtime-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAwD,gBAAgB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACjI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAwC5C,qBAAa,kBAAkB,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,YAAW,cAAc,CAAC,OAAO,CAAC;IACnG,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,eAAe,CAAM;gBAG3B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,EACnC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,EACvC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,EAAE,MAAM;IA2BhB,IAAI,OAAO,QAEV;IAED,OAAO,CAAC,gBAAgB;IAkBxB,IAAI,OAAO,QAEV;IAED,OAAO,CAAC,gBAAgB;IAexB,IAAI,OAAO,QAEV;IAED,OAAO,CAAC,gBAAgB;IAqBxB,IAAI,MAAM,QAET;IAED,OAAO,CAAC,eAAe;IAkBvB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAO9B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAUD,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAE5C;IAKD,IAAI,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,CAE9B;IASD,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAMD,OAAO,CAAC,sBAAsB;CAkG/B"}
@@ -111,6 +111,9 @@ export class RuntimeContextImpl {
111
111
  get host() {
112
112
  return this.frozenHostContext;
113
113
  }
114
+ get config() {
115
+ return this.runtime.getConfig();
116
+ }
114
117
  get introspect() {
115
118
  return this.introspectionAPI;
116
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-context.js","sourceRoot":"","sources":["../src/runtime-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-context.js","sourceRoot":"","sources":["../src/runtime-context.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { RuntimeContext, UIProvider, PluginDefinition, RuntimeOptions, Logger } from './types.js';
2
2
  import { RuntimeState } from './types.js';
3
- export declare class Runtime {
3
+ export declare class Runtime<TConfig = Record<string, unknown>> {
4
4
  private plugins;
5
5
  private screens;
6
6
  private actions;
@@ -12,17 +12,23 @@ export declare class Runtime {
12
12
  readonly logger: Logger;
13
13
  private state;
14
14
  private hostContext;
15
+ private config;
15
16
  private performanceMonitor;
16
- constructor(options?: RuntimeOptions);
17
+ private pluginLoader;
18
+ private pluginPaths;
19
+ private pluginPackages;
20
+ constructor(options?: RuntimeOptions<TConfig>);
17
21
  private validateHostContext;
18
- registerPlugin(plugin: PluginDefinition): void;
22
+ registerPlugin(plugin: PluginDefinition<TConfig>): void;
19
23
  initialize(): Promise<void>;
20
24
  shutdown(): Promise<void>;
21
- getContext(): RuntimeContext;
25
+ getContext(): RuntimeContext<TConfig>;
22
26
  isInitialized(): boolean;
23
27
  getState(): RuntimeState;
24
- setUIProvider(provider: UIProvider): void;
25
- getUIProvider(): UIProvider | null;
28
+ setUIProvider(provider: UIProvider<TConfig>): void;
29
+ getUIProvider(): UIProvider<TConfig> | null;
26
30
  renderScreen(screenId: string): unknown;
31
+ getConfig(): Readonly<TConfig>;
32
+ updateConfig(config: Partial<TConfig>): void;
27
33
  }
28
34
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,EAAiB,YAAY,EAAE,MAAM,YAAY,CAAC;AAezD,qBAAa,OAAO;IAClB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAA0B;IAChD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,kBAAkB,CAAqB;gBAWnC,OAAO,CAAC,EAAE,cAAc;IAepC,OAAO,CAAC,mBAAmB;IAkC3B,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAiBxC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgF3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD/B,UAAU,IAAI,cAAc;IAc5B,aAAa,IAAI,OAAO;IAWxB,QAAQ,IAAI,YAAY;IAcxB,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;IAYzC,aAAa,IAAI,UAAU,GAAG,IAAI;IAclC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAYxC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,EAAiB,YAAY,EAAE,MAAM,YAAY,CAAC;AAgBzD,qBAAa,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpD,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAAmC;IACzD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,cAAc,CAAW;gBAWrB,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC;IA0B7C,OAAO,CAAC,mBAAmB;IAkC3B,cAAc,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI;IAiBjD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8F3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAgD/B,UAAU,IAAI,cAAc,CAAC,OAAO,CAAC;IAcrC,aAAa,IAAI,OAAO;IAWxB,QAAQ,IAAI,YAAY;IAcxB,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI;IAYlD,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI;IAc3C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAgBvC,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC;IAS9B,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;CAQ7C"}
package/dist/runtime.js CHANGED
@@ -6,6 +6,7 @@ import { EventBus } from './event-bus.js';
6
6
  import { UIBridge } from './ui-bridge.js';
7
7
  import { RuntimeContextImpl } from './runtime-context.js';
8
8
  import { createPerformanceMonitor } from './performance.js';
9
+ import { DirectoryPluginLoader } from './plugin-loader.js';
9
10
  export class Runtime {
10
11
  plugins;
11
12
  screens;
@@ -18,11 +19,22 @@ export class Runtime {
18
19
  logger;
19
20
  state = RuntimeState.Uninitialized;
20
21
  hostContext;
22
+ config;
21
23
  performanceMonitor;
24
+ pluginLoader;
25
+ pluginPaths;
26
+ pluginPackages;
22
27
  constructor(options) {
23
28
  this.logger = options?.logger ?? new ConsoleLogger();
24
29
  this.hostContext = options?.hostContext ?? {};
30
+ this.config = options?.config ? { ...options.config } : {};
31
+ if (this.config && typeof this.config === 'object') {
32
+ Object.freeze(this.config);
33
+ }
25
34
  this.performanceMonitor = createPerformanceMonitor(options?.enablePerformanceMonitoring ?? false);
35
+ this.pluginLoader = new DirectoryPluginLoader(this.logger);
36
+ this.pluginPaths = options?.pluginPaths ?? [];
37
+ this.pluginPackages = options?.pluginPackages ?? [];
26
38
  this.validateHostContext(this.hostContext);
27
39
  }
28
40
  validateHostContext(context) {
@@ -58,6 +70,13 @@ export class Runtime {
58
70
  const timer = this.performanceMonitor.startTimer('runtime:initialize');
59
71
  try {
60
72
  this.plugins = new PluginRegistry(this.logger);
73
+ if (this.pluginPaths.length > 0 || this.pluginPackages.length > 0) {
74
+ this.logger.info('Loading plugins via DirectoryPluginLoader...');
75
+ const discoveredPlugins = await this.pluginLoader.loadPlugins(this.pluginPaths, this.pluginPackages);
76
+ for (const plugin of discoveredPlugins) {
77
+ this.plugins.registerPlugin(plugin);
78
+ }
79
+ }
61
80
  for (const plugin of this.pendingPlugins) {
62
81
  this.plugins.registerPlugin(plugin);
63
82
  }
@@ -126,5 +145,17 @@ export class Runtime {
126
145
  }
127
146
  return this.ui.renderScreen(screen);
128
147
  }
148
+ getConfig() {
149
+ return this.config;
150
+ }
151
+ updateConfig(config) {
152
+ if (!this.config || typeof this.config !== 'object') {
153
+ this.config = config;
154
+ }
155
+ else {
156
+ this.config = { ...this.config, ...config };
157
+ }
158
+ Object.freeze(this.config);
159
+ }
129
160
  }
130
161
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAA2B,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAQ3D,MAAM,OAAO,OAAO;IACV,OAAO,CAA2B;IAClC,OAAO,CAAkB;IACzB,OAAO,CAAyB;IAChC,MAAM,CAAY;IAClB,EAAE,CAAqB;IACvB,OAAO,CAA2B;IAClC,WAAW,GAAY,KAAK,CAAC;IAC7B,cAAc,GAAgC,EAAE,CAAC;IACzC,MAAM,CAAS;IACvB,KAAK,GAAiB,YAAY,CAAC,aAAa,CAAC;IACjD,WAAW,CAA0B;IACrC,MAAM,CAAU;IAChB,kBAAkB,CAAqB;IACvC,YAAY,CAAwB;IACpC,WAAW,CAAW;IACtB,cAAc,CAAW;IAWjC,YAAY,OAAiC;QAC3C,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;QAE9C,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAa,CAAC,CAAC,CAAC,EAAa,CAAC;QACjF,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,wBAAwB,CAAC,OAAO,EAAE,2BAA2B,IAAI,KAAK,CAAC,CAAC;QAGlG,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,EAAE,CAAC;QAEpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAUO,mBAAmB,CAAC,OAAgC;QAE1D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAGD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAE/C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;gBAC1C,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,eAAe,IAAI,SAAS,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAGf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,0CAA0C,CAAC,CAAC;YACvF,CAAC;YAGD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,qDAAqD,CAAC,CAAC;YAClG,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IASD,cAAc,CAAC,MAAiC;QAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAYD,KAAK,CAAC,UAAU;QAEd,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC;QAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAEvE,IAAI,CAAC;YAIH,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAU,IAAI,CAAC,MAAM,CAAC,CAAC;YAGxD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBACjE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAC3D,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,CACpB,CAAC;gBAGF,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;oBACvC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAmC,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAGD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAGzB,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAG/C,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAU,IAAI,CAAC,MAAM,CAAC,CAAC;YAGtD,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAGxC,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAU,IAAI,CAAC,MAAM,CAAC,CAAC;YAG7C,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CACnC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,EACJ,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CACZ,CAAC;YAGF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAItC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAG9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAGxB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC;YAGtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAGnE,KAAK,EAAE,CAAC;QACV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC;YACxC,KAAK,EAAE,CAAC;YACR,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAUD,KAAK,CAAC,QAAQ;QAEZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC;QAGvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAIhE,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAIhD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;QAGD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAGrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAW,CAAC,CAAC;QAGrC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAGzB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC;IACrC,CAAC;IAUD,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IASD,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,WAAW,CAAC;IACjD,CAAC;IASD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAYD,aAAa,CAAC,QAA6B;QACzC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAUD,aAAa;QACX,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAYD,YAAY,CAAC,QAAgB;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAGhD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,aAAa,CAAC,CAAC;QAC5D,CAAC;QAGD,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAOD,YAAY,CAAC,MAAwB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,GAAG,MAAiB,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import { Runtime } from './runtime.js';
2
+ import { Logger } from './types.js';
3
+ export declare class MemoryLogger implements Logger {
4
+ logs: {
5
+ level: string;
6
+ message: string;
7
+ args: unknown[];
8
+ }[];
9
+ debug(message: string, ...args: unknown[]): void;
10
+ info(message: string, ...args: unknown[]): void;
11
+ warn(message: string, ...args: unknown[]): void;
12
+ error(message: string, ...args: unknown[]): void;
13
+ clear(): void;
14
+ }
15
+ export interface TestRuntimeOptions {
16
+ hostContext?: Record<string, unknown>;
17
+ }
18
+ export declare function createTestRuntime(options?: TestRuntimeOptions): Runtime;
19
+ //# sourceMappingURL=test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,qBAAa,YAAa,YAAW,MAAM;IAChC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,EAAE,CAAA;KAAE,EAAE,CAAM;IAExE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IACzC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IACxC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IACxC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAEzC,KAAK;CACR;AAED,MAAM,WAAW,kBAAkB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAM3E"}
@@ -0,0 +1,17 @@
1
+ import { Runtime } from './runtime.js';
2
+ export class MemoryLogger {
3
+ logs = [];
4
+ debug(message, ...args) { this.logs.push({ level: 'debug', message, args }); }
5
+ info(message, ...args) { this.logs.push({ level: 'info', message, args }); }
6
+ warn(message, ...args) { this.logs.push({ level: 'warn', message, args }); }
7
+ error(message, ...args) { this.logs.push({ level: 'error', message, args }); }
8
+ clear() { this.logs = []; }
9
+ }
10
+ export function createTestRuntime(options = {}) {
11
+ return new Runtime({
12
+ logger: new MemoryLogger(),
13
+ hostContext: options.hostContext || {},
14
+ enablePerformanceMonitoring: false
15
+ });
16
+ }
17
+ //# sourceMappingURL=test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,MAAM,OAAO,YAAY;IACd,IAAI,GAA0D,EAAE,CAAC;IAExE,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjG,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/F,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjG,KAAK,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;CAC9B;AAMD,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE;IAC9D,OAAO,IAAI,OAAO,CAAC;QACf,MAAM,EAAE,IAAI,YAAY,EAAE;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,2BAA2B,EAAE,KAAK;KACrC,CAAC,CAAC;AACP,CAAC"}
package/dist/types.d.ts CHANGED
@@ -38,41 +38,42 @@ export declare enum RuntimeState {
38
38
  ShuttingDown = "shutting_down",
39
39
  Shutdown = "shutdown"
40
40
  }
41
- export interface PluginDefinition {
41
+ export interface PluginDefinition<TConfig = Record<string, unknown>> {
42
42
  name: string;
43
43
  version: string;
44
- setup: (context: RuntimeContext) => void | Promise<void>;
45
- dispose?: (context: RuntimeContext) => void | Promise<void>;
44
+ dependencies?: string[];
45
+ setup: (context: RuntimeContext<TConfig>) => void | Promise<void>;
46
+ dispose?: (context: RuntimeContext<TConfig>) => void | Promise<void>;
46
47
  }
47
48
  export interface ScreenDefinition {
48
49
  id: string;
49
50
  title: string;
50
51
  component: string;
51
52
  }
52
- export interface ActionDefinition<P = unknown, R = unknown> {
53
+ export interface ActionDefinition<P = unknown, R = unknown, TConfig = Record<string, unknown>> {
53
54
  id: string;
54
- handler: (params: P, context: RuntimeContext) => Promise<R> | R;
55
+ handler: (params: P, context: RuntimeContext<TConfig>) => Promise<R> | R;
55
56
  timeout?: number;
56
57
  }
57
- export interface UIProvider {
58
- mount(target: unknown, context: RuntimeContext): void | Promise<void>;
58
+ export interface UIProvider<TConfig = Record<string, unknown>> {
59
+ mount(target: unknown, context: RuntimeContext<TConfig>): void | Promise<void>;
59
60
  renderScreen(screen: ScreenDefinition): unknown | Promise<unknown>;
60
61
  unmount?(): void | Promise<void>;
61
62
  }
62
- export interface RuntimeContext {
63
+ export interface RuntimeContext<TConfig = Record<string, unknown>> {
63
64
  screens: {
64
65
  registerScreen(screen: ScreenDefinition): () => void;
65
66
  getScreen(id: string): ScreenDefinition | null;
66
67
  getAllScreens(): ScreenDefinition[];
67
68
  };
68
69
  actions: {
69
- registerAction<P = unknown, R = unknown>(action: ActionDefinition<P, R>): () => void;
70
+ registerAction<P = unknown, R = unknown>(action: ActionDefinition<P, R, TConfig>): () => void;
70
71
  runAction<P = unknown, R = unknown>(id: string, params?: P): Promise<R>;
71
72
  };
72
73
  plugins: {
73
- registerPlugin(plugin: PluginDefinition): void;
74
- getPlugin(name: string): PluginDefinition | null;
75
- getAllPlugins(): PluginDefinition[];
74
+ registerPlugin(plugin: PluginDefinition<TConfig>): void;
75
+ getPlugin(name: string): PluginDefinition<TConfig> | null;
76
+ getAllPlugins(): PluginDefinition<TConfig>[];
76
77
  getInitializedPlugins(): string[];
77
78
  };
78
79
  events: {
@@ -80,20 +81,26 @@ export interface RuntimeContext {
80
81
  emitAsync(event: string, data?: unknown): Promise<void>;
81
82
  on(event: string, handler: (data: unknown) => void): () => void;
82
83
  };
83
- getRuntime(): Runtime;
84
+ getRuntime(): Runtime<TConfig>;
84
85
  readonly logger: Logger;
86
+ readonly config: Readonly<TConfig>;
85
87
  readonly host: Readonly<Record<string, unknown>>;
86
88
  readonly introspect: IntrospectionAPI;
87
89
  }
88
- export interface Runtime {
90
+ export interface Runtime<TConfig = Record<string, unknown>> {
89
91
  initialize(): Promise<void>;
90
92
  shutdown(): Promise<void>;
91
- getContext(): RuntimeContext;
93
+ getContext(): RuntimeContext<TConfig>;
94
+ getConfig(): Readonly<TConfig>;
95
+ updateConfig(config: Partial<TConfig>): void;
92
96
  }
93
- export interface RuntimeOptions {
97
+ export interface RuntimeOptions<TConfig = Record<string, unknown>> {
94
98
  logger?: Logger;
95
99
  hostContext?: Record<string, unknown>;
100
+ config?: TConfig;
96
101
  enablePerformanceMonitoring?: boolean;
102
+ pluginPaths?: string[];
103
+ pluginPackages?: string[];
97
104
  }
98
105
  export interface ActionMetadata {
99
106
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { UIProvider, ScreenDefinition, Logger } from './types.js';
2
- export declare class UIBridge {
2
+ export declare class UIBridge<TConfig = Record<string, unknown>> {
3
3
  private provider;
4
4
  private logger;
5
5
  constructor(logger: Logger);
6
- setProvider(provider: UIProvider): void;
7
- getProvider(): UIProvider | null;
6
+ setProvider(provider: UIProvider<TConfig>): void;
7
+ getProvider(): UIProvider<TConfig> | null;
8
8
  renderScreen(screen: ScreenDefinition): unknown;
9
9
  shutdown(): Promise<void>;
10
10
  clear(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ui-bridge.d.ts","sourceRoot":"","sources":["../src/ui-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAA+C,MAAM,YAAY,CAAC;AAO/G,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAU1B,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;IAsBvC,WAAW,IAAI,UAAU,GAAG,IAAI;IAShC,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAYzC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAe/B,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"ui-bridge.d.ts","sourceRoot":"","sources":["../src/ui-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAA+C,MAAM,YAAY,CAAC;AAO/G,qBAAa,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAU1B,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI;IAsBhD,WAAW,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI;IASzC,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAYzC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAe/B,KAAK,IAAI,IAAI;CAGd"}
@@ -1 +1 @@
1
- {"version":3,"file":"ui-bridge.js","sourceRoot":"","sources":["../src/ui-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,eAAe,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAO/G,MAAM,OAAO,QAAQ;IACX,QAAQ,GAAsB,IAAI,CAAC;IACnC,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAQD,WAAW,CAAC,QAAoB;QAE9B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,0BAA0B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAChE,CAAC;QAGD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAMD,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAOD,YAAY,CAAC,MAAwB;QACnC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAMD,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAKD,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"ui-bridge.js","sourceRoot":"","sources":["../src/ui-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,eAAe,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAO/G,MAAM,OAAO,QAAQ;IACX,QAAQ,GAA+B,IAAI,CAAC;IAC5C,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAQD,WAAW,CAAC,QAA6B;QAEvC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,0BAA0B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAChE,CAAC;QAGD,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAMD,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAOD,YAAY,CAAC,MAAwB;QACnC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAMD,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAKD,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF"}
package/package.json CHANGED
@@ -1,84 +1,90 @@
1
- {
2
- "name": "skeleton-crew-runtime",
3
- "version": "0.1.5",
4
- "description": "A minimal plugin runtime for building modular JavaScript applications.",
5
- "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js",
12
- "default": "./dist/index.js"
13
- }
14
- },
15
- "files": [
16
- "dist/",
17
- "LICENSE",
18
- "README.md"
19
- ],
20
- "scripts": {
21
- "build": "rimraf dist && tsc",
22
- "build:examples": "rimraf dist-examples && tsc -p tsconfig.examples.json",
23
- "test": "vitest run",
24
- "test:watch": "vitest",
25
- "prepublishOnly": "npm run build && npm test",
26
- "examples": "npm run build:examples && node dist-example/examples/playground/index.js",
27
- "example:01": "npm run build:examples && node dist-example/examples/basics/01-plugin-system/index.js",
28
- "example:02": "npm run build:examples && node dist-example/examples/basics/02-screen-registry/index.js",
29
- "example:03": "npm run build:examples && node dist-example/examples/basics/03-action-engine/index.js",
30
- "example:04": "npm run build:examples && node dist-example/examples/basics/04-event-bus/index.js",
31
- "example:05": "npm run build:examples && node dist-example/examples/basics/05-runtime-context/index.js",
32
- "tutorial:01": "npm run build:examples && node dist-example/examples/tutorial/01-basic-task-plugin/index.js",
33
- "tutorial:02": "npm run build:examples && node dist-example/examples/tutorial/02-multiple-plugins/index.js",
34
- "tutorial:03": "npm run build:examples && node dist-example/examples/tutorial/03-event-communication/index.js",
35
- "tutorial:04": "npm run build:examples && vite dist-example/examples/tutorial/04-ui-provider-swap",
36
- "tutorial:05": "npm run build:examples && node dist-example/examples/tutorial/05-custom-plugin/index.js"
37
- },
38
- "keywords": [
39
- "runtime",
40
- "plugin",
41
- "plugin-system",
42
- "framework",
43
- "internal-tools",
44
- "modular",
45
- "ui-agnostic",
46
- "event-driven",
47
- "browser-extension",
48
- "cli-tools",
49
- "typescript"
50
- ],
51
- "author": {
52
- "name": "skcrew",
53
- "email": "skeletoncrewruntime@gmail.com"
54
- },
55
- "license": "MIT",
56
- "repository": {
57
- "type": "git",
58
- "url": "git+https://github.com/skcrew/runtime.git"
59
- },
60
- "homepage": "https://github.com/skcrew/runtime#readme",
61
- "bugs": {
62
- "url": "https://github.com/skcrew/runtime/issues"
63
- },
64
- "engines": {
65
- "node": ">=18.0.0",
66
- "npm": ">=8.0.0"
67
- },
68
- "devDependencies": {
69
- "@types/node": "^20.10.0",
70
- "@vitest/coverage-v8": "^4.0.15",
71
- "fast-check": "^3.15.0",
72
- "rimraf": "^6.1.2",
73
- "typescript": "^5.3.3",
74
- "vitest": "^4.0.15"
75
- },
76
- "optionalDependencies": {
77
- "@types/react": "^18.2.0",
78
- "@types/react-dom": "^18.2.0",
79
- "@vitejs/plugin-react": "^4.2.0",
80
- "react": "^18.2.0",
81
- "react-dom": "^18.2.0",
82
- "vite": "^7.2.6"
83
- }
84
- }
1
+ {
2
+ "name": "skeleton-crew-runtime",
3
+ "version": "0.2.1",
4
+ "description": "A minimal plugin runtime for building modular JavaScript applications.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist/",
17
+ "LICENSE",
18
+ "README.md"
19
+ ],
20
+ "scripts": {
21
+ "build": "rimraf dist && tsc",
22
+ "build:examples": "rimraf dist-examples && tsc -p tsconfig.examples.json",
23
+ "test": "vitest run --reporter=json --outputFile=./test-output.json",
24
+ "test:verbose": "vitest run",
25
+ "test:watch": "vitest",
26
+ "prepublishOnly": "npm run build && npm test",
27
+ "release": "node scripts/release.js",
28
+ "release:dry": "node scripts/release.js --dry-run",
29
+ "examples": "npm run build:examples && node dist-example/examples/playground/index.js",
30
+ "example:01": "npm run build:examples && node dist-example/examples/basics/01-plugin-system/index.js",
31
+ "example:02": "npm run build:examples && node dist-example/examples/basics/02-screen-registry/index.js",
32
+ "example:03": "npm run build:examples && node dist-example/examples/basics/03-action-engine/index.js",
33
+ "example:04": "npm run build:examples && node dist-example/examples/basics/04-event-bus/index.js",
34
+ "example:05": "npm run build:examples && node dist-example/examples/basics/05-runtime-context/index.js",
35
+ "tutorial:01": "npm run build:examples && node dist-example/examples/tutorial/01-basic-task-plugin/index.js",
36
+ "tutorial:02": "npm run build:examples && node dist-example/examples/tutorial/02-multiple-plugins/index.js",
37
+ "tutorial:03": "npm run build:examples && node dist-example/examples/tutorial/03-event-communication/index.js",
38
+ "tutorial:04": "npm run build:examples && vite dist-example/examples/tutorial/04-ui-provider-swap",
39
+ "tutorial:05": "npm run build:examples && node dist-example/examples/tutorial/05-custom-plugin/index.js"
40
+ },
41
+ "keywords": [
42
+ "runtime",
43
+ "plugin",
44
+ "plugin-system",
45
+ "framework",
46
+ "internal-tools",
47
+ "modular",
48
+ "ui-agnostic",
49
+ "event-driven",
50
+ "browser-extension",
51
+ "cli-tools",
52
+ "typescript"
53
+ ],
54
+ "author": {
55
+ "name": "skcrew",
56
+ "email": "skeletoncrewruntime@gmail.com"
57
+ },
58
+ "license": "MIT",
59
+ "repository": {
60
+ "type": "git",
61
+ "url": "git+https://github.com/skcrew/runtime.git"
62
+ },
63
+ "homepage": "https://github.com/skcrew/runtime#readme",
64
+ "bugs": {
65
+ "url": "https://github.com/skcrew/runtime/issues"
66
+ },
67
+ "engines": {
68
+ "node": ">=18.0.0",
69
+ "npm": ">=8.0.0"
70
+ },
71
+ "devDependencies": {
72
+ "@types/node": "^20.10.0",
73
+ "@vitest/coverage-v8": "^4.0.15",
74
+ "fast-check": "^3.15.0",
75
+ "rimraf": "^6.1.2",
76
+ "typescript": "^5.3.3",
77
+ "vitest": "^4.0.15"
78
+ },
79
+ "optionalDependencies": {
80
+ "@types/react": "^18.2.0",
81
+ "@types/react-dom": "^18.2.0",
82
+ "@vitejs/plugin-react": "^4.2.0",
83
+ "react": "^18.2.0",
84
+ "react-dom": "^18.2.0",
85
+ "vite": "^7.2.6"
86
+ },
87
+ "dependencies": {
88
+ "fast-glob": "^3.3.3"
89
+ }
90
+ }