4runr-os 1.0.23 → 1.0.28
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/events.d.ts +35 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +89 -0
- package/dist/events.js.map +1 -0
- package/dist/index.js +166 -31
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +74 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +7 -0
- package/dist/models.js.map +1 -0
- package/dist/store.d.ts +3 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +2 -0
- package/dist/store.js.map +1 -1
- package/dist/system-state.d.ts +96 -0
- package/dist/system-state.d.ts.map +1 -0
- package/dist/system-state.js +273 -0
- package/dist/system-state.js.map +1 -0
- package/dist/ui/intelligence-posture-view.d.ts +22 -0
- package/dist/ui/intelligence-posture-view.d.ts.map +1 -0
- package/dist/ui/intelligence-posture-view.js +169 -0
- package/dist/ui/intelligence-posture-view.js.map +1 -0
- package/dist/ui-primitives.d.ts +5 -2
- package/dist/ui-primitives.d.ts.map +1 -1
- package/dist/ui-primitives.js +22 -9
- package/dist/ui-primitives.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System State Intelligence Model
|
|
3
|
+
* Phase 5: UI-Driven Architecture Lock-In
|
|
4
|
+
*
|
|
5
|
+
* This is the authoritative system intelligence model.
|
|
6
|
+
* The UI reads from this, never computes values itself.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* Runtime State (AppState) → System Intelligence (SystemState) → UI Rendering
|
|
10
|
+
*
|
|
11
|
+
* The 5 mandatory intelligence surfaces are:
|
|
12
|
+
* 1. system_posture
|
|
13
|
+
* 2. network_context
|
|
14
|
+
* 3. asset_registry_summary
|
|
15
|
+
* 4. operation_feed
|
|
16
|
+
* 5. capability_flags
|
|
17
|
+
*/
|
|
18
|
+
import type { AppState } from './store.js';
|
|
19
|
+
import type { SystemPosture, NetworkAwareness, AssetOverview, OperationEvent, CapabilityReadiness } from './models.js';
|
|
20
|
+
/**
|
|
21
|
+
* SystemState: The complete intelligence model
|
|
22
|
+
* Queryable, composable, versionable
|
|
23
|
+
*/
|
|
24
|
+
export interface SystemState {
|
|
25
|
+
systemPosture: SystemPosture;
|
|
26
|
+
networkContext: NetworkAwareness;
|
|
27
|
+
assetRegistrySummary: AssetOverview;
|
|
28
|
+
operationFeed: OperationEvent[];
|
|
29
|
+
capabilityFlags: CapabilityReadiness;
|
|
30
|
+
computedAt: number;
|
|
31
|
+
version: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* System State Provider
|
|
35
|
+
* Computes SystemState from AppState
|
|
36
|
+
* This is the single source of truth for intelligence data
|
|
37
|
+
*/
|
|
38
|
+
export declare class SystemStateProvider {
|
|
39
|
+
private cachedState;
|
|
40
|
+
private lastAppStateVersion;
|
|
41
|
+
private appStateVersion;
|
|
42
|
+
/**
|
|
43
|
+
* Compute system posture from app state
|
|
44
|
+
* Phase 5: Centralized, deterministic computation
|
|
45
|
+
*/
|
|
46
|
+
private computeSystemPosture;
|
|
47
|
+
/**
|
|
48
|
+
* Compute network context from app state
|
|
49
|
+
* Phase 5: Spatial and infrastructural awareness
|
|
50
|
+
*/
|
|
51
|
+
private computeNetworkContext;
|
|
52
|
+
/**
|
|
53
|
+
* Extract region from URL (simplified)
|
|
54
|
+
*/
|
|
55
|
+
private extractRegionFromUrl;
|
|
56
|
+
/**
|
|
57
|
+
* Compute asset registry summary
|
|
58
|
+
* Phase 5: Deployed intelligence surface
|
|
59
|
+
*/
|
|
60
|
+
private computeAssetRegistrySummary;
|
|
61
|
+
/**
|
|
62
|
+
* Get operation feed
|
|
63
|
+
* Phase 5: Living operational pulse
|
|
64
|
+
*/
|
|
65
|
+
private getOperationFeed;
|
|
66
|
+
/**
|
|
67
|
+
* Compute capability flags
|
|
68
|
+
* Phase 5: What the system is capable of right now
|
|
69
|
+
*/
|
|
70
|
+
private computeCapabilityFlags;
|
|
71
|
+
/**
|
|
72
|
+
* Compute complete SystemState from AppState
|
|
73
|
+
* This is the single computation point
|
|
74
|
+
*/
|
|
75
|
+
compute(state: AppState): SystemState;
|
|
76
|
+
/**
|
|
77
|
+
* Get cached state if available and valid
|
|
78
|
+
* Otherwise compute fresh
|
|
79
|
+
*/
|
|
80
|
+
get(state: AppState, forceRefresh?: boolean): SystemState;
|
|
81
|
+
/**
|
|
82
|
+
* Invalidate cache (call when state changes)
|
|
83
|
+
*/
|
|
84
|
+
invalidate(): void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Global system state provider instance
|
|
88
|
+
* Single source of truth for intelligence data
|
|
89
|
+
*/
|
|
90
|
+
export declare const systemStateProvider: SystemStateProvider;
|
|
91
|
+
/**
|
|
92
|
+
* Get current system state
|
|
93
|
+
* This is what the UI reads from
|
|
94
|
+
*/
|
|
95
|
+
export declare function getSystemState(state: AppState, forceRefresh?: boolean): SystemState;
|
|
96
|
+
//# sourceMappingURL=system-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-state.d.ts","sourceRoot":"","sources":["../src/system-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,MAAM,WAAW,WAAW;IAE1B,aAAa,EAAE,aAAa,CAAC;IAG7B,cAAc,EAAE,gBAAgB,CAAC;IAGjC,oBAAoB,EAAE,aAAa,CAAC;IAGpC,aAAa,EAAE,cAAc,EAAE,CAAC;IAGhC,eAAe,EAAE,mBAAmB,CAAC;IAGrC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,eAAe,CAAa;IAEpC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAwD5B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAyC7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAwDnC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW;IAqBrC;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAE,OAAe,GAAG,WAAW;IAOhE;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,qBAA4B,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,GAAE,OAAe,GAAG,WAAW,CAE1F"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System State Intelligence Model
|
|
3
|
+
* Phase 5: UI-Driven Architecture Lock-In
|
|
4
|
+
*
|
|
5
|
+
* This is the authoritative system intelligence model.
|
|
6
|
+
* The UI reads from this, never computes values itself.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* Runtime State (AppState) → System Intelligence (SystemState) → UI Rendering
|
|
10
|
+
*
|
|
11
|
+
* The 5 mandatory intelligence surfaces are:
|
|
12
|
+
* 1. system_posture
|
|
13
|
+
* 2. network_context
|
|
14
|
+
* 3. asset_registry_summary
|
|
15
|
+
* 4. operation_feed
|
|
16
|
+
* 5. capability_flags
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* System State Provider
|
|
20
|
+
* Computes SystemState from AppState
|
|
21
|
+
* This is the single source of truth for intelligence data
|
|
22
|
+
*/
|
|
23
|
+
export class SystemStateProvider {
|
|
24
|
+
cachedState = null;
|
|
25
|
+
lastAppStateVersion = 0;
|
|
26
|
+
appStateVersion = 0;
|
|
27
|
+
/**
|
|
28
|
+
* Compute system posture from app state
|
|
29
|
+
* Phase 5: Centralized, deterministic computation
|
|
30
|
+
*/
|
|
31
|
+
computeSystemPosture(state) {
|
|
32
|
+
// Determine overall posture
|
|
33
|
+
let overallPosture;
|
|
34
|
+
let sourceOfTruth;
|
|
35
|
+
if (!state.systemReady) {
|
|
36
|
+
overallPosture = 'CRITICAL';
|
|
37
|
+
sourceOfTruth = 'system_initialization';
|
|
38
|
+
}
|
|
39
|
+
else if (state.gatewayConnected && state.localMode) {
|
|
40
|
+
overallPosture = 'OPERATIONAL';
|
|
41
|
+
sourceOfTruth = 'hybrid_mode';
|
|
42
|
+
}
|
|
43
|
+
else if (state.gatewayConnected) {
|
|
44
|
+
overallPosture = 'OPERATIONAL';
|
|
45
|
+
sourceOfTruth = 'gateway_connection';
|
|
46
|
+
}
|
|
47
|
+
else if (state.localMode) {
|
|
48
|
+
overallPosture = 'OPERATIONAL';
|
|
49
|
+
sourceOfTruth = 'local_mode';
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
overallPosture = 'DEGRADED';
|
|
53
|
+
sourceOfTruth = 'no_connection';
|
|
54
|
+
}
|
|
55
|
+
// Determine execution mode
|
|
56
|
+
let executionMode;
|
|
57
|
+
if (state.localMode && state.gatewayConnected) {
|
|
58
|
+
executionMode = 'HYBRID';
|
|
59
|
+
}
|
|
60
|
+
else if (state.localMode) {
|
|
61
|
+
executionMode = 'LOCAL';
|
|
62
|
+
}
|
|
63
|
+
else if (state.gatewayConnected) {
|
|
64
|
+
executionMode = 'REMOTE';
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
executionMode = 'LOCAL'; // Fallback
|
|
68
|
+
}
|
|
69
|
+
// Determine risk level
|
|
70
|
+
let riskLevel;
|
|
71
|
+
if (overallPosture === 'CRITICAL') {
|
|
72
|
+
riskLevel = 'HIGH';
|
|
73
|
+
}
|
|
74
|
+
else if (overallPosture === 'DEGRADED') {
|
|
75
|
+
riskLevel = 'ELEVATED';
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
riskLevel = 'LOW';
|
|
79
|
+
}
|
|
80
|
+
// Track last state change (would be tracked in state transitions)
|
|
81
|
+
// For v1, use current timestamp (would track actual state transitions)
|
|
82
|
+
const lastStateChange = Date.now();
|
|
83
|
+
return {
|
|
84
|
+
overallPosture,
|
|
85
|
+
executionMode,
|
|
86
|
+
riskLevel,
|
|
87
|
+
lastStateChange,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Compute network context from app state
|
|
92
|
+
* Phase 5: Spatial and infrastructural awareness
|
|
93
|
+
*/
|
|
94
|
+
computeNetworkContext(state) {
|
|
95
|
+
// Operator origin (privacy-safe, approximate)
|
|
96
|
+
const operatorOrigin = {
|
|
97
|
+
region: process.env.OPERATOR_REGION || 'UNKNOWN',
|
|
98
|
+
networkType: (() => {
|
|
99
|
+
if (state.localMode)
|
|
100
|
+
return 'LOCAL';
|
|
101
|
+
if (state.gatewayUrl?.includes('localhost') || state.gatewayUrl?.includes('127.0.0.1')) {
|
|
102
|
+
return 'LOCAL';
|
|
103
|
+
}
|
|
104
|
+
if (state.gatewayUrl?.includes('vpn') || state.gatewayUrl?.includes('tunnel')) {
|
|
105
|
+
return 'VPN';
|
|
106
|
+
}
|
|
107
|
+
if (state.gatewayUrl) {
|
|
108
|
+
return 'CLOUD';
|
|
109
|
+
}
|
|
110
|
+
return 'UNKNOWN';
|
|
111
|
+
})(),
|
|
112
|
+
};
|
|
113
|
+
// Target infrastructure
|
|
114
|
+
const targetInfrastructure = {
|
|
115
|
+
gatewayRegion: state.gatewayUrl
|
|
116
|
+
? this.extractRegionFromUrl(state.gatewayUrl)
|
|
117
|
+
: 'NONE',
|
|
118
|
+
databaseRegion: state.gatewayConnected
|
|
119
|
+
? this.extractRegionFromUrl(state.gatewayUrl || '')
|
|
120
|
+
: 'NONE',
|
|
121
|
+
latencyClass: (() => {
|
|
122
|
+
// Simplified - would measure actual latency
|
|
123
|
+
if (state.localMode)
|
|
124
|
+
return 'LOW';
|
|
125
|
+
if (state.gatewayConnected)
|
|
126
|
+
return 'MEDIUM';
|
|
127
|
+
return 'HIGH';
|
|
128
|
+
})(),
|
|
129
|
+
};
|
|
130
|
+
return {
|
|
131
|
+
operatorOrigin,
|
|
132
|
+
targetInfrastructure,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Extract region from URL (simplified)
|
|
137
|
+
*/
|
|
138
|
+
extractRegionFromUrl(url) {
|
|
139
|
+
if (url.includes('localhost') || url.includes('127.0.0.1'))
|
|
140
|
+
return 'LOCAL';
|
|
141
|
+
if (url.includes('us-'))
|
|
142
|
+
return 'US';
|
|
143
|
+
if (url.includes('eu-'))
|
|
144
|
+
return 'EU';
|
|
145
|
+
if (url.includes('ap-'))
|
|
146
|
+
return 'APAC';
|
|
147
|
+
return 'UNKNOWN';
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Compute asset registry summary
|
|
151
|
+
* Phase 5: Deployed intelligence surface
|
|
152
|
+
*/
|
|
153
|
+
computeAssetRegistrySummary(state) {
|
|
154
|
+
const total = state.customAgents.size;
|
|
155
|
+
// Count by status
|
|
156
|
+
const activeRuns = state.runHistory.filter(r => r.status === 'RUNNING');
|
|
157
|
+
const failedRuns = state.runHistory.filter(r => r.status === 'FAILED');
|
|
158
|
+
const active = activeRuns.length;
|
|
159
|
+
const error = failedRuns.length > 0 && failedRuns[0].timestamp > Date.now() - 60000 ? 1 : 0;
|
|
160
|
+
const idle = Math.max(0, total - active - error);
|
|
161
|
+
// Primary asset (last used or pinned)
|
|
162
|
+
let highlighted = null;
|
|
163
|
+
if (activeRuns.length > 0) {
|
|
164
|
+
const activeRun = activeRuns[activeRuns.length - 1];
|
|
165
|
+
const asset = Array.from(state.customAgents.values()).find(a => a.name === activeRun.agentName);
|
|
166
|
+
if (asset) {
|
|
167
|
+
highlighted = {
|
|
168
|
+
name: asset.name,
|
|
169
|
+
status: 'ACTIVE',
|
|
170
|
+
reason: 'Currently executing',
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else if (state.runHistory.length > 0) {
|
|
175
|
+
const lastRun = state.runHistory[state.runHistory.length - 1];
|
|
176
|
+
const asset = Array.from(state.customAgents.values()).find(a => a.name === lastRun.agentName);
|
|
177
|
+
if (asset) {
|
|
178
|
+
highlighted = {
|
|
179
|
+
name: asset.name,
|
|
180
|
+
status: lastRun.status === 'FAILED' ? 'ERROR' : 'IDLE',
|
|
181
|
+
reason: lastRun.status === 'FAILED' ? 'Recent failure' : 'Last used',
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
else if (total > 0) {
|
|
186
|
+
const firstAsset = Array.from(state.customAgents.values())[0];
|
|
187
|
+
highlighted = {
|
|
188
|
+
name: firstAsset.name,
|
|
189
|
+
status: 'IDLE',
|
|
190
|
+
reason: 'Available',
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
return {
|
|
194
|
+
total,
|
|
195
|
+
active,
|
|
196
|
+
idle,
|
|
197
|
+
error,
|
|
198
|
+
highlighted,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Get operation feed
|
|
203
|
+
* Phase 5: Living operational pulse
|
|
204
|
+
*/
|
|
205
|
+
getOperationFeed(state) {
|
|
206
|
+
// Return last 10 events (hard limit)
|
|
207
|
+
return state.operationEvents.slice(-10);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Compute capability flags
|
|
211
|
+
* Phase 5: What the system is capable of right now
|
|
212
|
+
*/
|
|
213
|
+
computeCapabilityFlags(state) {
|
|
214
|
+
return {
|
|
215
|
+
gateway: state.gatewayConnected ? 'READY' : 'DEGRADED',
|
|
216
|
+
database: state.gatewayConnected ? 'READY' : 'NOT_INITIALIZED',
|
|
217
|
+
memoryLayer: state.gatewayConnected ? 'PERSISTENT' : 'IN_MEMORY',
|
|
218
|
+
security: state.currentUser ? 'JWT' : 'OPEN',
|
|
219
|
+
rateLimiting: 'DISABLED', // Would check actual config
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Compute complete SystemState from AppState
|
|
224
|
+
* This is the single computation point
|
|
225
|
+
*/
|
|
226
|
+
compute(state) {
|
|
227
|
+
// Increment version for cache invalidation
|
|
228
|
+
this.appStateVersion++;
|
|
229
|
+
const systemState = {
|
|
230
|
+
systemPosture: this.computeSystemPosture(state),
|
|
231
|
+
networkContext: this.computeNetworkContext(state),
|
|
232
|
+
assetRegistrySummary: this.computeAssetRegistrySummary(state),
|
|
233
|
+
operationFeed: this.getOperationFeed(state),
|
|
234
|
+
capabilityFlags: this.computeCapabilityFlags(state),
|
|
235
|
+
computedAt: Date.now(),
|
|
236
|
+
version: this.appStateVersion,
|
|
237
|
+
};
|
|
238
|
+
// Cache the result
|
|
239
|
+
this.cachedState = systemState;
|
|
240
|
+
this.lastAppStateVersion = this.appStateVersion;
|
|
241
|
+
return systemState;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Get cached state if available and valid
|
|
245
|
+
* Otherwise compute fresh
|
|
246
|
+
*/
|
|
247
|
+
get(state, forceRefresh = false) {
|
|
248
|
+
if (!forceRefresh && this.cachedState && this.appStateVersion === this.lastAppStateVersion) {
|
|
249
|
+
return this.cachedState;
|
|
250
|
+
}
|
|
251
|
+
return this.compute(state);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Invalidate cache (call when state changes)
|
|
255
|
+
*/
|
|
256
|
+
invalidate() {
|
|
257
|
+
this.cachedState = null;
|
|
258
|
+
this.lastAppStateVersion = 0;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Global system state provider instance
|
|
263
|
+
* Single source of truth for intelligence data
|
|
264
|
+
*/
|
|
265
|
+
export const systemStateProvider = new SystemStateProvider();
|
|
266
|
+
/**
|
|
267
|
+
* Get current system state
|
|
268
|
+
* This is what the UI reads from
|
|
269
|
+
*/
|
|
270
|
+
export function getSystemState(state, forceRefresh = false) {
|
|
271
|
+
return systemStateProvider.get(state, forceRefresh);
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=system-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-state.js","sourceRoot":"","sources":["../src/system-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoCH;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IACtB,WAAW,GAAuB,IAAI,CAAC;IACvC,mBAAmB,GAAW,CAAC,CAAC;IAChC,eAAe,GAAW,CAAC,CAAC;IAEpC;;;OAGG;IACK,oBAAoB,CAAC,KAAe;QAC1C,4BAA4B;QAC5B,IAAI,cAA+C,CAAC;QACpD,IAAI,aAAqB,CAAC;QAE1B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,cAAc,GAAG,UAAU,CAAC;YAC5B,aAAa,GAAG,uBAAuB,CAAC;QAC1C,CAAC;aAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACrD,cAAc,GAAG,aAAa,CAAC;YAC/B,aAAa,GAAG,aAAa,CAAC;QAChC,CAAC;aAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAClC,cAAc,GAAG,aAAa,CAAC;YAC/B,aAAa,GAAG,oBAAoB,CAAC;QACvC,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC3B,cAAc,GAAG,aAAa,CAAC;YAC/B,aAAa,GAAG,YAAY,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,UAAU,CAAC;YAC5B,aAAa,GAAG,eAAe,CAAC;QAClC,CAAC;QAED,2BAA2B;QAC3B,IAAI,aAA6C,CAAC;QAClD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC9C,aAAa,GAAG,QAAQ,CAAC;QAC3B,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC3B,aAAa,GAAG,OAAO,CAAC;QAC1B,CAAC;aAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAClC,aAAa,GAAG,QAAQ,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,OAAO,CAAC,CAAC,WAAW;QACtC,CAAC;QAED,uBAAuB;QACvB,IAAI,SAAqC,CAAC;QAC1C,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;aAAM,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YACzC,SAAS,GAAG,UAAU,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,kEAAkE;QAClE,uEAAuE;QACvE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnC,OAAO;YACL,cAAc;YACd,aAAa;YACb,SAAS;YACT,eAAe;SAChB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,KAAe;QAC3C,8CAA8C;QAC9C,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS;YAChD,WAAW,EAAE,CAAC,GAAG,EAAE;gBACjB,IAAI,KAAK,CAAC,SAAS;oBAAE,OAAO,OAAgB,CAAC;gBAC7C,IAAI,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvF,OAAO,OAAgB,CAAC;gBAC1B,CAAC;gBACD,IAAI,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9E,OAAO,KAAc,CAAC;gBACxB,CAAC;gBACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrB,OAAO,OAAgB,CAAC;gBAC1B,CAAC;gBACD,OAAO,SAAkB,CAAC;YAC5B,CAAC,CAAC,EAAE;SACL,CAAC;QAEF,wBAAwB;QACxB,MAAM,oBAAoB,GAAG;YAC3B,aAAa,EAAE,KAAK,CAAC,UAAU;gBAC7B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC7C,CAAC,CAAC,MAAM;YACV,cAAc,EAAE,KAAK,CAAC,gBAAgB;gBACpC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;gBACnD,CAAC,CAAC,MAAM;YACV,YAAY,EAAE,CAAC,GAAG,EAAE;gBAClB,4CAA4C;gBAC5C,IAAI,KAAK,CAAC,SAAS;oBAAE,OAAO,KAAc,CAAC;gBAC3C,IAAI,KAAK,CAAC,gBAAgB;oBAAE,OAAO,QAAiB,CAAC;gBACrD,OAAO,MAAe,CAAC;YACzB,CAAC,CAAC,EAAE;SACL,CAAC;QAEF,OAAO;YACL,cAAc;YACd,oBAAoB;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,GAAW;QACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,OAAO,CAAC;QAC3E,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,2BAA2B,CAAC,KAAe;QACjD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;QAEtC,kBAAkB;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAEvE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;QAEjD,sCAAsC;QACtC,IAAI,WAAW,GAAiC,IAAI,CAAC;QAErD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,SAAS,CACpC,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,WAAW,GAAG;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,qBAAqB;iBAC9B,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,SAAS,CAClC,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,WAAW,GAAG;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBACtD,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW;iBACrE,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,WAAW,GAAG;gBACZ,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,WAAW;aACpB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK;YACL,MAAM;YACN,IAAI;YACJ,KAAK;YACL,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,KAAe;QACtC,qCAAqC;QACrC,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,KAAe;QAC5C,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;YACtD,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB;YAC9D,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;YAChE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YAC5C,YAAY,EAAE,UAAU,EAAE,4BAA4B;SACvD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,KAAe;QACrB,2CAA2C;QAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,WAAW,GAAgB;YAC/B,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;YAC/C,cAAc,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;YACjD,oBAAoB,EAAE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;YAC7D,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAC3C,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACnD,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;YACtB,OAAO,EAAE,IAAI,CAAC,eAAe;SAC9B,CAAC;QAEF,mBAAmB;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC;QAEhD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,KAAe,EAAE,eAAwB,KAAK;QAChD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAe,EAAE,eAAwB,KAAK;IAC3E,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intelligence Posture View Renderer
|
|
3
|
+
*
|
|
4
|
+
* Phase 2: Intelligence Sections (Not Widgets)
|
|
5
|
+
* Phase 4: Visual Philosophy (Text-Only, Cinematic, Intelligence-Grade)
|
|
6
|
+
* Phase 5: Data Model Implication (UI-Driven Architecture)
|
|
7
|
+
*
|
|
8
|
+
* This view reads from SystemState, never computes values itself.
|
|
9
|
+
* Architecture: Runtime State → System Intelligence → UI Rendering
|
|
10
|
+
*/
|
|
11
|
+
import type { AppState } from '../store.js';
|
|
12
|
+
/**
|
|
13
|
+
* Render Intelligence Posture View
|
|
14
|
+
* Pure function: receives state → returns rendered string
|
|
15
|
+
*
|
|
16
|
+
* Phase 5: Reads from SystemState, never computes
|
|
17
|
+
*
|
|
18
|
+
* @param state - Current application state
|
|
19
|
+
* @returns Rendered view as string (ready to console.log)
|
|
20
|
+
*/
|
|
21
|
+
export declare function renderIntelligencePostureView(state: AppState): string;
|
|
22
|
+
//# sourceMappingURL=intelligence-posture-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intelligence-posture-view.d.ts","sourceRoot":"","sources":["../../src/ui/intelligence-posture-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CA2JrE"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intelligence Posture View Renderer
|
|
3
|
+
*
|
|
4
|
+
* Phase 2: Intelligence Sections (Not Widgets)
|
|
5
|
+
* Phase 4: Visual Philosophy (Text-Only, Cinematic, Intelligence-Grade)
|
|
6
|
+
* Phase 5: Data Model Implication (UI-Driven Architecture)
|
|
7
|
+
*
|
|
8
|
+
* This view reads from SystemState, never computes values itself.
|
|
9
|
+
* Architecture: Runtime State → System Intelligence → UI Rendering
|
|
10
|
+
*/
|
|
11
|
+
import { Section, StatusBar } from '../ui-primitives.js';
|
|
12
|
+
import { C_ACCENT, C_SUCCESS, C_WARN, C_ERROR, C_MUTED, C_LINK, C_TEXT, RESET, BOLD } from '../theme.js';
|
|
13
|
+
import { formatRelativeTime } from '../utils.js';
|
|
14
|
+
import { getSystemState } from '../system-state.js';
|
|
15
|
+
/**
|
|
16
|
+
* Render Intelligence Posture View
|
|
17
|
+
* Pure function: receives state → returns rendered string
|
|
18
|
+
*
|
|
19
|
+
* Phase 5: Reads from SystemState, never computes
|
|
20
|
+
*
|
|
21
|
+
* @param state - Current application state
|
|
22
|
+
* @returns Rendered view as string (ready to console.log)
|
|
23
|
+
*/
|
|
24
|
+
export function renderIntelligencePostureView(state) {
|
|
25
|
+
const lines = [];
|
|
26
|
+
// Phase 5: Read from SystemState (single source of truth)
|
|
27
|
+
const systemState = getSystemState(state);
|
|
28
|
+
// INTEL BLOCK 1: GLOBAL SYSTEM POSTURE
|
|
29
|
+
const postureLines = [];
|
|
30
|
+
if (systemState.systemPosture.overallPosture === 'OPERATIONAL') {
|
|
31
|
+
postureLines.push(`POSTURE: ${C_SUCCESS}${BOLD}OPERATIONAL${RESET}`);
|
|
32
|
+
}
|
|
33
|
+
else if (systemState.systemPosture.overallPosture === 'CRITICAL') {
|
|
34
|
+
postureLines.push(`POSTURE: ${C_ERROR}${BOLD}CRITICAL${RESET}`);
|
|
35
|
+
}
|
|
36
|
+
else if (systemState.systemPosture.overallPosture === 'DEGRADED') {
|
|
37
|
+
postureLines.push(`POSTURE: ${C_WARN}${BOLD}DEGRADED${RESET}`);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
postureLines.push(`POSTURE: ${C_MUTED}${BOLD}OFFLINE${RESET}`);
|
|
41
|
+
}
|
|
42
|
+
postureLines.push(`MODE: ${C_ACCENT}${systemState.systemPosture.executionMode}${RESET}`);
|
|
43
|
+
if (systemState.systemPosture.riskLevel === 'HIGH') {
|
|
44
|
+
postureLines.push(`RISK: ${C_ERROR}HIGH${RESET}`);
|
|
45
|
+
}
|
|
46
|
+
else if (systemState.systemPosture.riskLevel === 'ELEVATED') {
|
|
47
|
+
postureLines.push(`RISK: ${C_WARN}ELEVATED${RESET}`);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
postureLines.push(`RISK: ${C_SUCCESS}LOW${RESET}`);
|
|
51
|
+
}
|
|
52
|
+
const lastChange = formatRelativeTime(systemState.systemPosture.lastStateChange);
|
|
53
|
+
postureLines.push(`LAST CHANGE: ${C_MUTED}${lastChange}${RESET}`);
|
|
54
|
+
lines.push(Section('GLOBAL SYSTEM POSTURE', postureLines));
|
|
55
|
+
lines.push('');
|
|
56
|
+
// INTEL BLOCK 2: NETWORK & ORIGIN AWARENESS
|
|
57
|
+
const networkLines = [];
|
|
58
|
+
networkLines.push(`ORIGIN: ${C_TEXT}${systemState.networkContext.operatorOrigin.region}${RESET} ${C_MUTED}${systemState.networkContext.operatorOrigin.networkType}${RESET}`);
|
|
59
|
+
networkLines.push(`GATEWAY: ${C_ACCENT}${systemState.networkContext.targetInfrastructure.gatewayRegion}${RESET}`);
|
|
60
|
+
networkLines.push(`DATABASE: ${C_ACCENT}${systemState.networkContext.targetInfrastructure.databaseRegion}${RESET}`);
|
|
61
|
+
if (systemState.networkContext.targetInfrastructure.latencyClass === 'LOW') {
|
|
62
|
+
networkLines.push(`LATENCY: ${C_SUCCESS}LOW${RESET}`);
|
|
63
|
+
}
|
|
64
|
+
else if (systemState.networkContext.targetInfrastructure.latencyClass === 'MEDIUM') {
|
|
65
|
+
networkLines.push(`LATENCY: ${C_WARN}MEDIUM${RESET}`);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
networkLines.push(`LATENCY: ${C_ERROR}HIGH${RESET}`);
|
|
69
|
+
}
|
|
70
|
+
lines.push(Section('NETWORK & ORIGIN AWARENESS', networkLines));
|
|
71
|
+
lines.push('');
|
|
72
|
+
// INTEL BLOCK 3: ACTIVE INTELLIGENCE ASSETS
|
|
73
|
+
const assetLines = [];
|
|
74
|
+
const totalText = `TOTAL: ${C_ACCENT}${systemState.assetRegistrySummary.total}${RESET}`;
|
|
75
|
+
const activeText = systemState.assetRegistrySummary.active > 0
|
|
76
|
+
? `ACTIVE: ${C_SUCCESS}${systemState.assetRegistrySummary.active}${RESET}`
|
|
77
|
+
: `ACTIVE: ${C_MUTED}${systemState.assetRegistrySummary.active}${RESET}`;
|
|
78
|
+
const idleText = `IDLE: ${C_MUTED}${systemState.assetRegistrySummary.idle}${RESET}`;
|
|
79
|
+
const errorText = systemState.assetRegistrySummary.error > 0
|
|
80
|
+
? `ERROR: ${C_ERROR}${systemState.assetRegistrySummary.error}${RESET}`
|
|
81
|
+
: `ERROR: ${C_MUTED}${systemState.assetRegistrySummary.error}${RESET}`;
|
|
82
|
+
assetLines.push(`${totalText} ${activeText} ${idleText} ${errorText}`);
|
|
83
|
+
if (systemState.assetRegistrySummary.highlighted) {
|
|
84
|
+
if (systemState.assetRegistrySummary.highlighted.status === 'ACTIVE') {
|
|
85
|
+
assetLines.push(`HIGHLIGHTED: ${C_SUCCESS}${systemState.assetRegistrySummary.highlighted.name}${RESET} ${C_MUTED}ACTIVE${RESET}`);
|
|
86
|
+
}
|
|
87
|
+
else if (systemState.assetRegistrySummary.highlighted.status === 'ERROR') {
|
|
88
|
+
assetLines.push(`HIGHLIGHTED: ${C_ERROR}${systemState.assetRegistrySummary.highlighted.name}${RESET} ${C_MUTED}ERROR${RESET}`);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
assetLines.push(`HIGHLIGHTED: ${C_ACCENT}${systemState.assetRegistrySummary.highlighted.name}${RESET} ${C_MUTED}IDLE${RESET}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
assetLines.push(`${C_MUTED}No assets available${RESET}`);
|
|
96
|
+
}
|
|
97
|
+
lines.push(Section('ACTIVE INTELLIGENCE ASSETS', assetLines));
|
|
98
|
+
lines.push('');
|
|
99
|
+
// INTEL BLOCK 4: LIVE OPERATIONS FEED
|
|
100
|
+
const feedLines = [];
|
|
101
|
+
const recentOps = systemState.operationFeed.slice(-3).reverse(); // Last 3, newest first
|
|
102
|
+
if (recentOps.length > 0) {
|
|
103
|
+
recentOps.forEach(event => {
|
|
104
|
+
if (event.severity === 'critical' || event.type === 'ERROR_DETECTED') {
|
|
105
|
+
feedLines.push(`${C_ERROR}${event.type}${RESET} ${C_TEXT}${event.description}${RESET} ${C_MUTED}${formatRelativeTime(event.timestamp)}${RESET}`);
|
|
106
|
+
}
|
|
107
|
+
else if (event.severity === 'warning' || event.type === 'CONNECTION_LOST') {
|
|
108
|
+
feedLines.push(`${C_WARN}${event.type}${RESET} ${C_TEXT}${event.description}${RESET} ${C_MUTED}${formatRelativeTime(event.timestamp)}${RESET}`);
|
|
109
|
+
}
|
|
110
|
+
else if (event.type === 'RUN_COMPLETED') {
|
|
111
|
+
feedLines.push(`${C_SUCCESS}${event.type}${RESET} ${C_TEXT}${event.description}${RESET} ${C_MUTED}${formatRelativeTime(event.timestamp)}${RESET}`);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
feedLines.push(`${C_ACCENT}${event.type}${RESET} ${C_TEXT}${event.description}${RESET} ${C_MUTED}${formatRelativeTime(event.timestamp)}${RESET}`);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
feedLines.push(`${C_MUTED}No recent operations${RESET}`);
|
|
120
|
+
}
|
|
121
|
+
lines.push(Section('LIVE OPERATIONS FEED', feedLines));
|
|
122
|
+
lines.push('');
|
|
123
|
+
// INTEL BLOCK 5: CAPABILITY READINESS
|
|
124
|
+
const capabilityLines = [];
|
|
125
|
+
if (systemState.capabilityFlags.gateway === 'READY') {
|
|
126
|
+
capabilityLines.push(`GATEWAY: ${C_SUCCESS}READY${RESET}`);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
capabilityLines.push(`GATEWAY: ${C_WARN}DEGRADED${RESET}`);
|
|
130
|
+
}
|
|
131
|
+
if (systemState.capabilityFlags.database === 'READY') {
|
|
132
|
+
capabilityLines.push(`DATABASE: ${C_SUCCESS}READY${RESET}`);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
capabilityLines.push(`DATABASE: ${C_WARN}NOT_INITIALIZED${RESET}`);
|
|
136
|
+
}
|
|
137
|
+
capabilityLines.push(`MEMORY: ${C_ACCENT}${systemState.capabilityFlags.memoryLayer}${RESET}`);
|
|
138
|
+
capabilityLines.push(`SECURITY: ${C_ACCENT}${systemState.capabilityFlags.security}${RESET}`);
|
|
139
|
+
if (systemState.capabilityFlags.rateLimiting === 'ENABLED') {
|
|
140
|
+
capabilityLines.push(`RATE LIMIT: ${C_SUCCESS}ENABLED${RESET}`);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
capabilityLines.push(`RATE LIMIT: ${C_MUTED}DISABLED${RESET}`);
|
|
144
|
+
}
|
|
145
|
+
lines.push(Section('CAPABILITY READINESS', capabilityLines));
|
|
146
|
+
lines.push('');
|
|
147
|
+
// COMMAND SURFACE
|
|
148
|
+
const commandLines = [];
|
|
149
|
+
commandLines.push(`${C_LINK}start${RESET}`);
|
|
150
|
+
commandLines.push(`${C_LINK}deploy${RESET}`);
|
|
151
|
+
commandLines.push(`${C_LINK}inspect${RESET}`);
|
|
152
|
+
commandLines.push(`${C_LINK}metrics${RESET}`);
|
|
153
|
+
commandLines.push(`${C_LINK}system${RESET}`);
|
|
154
|
+
lines.push(Section('COMMAND SURFACE', commandLines));
|
|
155
|
+
lines.push('');
|
|
156
|
+
// StatusBar
|
|
157
|
+
const modeText = state.localMode ? 'LOCAL' : (state.gatewayConnected ? 'REMOTE' : 'OFFLINE');
|
|
158
|
+
const statusBar = StatusBar({
|
|
159
|
+
mode: modeText,
|
|
160
|
+
connected: state.gatewayConnected,
|
|
161
|
+
target: state.gatewayUrl ? state.gatewayUrl.replace(/^https?:\/\//, '').substring(0, 30) : undefined,
|
|
162
|
+
workspace: state.currentUser?.username,
|
|
163
|
+
lastAction: 'posture',
|
|
164
|
+
});
|
|
165
|
+
lines.push(statusBar);
|
|
166
|
+
lines.push('');
|
|
167
|
+
return lines.join('\n');
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=intelligence-posture-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intelligence-posture-view.js","sourceRoot":"","sources":["../../src/ui/intelligence-posture-view.ts"],"names":[],"mappings":"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"}
|
package/dist/ui-primitives.d.ts
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* Header: consistent brand bar at top
|
|
7
|
+
* Phase 4: Authority, not decoration
|
|
7
8
|
* Format: 4Runr | AI AGENT OPERATING SYSTEM | vX.Y.Z | [MODE]
|
|
9
|
+
* Strong separator, not decorative box
|
|
8
10
|
*/
|
|
9
11
|
export declare function Header(version: string, mode?: 'LOCAL' | 'REMOTE'): string;
|
|
10
12
|
/**
|
|
@@ -19,8 +21,9 @@ export declare function StatusBar(params: {
|
|
|
19
21
|
lastAction?: string;
|
|
20
22
|
}): string;
|
|
21
23
|
/**
|
|
22
|
-
* Section: clean blocks with separators
|
|
23
|
-
*
|
|
24
|
+
* Section: clean blocks with strong separators
|
|
25
|
+
* Phase 4: Structural separators, not decorative
|
|
26
|
+
* Structure: Title (ALL CAPS) | Full-width separator | Lines (indented)
|
|
24
27
|
*/
|
|
25
28
|
export declare function Section(title: string, lines: string[]): string;
|
|
26
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-primitives.d.ts","sourceRoot":"","sources":["../src/ui-primitives.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH
|
|
1
|
+
{"version":3,"file":"ui-primitives.d.ts","sourceRoot":"","sources":["../src/ui-primitives.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAUzE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE;IAChC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAYT;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAe9D;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAE,MAAW,GAAG,MAAM,CAuCvF;AAED;;;GAGG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAC3C,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAcR;AASD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,SAAS,GAAG,MAAe,GAAG;IAC1E,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD,CAmCA;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGpE"}
|