nexus-shell 0.1.1 → 0.1.3
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 +26 -1
- package/dist/components/widgets/AgentManager.d.ts +18 -0
- package/dist/components/widgets/WargameMap.d.ts +31 -0
- package/dist/index-DG52PCQ8.js +72909 -0
- package/dist/index.d.ts +2 -0
- package/dist/maplibre-gl-BWsNxx57.js +24588 -0
- package/dist/nexus-shell.es.js +27 -10957
- package/dist/nexus-shell.umd.js +3133 -43
- package/dist/stories/AgentManager.stories.d.ts +25 -0
- package/dist/stories/WargameMap.stories.d.ts +14 -0
- package/dist/style.css +1 -1
- package/package.json +10 -1
package/README.md
CHANGED
|
@@ -8,7 +8,8 @@ Nexus-Shell is a professional-grade, library-first frontend framework for buildi
|
|
|
8
8
|
- **Modular Registry System:** Decouple commands, menus, and plugins from the core UI.
|
|
9
9
|
- **Persistence:** Automatic workspace restoration via `localStorage`.
|
|
10
10
|
- **Command Palette:** `Ctrl+Shift+P` searchable command interface.
|
|
11
|
-
- **Theming:** First-class support for Light, Dark, and custom themes (includes a Georgia Tech theme).
|
|
11
|
+
- **Theming:** First-class support for Light, Dark, and custom themes (includes a Georgia Tech theme), optimized for high accessibility and reduced eye strain.
|
|
12
|
+
- **Accessible Components:** Input fields and buttons follow strict UI/UX guidelines for contrast, sizing, and focus states.
|
|
12
13
|
- **Library Ready:** ESM and UMD bundles with full TypeScript type definitions.
|
|
13
14
|
|
|
14
15
|
---
|
|
@@ -184,6 +185,30 @@ A reusable component for implementing project-wide search.
|
|
|
184
185
|
/>
|
|
185
186
|
```
|
|
186
187
|
|
|
188
|
+
### 6. AI Agent Management (`AgentManager`)
|
|
189
|
+
A visually rich component for defining and orchestrating LLM agents using React Flow.
|
|
190
|
+
```tsx
|
|
191
|
+
<AgentManager
|
|
192
|
+
agents={agentList}
|
|
193
|
+
onFetchAgents={fetchAgents}
|
|
194
|
+
onSaveAgent={saveAgent}
|
|
195
|
+
onDeleteAgent={deleteAgent}
|
|
196
|
+
title="My Agents"
|
|
197
|
+
subtitle="Manage and visually build your custom AI workflows"
|
|
198
|
+
/>
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### 7. Geospatial & Wargaming Analytics (`WargameMap`)
|
|
202
|
+
A high-performance mapping component combining `react-map-gl`, `deck.gl`, and `milsymbol` for interactive wargaming, modeling, and simulation. Features H3 hex grids, attack vectors, and dynamically generated NATO military icons.
|
|
203
|
+
```tsx
|
|
204
|
+
<WargameMap
|
|
205
|
+
units={mockUnits}
|
|
206
|
+
attacks={mockAttacks}
|
|
207
|
+
terrainHexes={terrainHexes}
|
|
208
|
+
mapStyle="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json"
|
|
209
|
+
/>
|
|
210
|
+
```
|
|
211
|
+
|
|
187
212
|
**Usage Example:**
|
|
188
213
|
```tsx
|
|
189
214
|
<ShellLayout
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface Agent {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
schemaJson: string;
|
|
8
|
+
}
|
|
9
|
+
export interface AgentManagerProps {
|
|
10
|
+
agents?: Agent[];
|
|
11
|
+
onFetchAgents?: () => void;
|
|
12
|
+
onSaveAgent?: (agent: Partial<Agent>) => Promise<Agent | void>;
|
|
13
|
+
onDeleteAgent?: (id: string) => Promise<void>;
|
|
14
|
+
title?: string;
|
|
15
|
+
subtitle?: string;
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const AgentManager: React.FC<AgentManagerProps>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface UnitData {
|
|
4
|
+
id: string;
|
|
5
|
+
sidc: string;
|
|
6
|
+
coordinates: [number, number];
|
|
7
|
+
}
|
|
8
|
+
export interface AttackData {
|
|
9
|
+
id: string;
|
|
10
|
+
origin: [number, number];
|
|
11
|
+
target: [number, number];
|
|
12
|
+
}
|
|
13
|
+
export interface TerrainHexData {
|
|
14
|
+
h3Index: string;
|
|
15
|
+
owner: 'friendly' | 'hostile' | 'neutral';
|
|
16
|
+
}
|
|
17
|
+
export interface WargameMapProps {
|
|
18
|
+
initialViewState?: {
|
|
19
|
+
longitude: number;
|
|
20
|
+
latitude: number;
|
|
21
|
+
zoom: number;
|
|
22
|
+
pitch?: number;
|
|
23
|
+
bearing?: number;
|
|
24
|
+
};
|
|
25
|
+
units?: UnitData[];
|
|
26
|
+
attacks?: AttackData[];
|
|
27
|
+
terrainHexes?: TerrainHexData[];
|
|
28
|
+
mapStyle?: string;
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const WargameMap: React.FC<WargameMapProps>;
|