mcard-js 2.1.26 → 2.1.27

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 (29) hide show
  1. package/dist/scripts/docker-startup.js +2 -2
  2. package/dist/scripts/docker-startup.js.map +1 -1
  3. package/dist/src/ptr/node/clm/index.d.ts +4 -4
  4. package/dist/src/ptr/node/clm/index.d.ts.map +1 -1
  5. package/dist/src/ptr/node/clm/index.js +4 -4
  6. package/dist/src/ptr/node/clm/index.js.map +1 -1
  7. package/dist/src/ptr/node/clm/runner.js +4 -4
  8. package/dist/src/ptr/node/clm/runner.js.map +1 -1
  9. package/dist/src/ptr/node/core/operations/handle.d.ts +14 -0
  10. package/dist/src/ptr/node/core/operations/handle.d.ts.map +1 -0
  11. package/dist/src/ptr/node/core/operations/handle.js +177 -0
  12. package/dist/src/ptr/node/core/operations/handle.js.map +1 -0
  13. package/dist/src/ptr/node/core/operations/index.d.ts +28 -0
  14. package/dist/src/ptr/node/core/operations/index.d.ts.map +1 -0
  15. package/dist/src/ptr/node/core/operations/index.js +94 -0
  16. package/dist/src/ptr/node/core/operations/index.js.map +1 -0
  17. package/dist/src/ptr/node/core/operations/server-scripts/websocket-server-worker.d.ts +8 -0
  18. package/dist/src/ptr/node/core/operations/server-scripts/websocket-server-worker.d.ts.map +1 -0
  19. package/dist/src/ptr/node/core/operations/server-scripts/websocket-server-worker.js +81 -0
  20. package/dist/src/ptr/node/core/operations/server-scripts/websocket-server-worker.js.map +1 -0
  21. package/dist/src/ptr/node/core/operations/static-server.d.ts +35 -0
  22. package/dist/src/ptr/node/core/operations/static-server.d.ts.map +1 -0
  23. package/dist/src/ptr/node/core/operations/static-server.js +252 -0
  24. package/dist/src/ptr/node/core/operations/static-server.js.map +1 -0
  25. package/dist/src/ptr/node/core/operations/websocket-server.d.ts +35 -0
  26. package/dist/src/ptr/node/core/operations/websocket-server.d.ts.map +1 -0
  27. package/dist/src/ptr/node/core/operations/websocket-server.js +265 -0
  28. package/dist/src/ptr/node/core/operations/websocket-server.js.map +1 -0
  29. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- import { executeStaticServer } from '../src/ptr/node/clm/operations/static-server.js';
2
- import { executeWebSocketServer } from '../src/ptr/node/clm/operations/websocket-server.js';
1
+ import { executeStaticServer } from '../src/ptr/node/core/operations/static-server.js';
2
+ import { executeWebSocketServer } from '../src/ptr/node/core/operations/websocket-server.js';
3
3
  async function main() {
4
4
  console.log("🚀 Starting MCard Polyglot Services...");
5
5
  // 1. Static Server
@@ -1 +1 @@
1
- {"version":3,"file":"docker-startup.js","sourceRoot":"","sources":["../../scripts/docker-startup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAG5F,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC;QAC3C,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,aAAa;KAC1B,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtB,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,2BAA2B,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,kDAAkD;IAClD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC;QAC1C,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS;KAClB,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAE5D,qBAAqB;IACrB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"docker-startup.js","sourceRoot":"","sources":["../../scripts/docker-startup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAG7F,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC;QAC3C,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,aAAa;KAC1B,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtB,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,2BAA2B,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,kDAAkD;IAClD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC;QAC1C,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS;KAClB,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAE5D,qBAAqB;IACrB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -17,10 +17,10 @@
17
17
  */
18
18
  export type { CLMSpec, RuntimeConfig, CLMExample, ExecutionResult, RuntimeResult, MultiRuntimeResult, VerificationResult, RunExamplesSummary, ExampleRunResult, ExecutionReport, SummaryReport, CLMBannerLines, } from './types.js';
19
19
  export { resultsEqual, asObject, buildBaseContext, buildExecutionResult, isRecursiveCLM, isMultiRuntime, } from './utils.js';
20
- export { isNetworkBuiltin, isLoaderBuiltin, isHandleBuiltin, getHandleBuiltinType, isStaticServerBuiltin, isWebSocketServerBuiltin, } from './operations/index.js';
21
- export { executeHandleVersion, executeHandlePrune, } from './operations/handle.js';
22
- export { executeStaticServer, type StaticServerConfig, type StaticServerResult, } from './operations/static-server.js';
23
- export { executeWebSocketServer, type WebSocketServerConfig, type WebSocketServerResult, } from './operations/websocket-server.js';
20
+ export { isNetworkBuiltin, isLoaderBuiltin, isHandleBuiltin, getHandleBuiltinType, isStaticServerBuiltin, isWebSocketServerBuiltin, } from '../core/operations/index.js';
21
+ export { executeHandleVersion, executeHandlePrune, } from '../core/operations/handle.js';
22
+ export { executeStaticServer, type StaticServerConfig, type StaticServerResult, } from '../core/operations/static-server.js';
23
+ export { executeWebSocketServer, type WebSocketServerConfig, type WebSocketServerResult, } from '../core/operations/websocket-server.js';
24
24
  export { CLMLoader } from './loader.js';
25
25
  export { CLMRunner } from './runner.js';
26
26
  export { executeMultiRuntime } from './multiruntime.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,YAAY,EACR,OAAO,EACP,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACH,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACH,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC7B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,YAAY,EACR,OAAO,EACP,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACH,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GAC1B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACH,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC7B,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -18,10 +18,10 @@
18
18
  // Utilities
19
19
  export { resultsEqual, asObject, buildBaseContext, buildExecutionResult, isRecursiveCLM, isMultiRuntime, } from './utils.js';
20
20
  // Builtins
21
- export { isNetworkBuiltin, isLoaderBuiltin, isHandleBuiltin, getHandleBuiltinType, isStaticServerBuiltin, isWebSocketServerBuiltin, } from './operations/index.js';
22
- export { executeHandleVersion, executeHandlePrune, } from './operations/handle.js';
23
- export { executeStaticServer, } from './operations/static-server.js';
24
- export { executeWebSocketServer, } from './operations/websocket-server.js';
21
+ export { isNetworkBuiltin, isLoaderBuiltin, isHandleBuiltin, getHandleBuiltinType, isStaticServerBuiltin, isWebSocketServerBuiltin, } from '../core/operations/index.js';
22
+ export { executeHandleVersion, executeHandlePrune, } from '../core/operations/handle.js';
23
+ export { executeStaticServer, } from '../core/operations/static-server.js';
24
+ export { executeWebSocketServer, } from '../core/operations/websocket-server.js';
25
25
  // Core classes
26
26
  export { CLMLoader } from './loader.js';
27
27
  export { CLMRunner } from './runner.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH,YAAY;AACZ,OAAO,EACH,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACjB,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACH,mBAAmB,GAGtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACH,sBAAsB,GAGzB,MAAM,kCAAkC,CAAC;AAE1C,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,gBAAgB;AAChB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH,YAAY;AACZ,OAAO,EACH,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACjB,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACH,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACH,mBAAmB,GAGtB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACH,sBAAsB,GAGzB,MAAM,wCAAwC,CAAC;AAEhD,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,gBAAgB;AAChB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -13,10 +13,10 @@ import { VCard } from '../../../model/VCard.js';
13
13
  // Utilities
14
14
  import { asObject, buildBaseContext, buildExecutionResult, isRecursiveCLM, isMultiRuntime, } from './utils.js';
15
15
  // Builtins
16
- import { isNetworkBuiltin, isLoaderBuiltin, getHandleBuiltinType, isStaticServerBuiltin, isWebSocketServerBuiltin } from './operations/index.js';
17
- import { executeHandleVersion, executeHandlePrune } from './operations/handle.js';
18
- import { executeStaticServer } from './operations/static-server.js';
19
- import { executeWebSocketServer } from './operations/websocket-server.js';
16
+ import { isNetworkBuiltin, isLoaderBuiltin, getHandleBuiltinType, isStaticServerBuiltin, isWebSocketServerBuiltin } from '../core/operations/index.js';
17
+ import { executeHandleVersion, executeHandlePrune } from '../core/operations/handle.js';
18
+ import { executeStaticServer } from '../core/operations/static-server.js';
19
+ import { executeWebSocketServer } from '../core/operations/websocket-server.js';
20
20
  // Other modules
21
21
  import { CLMLoader } from './loader.js';
22
22
  import { executeMultiRuntime } from './multiruntime.js';
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Handle builtins for CLM execution.
3
+ *
4
+ * Implements handle_version and handle_prune operations.
5
+ */
6
+ /**
7
+ * Execute handle version operation.
8
+ */
9
+ export declare function executeHandleVersion(ctx: Record<string, any>): Promise<any>;
10
+ /**
11
+ * Execute handle prune operation.
12
+ */
13
+ export declare function executeHandlePrune(ctx: Record<string, any>): Promise<any>;
14
+ //# sourceMappingURL=handle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../../../../src/ptr/node/core/operations/handle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBjF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAkB/E"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Handle builtins for CLM execution.
3
+ *
4
+ * Implements handle_version and handle_prune operations.
5
+ */
6
+ /**
7
+ * Execute handle version operation.
8
+ */
9
+ export async function executeHandleVersion(ctx) {
10
+ const examples = ctx.examples || [];
11
+ if (examples.length) {
12
+ return runVersionExamples(examples);
13
+ }
14
+ // Single execution mode
15
+ const inputData = ctx.input || ctx;
16
+ const handle = inputData.handle || ctx.handle || '';
17
+ const versions = inputData.versions || ctx.versions || [];
18
+ if (!handle) {
19
+ return { success: false, error: 'handle is required' };
20
+ }
21
+ if (!versions.length) {
22
+ return { success: false, error: 'versions list is required' };
23
+ }
24
+ return executeVersionSingle(handle, versions);
25
+ }
26
+ /**
27
+ * Execute handle prune operation.
28
+ */
29
+ export async function executeHandlePrune(ctx) {
30
+ const examples = ctx.examples || [];
31
+ if (examples.length) {
32
+ return runPruneExamples(examples);
33
+ }
34
+ // Single execution mode
35
+ const inputData = ctx.input || ctx;
36
+ const handle = inputData.handle || ctx.handle || '';
37
+ const versions = inputData.versions || ctx.versions || [];
38
+ const pruneType = inputData.prune_type || ctx.prune_type || 'all';
39
+ const olderThanSeconds = inputData.older_than_seconds || ctx.older_than_seconds;
40
+ if (!handle) {
41
+ return { success: false, error: 'handle is required' };
42
+ }
43
+ return executePruneSingle(handle, versions, pruneType, olderThanSeconds);
44
+ }
45
+ // ─── Private Helpers ─────────────────────────────────────────────────────────
46
+ async function runVersionExamples(examples) {
47
+ const results = [];
48
+ for (const example of examples) {
49
+ const inputData = example.input || example;
50
+ const handle = inputData.handle || '';
51
+ const versions = inputData.versions || [];
52
+ if (!handle || !versions.length) {
53
+ results.push({
54
+ example_name: example.name || 'unnamed',
55
+ success: false,
56
+ error: 'handle and versions required'
57
+ });
58
+ continue;
59
+ }
60
+ const result = await executeVersionSingle(handle, versions);
61
+ result.example_name = example.name || 'unnamed';
62
+ // Check expected if provided
63
+ const expected = example.expected_output || {};
64
+ result.passed = expected.history_length !== undefined
65
+ ? result.history_length === expected.history_length
66
+ : result.success || false;
67
+ results.push(result);
68
+ }
69
+ return { success: results.every(r => r.passed), results };
70
+ }
71
+ async function executeVersionSingle(handle, versions) {
72
+ const { SqliteNodeEngine } = await import('../../../../storage/SqliteNodeEngine.js');
73
+ const { CardCollection } = await import('../../../../model/CardCollection.js');
74
+ const { MCard } = await import('../../../../model/MCard.js');
75
+ const engine = new SqliteNodeEngine(':memory:');
76
+ const collection = new CardCollection(engine);
77
+ try {
78
+ // Add first version
79
+ const firstContent = versions[0].content || versions[0];
80
+ const card = await MCard.create(firstContent);
81
+ await collection.addWithHandle(card, handle);
82
+ // Apply subsequent updates
83
+ for (let i = 1; i < versions.length; i++) {
84
+ const content = versions[i].content || versions[i];
85
+ const newCard = await MCard.create(content);
86
+ await collection.updateHandle(handle, newCard);
87
+ }
88
+ // Get final state
89
+ const finalCard = await collection.getByHandle(handle);
90
+ const history = await collection.getHandleHistory(handle);
91
+ const finalContent = finalCard ? new TextDecoder().decode(finalCard.content) : null;
92
+ return {
93
+ success: true,
94
+ handle,
95
+ final_hash: finalCard ? finalCard.hash : null,
96
+ final_content: finalContent,
97
+ history_length: history.length,
98
+ history
99
+ };
100
+ }
101
+ catch (e) {
102
+ return { success: false, error: e.message };
103
+ }
104
+ }
105
+ async function runPruneExamples(examples) {
106
+ const results = [];
107
+ for (const example of examples) {
108
+ const inputData = example.input || example;
109
+ const handle = inputData.handle || '';
110
+ const versions = inputData.versions || [];
111
+ const pruneType = inputData.prune_type || 'all';
112
+ const olderThanSeconds = inputData.older_than_seconds;
113
+ if (!handle) {
114
+ results.push({
115
+ example_name: example.name || 'unnamed',
116
+ success: false,
117
+ error: 'handle is required'
118
+ });
119
+ continue;
120
+ }
121
+ const result = await executePruneSingle(handle, versions, pruneType, olderThanSeconds);
122
+ result.example_name = example.name || 'unnamed';
123
+ // Check expected if provided
124
+ const expected = example.expected_output || {};
125
+ if (expected.history_after !== undefined) {
126
+ result.passed = result.history_after === expected.history_after;
127
+ }
128
+ else if (expected.deleted !== undefined) {
129
+ result.passed = result.deleted === expected.deleted;
130
+ }
131
+ else {
132
+ result.passed = result.success || false;
133
+ }
134
+ results.push(result);
135
+ }
136
+ return { success: results.every(r => r.passed), results };
137
+ }
138
+ async function executePruneSingle(handle, versions, pruneType, olderThanSeconds) {
139
+ const { SqliteNodeEngine } = await import('../../../../storage/SqliteNodeEngine.js');
140
+ const { CardCollection } = await import('../../../../model/CardCollection.js');
141
+ const { MCard } = await import('../../../../model/MCard.js');
142
+ const engine = new SqliteNodeEngine(':memory:');
143
+ const collection = new CardCollection(engine);
144
+ try {
145
+ // Setup handle with versions if provided
146
+ if (versions.length) {
147
+ const firstContent = versions[0].content || versions[0];
148
+ const card = await MCard.create(firstContent);
149
+ await collection.addWithHandle(card, handle);
150
+ for (let i = 1; i < versions.length; i++) {
151
+ const content = versions[i].content || versions[i];
152
+ const newCard = await MCard.create(content);
153
+ await collection.updateHandle(handle, newCard);
154
+ }
155
+ }
156
+ const historyBefore = (await collection.getHandleHistory(handle)).length;
157
+ let deleted = 0;
158
+ if (pruneType === 'all') {
159
+ deleted = await collection.pruneHandleHistory(handle, { deleteAll: true });
160
+ }
161
+ else if (pruneType === 'older_than' && olderThanSeconds !== undefined) {
162
+ deleted = await collection.pruneHandleHistory(handle, { olderThan: `${olderThanSeconds}s` });
163
+ }
164
+ const historyAfter = (await collection.getHandleHistory(handle)).length;
165
+ return {
166
+ success: true,
167
+ handle,
168
+ history_before: historyBefore,
169
+ deleted,
170
+ history_after: historyAfter
171
+ };
172
+ }
173
+ catch (e) {
174
+ return { success: false, error: e.message };
175
+ }
176
+ }
177
+ //# sourceMappingURL=handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../../../../src/ptr/node/core/operations/handle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Builtin detection and routing for CLM execution.
3
+ */
4
+ /**
5
+ * Check if a builtin should be handled by network runtime.
6
+ */
7
+ export declare function isNetworkBuiltin(builtin: any, operation?: string): boolean;
8
+ /**
9
+ * Check if a builtin is a loader operation.
10
+ */
11
+ export declare function isLoaderBuiltin(builtin: any, operation?: string): boolean;
12
+ /**
13
+ * Check if a builtin is a handle operation.
14
+ */
15
+ export declare function isHandleBuiltin(builtin: any, operation?: string): boolean;
16
+ /**
17
+ * Get the type of handle builtin.
18
+ */
19
+ export declare function getHandleBuiltinType(builtin: any, operation?: string): 'version' | 'prune' | null;
20
+ /**
21
+ * Check if a builtin is a static server operation.
22
+ */
23
+ export declare function isStaticServerBuiltin(builtin: any, operation?: string): boolean;
24
+ /**
25
+ * Check if a builtin is a WebSocket server operation.
26
+ */
27
+ export declare function isWebSocketServerBuiltin(builtin: any, operation?: string): boolean;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ptr/node/core/operations/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuBH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAiB1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAOzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAMzE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAOjG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAK/E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAKlF"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Builtin detection and routing for CLM execution.
3
+ */
4
+ // Network builtins that should be routed to NetworkRuntime
5
+ const NETWORK_BUILTINS = new Set([
6
+ 'http_get', 'http_post', 'http_put', 'http_delete', 'http_patch',
7
+ 'websocket_connect', 'websocket_send', 'websocket_listen',
8
+ 'queue_send', 'queue_receive',
9
+ 'load_url',
10
+ 'mcard_send', 'mcard_read', 'mcard_sync',
11
+ 'listen_http', 'listen_sync',
12
+ 'session_record',
13
+ 'run_command',
14
+ 'clm_orchestrator',
15
+ 'signaling_server',
16
+ 'webrtc_connect', 'webrtc_send', 'webrtc_listen',
17
+ ]);
18
+ // Server builtins that manage long-running processes
19
+ const SERVER_BUILTINS = new Set([
20
+ 'static_server',
21
+ 'websocket_server',
22
+ ]);
23
+ /**
24
+ * Check if a builtin should be handled by network runtime.
25
+ */
26
+ export function isNetworkBuiltin(builtin, operation) {
27
+ if (builtin === false)
28
+ return false;
29
+ // If builtin is true, check operation name
30
+ const op = (typeof builtin === 'string' ? builtin : operation) || '';
31
+ if (!op)
32
+ return false;
33
+ // Check exact match
34
+ if (NETWORK_BUILTINS.has(op))
35
+ return true;
36
+ // Check prefix patterns
37
+ return (op.startsWith('http_') ||
38
+ op.startsWith('websocket_') ||
39
+ op.startsWith('queue_') ||
40
+ op.startsWith('webrtc_'));
41
+ }
42
+ /**
43
+ * Check if a builtin is a loader operation.
44
+ */
45
+ export function isLoaderBuiltin(builtin, operation) {
46
+ if (builtin === false)
47
+ return false;
48
+ const op = (typeof builtin === 'string' ? builtin : operation) || '';
49
+ return op === 'loader' ||
50
+ op === 'load_files' ||
51
+ operation === 'loader';
52
+ }
53
+ /**
54
+ * Check if a builtin is a handle operation.
55
+ */
56
+ export function isHandleBuiltin(builtin, operation) {
57
+ if (builtin === false)
58
+ return false;
59
+ const op = (typeof builtin === 'string' ? builtin : operation) || '';
60
+ return op === 'handle_version' ||
61
+ op === 'handle_prune';
62
+ }
63
+ /**
64
+ * Get the type of handle builtin.
65
+ */
66
+ export function getHandleBuiltinType(builtin, operation) {
67
+ if (builtin === false)
68
+ return null;
69
+ const op = (typeof builtin === 'string' ? builtin : operation) || '';
70
+ if (op === 'handle_version')
71
+ return 'version';
72
+ if (op === 'handle_prune')
73
+ return 'prune';
74
+ return null;
75
+ }
76
+ /**
77
+ * Check if a builtin is a static server operation.
78
+ */
79
+ export function isStaticServerBuiltin(builtin, operation) {
80
+ if (builtin === false)
81
+ return false;
82
+ const op = (typeof builtin === 'string' ? builtin : operation) || '';
83
+ return op === 'static_server';
84
+ }
85
+ /**
86
+ * Check if a builtin is a WebSocket server operation.
87
+ */
88
+ export function isWebSocketServerBuiltin(builtin, operation) {
89
+ if (builtin === false)
90
+ return false;
91
+ const op = (typeof builtin === 'string' ? builtin : operation) || '';
92
+ return op === 'websocket_server';
93
+ }
94
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ptr/node/core/operations/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Standalone WebSocket Server Worker Script.
3
+ *
4
+ * This script is spawned by the WebSocket Server builtin to run the actual server process.
5
+ * It reads configuration from environment variables and uses the 'ws' library.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=websocket-server-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server-worker.d.ts","sourceRoot":"","sources":["../../../../../../../src/ptr/node/core/operations/server-scripts/websocket-server-worker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Standalone WebSocket Server Worker Script.
3
+ *
4
+ * This script is spawned by the WebSocket Server builtin to run the actual server process.
5
+ * It reads configuration from environment variables and uses the 'ws' library.
6
+ */
7
+ import { WebSocketServer } from 'ws';
8
+ // Read configuration from environment variables
9
+ const PORT = parseInt(process.env.PORT || '8765', 10);
10
+ const HOST = process.env.HOST || 'localhost';
11
+ console.log(`Starting WebSocket Server on ${HOST}:${PORT}`);
12
+ try {
13
+ const wss = new WebSocketServer({ port: PORT, host: HOST });
14
+ wss.on('listening', () => {
15
+ console.log(`WebSocket CLM Execution Server running on ws://${HOST}:${PORT}/`);
16
+ });
17
+ wss.on('connection', (ws) => {
18
+ console.log('Client connected');
19
+ ws.on('message', (message) => {
20
+ try {
21
+ // Determine if message is Buffer or string
22
+ const msgStr = message.toString();
23
+ const data = JSON.parse(msgStr);
24
+ const msgId = data.messageId;
25
+ const type = data.type;
26
+ if (type === 'ping') {
27
+ ws.send(JSON.stringify({
28
+ messageId: msgId,
29
+ type: 'pong',
30
+ timestamp: data.timestamp
31
+ }));
32
+ }
33
+ else if (type === 'clm_execute') {
34
+ // Stub for CLM execution in pure JS Node server
35
+ // In a real scenario, this would import the mcard-js library dynamically
36
+ console.log('Received CLM execution request');
37
+ ws.send(JSON.stringify({
38
+ messageId: msgId,
39
+ success: true,
40
+ result: { status: "simulated_success", output: "Node.js CLM Runner (Stub)" },
41
+ executionTime: 0,
42
+ logs: ["Executed on Node.js WebSocket Server"]
43
+ }));
44
+ }
45
+ else {
46
+ // Echo
47
+ ws.send(JSON.stringify({
48
+ messageId: msgId,
49
+ type: 'echo',
50
+ original: msgStr
51
+ }));
52
+ }
53
+ }
54
+ catch (e) {
55
+ console.error('Error processing message:', e);
56
+ ws.send(JSON.stringify({ error: 'Invalid JSON or Internal Error: ' + e.toString() }));
57
+ }
58
+ });
59
+ });
60
+ wss.on('error', (e) => {
61
+ console.error('Server error:', e);
62
+ process.exit(1);
63
+ });
64
+ // Handle graceful shutdown
65
+ const cleanup = () => {
66
+ console.log('Stopping WebSocket server...');
67
+ wss.close(() => {
68
+ console.log('WebSocket server stopped.');
69
+ process.exit(0);
70
+ });
71
+ };
72
+ process.on('SIGTERM', cleanup);
73
+ process.on('SIGINT', cleanup);
74
+ }
75
+ catch (e) {
76
+ console.error('Failed to create server:', e);
77
+ process.exit(1);
78
+ }
79
+ // Keep process alive if server is close
80
+ setInterval(() => { }, 1000);
81
+ //# sourceMappingURL=websocket-server-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server-worker.js","sourceRoot":"","sources":["../../../../../../../src/ptr/node/core/operations/server-scripts/websocket-server-worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Static Server builtin for CLM execution.
3
+ *
4
+ * Provides deploy, status, and stop actions for HTTP static file servers.
5
+ * Uses Node.js 'http' module.
6
+ */
7
+ /**
8
+ * Configuration for static server builtin.
9
+ */
10
+ export interface StaticServerConfig {
11
+ action?: 'deploy' | 'status' | 'stop';
12
+ root_dir?: string;
13
+ port?: number | string;
14
+ host?: string;
15
+ }
16
+ /**
17
+ * Result from static server operations.
18
+ */
19
+ export interface StaticServerResult {
20
+ success: boolean;
21
+ message?: string;
22
+ error?: string;
23
+ pid?: number | null;
24
+ saved_pid?: number | null;
25
+ port?: number;
26
+ url?: string | null;
27
+ root_dir?: string;
28
+ status?: 'running' | 'stopped' | 'already_running';
29
+ running?: boolean;
30
+ }
31
+ /**
32
+ * Execute static server builtin.
33
+ */
34
+ export declare function executeStaticServer(config: StaticServerConfig, context: Record<string, any>, chapterDir: string): Promise<StaticServerResult>;
35
+ //# sourceMappingURL=static-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-server.d.ts","sourceRoot":"","sources":["../../../../../../src/ptr/node/core/operations/static-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAsCD;;GAEG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,CA8N7B"}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Static Server builtin for CLM execution.
3
+ *
4
+ * Provides deploy, status, and stop actions for HTTP static file servers.
5
+ * Uses Node.js 'http' module.
6
+ */
7
+ import { execSync, spawn } from 'child_process';
8
+ import * as fs from 'fs';
9
+ import * as path from 'path';
10
+ /**
11
+ * Resolve environment variables in config values like '${VAR}'.
12
+ */
13
+ function resolveConfigValue(val) {
14
+ if (typeof val === 'string' && val.startsWith('${') && val.endsWith('}')) {
15
+ const envVar = val.slice(2, -1);
16
+ return process.env[envVar] || val;
17
+ }
18
+ return val;
19
+ }
20
+ /**
21
+ * Check if a port is in use using lsof (handles both IPv4 and IPv6).
22
+ */
23
+ function isPortInUse(port) {
24
+ try {
25
+ const result = execSync(`lsof -ti :${port}`, { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] });
26
+ return result.trim().length > 0;
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ }
32
+ /**
33
+ * Get PID of process using a port.
34
+ */
35
+ function getPidOnPort(port) {
36
+ try {
37
+ const result = execSync(`lsof -ti :${port}`, { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] });
38
+ const pid = parseInt(result.trim().split('\n')[0], 10);
39
+ return isNaN(pid) ? null : pid;
40
+ }
41
+ catch {
42
+ return null;
43
+ }
44
+ }
45
+ /**
46
+ * Execute static server builtin.
47
+ */
48
+ export async function executeStaticServer(config, context, chapterDir) {
49
+ const action = context.action || config.action || 'status';
50
+ // Default to HTTP_PORT from .env matching the project configuration
51
+ const defaultPort = parseInt(process.env.HTTP_PORT || '8080', 10);
52
+ const rawPort = context.port || config.port || defaultPort;
53
+ const port = parseInt(String(resolveConfigValue(rawPort)), 10);
54
+ const host = context.host || config.host || 'localhost';
55
+ let rootDir = context.root_dir || config.root_dir || '.';
56
+ // Resolve root_dir - find project root by looking for package.json or .git
57
+ let projectRoot = chapterDir;
58
+ while (projectRoot !== path.dirname(projectRoot)) {
59
+ if (fs.existsSync(path.join(projectRoot, 'package.json')) ||
60
+ fs.existsSync(path.join(projectRoot, '.git'))) {
61
+ break;
62
+ }
63
+ projectRoot = path.dirname(projectRoot);
64
+ }
65
+ // Fallback to cwd if nothing found
66
+ if (projectRoot === path.dirname(projectRoot)) {
67
+ projectRoot = process.cwd();
68
+ }
69
+ if (!path.isAbsolute(rootDir)) {
70
+ rootDir = path.normalize(path.join(projectRoot, rootDir));
71
+ }
72
+ const pidFile = path.join(projectRoot, `.static_server_${port}.pid`);
73
+ if (action === 'deploy') {
74
+ // Check if already running
75
+ if (isPortInUse(port)) {
76
+ const pid = getPidOnPort(port);
77
+ return {
78
+ success: true,
79
+ message: 'Server already running',
80
+ pid,
81
+ port,
82
+ url: `http://${host}:${port}`,
83
+ status: 'already_running'
84
+ };
85
+ }
86
+ // Verify root_dir exists
87
+ if (!fs.existsSync(rootDir) || !fs.statSync(rootDir).isDirectory()) {
88
+ return { success: false, error: `Directory not found: ${rootDir}` };
89
+ }
90
+ // Node.js HTTP static server script
91
+ const serverCode = `
92
+ const http = require('http');
93
+ const fs = require('fs');
94
+ const path = require('path');
95
+
96
+ const port = ${port};
97
+ const host = '${host}';
98
+ const rootDir = '${rootDir.replace(/\\/g, '\\\\')}';
99
+
100
+ const mimeTypes = {
101
+ '.html': 'text/html',
102
+ '.js': 'text/javascript',
103
+ '.css': 'text/css',
104
+ '.json': 'application/json',
105
+ '.png': 'image/png',
106
+ '.jpg': 'image/jpg',
107
+ '.gif': 'image/gif',
108
+ '.svg': 'image/svg+xml',
109
+ '.wav': 'audio/wav',
110
+ '.mp4': 'video/mp4',
111
+ '.woff': 'application/font-woff',
112
+ '.ttf': 'application/font-ttf',
113
+ '.eot': 'application/vnd.ms-fontobject',
114
+ '.otf': 'application/font-otf',
115
+ '.wasm': 'application/wasm'
116
+ };
117
+
118
+ const server = http.createServer((req, res) => {
119
+ let filePath = path.join(rootDir, req.url === '/' ? 'index.html' : req.url);
120
+
121
+ // Prevent directory traversal
122
+ if (!filePath.startsWith(rootDir)) {
123
+ res.writeHead(403);
124
+ res.end('Forbidden');
125
+ return;
126
+ }
127
+
128
+ const extname = String(path.extname(filePath)).toLowerCase();
129
+ const contentType = mimeTypes[extname] || 'application/octet-stream';
130
+
131
+ fs.readFile(filePath, (error, content) => {
132
+ if (error) {
133
+ if(error.code == 'ENOENT') {
134
+ res.writeHead(404);
135
+ res.end('404 Not Found');
136
+ } else {
137
+ res.writeHead(500);
138
+ res.end('Sorry, check with the site admin for error: '+error.code+' ..\\n');
139
+ }
140
+ } else {
141
+ res.writeHead(200, { 'Content-Type': contentType });
142
+ res.end(content, 'utf-8');
143
+ }
144
+ });
145
+ });
146
+
147
+ server.listen(port, host, () => {
148
+ console.log('Server running at http://' + host + ':' + port + '/');
149
+ });
150
+
151
+ // Keep process alive
152
+ setInterval(() => {}, 1000);
153
+ `;
154
+ try {
155
+ // Spawn Node.js server as detached background process
156
+ const child = spawn(process.execPath, ['-e', serverCode], {
157
+ detached: true,
158
+ stdio: 'ignore'
159
+ });
160
+ child.unref();
161
+ // Save PID
162
+ fs.writeFileSync(pidFile, String(child.pid));
163
+ // Wait for server to start
164
+ await new Promise(resolve => setTimeout(resolve, 1500));
165
+ if (isPortInUse(port)) {
166
+ return {
167
+ success: true,
168
+ message: 'Server deployed successfully',
169
+ pid: child.pid,
170
+ port,
171
+ url: `http://${host}:${port}`,
172
+ root_dir: rootDir,
173
+ status: 'running'
174
+ };
175
+ }
176
+ else {
177
+ return { success: false, error: 'Server started but not responding' };
178
+ }
179
+ }
180
+ catch (error) {
181
+ return { success: false, error: `Failed to start server: ${error}` };
182
+ }
183
+ }
184
+ if (action === 'status') {
185
+ const isRunning = isPortInUse(port);
186
+ const pid = getPidOnPort(port);
187
+ let savedPid = null;
188
+ if (fs.existsSync(pidFile)) {
189
+ try {
190
+ savedPid = parseInt(fs.readFileSync(pidFile, 'utf8').trim(), 10);
191
+ }
192
+ catch { }
193
+ }
194
+ return {
195
+ success: true,
196
+ running: isRunning,
197
+ pid,
198
+ saved_pid: savedPid,
199
+ port,
200
+ url: isRunning ? `http://${host}:${port}` : null,
201
+ status: isRunning ? 'running' : 'stopped'
202
+ };
203
+ }
204
+ if (action === 'stop') {
205
+ const pid = getPidOnPort(port);
206
+ if (!pid) {
207
+ if (fs.existsSync(pidFile)) {
208
+ fs.unlinkSync(pidFile);
209
+ }
210
+ return {
211
+ success: true,
212
+ message: 'No server running on this port',
213
+ port,
214
+ status: 'stopped'
215
+ };
216
+ }
217
+ try {
218
+ process.kill(pid, 'SIGTERM');
219
+ await new Promise(resolve => setTimeout(resolve, 500));
220
+ if (isPortInUse(port)) {
221
+ process.kill(pid, 'SIGKILL');
222
+ await new Promise(resolve => setTimeout(resolve, 500));
223
+ }
224
+ if (fs.existsSync(pidFile)) {
225
+ fs.unlinkSync(pidFile);
226
+ }
227
+ return {
228
+ success: true,
229
+ message: 'Server stopped',
230
+ pid,
231
+ port,
232
+ status: 'stopped'
233
+ };
234
+ }
235
+ catch (error) {
236
+ if (error.code === 'ESRCH') {
237
+ if (fs.existsSync(pidFile)) {
238
+ fs.unlinkSync(pidFile);
239
+ }
240
+ return {
241
+ success: true,
242
+ message: 'Server was not running',
243
+ port,
244
+ status: 'stopped'
245
+ };
246
+ }
247
+ return { success: false, error: `Failed to stop server: ${error}` };
248
+ }
249
+ }
250
+ return { success: false, error: `Unknown action: ${action}` };
251
+ }
252
+ //# sourceMappingURL=static-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-server.js","sourceRoot":"","sources":["../../../../../../src/ptr/node/core/operations/static-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * WebSocket Server builtin for CLM execution.
3
+ *
4
+ * Provides deploy, status, and stop actions for WebSocket servers.
5
+ * Uses Node.js 'ws' library.
6
+ */
7
+ /**
8
+ * Configuration for WebSocket server builtin.
9
+ */
10
+ export interface WebSocketServerConfig {
11
+ action?: 'deploy' | 'status' | 'stop';
12
+ port?: number | string;
13
+ host?: string;
14
+ }
15
+ /**
16
+ * Result from WebSocket server operations.
17
+ */
18
+ export interface WebSocketServerResult {
19
+ success: boolean;
20
+ message?: string;
21
+ error?: string;
22
+ pid?: number | null;
23
+ saved_pid?: number | null;
24
+ port?: number;
25
+ url?: string | null;
26
+ status?: 'running' | 'stopped' | 'already_running';
27
+ running?: boolean;
28
+ logFile?: string;
29
+ details?: string;
30
+ }
31
+ /**
32
+ * Execute WebSocket server builtin.
33
+ */
34
+ export declare function executeWebSocketServer(config: WebSocketServerConfig, context: Record<string, any>, chapterDir: string): Promise<WebSocketServerResult>;
35
+ //# sourceMappingURL=websocket-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server.d.ts","sourceRoot":"","sources":["../../../../../../src/ptr/node/core/operations/websocket-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAsCD;;GAEG;AACH,wBAAsB,sBAAsB,CACxC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAiPhC"}
@@ -0,0 +1,265 @@
1
+ /**
2
+ * WebSocket Server builtin for CLM execution.
3
+ *
4
+ * Provides deploy, status, and stop actions for WebSocket servers.
5
+ * Uses Node.js 'ws' library.
6
+ */
7
+ import { execSync, spawn } from 'child_process';
8
+ import * as fs from 'fs';
9
+ import * as path from 'path';
10
+ /**
11
+ * Resolve environment variables in config values like '${VAR}'.
12
+ */
13
+ function resolveConfigValue(val) {
14
+ if (typeof val === 'string' && val.startsWith('${') && val.endsWith('}')) {
15
+ const envVar = val.slice(2, -1);
16
+ return process.env[envVar] || val;
17
+ }
18
+ return val;
19
+ }
20
+ /**
21
+ * Check if a port is in use using lsof (handles both IPv4 and IPv6).
22
+ */
23
+ function isPortInUse(port) {
24
+ try {
25
+ const result = execSync(`lsof -ti :${port}`, { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] });
26
+ return result.trim().length > 0;
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ }
32
+ /**
33
+ * Get PID of process using a port.
34
+ */
35
+ function getPidOnPort(port) {
36
+ try {
37
+ const result = execSync(`lsof -ti :${port}`, { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] });
38
+ const pid = parseInt(result.trim().split('\n')[0], 10);
39
+ return isNaN(pid) ? null : pid;
40
+ }
41
+ catch {
42
+ return null;
43
+ }
44
+ }
45
+ /**
46
+ * Execute WebSocket server builtin.
47
+ */
48
+ export async function executeWebSocketServer(config, context, chapterDir) {
49
+ const action = context.action || config.action || 'status';
50
+ // Default to WS_PORT from .env matching the project configuration
51
+ const defaultPort = parseInt(process.env.WS_PORT || '8765', 10);
52
+ const rawPort = context.port || config.port || defaultPort;
53
+ const port = parseInt(String(resolveConfigValue(rawPort)), 10);
54
+ const host = context.host || config.host || 'localhost';
55
+ // Resolve project root
56
+ let projectRoot = chapterDir;
57
+ while (projectRoot !== path.dirname(projectRoot)) {
58
+ if (fs.existsSync(path.join(projectRoot, 'package.json')) ||
59
+ fs.existsSync(path.join(projectRoot, '.git'))) {
60
+ break;
61
+ }
62
+ projectRoot = path.dirname(projectRoot);
63
+ }
64
+ if (projectRoot === path.dirname(projectRoot)) {
65
+ projectRoot = process.cwd();
66
+ }
67
+ const pidFile = path.join(projectRoot, `.websocket_server_${port}.pid`);
68
+ if (action === 'deploy') {
69
+ // Check if already running
70
+ if (isPortInUse(port)) {
71
+ const pid = getPidOnPort(port);
72
+ return {
73
+ success: true,
74
+ message: 'WebSocket server already running',
75
+ pid,
76
+ port,
77
+ url: `ws://${host}:${port}/`,
78
+ status: 'already_running'
79
+ };
80
+ }
81
+ try {
82
+ // Locate the worker script
83
+ // In development (src), it's in ./server-scripts/websocket-server-worker.ts
84
+ // In production (dist), it's in ./server-scripts/websocket-server-worker.js
85
+ // Current file is .../builtins/websocket-server.ts
86
+ const currentDir = path.dirname(new URL(import.meta.url).pathname);
87
+ // Construct path to worker script
88
+ // We look for .js first (production), then fallback (though .ts won't run directly without loader)
89
+ let workerScript = path.join(currentDir, 'server-scripts', 'websocket-server-worker.js');
90
+ // Verify if exists, otherwise try checking source location if running via tsx/ts-node (dev mode)
91
+ if (!fs.existsSync(workerScript)) {
92
+ // Try .ts for dev mode
93
+ const workerScriptTs = path.join(currentDir, 'server-scripts', 'websocket-server-worker.ts');
94
+ if (fs.existsSync(workerScriptTs)) {
95
+ workerScript = workerScriptTs;
96
+ }
97
+ else {
98
+ return { success: false, error: `Worker script not found: ${workerScript}` };
99
+ }
100
+ }
101
+ // Create log file for WebSocket server output
102
+ const logFile = path.join(projectRoot, `.websocket_server_${port}.log`);
103
+ // Open log file with file descriptor for stdio
104
+ const logFd = fs.openSync(logFile, 'a');
105
+ // Spawn Node.js WebSocket server as detached background process
106
+ // Passing environment variables for configuration
107
+ const env = { ...process.env, PORT: String(port), HOST: host };
108
+ // If running a .ts file (dev mode with tsx), we might need to use the loader
109
+ // But easiest way for now is to rely on compilation.
110
+ // If checking fails, we assume standard node execution on the resolved path.
111
+ // For tsx support (dev), we'd need to spawn with tsx if the extension is .ts
112
+ const isTs = workerScript.endsWith('.ts');
113
+ const execArgv = isTs && process.execArgv.includes('--loader') ? process.execArgv : [];
114
+ // Better: use process.execPath and let it handle it, or use 'tsx' if available?
115
+ // "spawn(process.execPath...)" runs 'node'. 'node file.ts' fails.
116
+ // We should rely on the build step having run, OR use tsx if we are in dev.
117
+ let child;
118
+ if (isTs) {
119
+ // Dev mode: assume tsx is available or we are in a ts-node env
120
+ // We'll try to use 'npx tsx' or similar if we really had to, but the requirement is "native implementation".
121
+ // Since we are compiling, we should target the .js file.
122
+ // However, the `demo:clm` command uses `tsx`.
123
+ // If we run `tsx examples/run-clm.ts`, we are in dev mode.
124
+ // We should assume proper environment.
125
+ // For robustness, let's try to detect if we should use tsx
126
+ child = spawn('npx', ['tsx', workerScript], {
127
+ detached: true,
128
+ stdio: ['ignore', logFd, logFd],
129
+ env
130
+ });
131
+ }
132
+ else {
133
+ // Production mode: node running .js
134
+ child = spawn(process.execPath, [workerScript], {
135
+ detached: true,
136
+ stdio: ['ignore', logFd, logFd],
137
+ env
138
+ });
139
+ }
140
+ // Log any errors from the child process
141
+ child.on('error', (err) => {
142
+ console.error(`[WebSocket Server] Process error: ${err}`);
143
+ fs.appendFileSync(logFile, `\nProcess error: ${err}\n`);
144
+ });
145
+ child.on('exit', (code, signal) => {
146
+ if (code !== null && code !== 0) {
147
+ console.error(`[WebSocket Server] Process exited with code ${code}`);
148
+ fs.appendFileSync(logFile, `\nProcess exited with code ${code}\n`);
149
+ }
150
+ // Close file descriptor on exit
151
+ try {
152
+ fs.closeSync(logFd);
153
+ }
154
+ catch { }
155
+ });
156
+ child.unref();
157
+ // Close file descriptor in parent process
158
+ try {
159
+ fs.closeSync(logFd);
160
+ }
161
+ catch { }
162
+ // Save PID
163
+ fs.writeFileSync(pidFile, String(child.pid));
164
+ // Wait for server to start
165
+ await new Promise(resolve => setTimeout(resolve, 3000));
166
+ if (isPortInUse(port)) {
167
+ console.log(`[WebSocket Server] Successfully started on port ${port}`);
168
+ return {
169
+ success: true,
170
+ message: 'WebSocket server deployed successfully',
171
+ pid: child.pid,
172
+ port,
173
+ url: `ws://${host}:${port}/`,
174
+ status: 'running',
175
+ logFile
176
+ };
177
+ }
178
+ else {
179
+ // Read log file to get error details
180
+ let errorDetails = '';
181
+ try {
182
+ errorDetails = fs.readFileSync(logFile, 'utf8');
183
+ }
184
+ catch { }
185
+ return {
186
+ success: false,
187
+ error: "Server started but not responding. Check log file for details.",
188
+ logFile,
189
+ details: errorDetails.slice(-500)
190
+ };
191
+ }
192
+ }
193
+ catch (error) {
194
+ return { success: false, error: `Failed to start server: ${error}` };
195
+ }
196
+ }
197
+ if (action === 'status') {
198
+ const isRunning = isPortInUse(port);
199
+ const pid = getPidOnPort(port);
200
+ let savedPid = null;
201
+ if (fs.existsSync(pidFile)) {
202
+ try {
203
+ savedPid = parseInt(fs.readFileSync(pidFile, 'utf8').trim(), 10);
204
+ }
205
+ catch { }
206
+ }
207
+ return {
208
+ success: true,
209
+ running: isRunning,
210
+ pid,
211
+ saved_pid: savedPid,
212
+ port,
213
+ url: isRunning ? `ws://${host}:${port}/` : null,
214
+ status: isRunning ? 'running' : 'stopped'
215
+ };
216
+ }
217
+ if (action === 'stop') {
218
+ const pid = getPidOnPort(port);
219
+ if (!pid) {
220
+ if (fs.existsSync(pidFile)) {
221
+ fs.unlinkSync(pidFile);
222
+ }
223
+ return {
224
+ success: true,
225
+ message: 'No WebSocket server running on this port',
226
+ port,
227
+ status: 'stopped'
228
+ };
229
+ }
230
+ try {
231
+ process.kill(pid, 'SIGTERM');
232
+ await new Promise(resolve => setTimeout(resolve, 500));
233
+ if (isPortInUse(port)) {
234
+ process.kill(pid, 'SIGKILL');
235
+ await new Promise(resolve => setTimeout(resolve, 500));
236
+ }
237
+ if (fs.existsSync(pidFile)) {
238
+ fs.unlinkSync(pidFile);
239
+ }
240
+ return {
241
+ success: true,
242
+ message: 'WebSocket server stopped',
243
+ pid,
244
+ port,
245
+ status: 'stopped'
246
+ };
247
+ }
248
+ catch (error) {
249
+ if (error.code === 'ESRCH') {
250
+ if (fs.existsSync(pidFile)) {
251
+ fs.unlinkSync(pidFile);
252
+ }
253
+ return {
254
+ success: true,
255
+ message: 'WebSocket server was not running',
256
+ port,
257
+ status: 'stopped'
258
+ };
259
+ }
260
+ return { success: false, error: `Failed to stop server: ${error}` };
261
+ }
262
+ }
263
+ return { success: false, error: `Unknown action: ${action}` };
264
+ }
265
+ //# sourceMappingURL=websocket-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-server.js","sourceRoot":"","sources":["../../../../../../src/ptr/node/core/operations/websocket-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcard-js",
3
- "version": "2.1.26",
3
+ "version": "2.1.27",
4
4
  "description": "MCard - Content-addressable storage with cryptographic hashing, handle resolution, and vector search for Node.js and browsers",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",