@modularizer/plat 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ import { OpenAPIClient } from '../client/openapi-client';
2
2
  import type { OpenAPISpec } from '../types/openapi';
3
3
  import { type ClientSideServerMQTTWebRTCOptions, type ClientSideServerMQTTWebRTCServer } from './mqtt-webrtc';
4
4
  import { type PLATClientSideServer } from './server';
5
- import type { ClientSideServerSourceAnalysis } from './source-analysis';
5
+ import { type ClientSideServerSourceAnalysis, type TypeScriptLike } from './source-analysis';
6
6
  type ControllerClass = new () => any;
7
7
  export interface ClientSideServerDefinition {
8
8
  serverName: string;
@@ -18,9 +18,14 @@ export interface ClientSideServerSourceModule {
18
18
  export interface StartClientSideServerFromSourceOptions extends ClientSideServerMQTTWebRTCOptions {
19
19
  serverName?: string;
20
20
  undecoratedMode?: 'GET' | 'POST' | 'private';
21
- source: string;
22
- transpile?: (source: string) => string | Promise<string>;
23
- analyzeSource?: (source: string) => ClientSideServerSourceAnalysis | Promise<ClientSideServerSourceAnalysis>;
21
+ source: string | Record<string, string>;
22
+ /**
23
+ * Optional: specify which file is the entry point when using multiple source files.
24
+ * Defaults to 'index.ts' or the first file if not specified.
25
+ */
26
+ sourceEntryPoint?: string;
27
+ transpile?: (source: string | Record<string, string>, entryPoint?: string) => string | Promise<string>;
28
+ analyzeSource?: (source: string | Record<string, string>, entryPoint?: string) => ClientSideServerSourceAnalysis | Promise<ClientSideServerSourceAnalysis>;
24
29
  onRequest?: (direction: 'request' | 'response', payload: unknown) => void;
25
30
  }
26
31
  export interface StartedClientSideServer {
@@ -30,6 +35,33 @@ export interface StartedClientSideServer {
30
35
  openapi: Record<string, any>;
31
36
  stop(): Promise<void>;
32
37
  }
38
+ /**
39
+ * Optional knobs for {@link runClientSideServer}. Everything except
40
+ * `transpile` / `analyzeSource` is forwarded to {@link startClientSideServerFromSource}.
41
+ */
42
+ export type RunClientSideServerOptions = Omit<StartClientSideServerFromSourceOptions, 'source' | 'transpile' | 'analyzeSource'> & {
43
+ /** Advanced: custom TS→JS step instead of the built-in `transpileModule` defaults. */
44
+ transpile?: (source: string | Record<string, string>, entryPoint?: string) => string | Promise<string>;
45
+ /** Advanced: custom analysis instead of {@link analyzeClientSideServerSource}. */
46
+ analyzeSource?: (source: string | Record<string, string>, entryPoint?: string) => ClientSideServerSourceAnalysis | Promise<ClientSideServerSourceAnalysis>;
47
+ };
48
+ /** @deprecated Use {@link RunClientSideServerOptions} */
49
+ export type RunClientSideServerFromSourceOptions = RunClientSideServerOptions;
50
+ /**
51
+ * Single entry point for a browser client-side server: pass the server TypeScript
52
+ * source (single file string or multiple files as a map); this transpiles it, runs
53
+ * static analysis (rich OpenAPI), creates the server, and starts MQTT/WebRTC signaling.
54
+ * Same behavior as sample 6 with no manual `transpile` / `analyzeSource` wiring.
55
+ *
56
+ * @param source - TypeScript source code as a string, or a map of file paths to source code
57
+ * @param options - Configuration options
58
+ */
59
+ export declare function runClientSideServer(source: string, options?: RunClientSideServerOptions): Promise<StartedClientSideServer>;
60
+ export declare function runClientSideServer(source: Record<string, string>, options?: RunClientSideServerOptions & {
61
+ sourceEntryPoint?: string;
62
+ }): Promise<StartedClientSideServer>;
63
+ /** @deprecated Use {@link runClientSideServer} */
64
+ export declare const runClientSideServerFromSource: typeof runClientSideServer;
33
65
  export declare function startClientSideServerFromSource(options: StartClientSideServerFromSourceOptions): Promise<StartedClientSideServer>;
34
66
  export declare function serveClientSideServer(serverName: string, controllers: ControllerClass[]): ClientSideServerDefinition;
35
67
  export interface ConnectClientSideServerOptions extends ClientSideServerMQTTWebRTCOptions {
@@ -53,5 +85,16 @@ export interface RetryLoopHandle {
53
85
  triggerNow(): void;
54
86
  }
55
87
  export declare function startRetryLoop(task: () => Promise<void> | void, options?: RetryLoopOptions): RetryLoopHandle;
88
+ /**
89
+ * Copies {@link analyzeClientSideServerSource} output onto live controller classes
90
+ * (route metadata: summaries, JSON Schema for inputs/outputs). Call this **before**
91
+ * {@link createClientSideServer} whenever you load controllers from source without
92
+ * using {@link startClientSideServerFromSource}.
93
+ */
94
+ export declare function applySourceAnalysisToControllers(controllers: ControllerClass[], analysis: ClientSideServerSourceAnalysis): void;
95
+ export declare function enrichClientSideServerControllersFromSource(ts: TypeScriptLike, source: string | Record<string, string>, controllers: ControllerClass[], options?: {
96
+ undecoratedMode?: 'GET' | 'POST' | 'private';
97
+ entryPoint?: string;
98
+ }): ClientSideServerSourceAnalysis;
56
99
  export {};
57
100
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/client-side-server/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/client-side-server/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,70 @@
1
+ import ts from 'typescript';
1
2
  import { OpenAPIClient } from '../client/openapi-client.js';
2
3
  import { ensureRouteMeta } from '../spec/metadata.js';
3
4
  import { createClientSideServerMQTTWebRTCServer, createClientSideServerMQTTWebRTCTransportPlugin, } from './mqtt-webrtc.js';
4
5
  import { createClientSideServer } from './server.js';
5
6
  import { fetchClientSideServerOpenAPI } from './bootstrap.js';
7
+ import { analyzeClientSideServerSource, } from './source-analysis.js';
8
+ export async function runClientSideServer(source, options = {}) {
9
+ const { transpile: customTranspile, analyzeSource: customAnalyze, ...rest } = options;
10
+ const undecoratedMode = rest.undecoratedMode ?? 'POST';
11
+ const entryPoint = options.sourceEntryPoint;
12
+ const defaultTranspile = (src, ep) => {
13
+ if (typeof src === 'string') {
14
+ return ts.transpileModule(src, {
15
+ compilerOptions: {
16
+ module: ts.ModuleKind.ESNext,
17
+ target: ts.ScriptTarget.ES2022,
18
+ experimentalDecorators: true,
19
+ },
20
+ }).outputText;
21
+ }
22
+ return transpileMultipleFiles(src, ts, ep);
23
+ };
24
+ const defaultAnalyze = (src, ep) => {
25
+ if (typeof src === 'string') {
26
+ return analyzeClientSideServerSource(ts, src, { undecoratedMode });
27
+ }
28
+ return analyzeClientSideServerMultipleFiles(ts, src, { undecoratedMode, entryPoint: ep });
29
+ };
30
+ return startClientSideServerFromSource({
31
+ ...rest,
32
+ source,
33
+ sourceEntryPoint: entryPoint,
34
+ transpile: customTranspile ?? defaultTranspile,
35
+ analyzeSource: customAnalyze ?? defaultAnalyze,
36
+ });
37
+ }
38
+ /** @deprecated Use {@link runClientSideServer} */
39
+ export const runClientSideServerFromSource = runClientSideServer;
40
+ function transpileSource(source, entryPoint) {
41
+ if (typeof source === 'string') {
42
+ return ts.transpileModule(source, {
43
+ compilerOptions: {
44
+ module: ts.ModuleKind.ESNext,
45
+ target: ts.ScriptTarget.ES2022,
46
+ experimentalDecorators: true,
47
+ },
48
+ }).outputText;
49
+ }
50
+ else {
51
+ return transpileMultipleFiles(source, ts, entryPoint);
52
+ }
53
+ }
6
54
  export async function startClientSideServerFromSource(options) {
7
- const compiled = options.transpile
8
- ? await options.transpile(options.source)
9
- : options.source;
55
+ const compiled = await (options.transpile
56
+ ? options.transpile(options.source, options.sourceEntryPoint)
57
+ : Promise.resolve(transpileSource(options.source, options.sourceEntryPoint)));
58
+ const analysis = await (options.analyzeSource
59
+ ? options.analyzeSource(options.source, options.sourceEntryPoint)
60
+ : Promise.resolve(typeof options.source === 'string'
61
+ ? analyzeClientSideServerSource(ts, options.source, {
62
+ undecoratedMode: options.undecoratedMode ?? 'POST',
63
+ })
64
+ : analyzeClientSideServerMultipleFiles(ts, options.source, {
65
+ undecoratedMode: options.undecoratedMode ?? 'POST',
66
+ entryPoint: options.sourceEntryPoint,
67
+ })));
10
68
  const moduleUrl = URL.createObjectURL(new Blob([compiled], { type: 'text/javascript' }));
11
69
  let loaded;
12
70
  try {
@@ -16,7 +74,6 @@ export async function startClientSideServerFromSource(options) {
16
74
  URL.revokeObjectURL(moduleUrl);
17
75
  }
18
76
  const definition = resolveClientSideServerDefinition(loaded, options.serverName);
19
- const analysis = options.analyzeSource ? await options.analyzeSource(options.source) : undefined;
20
77
  if (analysis) {
21
78
  applySourceAnalysisToControllers(definition.controllers, analysis);
22
79
  }
@@ -161,7 +218,13 @@ function isClientSideServerDefinition(value) {
161
218
  && typeof value.serverName === 'string'
162
219
  && Array.isArray(value.controllers));
163
220
  }
164
- function applySourceAnalysisToControllers(controllers, analysis) {
221
+ /**
222
+ * Copies {@link analyzeClientSideServerSource} output onto live controller classes
223
+ * (route metadata: summaries, JSON Schema for inputs/outputs). Call this **before**
224
+ * {@link createClientSideServer} whenever you load controllers from source without
225
+ * using {@link startClientSideServerFromSource}.
226
+ */
227
+ export function applySourceAnalysisToControllers(controllers, analysis) {
165
228
  const analysisByController = new Map(analysis.controllers.map((controller) => [controller.name, controller]));
166
229
  for (const controller of controllers) {
167
230
  const controllerAnalysis = analysisByController.get(controller.name);
@@ -185,4 +248,202 @@ function applySourceAnalysisToControllers(controllers, analysis) {
185
248
  }
186
249
  }
187
250
  }
251
+ export function enrichClientSideServerControllersFromSource(ts, source, controllers, options = {}) {
252
+ const analysis = typeof source === 'string'
253
+ ? analyzeClientSideServerSource(ts, source, options)
254
+ : analyzeClientSideServerMultipleFiles(ts, source, { ...options, entryPoint: options.entryPoint });
255
+ applySourceAnalysisToControllers(controllers, analysis);
256
+ return analysis;
257
+ }
258
+ /**
259
+ * Transpiles multiple TypeScript files into a single JavaScript bundle.
260
+ * Each file is transpiled independently and then concatenated with a namespace wrapper.
261
+ *
262
+ * @param sourceMap - Map of file paths to source code
263
+ * @param ts - TypeScript-like object with transpilation capabilities
264
+ * @param entryPoint - Optional entry point file (defaults to 'index.ts' or first file)
265
+ * @returns Transpiled and bundled JavaScript code
266
+ */
267
+ function transpileMultipleFiles(sourceMap, ts, entryPoint) {
268
+ const files = Object.entries(sourceMap);
269
+ if (files.length === 0) {
270
+ throw new Error('No source files provided');
271
+ }
272
+ let entry = entryPoint;
273
+ if (!entry) {
274
+ // Try to find index.ts, otherwise use first file
275
+ const indexFile = files.find(([name]) => name === 'index.ts');
276
+ entry = indexFile ? indexFile[0] : files[0][0];
277
+ }
278
+ const transpiled = {};
279
+ // Transpile each file independently
280
+ for (const [fileName, content] of files) {
281
+ const output = ts.transpileModule(content, {
282
+ compilerOptions: {
283
+ module: ts.ModuleKind.ESNext,
284
+ target: ts.ScriptTarget.ES2022,
285
+ experimentalDecorators: true,
286
+ },
287
+ }).outputText;
288
+ transpiled[fileName] = output;
289
+ }
290
+ // Create module wrapper that bundles all transpiled files
291
+ const bundledCode = createMultiFileBundle(transpiled, entry);
292
+ return bundledCode;
293
+ }
294
+ /**
295
+ * Analyzes multiple TypeScript source files, building a unified type registry
296
+ * and extracting controller definitions across all files.
297
+ *
298
+ * @param ts - TypeScript-like object for AST parsing
299
+ * @param sourceMap - Map of file paths to source code
300
+ * @param options - Configuration for analysis
301
+ * @returns Analysis with controllers extracted from all files
302
+ */
303
+ function analyzeClientSideServerMultipleFiles(ts, sourceMap, options = {}) {
304
+ const files = Object.entries(sourceMap);
305
+ if (files.length === 0) {
306
+ return { controllers: [] };
307
+ }
308
+ const undecoratedMode = options.undecoratedMode ?? 'POST';
309
+ const controllers = [];
310
+ // Build unified type registry from all files
311
+ const interfaces = new Map();
312
+ const typeAliases = new Map();
313
+ const enums = new Map();
314
+ const importMap = new Map(); // Track imports per file
315
+ // First pass: collect all type definitions from all files
316
+ for (const [fileName, content] of files) {
317
+ const sourceFile = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
318
+ ts.forEachChild(sourceFile, (node) => {
319
+ if (isKind(ts, node, 'InterfaceDeclaration') && node.name?.text) {
320
+ interfaces.set(node.name.text, node);
321
+ }
322
+ if (isKind(ts, node, 'TypeAliasDeclaration') && node.name?.text) {
323
+ typeAliases.set(node.name.text, node.type);
324
+ }
325
+ if (isKind(ts, node, 'EnumDeclaration') && node.name?.text) {
326
+ enums.set(node.name.text, node);
327
+ }
328
+ if (isKind(ts, node, 'ImportDeclaration')) {
329
+ // Track imports for cross-file reference resolution
330
+ const imports = importMap.get(fileName) ?? new Set();
331
+ // Note: Simple import tracking; full module resolution not implemented
332
+ importMap.set(fileName, imports);
333
+ }
334
+ });
335
+ }
336
+ // Second pass: extract controllers from all files
337
+ for (const [fileName, content] of files) {
338
+ const sourceFile = ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
339
+ ts.forEachChild(sourceFile, (node) => {
340
+ if (isKind(ts, node, 'ClassDeclaration') && node.name?.text) {
341
+ const controllerAnalysis = analyzeControllerWithContext(ts, node, interfaces, typeAliases, enums, undecoratedMode, fileName);
342
+ controllers.push(controllerAnalysis);
343
+ }
344
+ });
345
+ }
346
+ return { controllers };
347
+ }
348
+ /**
349
+ * Creates a multi-file bundle by wrapping each file in a namespace object
350
+ * and re-exporting from the entry point.
351
+ */
352
+ function createMultiFileBundle(transpiled, entryPoint) {
353
+ const modules = [];
354
+ // Create namespace object containing all modules
355
+ modules.push('const __modules = {};');
356
+ modules.push('');
357
+ // Add each transpiled file as a module in the namespace
358
+ for (const [fileName, code] of Object.entries(transpiled)) {
359
+ modules.push(`__modules['${fileName}'] = {};`);
360
+ modules.push('(function(module) {');
361
+ modules.push(code);
362
+ modules.push(`}(__modules['${fileName}']));`);
363
+ modules.push('');
364
+ }
365
+ // Make entry point's exports the default module exports
366
+ modules.push(`const entryModule = __modules['${entryPoint}'];`);
367
+ modules.push('');
368
+ modules.push('// Re-export all properties from entry point');
369
+ modules.push('for (const key in entryModule) {');
370
+ modules.push(' if (Object.prototype.hasOwnProperty.call(entryModule, key)) {');
371
+ modules.push(' globalThis[key] = entryModule[key];');
372
+ modules.push(' }');
373
+ modules.push('}');
374
+ modules.push('');
375
+ modules.push('// Default export');
376
+ modules.push('export default entryModule.default ?? entryModule;');
377
+ modules.push('');
378
+ modules.push('// Named exports');
379
+ modules.push('export * from entryModule;');
380
+ return modules.join('\n');
381
+ }
382
+ /**
383
+ * Analyzes a single controller class with unified type context from multiple files.
384
+ * Used internally for multi-file analysis.
385
+ */
386
+ function analyzeControllerWithContext(ts, classNode, interfaces, typeAliases, enums, undecoratedMode, fileName) {
387
+ const methods = (classNode.members ?? [])
388
+ .filter((member) => {
389
+ if (!isKind(ts, member, 'MethodDeclaration'))
390
+ return false;
391
+ const name = member.name?.getText?.() ?? member.name?.text;
392
+ if (!name || name === 'constructor' || String(name).startsWith('_'))
393
+ return false;
394
+ return true;
395
+ })
396
+ .map((method) => {
397
+ const docs = getNodeDocHelper(ts, method);
398
+ return {
399
+ name: method.name.getText ? method.name.getText() : method.name.text,
400
+ summary: docs.summary,
401
+ description: docs.description,
402
+ inputSchema: undefined,
403
+ outputSchema: undefined,
404
+ };
405
+ });
406
+ return {
407
+ name: classNode.name.text,
408
+ methods,
409
+ };
410
+ }
411
+ /**
412
+ * Helper to check if a node is of a specific TypeScript kind.
413
+ */
414
+ function isKind(ts, node, kindName) {
415
+ const kind = ts.SyntaxKind[kindName];
416
+ return kind !== undefined && node.kind === kind;
417
+ }
418
+ /**
419
+ * Helper to extract JSDoc comments from a node.
420
+ */
421
+ function getNodeDocHelper(_ts, node) {
422
+ const blocks = Array.isArray(node?.jsDoc) ? node.jsDoc : [];
423
+ if (blocks.length === 0)
424
+ return {};
425
+ const raw = blocks
426
+ .map((block) => {
427
+ if (typeof block.comment === 'string')
428
+ return block.comment;
429
+ if (Array.isArray(block.comment)) {
430
+ return block.comment.map((part) => part?.text ?? '').join('');
431
+ }
432
+ return '';
433
+ })
434
+ .join('\n')
435
+ .trim();
436
+ if (!raw)
437
+ return {};
438
+ const paragraphs = raw
439
+ .split(/\n\s*\n/)
440
+ .map((part) => part.trim())
441
+ .filter(Boolean);
442
+ if (paragraphs.length === 0)
443
+ return {};
444
+ return {
445
+ summary: paragraphs[0],
446
+ description: paragraphs.join('\n\n'),
447
+ };
448
+ }
188
449
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/client-side-server/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/client-side-server/runtime.ts"],"names":[],"mappings":"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"}
@@ -365,7 +365,7 @@ export class PLATClientSideServer {
365
365
  openapi: '3.1.0',
366
366
  info: this.options.openapiInfo ?? {
367
367
  title: 'plat client-side server',
368
- version: '0.5.0',
368
+ version: '0.6.0',
369
369
  },
370
370
  paths,
371
371
  };
@@ -1044,7 +1044,7 @@ export class PLATServer {
1044
1044
  openapi: '3.1.0',
1045
1045
  info: {
1046
1046
  title: 'plat API',
1047
- version: '0.5.0',
1047
+ version: '0.6.0',
1048
1048
  },
1049
1049
  paths,
1050
1050
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modularizer/plat",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Protocol and Language Agnostic Tooling Yielding Universal Semantics",
5
5
  "type": "module",
6
6
  "author": {