@nekzus/liop-studio 1.0.0-alpha.2 → 1.0.0-alpha.20
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/README.md +71 -28
- package/dist/cli/index.js +118 -28
- package/dist/cli/index.js.map +1 -1
- package/dist/{index-DLA-Sm4s.d.ts → index-Cl7IupN0.d.ts} +2 -0
- package/dist/index.d.ts +9 -3
- package/dist/index.js +97 -25
- package/dist/index.js.map +1 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.js +87 -25
- package/dist/server/index.js.map +1 -1
- package/package.json +6 -6
- package/ui/README.md +45 -59
- package/ui/dist/assets/index-BjiNGEL8.js +306 -0
- package/ui/dist/assets/index-Cr1w0czW.css +1 -0
- package/ui/dist/favicon.svg +14 -0
- package/ui/dist/icons.svg +24 -0
- package/ui/dist/index.html +14 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nekzus/liop-studio",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.20",
|
|
4
4
|
"description": "LIOP Sovereign Studio — Developer studio, mesh scanner, and logic-on-origin inspector for LIOP & MCP.",
|
|
5
5
|
"author": "Nekzus Solutions and contributors",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -58,17 +58,17 @@
|
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@hono/node-server": "2.1.1",
|
|
61
|
-
"@nekzus/liop": "2.4.0-alpha.
|
|
61
|
+
"@nekzus/liop": "2.4.0-alpha.24",
|
|
62
62
|
"commander": "^13.1.0",
|
|
63
|
-
"hono": "4.13.
|
|
63
|
+
"hono": "4.13.8",
|
|
64
64
|
"picocolors": "^1.1.1",
|
|
65
|
-
"zod": "4.
|
|
65
|
+
"zod": "4.6.5"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@biomejs/biome": "2.5.
|
|
68
|
+
"@biomejs/biome": "2.5.14",
|
|
69
69
|
"@types/node": "26.4.0",
|
|
70
70
|
"tsup": "8.5.1",
|
|
71
|
-
"tsx": "4.23.
|
|
71
|
+
"tsx": "4.23.13",
|
|
72
72
|
"typescript": "6.0.3",
|
|
73
73
|
"vitest": "4.1.11"
|
|
74
74
|
},
|
package/ui/README.md
CHANGED
|
@@ -1,73 +1,59 @@
|
|
|
1
|
-
#
|
|
1
|
+
# LIOP Sovereign Studio: Web UI Architecture
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The frontend of **LIOP Studio** is a decoupled Single Page Application (SPA) designed to inspect, test, and inject sandboxed WASI micro-modules across multi-tier LIOP nodes and standard Model Context Protocol (MCP) servers.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
---
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/)
|
|
7
|
+
## Architectural Principles
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
1. **Deterministic State Synchronization**: Template selection, capability targeting, and network endpoint routing maintain strict bidirectional synchronization. Selecting a capability switches target enclaves automatically when required.
|
|
10
|
+
2. **Realtime Computational Telemetry**: Observes in-situ fuel consumption (quantized to 100-unit buckets per NIST SP 800-53), BPE token counting (`o200k_base`), wire egress reduction, and cryptographic proofs (ZK-Receipt HMAC-SHA256, ML-KEM-768, AES-256-GCM).
|
|
11
|
+
3. **High-Contrast Semantic Theming**: Built with semantic CSS custom properties toggled atomically via `data-theme` attributes (`obsidian` OLED black and `slate` navy/slate), guaranteeing contrast across low-light development terminals.
|
|
12
|
+
4. **Resilient Local Persistence**: Modified WASI logic payloads persist per-template in browser local storage (`liop_studio_custom_code_{templateId}`), preventing accidental data loss during multi-enclave testing sessions.
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
---
|
|
13
15
|
|
|
14
|
-
##
|
|
16
|
+
## Component Taxonomy
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
```
|
|
19
|
+
src/
|
|
20
|
+
├── components/
|
|
21
|
+
│ ├── StudioHeader.tsx # Live cluster health badge, dynamic tier counter, theme switcher
|
|
22
|
+
│ ├── TargetConnectionBar.tsx # Multi-transport target switcher (stdio, http, grpc, mesh)
|
|
23
|
+
│ ├── SessionTelemetryBar.tsx # Cumulative session metrics (total calls, tokens in/out, uptime)
|
|
24
|
+
│ ├── ServerScanPanel.tsx # Tier 1-3 enclave inventory and capability browser
|
|
25
|
+
│ ├── NodeCard.tsx # Interactive node card with RTT latency and exposed tools
|
|
26
|
+
│ ├── LogicEditor.tsx # Dual-mode execution harness: WASI Logic injection vs MCP Form
|
|
27
|
+
│ ├── CodeEditor.tsx # CodeMirror 6 editor with JavaScript syntax, line numbers, and fold gutter
|
|
28
|
+
│ ├── DynamicToolForm.tsx # Reactive form generator driven by tool JSON Schemas
|
|
29
|
+
│ ├── EnvironmentExplorer.tsx # Schema inspector for origin runtime datasets (`env.records`)
|
|
30
|
+
│ ├── ResultsConsole.tsx # 5-tab output console with execution timeline visualizer
|
|
31
|
+
│ └── results/
|
|
32
|
+
│ ├── OutputTab.tsx # Structured JSON and archetype-specific visual results
|
|
33
|
+
│ ├── DebugTab.tsx # Detailed SSE execution step traces and security audit
|
|
34
|
+
│ ├── ExportTab.tsx # Integration code generators (TypeScript SDK, Python, cURL, gRPC)
|
|
35
|
+
│ ├── TelemetryTab.tsx # Context reduction, fuel usage, and cryptographic receipts
|
|
36
|
+
│ └── HistoryTab.tsx # In-memory execution history inspector (up to 20 runs)
|
|
37
|
+
```
|
|
17
38
|
|
|
18
|
-
|
|
19
|
-
export default defineConfig([
|
|
20
|
-
globalIgnores(['dist']),
|
|
21
|
-
{
|
|
22
|
-
files: ['**/*.{ts,tsx}'],
|
|
23
|
-
extends: [
|
|
24
|
-
// Other configs...
|
|
39
|
+
---
|
|
25
40
|
|
|
26
|
-
|
|
27
|
-
tseslint.configs.recommendedTypeChecked,
|
|
28
|
-
// Alternatively, use this for stricter rules
|
|
29
|
-
tseslint.configs.strictTypeChecked,
|
|
30
|
-
// Optionally, add this for stylistic rules
|
|
31
|
-
tseslint.configs.stylisticTypeChecked,
|
|
41
|
+
## Core Hooks
|
|
32
42
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
40
|
-
// other options...
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
])
|
|
44
|
-
```
|
|
43
|
+
- **`useStudioNetwork`**: Manages active target connections (`POST /api/connect`), cluster inventory polling (`GET /api/nodes`), tool catalogs (`GET /api/tools`), and session-level telemetry (`GET /api/telemetry`).
|
|
44
|
+
- **`useStudioExecution`**: Streams real-time execution steps from `POST /api/execute` via Server-Sent Events (SSE), provides `AbortController` cancellation (`cancelExecution`), and maintains the session execution history.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Development & Build Commands
|
|
45
49
|
|
|
46
|
-
|
|
50
|
+
```bash
|
|
51
|
+
# Start Vite development server with API proxy to port 16000
|
|
52
|
+
pnpm --filter @nekzus/liop-studio-ui dev
|
|
47
53
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
import reactX from 'eslint-plugin-react-x'
|
|
51
|
-
import reactDom from 'eslint-plugin-react-dom'
|
|
54
|
+
# Compile TypeScript and bundle production assets to ui/dist/
|
|
55
|
+
pnpm --filter @nekzus/liop-studio-ui build
|
|
52
56
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
{
|
|
56
|
-
files: ['**/*.{ts,tsx}'],
|
|
57
|
-
extends: [
|
|
58
|
-
// Other configs...
|
|
59
|
-
// Enable lint rules for React
|
|
60
|
-
reactX.configs['recommended-typescript'],
|
|
61
|
-
// Enable lint rules for React DOM
|
|
62
|
-
reactDom.configs.recommended,
|
|
63
|
-
],
|
|
64
|
-
languageOptions: {
|
|
65
|
-
parserOptions: {
|
|
66
|
-
project: ['./tsconfig.node.json', './tsconfig.app.json'],
|
|
67
|
-
tsconfigRootDir: import.meta.dirname,
|
|
68
|
-
},
|
|
69
|
-
// other options...
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
])
|
|
57
|
+
# Preview production build locally
|
|
58
|
+
pnpm --filter @nekzus/liop-studio-ui preview
|
|
73
59
|
```
|