@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/cli/index.js CHANGED
@@ -91,7 +91,8 @@ var DEFAULT_PRESET_PROFILES = [
91
91
  role: "Clinical Healthcare & EHR Patient Records",
92
92
  isolation: "pnet Swarm Key (PSK) + HIPAA Strict Mode",
93
93
  dataset: "2,500 clinical EHR patient records",
94
- defaultTool: "Analyze_Synthetic_Medical_Records"
94
+ defaultTool: "Analyze_Synthetic_Medical_Records",
95
+ defaultTools: ["Analyze_Synthetic_Medical_Records"]
95
96
  },
96
97
  {
97
98
  id: "bank",
@@ -103,7 +104,8 @@ var DEFAULT_PRESET_PROFILES = [
103
104
  role: "Core Banking & Financial Settlement",
104
105
  isolation: "pnet Swarm Key (PSK) + Differential Privacy",
105
106
  dataset: "1,500 synthetic accounts ($148M balance)",
106
- defaultTool: "Analyze_Synthetic_Bank_Transactions"
107
+ defaultTool: "Analyze_Synthetic_Bank_Transactions",
108
+ defaultTools: ["Analyze_Synthetic_Bank_Transactions"]
107
109
  },
108
110
  {
109
111
  id: "blg",
@@ -114,7 +116,12 @@ var DEFAULT_PRESET_PROFILES = [
114
116
  tierLabel: "Tier 1: Sovereign Enclaves (In-Situ Origin)",
115
117
  role: "Dual-NIC Perimeter Security Bridge (Tier 1 <-> Tier 2)",
116
118
  isolation: "6-Layer Zero-Trust + AST Guardian + Egress Shield",
117
- defaultTool: "BLG_Inspect_Enclave_Perimeter"
119
+ defaultTool: "BLG_Inspect_Enclave_Perimeter",
120
+ defaultTools: [
121
+ "BLG_Inspect_Enclave_Perimeter",
122
+ "BLG_Execute_Healthcare_Analytics",
123
+ "BLG_Execute_Banking_Analytics"
124
+ ]
118
125
  },
119
126
  {
120
127
  id: "oracle",
@@ -126,7 +133,8 @@ var DEFAULT_PRESET_PROFILES = [
126
133
  role: "Real-time High Frequency Trading Market Simulator",
127
134
  isolation: "Consortium Node + 50ms Tick Streaming Buffer",
128
135
  dataset: "8 Instruments + L2 Orderbook",
129
- defaultTool: "Analyze_HFT_Market_Data"
136
+ defaultTool: "Analyze_HFT_Market_Data",
137
+ defaultTools: ["Analyze_HFT_Market_Data", "LiopMeshStatus"]
130
138
  },
131
139
  {
132
140
  id: "relay",
@@ -136,7 +144,8 @@ var DEFAULT_PRESET_PROFILES = [
136
144
  tierLabel: "Tier 2: Consortium Routing & Gateways",
137
145
  role: "Kademlia DHT & libp2p Circuit Relay v2 Node",
138
146
  isolation: "Public Swarm Mesh Relay",
139
- defaultTool: "LiopMeshStatus"
147
+ defaultTool: "LiopMeshStatus",
148
+ defaultTools: ["LiopMeshStatus"]
140
149
  },
141
150
  {
142
151
  id: "nexus",
@@ -146,7 +155,8 @@ var DEFAULT_PRESET_PROFILES = [
146
155
  tierLabel: "Tier 2: Consortium Routing & Gateways",
147
156
  role: "OAuth 2.1 RFC 8707 Auth Server & Mesh Authority",
148
157
  isolation: "Zero-Trust Identity Provider",
149
- defaultTool: "Authenticate_Client"
158
+ defaultTool: "Authenticate_Client",
159
+ defaultTools: ["Authenticate_Client"]
150
160
  },
151
161
  {
152
162
  id: "edge",
@@ -158,7 +168,8 @@ var DEFAULT_PRESET_PROFILES = [
158
168
  role: "Edge Telemetry & Hostile 3G WAN Industrial Node",
159
169
  isolation: "WAN Jitter/Loss Resistant Client",
160
170
  dataset: "Edge Telemetry Sensors (Pressure, RPM, Temp)",
161
- defaultTool: "Analyze_IoT_Sensor_Data"
171
+ defaultTool: "Analyze_IoT_Sensor_Data",
172
+ defaultTools: ["Analyze_IoT_Sensor_Data"]
162
173
  }
163
174
  ];
164
175
  var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
@@ -191,7 +202,7 @@ var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
191
202
  /**
192
203
  * Probe a specific HTTP/Health endpoint dynamically.
193
204
  */
194
- async probeHttpNode(host, port, timeoutMs = 1200) {
205
+ async probeHttpNode(host, port, timeoutMs = 3500) {
195
206
  const url = `http://${host}:${port}`;
196
207
  const t0 = performance.now();
197
208
  const controller = new AbortController();
@@ -278,7 +289,7 @@ var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
278
289
  peerId: probe.peerId || `peer-${profile.id}`,
279
290
  multiaddrs: probe.multiaddrs || [],
280
291
  version: probe.version || "2.5.0",
281
- tools: probe.tools && probe.tools.length > 0 ? probe.tools : [],
292
+ tools: probe.tools && probe.tools.length > 0 ? probe.tools : profile.defaultTools || (profile.defaultTool ? [profile.defaultTool] : []),
282
293
  role: profile.role,
283
294
  isolation: profile.isolation,
284
295
  dataset: profile.dataset,
@@ -300,7 +311,7 @@ var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
300
311
  peerId: `peer-${profile.id}`,
301
312
  multiaddrs: [],
302
313
  version: "2.5.0",
303
- tools: [],
314
+ tools: profile.defaultTools || (profile.defaultTool ? [profile.defaultTool] : []),
304
315
  role: profile.role,
305
316
  isolation: profile.isolation,
306
317
  dataset: profile.dataset,
@@ -338,7 +349,7 @@ var NetworkDiscoveryEngine = class _NetworkDiscoveryEngine {
338
349
  const probe = await this.probeHttpNode(host, matchedProfile.httpPort);
339
350
  const isOnline = status === "online" || Boolean(probe?.tools) && (probe?.tools?.length ?? 0) > 0;
340
351
  const nodeName = probe?.name?.replace("PRODUCTION-", "").replace(/-/g, " ") || matchedProfile.defaultName;
341
- const defaultTools = matchedProfile.defaultTool ? [matchedProfile.defaultTool] : ["Execute_WASI_Logic"];
352
+ const defaultTools = matchedProfile.defaultTools || (matchedProfile.defaultTool ? [matchedProfile.defaultTool] : ["Execute_WASI_Logic"]);
342
353
  const tools = isOnline ? probe?.tools && probe.tools.length > 0 ? probe.tools : defaultTools : [];
343
354
  const enriched = isOnline && probe?.enrichedTools && probe.enrichedTools.length > 0 ? probe.enrichedTools : tools.map((t) => ({
344
355
  name: t,
@@ -1892,7 +1903,7 @@ function createStudioServer(options = {}) {
1892
1903
  app.use(
1893
1904
  "/*",
1894
1905
  serveStatic({
1895
- root: path.relative(process3.cwd(), distPath).replace(/\\/g, "/"),
1906
+ root: distPath,
1896
1907
  rewriteRequestPath: (pathStr) => {
1897
1908
  if (!pathStr.includes(".") && !pathStr.startsWith("/api") && pathStr !== "/health") {
1898
1909
  return "/index.html";