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.
- package/dist/scripts/docker-startup.js +2 -2
- package/dist/scripts/docker-startup.js.map +1 -1
- package/dist/src/ptr/node/clm/index.d.ts +4 -4
- package/dist/src/ptr/node/clm/index.d.ts.map +1 -1
- package/dist/src/ptr/node/clm/index.js +4 -4
- package/dist/src/ptr/node/clm/index.js.map +1 -1
- package/dist/src/ptr/node/clm/runner.js +4 -4
- package/dist/src/ptr/node/clm/runner.js.map +1 -1
- package/dist/src/ptr/node/core/operations/handle.d.ts +14 -0
- package/dist/src/ptr/node/core/operations/handle.d.ts.map +1 -0
- package/dist/src/ptr/node/core/operations/handle.js +177 -0
- package/dist/src/ptr/node/core/operations/handle.js.map +1 -0
- package/dist/src/ptr/node/core/operations/index.d.ts +28 -0
- package/dist/src/ptr/node/core/operations/index.d.ts.map +1 -0
- package/dist/src/ptr/node/core/operations/index.js +94 -0
- package/dist/src/ptr/node/core/operations/index.js.map +1 -0
- package/dist/src/ptr/node/core/operations/server-scripts/websocket-server-worker.d.ts +8 -0
- package/dist/src/ptr/node/core/operations/server-scripts/websocket-server-worker.d.ts.map +1 -0
- package/dist/src/ptr/node/core/operations/server-scripts/websocket-server-worker.js +81 -0
- package/dist/src/ptr/node/core/operations/server-scripts/websocket-server-worker.js.map +1 -0
- package/dist/src/ptr/node/core/operations/static-server.d.ts +35 -0
- package/dist/src/ptr/node/core/operations/static-server.d.ts.map +1 -0
- package/dist/src/ptr/node/core/operations/static-server.js +252 -0
- package/dist/src/ptr/node/core/operations/static-server.js.map +1 -0
- package/dist/src/ptr/node/core/operations/websocket-server.d.ts +35 -0
- package/dist/src/ptr/node/core/operations/websocket-server.d.ts.map +1 -0
- package/dist/src/ptr/node/core/operations/websocket-server.js +265 -0
- package/dist/src/ptr/node/core/operations/websocket-server.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { executeStaticServer } from '../src/ptr/node/
|
|
2
|
-
import { executeWebSocketServer } from '../src/ptr/node/
|
|
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,
|
|
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 '
|
|
21
|
-
export { executeHandleVersion, executeHandlePrune, } from '
|
|
22
|
-
export { executeStaticServer, type StaticServerConfig, type StaticServerResult, } from '
|
|
23
|
-
export { executeWebSocketServer, type WebSocketServerConfig, type WebSocketServerResult, } from '
|
|
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,
|
|
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 '
|
|
22
|
-
export { executeHandleVersion, executeHandlePrune, } from '
|
|
23
|
-
export { executeStaticServer, } from '
|
|
24
|
-
export { executeWebSocketServer, } from '
|
|
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,
|
|
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 '
|
|
17
|
-
import { executeHandleVersion, executeHandlePrune } from '
|
|
18
|
-
import { executeStaticServer } from '
|
|
19
|
-
import { executeWebSocketServer } from '
|
|
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":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAehD,YAAY;AACZ,OAAO,EACH,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACjB,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,OAAO,SAAS;IACV,MAAM,CAAY;IAClB,OAAO,CAAS;IAChB,UAAU,CAAkB;IAEpC,YAAY,WAAmB,OAAO,CAAC,GAAG,EAAE,EAAE,UAAkB,IAAI,EAAE,UAA2B;QAC7F,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,KAAe;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACrC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CAAC,GAAY,EAAE,UAAkB,EAAE,KAAc;QAC7D,kCAAkC;QAClC,gEAAgE;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE7C,wCAAwC;QACxC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC;QACpD,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CACvB,MAAM,CAAC,OAAO,CAAC,aAAuC,CAAC,CAC1D,CAAC;QAEF,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,iEAAiE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxH,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;YAEzC,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,wIAAwI,CAAC,CAAC;YAC3J,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACxF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC;QAE/C,uBAAuB;QACvB,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,MAAuB,CAAC;QAE5B,IAAI,CAAC;YACD,MAAM,OAAO,GAAI,MAAc,CAAC,OAAO,CAAC;YACxC,MAAM,SAAS,GAAI,MAAc,CAAC,OAAO,IAAK,MAAc,CAAC,MAAM,IAAK,MAAc,CAAC,SAAS,CAAC;YAEjG,+BAA+B;YAC/B,qFAAqF;YACrF,IAAI,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,mBAAmB,EAAE,CAAC;gBACzG,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9F,CAAC;iBACI,IAAI,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;gBACjD,sDAAsD;gBACtD,MAAM,YAAY,GAAI,MAAc,CAAC,MAAM,IAAI,EAAE,CAAC;gBAClD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC1C,YAAY,EACZ,QAAQ,CAAC,KAAK,CAAC,EACf,UAAU,CACb,CAAC;gBACF,MAAM,GAAG,oBAAoB,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACtF,CAAC;iBACI,IAAI,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;gBACpD,yDAAyD;gBACzD,MAAM,QAAQ,GAAI,MAAc,CAAC,MAAM,IAAI,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CACzC,QAAQ,EACR,QAAQ,CAAC,KAAK,CAAC,EACf,UAAU,CACb,CAAC;gBACF,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;iBACI,IAAI,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC5C,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAClF,CAAC;iBACI,CAAC;gBACF,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC5D,IAAI,UAAU,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,UAAU,KAAK,SAAS;wBACzC,CAAC,CAAC,MAAM,oBAAoB,CAAC,KAA4B,CAAC;wBAC1D,CAAC,CAAC,MAAM,kBAAkB,CAAC,KAA4B,CAAC,CAAC;oBAC7D,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACJ,6BAA6B;oBAC7B,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAChG,CAAC;YACL,CAAC;QAEL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,oBAAoB,CACzB,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAChC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CACnD,CAAC;QACN,CAAC;QAED,uCAAuC;QACvC,8CAA8C;QAC9C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC;gBACD,qEAAqE;gBACrE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,aAAgC,CAAC;gBAErC,IAAI,QAAQ,CAAC,aAAa,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBACnE,IAAI,QAAQ,IAAI,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC9C,aAAa,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACpD,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAC7C,KAAK,EACL;oBACI,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,MAAM,CAAC,aAAa;iBACtC,EACD,aAAa,EACb,MAAM,CAAC,OAAO,CACjB,CAAC;gBAEF,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAEjC,qDAAqD;gBACpD,MAAc,CAAC,QAAQ,GAAG;oBACvB,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE;iBACjC,CAAC;YAEN,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,+DAA+D;gBAC/D,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,GAAY,EAAE,UAAkB,EAAE,KAAc;QACtE,OAAO,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,GAAY;QACvB,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACX,GAAY,EACZ,UAAkB,EAClB,KAAc,EACd,QAAiB;QAEjB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACtE,OAAO;YACH,QAAQ,EAAE,eAAe,CAAC,OAAO;gBAC7B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACvE,QAAQ;YACR,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,eAAe;SAClB,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,UAAkB;QAI9C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,GAAY,EAAE,OAAyD;QACxF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAQ,CAAC;YAC7C,MAAM,QAAQ,GAAG,OAAO,EAAE,eAAe,CAAC;YAC1C,MAAM,cAAc,GAAG,OAAO,EAAE,eAAe,CAAC;YAEhD,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;wBACnD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM;wBACnB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACxC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAChC,KAAK,GAAG,IAAI,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC3E,CAAC;YACL,CAAC;YACD,IAAI,KAAK;gBAAE,MAAM,IAAI,CAAC,CAAC;YAEvB,OAAO;gBACH,IAAI,EAAE,KAAK,GAAG,CAAC;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;gBACzB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;gBACvB,QAAQ,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,cAAc,EAAE,CAAC,CAAC,CAAC,QAAQ;gBACjF,KAAK;aACR,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,GAAY;QACvB,OAAO;YACH,MAAM,EAAE;gBACJ,iBAAiB,GAAG,CAAC,OAAO,CAAC,KAAK,MAAM;gBACxC,cAAc;gBACd,uBAAuB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,SAAS,EAAE;gBAC/D,uBAAuB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,IAAI,SAAS,EAAE;gBACrE,wBAAwB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,IAAI,SAAS,EAAE;aACvE;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,GAAY,EAAE,SAA0B;QACzD,OAAO;YACH,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACjD,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;YAC1B,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;SACnC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,GAAY,EAAE,OAA2B;QACxD,OAAO;YACH,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAChE,MAAM,EAAE;gBACJ,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK;gBACzC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;iBACjB,CAAC,CAAC;aACN;YACD,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;YAC1B,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;SACnC,CAAC;IACN,CAAC;IAED,4EAA4E;IAEpE,KAAK,CAAC,aAAa,CACvB,WAAmB,EACnB,MAAW,EACX,GAAY,EACZ,UAAkB,EAClB,KAAc,EACd,SAAiB;QAEjB,MAAM,aAAa,GAAG,CAAC,WAAW,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7F,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAClF,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,MAAW,EACX,GAAY,EACZ,UAAkB,EAClB,KAAc,EACd,SAAiB;QAEjB,MAAM,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7F,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACpF,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,eAAe,CACzB,WAAmB,EACnB,MAAW,EACX,GAAY,EACZ,UAAkB,EAClB,KAAc,EACd,SAAiB;QAEjB,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAEvF,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,IAAI,WAAW,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAClG,MAAM,IAAI,KAAK,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;YAC/B,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACtE,CAAC;QAED,4FAA4F;QAC5F,qFAAqF;QACrF,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QACtE,oDAAoD;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAK,GAAG,CAAC,GAAG,EAAE,QAAgB,EAAE,UAAU,CAAC;QAC9E,MAAM,eAAe,GAAG,WAAW,KAAK,QAAQ;YAC5C,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE;YAChE,CAAC,CAAC,MAAM,CAAC;QAEb,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QAE9F,0EAA0E;QAC1E,IAAI,WAAW,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,SAAS,GAAG,MAAa,CAAC;YAChC,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACrB,OAAO,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC9E,CAAC;gBACD,yEAAyE;gBACzE,MAAM,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC;YACvD,CAAC;QACL,CAAC;QAED,OAAO,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC1B,WAAmB,EACnB,MAAW,EACX,UAAkB,EAClB,KAAc,EACd,WAAoB;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,IAAI,WAAW,CAAC;QAEzD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAE1C,MAAM,WAAW,GAAG;gBAChB,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAClB,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK;gBAC7C,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ;gBAClC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ;gBAClC,iBAAiB,EAAE,KAAK;aAC3B,CAAC;YAEF,IAAI,UAA2B,CAAC;YAChC,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC3B,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC1F,UAAU,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACJ,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YACtE,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,UAAU,CAAC,aAAa;gBAChE,GAAG,EAAE;oBACD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK;oBAClC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,SAAS;oBACvD,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,IAAI,SAAS;oBACnE,QAAQ;iBACX;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,oBAAoB,CACvB,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EACxC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC1C,QAAQ,CACX,CAAC;QACN,CAAC;IACL,CAAC;IAED,4EAA4E;IAEpE,iBAAiB,CACrB,WAAmB,EACnB,MAAW,EACX,GAAY,EACZ,UAAkB,EAClB,KAAc;QAEd,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,IAAI,UAAU,GAAI,MAAc,CAAC,WAAW,CAAC;YAC7C,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBACxC,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAC3E,UAAU,GAAG,EAAE,EAAE,MAAM,CAAC;YAC5B,CAAC;YACD,OAAO,UAAU,IAAI,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,GAAI,MAAc,CAAC,WAAW,CAAC;YACtC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBACjC,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAC3E,GAAG,GAAG,EAAE,EAAE,MAAM,CAAC;YACrB,CAAC;YACD,OAAO,GAAG,IAAI,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,WAAW,KAAK,KAAK;YAAE,OAAO,YAAY,CAAC;QAE/C,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,IAAI,WAAW,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAEO,mBAAmB,CAAC,GAAY,EAAE,KAAc,EAAE,UAAkB;QACxE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO;YACH,GAAG,WAAW;YACd,KAAK;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,OAAO,CAAC,GAAG;YACpB,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;SACvC,CAAC;IACN,CAAC;IAEO,sBAAsB,CAAC,KAAc,EAAE,UAAkB;QAC7D,OAAO;YACH,GAAG,QAAQ,CAAC,KAAK,CAAC;YAClB,OAAO;YACP,UAAU;YACV,YAAY;YACZ,WAAW;YACX,aAAa;YACb,OAAO;YACP,MAAM,EAAE,KAAK,EAAE,OAAe,EAAE,QAAa,EAAE,EAAE;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,sBAAsB,CAAC,CAAC;gBACvE,OAAO,GAAG,CAAC,MAAM,CAAC;YACtB,CAAC;SACJ,CAAC;IACN,CAAC;IAEO,WAAW,CAAC,UAAkB;QAClC,OAAO,KAAK,EAAE,OAAe,EAAE,QAAa,EAAE,EAAE;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC;IACN,CAAC;CACJ"}
|
|
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":"AAAA;;GAEG;AAEH,2DAA2D;AAC3D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC7B,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY;IAChE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB;IACzD,YAAY,EAAE,eAAe;IAC7B,UAAU;IACV,YAAY,EAAE,YAAY,EAAE,YAAY;IACxC,aAAa,EAAE,aAAa;IAC5B,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB,EAAE,aAAa,EAAE,eAAe;CACnD,CAAC,CAAC;AAEH,qDAAqD;AACrD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC5B,eAAe;IACf,kBAAkB;CACrB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAY,EAAE,SAAkB;IAC7D,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAEpC,2CAA2C;IAC3C,MAAM,EAAE,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACrE,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAEtB,oBAAoB;IACpB,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,wBAAwB;IACxB,OAAO,CACH,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QACtB,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAC3B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QACvB,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAC3B,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAY,EAAE,SAAkB;IAC5D,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAErE,OAAO,EAAE,KAAK,QAAQ;QAClB,EAAE,KAAK,YAAY;QACnB,SAAS,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAY,EAAE,SAAkB;IAC5D,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAErE,OAAO,EAAE,KAAK,gBAAgB;QAC1B,EAAE,KAAK,cAAc,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAY,EAAE,SAAkB;IACjE,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAErE,IAAI,EAAE,KAAK,gBAAgB;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,EAAE,KAAK,cAAc;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAY,EAAE,SAAkB;IAClE,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAErE,OAAO,EAAE,KAAK,eAAe,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAY,EAAE,SAAkB;IACrE,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAErE,OAAO,EAAE,KAAK,kBAAkB,CAAC;AACrC,CAAC"}
|
|
@@ -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