@nekzus/liop-studio 1.0.0-alpha.2 → 1.0.0-alpha.4

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/index.js CHANGED
@@ -23,7 +23,8 @@ var DEFAULT_PRESET_PROFILES = [
23
23
  role: "Clinical Healthcare & EHR Patient Records",
24
24
  isolation: "pnet Swarm Key (PSK) + HIPAA Strict Mode",
25
25
  dataset: "2,500 clinical EHR patient records",
26
- defaultTool: "Analyze_Synthetic_Medical_Records"
26
+ defaultTool: "Analyze_Synthetic_Medical_Records",
27
+ defaultTools: ["Analyze_Synthetic_Medical_Records"]
27
28
  },
28
29
  {
29
30
  id: "bank",
@@ -35,7 +36,8 @@ var DEFAULT_PRESET_PROFILES = [
35
36
  role: "Core Banking & Financial Settlement",
36
37
  isolation: "pnet Swarm Key (PSK) + Differential Privacy",
37
38
  dataset: "1,500 synthetic accounts ($148M balance)",
38
- defaultTool: "Analyze_Synthetic_Bank_Transactions"
39
+ defaultTool: "Analyze_Synthetic_Bank_Transactions",
40
+ defaultTools: ["Analyze_Synthetic_Bank_Transactions"]
39
41
  },
40
42
  {
41
43
  id: "blg",
@@ -46,7 +48,12 @@ var DEFAULT_PRESET_PROFILES = [
46
48
  tierLabel: "Tier 1: Sovereign Enclaves (In-Situ Origin)",
47
49
  role: "Dual-NIC Perimeter Security Bridge (Tier 1 <-> Tier 2)",
48
50
  isolation: "6-Layer Zero-Trust + AST Guardian + Egress Shield",
49
- defaultTool: "BLG_Inspect_Enclave_Perimeter"
51
+ defaultTool: "BLG_Inspect_Enclave_Perimeter",
52
+ defaultTools: [
53
+ "BLG_Inspect_Enclave_Perimeter",
54
+ "BLG_Execute_Healthcare_Analytics",
55
+ "BLG_Execute_Banking_Analytics"
56
+ ]
50
57
  },
51
58
  {
52
59
  id: "oracle",
@@ -58,7 +65,8 @@ var DEFAULT_PRESET_PROFILES = [
58
65
  role: "Real-time High Frequency Trading Market Simulator",
59
66
  isolation: "Consortium Node + 50ms Tick Streaming Buffer",
60
67
  dataset: "8 Instruments + L2 Orderbook",
61
- defaultTool: "Analyze_HFT_Market_Data"
68
+ defaultTool: "Analyze_HFT_Market_Data",
69
+ defaultTools: ["Analyze_HFT_Market_Data", "LiopMeshStatus"]
62
70
  },
63
71
  {
64
72
  id: "relay",
@@ -68,7 +76,8 @@ var DEFAULT_PRESET_PROFILES = [
68
76
  tierLabel: "Tier 2: Consortium Routing & Gateways",
69
77
  role: "Kademlia DHT & libp2p Circuit Relay v2 Node",
70
78
  isolation: "Public Swarm Mesh Relay",
71
- defaultTool: "LiopMeshStatus"
79
+ defaultTool: "LiopMeshStatus",
80
+ defaultTools: ["LiopMeshStatus"]
72
81
  },
73
82
  {
74
83
  id: "nexus",
@@ -78,7 +87,8 @@ var DEFAULT_PRESET_PROFILES = [
78
87
  tierLabel: "Tier 2: Consortium Routing & Gateways",
79
88
  role: "OAuth 2.1 RFC 8707 Auth Server & Mesh Authority",
80
89
  isolation: "Zero-Trust Identity Provider",
81
- defaultTool: "Authenticate_Client"
90
+ defaultTool: "Authenticate_Client",
91
+ defaultTools: ["Authenticate_Client"]
82
92
  },
83
93
  {
84
94
  id: "edge",
@@ -90,7 +100,8 @@ var DEFAULT_PRESET_PROFILES = [
90
100
  role: "Edge Telemetry & Hostile 3G WAN Industrial Node",
91
101
  isolation: "WAN Jitter/Loss Resistant Client",
92
102
  dataset: "Edge Telemetry Sensors (Pressure, RPM, Temp)",
93
- defaultTool: "Analyze_IoT_Sensor_Data"
103
+ defaultTool: "Analyze_IoT_Sensor_Data",
104
+ defaultTools: ["Analyze_IoT_Sensor_Data"]
94
105
  }
95
106
  ];
96
107
  var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
@@ -123,7 +134,7 @@ var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
123
134
  /**
124
135
  * Probe a specific HTTP/Health endpoint dynamically.
125
136
  */
126
- async probeHttpNode(host, port, timeoutMs = 1200) {
137
+ async probeHttpNode(host, port, timeoutMs = 3500) {
127
138
  const url = `http://${host}:${port}`;
128
139
  const t0 = performance.now();
129
140
  const controller = new AbortController();
@@ -210,7 +221,7 @@ var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
210
221
  peerId: probe.peerId || `peer-${profile.id}`,
211
222
  multiaddrs: probe.multiaddrs || [],
212
223
  version: probe.version || "2.5.0",
213
- tools: probe.tools && probe.tools.length > 0 ? probe.tools : [],
224
+ tools: probe.tools && probe.tools.length > 0 ? probe.tools : profile.defaultTools || (profile.defaultTool ? [profile.defaultTool] : []),
214
225
  role: profile.role,
215
226
  isolation: profile.isolation,
216
227
  dataset: profile.dataset,
@@ -232,7 +243,7 @@ var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
232
243
  peerId: `peer-${profile.id}`,
233
244
  multiaddrs: [],
234
245
  version: "2.5.0",
235
- tools: [],
246
+ tools: profile.defaultTools || (profile.defaultTool ? [profile.defaultTool] : []),
236
247
  role: profile.role,
237
248
  isolation: profile.isolation,
238
249
  dataset: profile.dataset,
@@ -270,7 +281,7 @@ var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
270
281
  const probe = await this.probeHttpNode(host, matchedProfile.httpPort);
271
282
  const isOnline = status === "online" || Boolean(probe?.tools) && (probe?.tools?.length ?? 0) > 0;
272
283
  const nodeName = probe?.name?.replace("PRODUCTION-", "").replace(/-/g, " ") || matchedProfile.defaultName;
273
- const defaultTools = matchedProfile.defaultTool ? [matchedProfile.defaultTool] : ["Execute_WASI_Logic"];
284
+ const defaultTools = matchedProfile.defaultTools || (matchedProfile.defaultTool ? [matchedProfile.defaultTool] : ["Execute_WASI_Logic"]);
274
285
  const tools = isOnline ? probe?.tools && probe.tools.length > 0 ? probe.tools : defaultTools : [];
275
286
  const enriched = isOnline && probe?.enrichedTools && probe.enrichedTools.length > 0 ? probe.enrichedTools : tools.map((t) => ({
276
287
  name: t,
@@ -2013,7 +2024,7 @@ function createStudioServer(options = {}) {
2013
2024
  app.use(
2014
2025
  "/*",
2015
2026
  serveStatic({
2016
- root: path.relative(process4.cwd(), distPath).replace(/\\/g, "/"),
2027
+ root: distPath,
2017
2028
  rewriteRequestPath: (pathStr) => {
2018
2029
  if (!pathStr.includes(".") && !pathStr.startsWith("/api") && pathStr !== "/health") {
2019
2030
  return "/index.html";