@modularizer/plat 0.8.0 → 0.9.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.
Files changed (78) hide show
  1. package/README.md +75 -0
  2. package/dist/client-server-entry.d.ts +4 -0
  3. package/dist/client-server-entry.d.ts.map +1 -1
  4. package/dist/client-server-entry.js +4 -0
  5. package/dist/client-server-entry.js.map +1 -1
  6. package/dist/client-side-python/runtime.d.ts +1 -0
  7. package/dist/client-side-python/runtime.d.ts.map +1 -1
  8. package/dist/client-side-python/runtime.js +10 -1
  9. package/dist/client-side-python/runtime.js.map +1 -1
  10. package/dist/client-side-server/channel.d.ts +1 -1
  11. package/dist/client-side-server/channel.d.ts.map +1 -1
  12. package/dist/client-side-server/channel.js +113 -4
  13. package/dist/client-side-server/channel.js.map +1 -1
  14. package/dist/client-side-server/mqtt-webrtc.d.ts.map +1 -1
  15. package/dist/client-side-server/mqtt-webrtc.js +4 -0
  16. package/dist/client-side-server/mqtt-webrtc.js.map +1 -1
  17. package/dist/client-side-server/plat-bridge.d.ts +40 -0
  18. package/dist/client-side-server/plat-bridge.d.ts.map +1 -0
  19. package/dist/client-side-server/plat-bridge.js +876 -0
  20. package/dist/client-side-server/plat-bridge.js.map +1 -0
  21. package/dist/client-side-server/plat-fetch.d.ts +33 -0
  22. package/dist/client-side-server/plat-fetch.d.ts.map +1 -0
  23. package/dist/client-side-server/plat-fetch.js +199 -0
  24. package/dist/client-side-server/plat-fetch.js.map +1 -0
  25. package/dist/client-side-server/plat-service-worker-client.d.ts +30 -0
  26. package/dist/client-side-server/plat-service-worker-client.d.ts.map +1 -0
  27. package/dist/client-side-server/plat-service-worker-client.js +141 -0
  28. package/dist/client-side-server/plat-service-worker-client.js.map +1 -0
  29. package/dist/client-side-server/plat-service-worker.d.ts +35 -0
  30. package/dist/client-side-server/plat-service-worker.d.ts.map +1 -0
  31. package/dist/client-side-server/plat-service-worker.js +292 -0
  32. package/dist/client-side-server/plat-service-worker.js.map +1 -0
  33. package/dist/client-side-server/protocol.d.ts +22 -0
  34. package/dist/client-side-server/protocol.d.ts.map +1 -1
  35. package/dist/client-side-server/protocol.js.map +1 -1
  36. package/dist/client-side-server/runtime.d.ts +9 -0
  37. package/dist/client-side-server/runtime.d.ts.map +1 -1
  38. package/dist/client-side-server/runtime.js +37 -13
  39. package/dist/client-side-server/runtime.js.map +1 -1
  40. package/dist/client-side-server/server.d.ts +17 -0
  41. package/dist/client-side-server/server.d.ts.map +1 -1
  42. package/dist/client-side-server/server.js +111 -7
  43. package/dist/client-side-server/server.js.map +1 -1
  44. package/dist/generated/python-browser-sources.js +4 -4
  45. package/dist/generated/python-browser-sources.js.map +1 -1
  46. package/dist/server/core.d.ts +8 -0
  47. package/dist/server/core.d.ts.map +1 -1
  48. package/dist/server/core.js +21 -0
  49. package/dist/server/core.js.map +1 -1
  50. package/dist/server/server.d.ts +4 -0
  51. package/dist/server/server.d.ts.map +1 -1
  52. package/dist/server/server.js +81 -2
  53. package/dist/server/server.js.map +1 -1
  54. package/dist/static/file-response.d.ts +42 -0
  55. package/dist/static/file-response.d.ts.map +1 -0
  56. package/dist/static/file-response.js +57 -0
  57. package/dist/static/file-response.js.map +1 -0
  58. package/dist/static/glob-match.d.ts +16 -0
  59. package/dist/static/glob-match.d.ts.map +1 -0
  60. package/dist/static/glob-match.js +48 -0
  61. package/dist/static/glob-match.js.map +1 -0
  62. package/dist/static/index.d.ts +9 -0
  63. package/dist/static/index.d.ts.map +1 -0
  64. package/dist/static/index.js +6 -0
  65. package/dist/static/index.js.map +1 -0
  66. package/dist/static/mime-types.d.ts +6 -0
  67. package/dist/static/mime-types.d.ts.map +1 -0
  68. package/dist/static/mime-types.js +74 -0
  69. package/dist/static/mime-types.js.map +1 -0
  70. package/dist/static/static-folder.d.ts +69 -0
  71. package/dist/static/static-folder.d.ts.map +1 -0
  72. package/dist/static/static-folder.js +206 -0
  73. package/dist/static/static-folder.js.map +1 -0
  74. package/dist/static/virtual-file-system.d.ts +45 -0
  75. package/dist/static/virtual-file-system.d.ts.map +1 -0
  76. package/dist/static/virtual-file-system.js +100 -0
  77. package/dist/static/virtual-file-system.js.map +1 -0
  78. package/package.json +5 -1
@@ -1,6 +1,7 @@
1
1
  import { normalizeParameters } from '../server/param-aliases.js';
2
2
  import { PLATServerCore } from '../server/core.js';
3
3
  import { PLATOperationRegistry } from '../server/operation-registry.js';
4
+ import { isFileResponse } from '../static/file-response.js';
4
5
  import { HttpError, } from '../types/index.js';
5
6
  import { defaultLogger } from '../logging.js';
6
7
  import { applyCacheCheck, applyCacheStore, createInMemoryCache, } from '../server/cache/index.js';
@@ -14,6 +15,7 @@ export class PLATClientSideServer {
14
15
  operationRegistry = new PLATOperationRegistry();
15
16
  registeredMethodNames = new Set();
16
17
  registeredControllerNames = new Set();
18
+ staticFolders = [];
17
19
  core;
18
20
  openapiCache;
19
21
  logger;
@@ -44,6 +46,7 @@ export class PLATClientSideServer {
44
46
  operationRegistry: this.operationRegistry,
45
47
  registeredMethodNames: this.registeredMethodNames,
46
48
  registeredControllerNames: this.registeredControllerNames,
49
+ staticFolders: this.staticFolders,
47
50
  });
48
51
  if (ControllerClasses.length > 0) {
49
52
  this.register(...ControllerClasses);
@@ -135,6 +138,28 @@ export class PLATClientSideServer {
135
138
  });
136
139
  return;
137
140
  }
141
+ if (message.method.toUpperCase() === 'GET' && message.path === '/__plat/static-manifest') {
142
+ await channel.send({
143
+ jsonrpc: '2.0',
144
+ id: message.id,
145
+ ok: true,
146
+ result: await this.buildStaticManifest(),
147
+ });
148
+ return;
149
+ }
150
+ // Try static folder resolution before operation lookup
151
+ if (message.method.toUpperCase() === 'GET') {
152
+ const staticResult = await this.resolveStaticFolder(message.path);
153
+ if (staticResult !== undefined) {
154
+ if (staticResult === null) {
155
+ await channel.send({ jsonrpc: '2.0', id: message.id, ok: false, error: { status: 404, message: 'Not found' } });
156
+ }
157
+ else {
158
+ await channel.send({ jsonrpc: '2.0', id: message.id, ok: true, result: await this.serializeFileResponse(staticResult) });
159
+ }
160
+ return;
161
+ }
162
+ }
138
163
  const operation = this.operationRegistry.resolve({
139
164
  operationId: message.operationId,
140
165
  method: message.method,
@@ -154,12 +179,22 @@ export class PLATClientSideServer {
154
179
  }
155
180
  try {
156
181
  const result = await this.executeOperation(operation, message, channel);
157
- await channel.send({
158
- jsonrpc: '2.0',
159
- id: message.id,
160
- ok: true,
161
- result: this.serializeValue(result),
162
- });
182
+ if (isFileResponse(result)) {
183
+ await channel.send({
184
+ jsonrpc: '2.0',
185
+ id: message.id,
186
+ ok: true,
187
+ result: await this.serializeFileResponse(result),
188
+ });
189
+ }
190
+ else {
191
+ await channel.send({
192
+ jsonrpc: '2.0',
193
+ id: message.id,
194
+ ok: true,
195
+ result: this.serializeValue(result),
196
+ });
197
+ }
163
198
  }
164
199
  catch (error) {
165
200
  this.logger.error(`[ClientSideServer Error] ${error?.message ?? 'Internal client-side server error'}`, error);
@@ -368,9 +403,73 @@ export class PLATClientSideServer {
368
403
  }
369
404
  return value;
370
405
  }
406
+ /**
407
+ * Build a manifest of all file paths available from registered static folders.
408
+ * Returns paths prefixed with their folder mount point (e.g. /assets/logo.png, /index.html).
409
+ */
410
+ async buildStaticManifest() {
411
+ const folders = [];
412
+ const allPaths = [];
413
+ for (const sf of this.staticFolders) {
414
+ let filePaths;
415
+ try {
416
+ filePaths = await sf.folder.listAllFiles();
417
+ }
418
+ catch {
419
+ filePaths = [];
420
+ }
421
+ const prefixed = sf.name === 'root'
422
+ ? filePaths.map(p => '/' + p)
423
+ : filePaths.map(p => '/' + sf.name + '/' + p);
424
+ folders.push({ name: sf.name, paths: prefixed });
425
+ allPaths.push(...prefixed);
426
+ }
427
+ return { folders, allPaths };
428
+ }
429
+ /**
430
+ * Try to resolve a request path against registered static folders.
431
+ * Returns FileResponse if matched, null if matched but file not found, undefined if no folder matched.
432
+ */
433
+ async resolveStaticFolder(path) {
434
+ const normalized = path.replace(/^\//, '');
435
+ // Check named folders first (e.g. /assets/...)
436
+ for (const sf of this.staticFolders) {
437
+ if (sf.name === 'root')
438
+ continue;
439
+ const prefix = sf.name + '/';
440
+ if (normalized === sf.name || normalized.startsWith(prefix)) {
441
+ const subPath = normalized === sf.name ? '' : normalized.slice(prefix.length);
442
+ const result = await sf.folder.resolve(subPath);
443
+ return result; // FileResponse or null
444
+ }
445
+ }
446
+ // Check root folder last (lowest priority)
447
+ for (const sf of this.staticFolders) {
448
+ if (sf.name !== 'root')
449
+ continue;
450
+ const result = await sf.folder.resolve(normalized);
451
+ if (result)
452
+ return result;
453
+ }
454
+ return undefined; // No static folder matched this path
455
+ }
456
+ async serializeFileResponse(fileResponse) {
457
+ const content = await fileResponse.getContent();
458
+ const bytes = typeof content === 'string' ? new TextEncoder().encode(content) : content;
459
+ return {
460
+ _type: 'file',
461
+ filename: fileResponse.filename,
462
+ contentType: fileResponse.contentType,
463
+ content: bytes,
464
+ contentEncoding: 'binary',
465
+ headers: fileResponse.headers,
466
+ };
467
+ }
371
468
  generateOpenAPISpec() {
372
469
  const paths = {};
373
470
  for (const tool of this.toolsStore.values()) {
471
+ if (tool.hidden)
472
+ continue;
374
473
  const method = tool.method.toLowerCase();
375
474
  const path = tool.path;
376
475
  const operation = {
@@ -411,7 +510,7 @@ export class PLATClientSideServer {
411
510
  openapi: '3.1.0',
412
511
  info: this.options.openapiInfo ?? {
413
512
  title: 'plat client-side server',
414
- version: '0.8.0',
513
+ version: '0.9.0',
415
514
  },
416
515
  paths,
417
516
  };
@@ -423,6 +522,11 @@ function isRequestMessage(message) {
423
522
  export function createClientSideServer(options, ...ControllerClasses) {
424
523
  return new PLATClientSideServer(options, ...ControllerClasses);
425
524
  }
525
+ /**
526
+ * Server-style alias for client-side server creation.
527
+ * Mirrors `createServer(...)` naming from the Node server API.
528
+ */
529
+ export const createServer = createClientSideServer;
426
530
  /** Stable JSON stringify with sorted keys — ensures same spec always produces same hash. */
427
531
  function cssStableStringify(value) {
428
532
  return JSON.stringify(cssSortValue(value));
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/client-side-server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/client-side-server/server.ts"],"names":[],"mappings":"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"}