4runr-os 1.0.23 → 1.0.36

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.
Files changed (235) hide show
  1. package/dist/collectors/collector_assets.d.ts +19 -0
  2. package/dist/collectors/collector_assets.d.ts.map +1 -0
  3. package/dist/collectors/collector_assets.js +72 -0
  4. package/dist/collectors/collector_assets.js.map +1 -0
  5. package/dist/collectors/collector_capabilities.d.ts +19 -0
  6. package/dist/collectors/collector_capabilities.d.ts.map +1 -0
  7. package/dist/collectors/collector_capabilities.js +61 -0
  8. package/dist/collectors/collector_capabilities.js.map +1 -0
  9. package/dist/collectors/collector_feed.d.ts +30 -0
  10. package/dist/collectors/collector_feed.d.ts.map +1 -0
  11. package/dist/collectors/collector_feed.js +78 -0
  12. package/dist/collectors/collector_feed.js.map +1 -0
  13. package/dist/collectors/collector_geo.d.ts +12 -0
  14. package/dist/collectors/collector_geo.d.ts.map +1 -0
  15. package/dist/collectors/collector_geo.js +248 -0
  16. package/dist/collectors/collector_geo.js.map +1 -0
  17. package/dist/collectors/collector_network.d.ts +22 -0
  18. package/dist/collectors/collector_network.d.ts.map +1 -0
  19. package/dist/collectors/collector_network.js +83 -0
  20. package/dist/collectors/collector_network.js.map +1 -0
  21. package/dist/collectors/collector_posture.d.ts +25 -0
  22. package/dist/collectors/collector_posture.d.ts.map +1 -0
  23. package/dist/collectors/collector_posture.js +207 -0
  24. package/dist/collectors/collector_posture.js.map +1 -0
  25. package/dist/collectors/collector_resources.d.ts +21 -0
  26. package/dist/collectors/collector_resources.d.ts.map +1 -0
  27. package/dist/collectors/collector_resources.js +87 -0
  28. package/dist/collectors/collector_resources.js.map +1 -0
  29. package/dist/collectors/helpers.d.ts +21 -0
  30. package/dist/collectors/helpers.d.ts.map +1 -0
  31. package/dist/collectors/helpers.js +49 -0
  32. package/dist/collectors/helpers.js.map +1 -0
  33. package/dist/core/collectorRegistry.d.ts +43 -0
  34. package/dist/core/collectorRegistry.d.ts.map +1 -0
  35. package/dist/core/collectorRegistry.js +76 -0
  36. package/dist/core/collectorRegistry.js.map +1 -0
  37. package/dist/core/constants.d.ts +25 -0
  38. package/dist/core/constants.d.ts.map +1 -0
  39. package/dist/core/constants.js +33 -0
  40. package/dist/core/constants.js.map +1 -0
  41. package/dist/core/eventBus.d.ts +36 -0
  42. package/dist/core/eventBus.d.ts.map +1 -0
  43. package/dist/core/eventBus.js +52 -0
  44. package/dist/core/eventBus.js.map +1 -0
  45. package/dist/core/types.d.ts +128 -0
  46. package/dist/core/types.d.ts.map +1 -0
  47. package/dist/core/types.js +6 -0
  48. package/dist/core/types.js.map +1 -0
  49. package/dist/events.d.ts +35 -0
  50. package/dist/events.d.ts.map +1 -0
  51. package/dist/events.js +89 -0
  52. package/dist/events.js.map +1 -0
  53. package/dist/index.js +301 -36
  54. package/dist/index.js.map +1 -1
  55. package/dist/models.d.ts +74 -0
  56. package/dist/models.d.ts.map +1 -0
  57. package/dist/models.js +7 -0
  58. package/dist/models.js.map +1 -0
  59. package/dist/state/getCollectorResults.d.ts +18 -0
  60. package/dist/state/getCollectorResults.d.ts.map +1 -0
  61. package/dist/state/getCollectorResults.js +25 -0
  62. package/dist/state/getCollectorResults.js.map +1 -0
  63. package/dist/state/historyStore.d.ts +35 -0
  64. package/dist/state/historyStore.d.ts.map +1 -0
  65. package/dist/state/historyStore.js +58 -0
  66. package/dist/state/historyStore.js.map +1 -0
  67. package/dist/state/uiStateBuilder.d.ts +12 -0
  68. package/dist/state/uiStateBuilder.d.ts.map +1 -0
  69. package/dist/state/uiStateBuilder.js +169 -0
  70. package/dist/state/uiStateBuilder.js.map +1 -0
  71. package/dist/state/uiStateScheduler.d.ts +43 -0
  72. package/dist/state/uiStateScheduler.d.ts.map +1 -0
  73. package/dist/state/uiStateScheduler.js +118 -0
  74. package/dist/state/uiStateScheduler.js.map +1 -0
  75. package/dist/store.d.ts +3 -1
  76. package/dist/store.d.ts.map +1 -1
  77. package/dist/store.js +2 -0
  78. package/dist/store.js.map +1 -1
  79. package/dist/system-state.d.ts +96 -0
  80. package/dist/system-state.d.ts.map +1 -0
  81. package/dist/system-state.js +273 -0
  82. package/dist/system-state.js.map +1 -0
  83. package/dist/ui/boot/sequence.d.ts +10 -0
  84. package/dist/ui/boot/sequence.d.ts.map +1 -0
  85. package/dist/ui/boot/sequence.js +173 -0
  86. package/dist/ui/boot/sequence.js.map +1 -0
  87. package/dist/ui/constraints/layoutSpec.d.ts +47 -0
  88. package/dist/ui/constraints/layoutSpec.d.ts.map +1 -0
  89. package/dist/ui/constraints/layoutSpec.js +60 -0
  90. package/dist/ui/constraints/layoutSpec.js.map +1 -0
  91. package/dist/ui/constraints/unknownHandling.d.ts +29 -0
  92. package/dist/ui/constraints/unknownHandling.d.ts.map +1 -0
  93. package/dist/ui/constraints/unknownHandling.js +60 -0
  94. package/dist/ui/constraints/unknownHandling.js.map +1 -0
  95. package/dist/ui/drilldowns/feed.d.ts +11 -0
  96. package/dist/ui/drilldowns/feed.d.ts.map +1 -0
  97. package/dist/ui/drilldowns/feed.js +68 -0
  98. package/dist/ui/drilldowns/feed.js.map +1 -0
  99. package/dist/ui/drilldowns/index.d.ts +7 -0
  100. package/dist/ui/drilldowns/index.d.ts.map +1 -0
  101. package/dist/ui/drilldowns/index.js +8 -0
  102. package/dist/ui/drilldowns/index.js.map +1 -0
  103. package/dist/ui/drilldowns/posture.d.ts +11 -0
  104. package/dist/ui/drilldowns/posture.d.ts.map +1 -0
  105. package/dist/ui/drilldowns/posture.js +74 -0
  106. package/dist/ui/drilldowns/posture.js.map +1 -0
  107. package/dist/ui/intelligence-posture-view.d.ts +22 -0
  108. package/dist/ui/intelligence-posture-view.d.ts.map +1 -0
  109. package/dist/ui/intelligence-posture-view.js +169 -0
  110. package/dist/ui/intelligence-posture-view.js.map +1 -0
  111. package/dist/ui/navigation/keymaps.d.ts +26 -0
  112. package/dist/ui/navigation/keymaps.d.ts.map +1 -0
  113. package/dist/ui/navigation/keymaps.js +135 -0
  114. package/dist/ui/navigation/keymaps.js.map +1 -0
  115. package/dist/ui/navigation/palette.d.ts +10 -0
  116. package/dist/ui/navigation/palette.d.ts.map +1 -0
  117. package/dist/ui/navigation/palette.js +133 -0
  118. package/dist/ui/navigation/palette.js.map +1 -0
  119. package/dist/ui/navigation/state.d.ts +47 -0
  120. package/dist/ui/navigation/state.d.ts.map +1 -0
  121. package/dist/ui/navigation/state.js +84 -0
  122. package/dist/ui/navigation/state.js.map +1 -0
  123. package/dist/ui/navigation/types.d.ts +38 -0
  124. package/dist/ui/navigation/types.d.ts.map +1 -0
  125. package/dist/ui/navigation/types.js +36 -0
  126. package/dist/ui/navigation/types.js.map +1 -0
  127. package/dist/ui/panels/active-assets.d.ts +12 -0
  128. package/dist/ui/panels/active-assets.d.ts.map +1 -0
  129. package/dist/ui/panels/active-assets.js +83 -0
  130. package/dist/ui/panels/active-assets.js.map +1 -0
  131. package/dist/ui/panels/capability-flags.d.ts +12 -0
  132. package/dist/ui/panels/capability-flags.d.ts.map +1 -0
  133. package/dist/ui/panels/capability-flags.js +59 -0
  134. package/dist/ui/panels/capability-flags.js.map +1 -0
  135. package/dist/ui/panels/command-surface.d.ts +12 -0
  136. package/dist/ui/panels/command-surface.d.ts.map +1 -0
  137. package/dist/ui/panels/command-surface.js +55 -0
  138. package/dist/ui/panels/command-surface.js.map +1 -0
  139. package/dist/ui/panels/network-origin.d.ts +12 -0
  140. package/dist/ui/panels/network-origin.d.ts.map +1 -0
  141. package/dist/ui/panels/network-origin.js +79 -0
  142. package/dist/ui/panels/network-origin.js.map +1 -0
  143. package/dist/ui/panels/operations-feed.d.ts +12 -0
  144. package/dist/ui/panels/operations-feed.d.ts.map +1 -0
  145. package/dist/ui/panels/operations-feed.js +90 -0
  146. package/dist/ui/panels/operations-feed.js.map +1 -0
  147. package/dist/ui/panels/posture.d.ts +12 -0
  148. package/dist/ui/panels/posture.d.ts.map +1 -0
  149. package/dist/ui/panels/posture.js +84 -0
  150. package/dist/ui/panels/posture.js.map +1 -0
  151. package/dist/ui/panels/resources.d.ts +11 -0
  152. package/dist/ui/panels/resources.d.ts.map +1 -0
  153. package/dist/ui/panels/resources.js +88 -0
  154. package/dist/ui/panels/resources.js.map +1 -0
  155. package/dist/ui/primitives/Panel.d.ts +25 -0
  156. package/dist/ui/primitives/Panel.d.ts.map +1 -0
  157. package/dist/ui/primitives/Panel.js +59 -0
  158. package/dist/ui/primitives/Panel.js.map +1 -0
  159. package/dist/ui/rendering/metricRenderer.d.ts +24 -0
  160. package/dist/ui/rendering/metricRenderer.d.ts.map +1 -0
  161. package/dist/ui/rendering/metricRenderer.js +86 -0
  162. package/dist/ui/rendering/metricRenderer.js.map +1 -0
  163. package/dist/ui/runtime/hub.d.ts +12 -0
  164. package/dist/ui/runtime/hub.d.ts.map +1 -0
  165. package/dist/ui/runtime/hub.js +468 -0
  166. package/dist/ui/runtime/hub.js.map +1 -0
  167. package/dist/ui/runtime/hubValidation.d.ts +23 -0
  168. package/dist/ui/runtime/hubValidation.d.ts.map +1 -0
  169. package/dist/ui/runtime/hubValidation.js +90 -0
  170. package/dist/ui/runtime/hubValidation.js.map +1 -0
  171. package/dist/ui/runtime/index.d.ts +29 -0
  172. package/dist/ui/runtime/index.d.ts.map +1 -0
  173. package/dist/ui/runtime/index.js +299 -0
  174. package/dist/ui/runtime/index.js.map +1 -0
  175. package/dist/ui/runtime/no-tui.d.ts +12 -0
  176. package/dist/ui/runtime/no-tui.d.ts.map +1 -0
  177. package/dist/ui/runtime/no-tui.js +77 -0
  178. package/dist/ui/runtime/no-tui.js.map +1 -0
  179. package/dist/ui/runtime/state-builder.d.ts +13 -0
  180. package/dist/ui/runtime/state-builder.d.ts.map +1 -0
  181. package/dist/ui/runtime/state-builder.js +114 -0
  182. package/dist/ui/runtime/state-builder.js.map +1 -0
  183. package/dist/ui/runtime/terminalSizeCheck.d.ts +10 -0
  184. package/dist/ui/runtime/terminalSizeCheck.d.ts.map +1 -0
  185. package/dist/ui/runtime/terminalSizeCheck.js +51 -0
  186. package/dist/ui/runtime/terminalSizeCheck.js.map +1 -0
  187. package/dist/ui/runtime/tuiLogGate.d.ts +22 -0
  188. package/dist/ui/runtime/tuiLogGate.d.ts.map +1 -0
  189. package/dist/ui/runtime/tuiLogGate.js +68 -0
  190. package/dist/ui/runtime/tuiLogGate.js.map +1 -0
  191. package/dist/ui/state/types.d.ts +72 -0
  192. package/dist/ui/state/types.d.ts.map +1 -0
  193. package/dist/ui/state/types.js +6 -0
  194. package/dist/ui/state/types.js.map +1 -0
  195. package/dist/ui/theme/borders.d.ts +20 -0
  196. package/dist/ui/theme/borders.d.ts.map +1 -0
  197. package/dist/ui/theme/borders.js +55 -0
  198. package/dist/ui/theme/borders.js.map +1 -0
  199. package/dist/ui/theme/tokens.d.ts +28 -0
  200. package/dist/ui/theme/tokens.d.ts.map +1 -0
  201. package/dist/ui/theme/tokens.js +50 -0
  202. package/dist/ui/theme/tokens.js.map +1 -0
  203. package/dist/ui/theme/typography.d.ts +14 -0
  204. package/dist/ui/theme/typography.d.ts.map +1 -0
  205. package/dist/ui/theme/typography.js +30 -0
  206. package/dist/ui/theme/typography.js.map +1 -0
  207. package/dist/ui/widgets/flagRow.d.ts +25 -0
  208. package/dist/ui/widgets/flagRow.d.ts.map +1 -0
  209. package/dist/ui/widgets/flagRow.js +57 -0
  210. package/dist/ui/widgets/flagRow.js.map +1 -0
  211. package/dist/ui/widgets/index.d.ts +9 -0
  212. package/dist/ui/widgets/index.d.ts.map +1 -0
  213. package/dist/ui/widgets/index.js +9 -0
  214. package/dist/ui/widgets/index.js.map +1 -0
  215. package/dist/ui/widgets/meter.d.ts +18 -0
  216. package/dist/ui/widgets/meter.d.ts.map +1 -0
  217. package/dist/ui/widgets/meter.js +38 -0
  218. package/dist/ui/widgets/meter.js.map +1 -0
  219. package/dist/ui/widgets/miniMap.d.ts +26 -0
  220. package/dist/ui/widgets/miniMap.d.ts.map +1 -0
  221. package/dist/ui/widgets/miniMap.js +94 -0
  222. package/dist/ui/widgets/miniMap.js.map +1 -0
  223. package/dist/ui/widgets/sparkline.d.ts +17 -0
  224. package/dist/ui/widgets/sparkline.d.ts.map +1 -0
  225. package/dist/ui/widgets/sparkline.js +63 -0
  226. package/dist/ui/widgets/sparkline.js.map +1 -0
  227. package/dist/ui-primitives.d.ts +5 -2
  228. package/dist/ui-primitives.d.ts.map +1 -1
  229. package/dist/ui-primitives.js +22 -9
  230. package/dist/ui-primitives.js.map +1 -1
  231. package/package.json +5 -4
  232. package/dist/ui/home-view.d.ts +0 -27
  233. package/dist/ui/home-view.d.ts.map +0 -1
  234. package/dist/ui/home-view.js +0 -127
  235. package/dist/ui/home-view.js.map +0 -1
@@ -1,127 +0,0 @@
1
- /**
2
- * HOME View Renderer
3
- *
4
- * EXTENSION EXAMPLE: This is the pattern all view renderers should follow
5
- *
6
- * Rules:
7
- * - Pure function: receives state → returns rendered string
8
- * - No side effects, no console.log, no state mutations
9
- * - Use UI primitives (Section, Table, Alert, etc.)
10
- * - Import types with `import type` (not regular import)
11
- *
12
- * To create a new view:
13
- * 1. Create file: src/ui/my-view.ts
14
- * 2. Export function: renderMyView(state: AppState): string
15
- * 3. Use UI primitives to build output
16
- * 4. Return joined string (ready for console.log)
17
- *
18
- * See CONTRIBUTING-CLI.md for full extension recipe
19
- */
20
- import { Section, Table, StatusBar, truncateText } from '../ui-primitives.js';
21
- import { C_ACCENT, C_SUCCESS, C_WARN, C_MUTED, C_LINK, RESET } from '../theme.js';
22
- import { isZeroState } from '../state.js';
23
- import { formatRelativeTime, truncateId } from '../utils.js';
24
- /**
25
- * Render HOME view
26
- * @param state - Current application state
27
- * @returns Rendered view as string (ready to console.log)
28
- */
29
- export function renderHomeView(state) {
30
- const lines = [];
31
- // Check for zero state (first-time experience)
32
- const zeroState = isZeroState() && state.customAgents.size === 0;
33
- if (zeroState) {
34
- // Zero state: calm message, clear status, 3 primary actions
35
- const statusLines = [];
36
- statusLines.push(`MODE: ${state.localMode ? C_SUCCESS + 'LOCAL' : C_WARN + 'NOT CONNECTED' + RESET}`);
37
- statusLines.push(`CONNECTION: ${state.gatewayConnected ? C_SUCCESS + 'Connected' : C_WARN + 'Not Connected' + RESET}`);
38
- statusLines.push(`AGENTS: ${C_ACCENT}0${RESET}`);
39
- lines.push(Section('SYSTEM STATUS', statusLines));
40
- lines.push('');
41
- lines.push('Welcome to 4Runr OS');
42
- lines.push('Get started with one of the actions below');
43
- lines.push('');
44
- const actionLines = [];
45
- actionLines.push(`${C_LINK}connect${RESET} ${C_MUTED}Attach gateway / remote${RESET}`);
46
- actionLines.push(`${C_LINK}start${RESET} ${C_MUTED}Begin doing useful work${RESET}`);
47
- actionLines.push(`${C_LINK}help${RESET} ${C_MUTED}Explain system${RESET}`);
48
- lines.push(Section('GET STARTED', actionLines));
49
- lines.push('');
50
- }
51
- else {
52
- // Normal state: full mission control
53
- // 1. SESSION
54
- const sessionLines = [];
55
- const mode = state.localMode ? 'LOCAL' : (state.gatewayConnected ? 'REMOTE' : 'OFFLINE');
56
- sessionLines.push(`Mode: ${C_ACCENT}${mode}${RESET}`);
57
- const workspace = state.currentUser?.username || 'default';
58
- sessionLines.push(`Workspace: ${C_ACCENT}${workspace}${RESET}`);
59
- const connectionStatus = state.gatewayConnected ? `${C_SUCCESS}CONNECTED${RESET}` : `${C_WARN}DISCONNECTED${RESET}`;
60
- const target = state.gatewayConnected ? truncateText(state.gatewayUrl || '', 30) : 'none';
61
- sessionLines.push(`Connection: ${connectionStatus} Target: ${C_MUTED}${target}${RESET}`);
62
- // Uptime would be calculated from boot time in state
63
- sessionLines.push(`Uptime: ${C_MUTED}0m${RESET}`);
64
- lines.push(Section('SESSION', sessionLines));
65
- lines.push('');
66
- // 2. AGENTS
67
- const agentCount = state.customAgents.size;
68
- const agentRows = [];
69
- if (agentCount > 0) {
70
- const topAgents = Array.from(state.customAgents.values()).slice(0, 3);
71
- topAgents.forEach(agent => {
72
- agentRows.push([
73
- truncateText(agent.name, 20),
74
- truncateText(agent.baseAgent, 15),
75
- 'IDLE'
76
- ]);
77
- });
78
- }
79
- const agentTable = agentCount > 0
80
- ? Table(['NAME', 'MODEL', 'STATUS'], agentRows, 3)
81
- : `${C_MUTED} No agents configured${RESET}`;
82
- lines.push(Section('AGENTS', [`Total count: ${C_ACCENT}${agentCount}${RESET}`, agentTable]));
83
- lines.push('');
84
- // 3. RECENT RUNS
85
- const recentRuns = state.runHistory.slice(-3).reverse();
86
- const runRows = [];
87
- if (recentRuns.length > 0) {
88
- recentRuns.forEach(run => {
89
- runRows.push([
90
- truncateId(run.runId, 8),
91
- truncateText(run.agentName, 15),
92
- run.status === 'SUCCESS' ? `${C_SUCCESS}SUCCESS${RESET}` :
93
- run.status === 'FAILED' ? `${C_WARN}FAILED${RESET}` :
94
- `${C_ACCENT}RUNNING${RESET}`,
95
- formatRelativeTime(run.timestamp)
96
- ]);
97
- });
98
- }
99
- const runTable = recentRuns.length > 0
100
- ? Table(['ID', 'AGENT', 'STATUS', 'TIMESTAMP'], runRows, 3)
101
- : `${C_MUTED} No runs yet${RESET}`;
102
- lines.push(Section('RECENT RUNS', [runTable]));
103
- lines.push('');
104
- // 4. QUICK ACTIONS (Footer)
105
- const quickActionLines = [];
106
- quickActionLines.push(`${C_LINK}start${RESET} ${C_MUTED}Begin execution${RESET}`);
107
- quickActionLines.push(`${C_LINK}build${RESET} ${C_MUTED}Create or edit agent${RESET}`);
108
- quickActionLines.push(`${C_LINK}metrics${RESET} ${C_MUTED}View performance${RESET}`);
109
- quickActionLines.push(`${C_LINK}system${RESET} ${C_MUTED}Infrastructure status${RESET}`);
110
- quickActionLines.push(`${C_LINK}help${RESET} ${C_MUTED}Show available commands${RESET}`);
111
- lines.push(Section('QUICK ACTIONS', quickActionLines));
112
- lines.push('');
113
- }
114
- // StatusBar
115
- const mode = state.localMode ? 'LOCAL' : (state.gatewayConnected ? 'REMOTE' : 'OFFLINE');
116
- const statusBar = StatusBar({
117
- mode: mode,
118
- connected: state.gatewayConnected,
119
- target: state.gatewayUrl ? truncateText(state.gatewayUrl, 30) : undefined,
120
- workspace: state.currentUser?.username,
121
- lastAction: 'home',
122
- });
123
- lines.push(statusBar);
124
- lines.push('');
125
- return lines.join('\n');
126
- }
127
- //# sourceMappingURL=home-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"home-view.js","sourceRoot":"","sources":["../../src/ui/home-view.ts"],"names":[],"mappings":"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"}