@xyteai/cli 0.1.0

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 (251) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +245 -0
  3. package/dist/bin/xyte-cli.d.ts +3 -0
  4. package/dist/bin/xyte-cli.d.ts.map +1 -0
  5. package/dist/bin/xyte-cli.js +18 -0
  6. package/dist/bin/xyte-cli.js.map +1 -0
  7. package/dist/cli/index.d.ts +24 -0
  8. package/dist/cli/index.d.ts.map +1 -0
  9. package/dist/cli/index.js +1185 -0
  10. package/dist/cli/index.js.map +1 -0
  11. package/dist/client/catalog.d.ts +6 -0
  12. package/dist/client/catalog.d.ts.map +1 -0
  13. package/dist/client/catalog.js +32 -0
  14. package/dist/client/catalog.js.map +1 -0
  15. package/dist/client/create-client.d.ts +3 -0
  16. package/dist/client/create-client.d.ts.map +1 -0
  17. package/dist/client/create-client.js +235 -0
  18. package/dist/client/create-client.js.map +1 -0
  19. package/dist/config/connectivity.d.ts +19 -0
  20. package/dist/config/connectivity.d.ts.map +1 -0
  21. package/dist/config/connectivity.js +166 -0
  22. package/dist/config/connectivity.js.map +1 -0
  23. package/dist/config/readiness.d.ts +32 -0
  24. package/dist/config/readiness.d.ts.map +1 -0
  25. package/dist/config/readiness.js +96 -0
  26. package/dist/config/readiness.js.map +1 -0
  27. package/dist/config/retry-policy.d.ts +16 -0
  28. package/dist/config/retry-policy.d.ts.map +1 -0
  29. package/dist/config/retry-policy.js +24 -0
  30. package/dist/config/retry-policy.js.map +1 -0
  31. package/dist/contracts/call-envelope.d.ts +74 -0
  32. package/dist/contracts/call-envelope.d.ts.map +1 -0
  33. package/dist/contracts/call-envelope.js +72 -0
  34. package/dist/contracts/call-envelope.js.map +1 -0
  35. package/dist/contracts/problem.d.ts +11 -0
  36. package/dist/contracts/problem.d.ts.map +1 -0
  37. package/dist/contracts/problem.js +55 -0
  38. package/dist/contracts/problem.js.map +1 -0
  39. package/dist/contracts/versions.d.ts +6 -0
  40. package/dist/contracts/versions.d.ts.map +1 -0
  41. package/dist/contracts/versions.js +9 -0
  42. package/dist/contracts/versions.js.map +1 -0
  43. package/dist/http/errors.d.ts +24 -0
  44. package/dist/http/errors.d.ts.map +1 -0
  45. package/dist/http/errors.js +39 -0
  46. package/dist/http/errors.js.map +1 -0
  47. package/dist/http/transport.d.ts +35 -0
  48. package/dist/http/transport.d.ts.map +1 -0
  49. package/dist/http/transport.js +129 -0
  50. package/dist/http/transport.js.map +1 -0
  51. package/dist/index.d.ts +10 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +23 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/mcp/server.d.ts +12 -0
  56. package/dist/mcp/server.d.ts.map +1 -0
  57. package/dist/mcp/server.js +404 -0
  58. package/dist/mcp/server.js.map +1 -0
  59. package/dist/namespaces/device.d.ts +38 -0
  60. package/dist/namespaces/device.d.ts.map +1 -0
  61. package/dist/namespaces/device.js +36 -0
  62. package/dist/namespaces/device.js.map +1 -0
  63. package/dist/namespaces/organization.d.ts +27 -0
  64. package/dist/namespaces/organization.d.ts.map +1 -0
  65. package/dist/namespaces/organization.js +30 -0
  66. package/dist/namespaces/organization.js.map +1 -0
  67. package/dist/namespaces/partner.d.ts +18 -0
  68. package/dist/namespaces/partner.d.ts.map +1 -0
  69. package/dist/namespaces/partner.js +21 -0
  70. package/dist/namespaces/partner.js.map +1 -0
  71. package/dist/observability/logger.d.ts +3 -0
  72. package/dist/observability/logger.d.ts.map +1 -0
  73. package/dist/observability/logger.js +21 -0
  74. package/dist/observability/logger.js.map +1 -0
  75. package/dist/observability/tracing.d.ts +3 -0
  76. package/dist/observability/tracing.d.ts.map +1 -0
  77. package/dist/observability/tracing.js +26 -0
  78. package/dist/observability/tracing.js.map +1 -0
  79. package/dist/secure/key-slots.d.ts +8 -0
  80. package/dist/secure/key-slots.d.ts.map +1 -0
  81. package/dist/secure/key-slots.js +47 -0
  82. package/dist/secure/key-slots.js.map +1 -0
  83. package/dist/secure/keychain.d.ts +20 -0
  84. package/dist/secure/keychain.d.ts.map +1 -0
  85. package/dist/secure/keychain.js +170 -0
  86. package/dist/secure/keychain.js.map +1 -0
  87. package/dist/secure/profile-store.d.ts +66 -0
  88. package/dist/secure/profile-store.d.ts.map +1 -0
  89. package/dist/secure/profile-store.js +309 -0
  90. package/dist/secure/profile-store.js.map +1 -0
  91. package/dist/spec/public-endpoints.json +1175 -0
  92. package/dist/tui/animation.d.ts +12 -0
  93. package/dist/tui/animation.d.ts.map +1 -0
  94. package/dist/tui/animation.js +41 -0
  95. package/dist/tui/animation.js.map +1 -0
  96. package/dist/tui/app.d.ts +27 -0
  97. package/dist/tui/app.d.ts.map +1 -0
  98. package/dist/tui/app.js +711 -0
  99. package/dist/tui/app.js.map +1 -0
  100. package/dist/tui/assets/logo.d.ts +5 -0
  101. package/dist/tui/assets/logo.d.ts.map +1 -0
  102. package/dist/tui/assets/logo.js +24 -0
  103. package/dist/tui/assets/logo.js.map +1 -0
  104. package/dist/tui/data-loaders.d.ts +33 -0
  105. package/dist/tui/data-loaders.d.ts.map +1 -0
  106. package/dist/tui/data-loaders.js +250 -0
  107. package/dist/tui/data-loaders.js.map +1 -0
  108. package/dist/tui/dispatch.d.ts +14 -0
  109. package/dist/tui/dispatch.d.ts.map +1 -0
  110. package/dist/tui/dispatch.js +44 -0
  111. package/dist/tui/dispatch.js.map +1 -0
  112. package/dist/tui/headless-renderer.d.ts +20 -0
  113. package/dist/tui/headless-renderer.d.ts.map +1 -0
  114. package/dist/tui/headless-renderer.js +598 -0
  115. package/dist/tui/headless-renderer.js.map +1 -0
  116. package/dist/tui/input-controller.d.ts +29 -0
  117. package/dist/tui/input-controller.d.ts.map +1 -0
  118. package/dist/tui/input-controller.js +76 -0
  119. package/dist/tui/input-controller.js.map +1 -0
  120. package/dist/tui/key-wizard.d.ts +29 -0
  121. package/dist/tui/key-wizard.d.ts.map +1 -0
  122. package/dist/tui/key-wizard.js +177 -0
  123. package/dist/tui/key-wizard.js.map +1 -0
  124. package/dist/tui/keymap.d.ts +9 -0
  125. package/dist/tui/keymap.d.ts.map +1 -0
  126. package/dist/tui/keymap.js +29 -0
  127. package/dist/tui/keymap.js.map +1 -0
  128. package/dist/tui/layout.d.ts +16 -0
  129. package/dist/tui/layout.d.ts.map +1 -0
  130. package/dist/tui/layout.js +99 -0
  131. package/dist/tui/layout.js.map +1 -0
  132. package/dist/tui/logger.d.ts +12 -0
  133. package/dist/tui/logger.d.ts.map +1 -0
  134. package/dist/tui/logger.js +83 -0
  135. package/dist/tui/logger.js.map +1 -0
  136. package/dist/tui/navigation.d.ts +26 -0
  137. package/dist/tui/navigation.d.ts.map +1 -0
  138. package/dist/tui/navigation.js +136 -0
  139. package/dist/tui/navigation.js.map +1 -0
  140. package/dist/tui/panes.d.ts +7 -0
  141. package/dist/tui/panes.d.ts.map +1 -0
  142. package/dist/tui/panes.js +34 -0
  143. package/dist/tui/panes.js.map +1 -0
  144. package/dist/tui/runtime.d.ts +34 -0
  145. package/dist/tui/runtime.d.ts.map +1 -0
  146. package/dist/tui/runtime.js +100 -0
  147. package/dist/tui/runtime.js.map +1 -0
  148. package/dist/tui/scene.d.ts +160 -0
  149. package/dist/tui/scene.d.ts.map +1 -0
  150. package/dist/tui/scene.js +424 -0
  151. package/dist/tui/scene.js.map +1 -0
  152. package/dist/tui/screens/config.d.ts +3 -0
  153. package/dist/tui/screens/config.d.ts.map +1 -0
  154. package/dist/tui/screens/config.js +406 -0
  155. package/dist/tui/screens/config.js.map +1 -0
  156. package/dist/tui/screens/dashboard.d.ts +3 -0
  157. package/dist/tui/screens/dashboard.d.ts.map +1 -0
  158. package/dist/tui/screens/dashboard.js +176 -0
  159. package/dist/tui/screens/dashboard.js.map +1 -0
  160. package/dist/tui/screens/devices.d.ts +3 -0
  161. package/dist/tui/screens/devices.d.ts.map +1 -0
  162. package/dist/tui/screens/devices.js +297 -0
  163. package/dist/tui/screens/devices.js.map +1 -0
  164. package/dist/tui/screens/incidents.d.ts +4 -0
  165. package/dist/tui/screens/incidents.d.ts.map +1 -0
  166. package/dist/tui/screens/incidents.js +304 -0
  167. package/dist/tui/screens/incidents.js.map +1 -0
  168. package/dist/tui/screens/setup.d.ts +3 -0
  169. package/dist/tui/screens/setup.d.ts.map +1 -0
  170. package/dist/tui/screens/setup.js +299 -0
  171. package/dist/tui/screens/setup.js.map +1 -0
  172. package/dist/tui/screens/spaces.d.ts +7 -0
  173. package/dist/tui/screens/spaces.d.ts.map +1 -0
  174. package/dist/tui/screens/spaces.js +422 -0
  175. package/dist/tui/screens/spaces.js.map +1 -0
  176. package/dist/tui/screens/tickets.d.ts +9 -0
  177. package/dist/tui/screens/tickets.d.ts.map +1 -0
  178. package/dist/tui/screens/tickets.js +418 -0
  179. package/dist/tui/screens/tickets.js.map +1 -0
  180. package/dist/tui/serialize.d.ts +31 -0
  181. package/dist/tui/serialize.d.ts.map +1 -0
  182. package/dist/tui/serialize.js +183 -0
  183. package/dist/tui/serialize.js.map +1 -0
  184. package/dist/tui/table-format.d.ts +11 -0
  185. package/dist/tui/table-format.d.ts.map +1 -0
  186. package/dist/tui/table-format.js +77 -0
  187. package/dist/tui/table-format.js.map +1 -0
  188. package/dist/tui/tabs.d.ts +4 -0
  189. package/dist/tui/tabs.d.ts.map +1 -0
  190. package/dist/tui/tabs.js +13 -0
  191. package/dist/tui/tabs.js.map +1 -0
  192. package/dist/tui/types.d.ts +37 -0
  193. package/dist/tui/types.d.ts.map +1 -0
  194. package/dist/tui/types.js +3 -0
  195. package/dist/tui/types.js.map +1 -0
  196. package/dist/types/client.d.ts +54 -0
  197. package/dist/types/client.d.ts.map +1 -0
  198. package/dist/types/client.js +3 -0
  199. package/dist/types/client.js.map +1 -0
  200. package/dist/types/endpoints.d.ts +29 -0
  201. package/dist/types/endpoints.d.ts.map +1 -0
  202. package/dist/types/endpoints.js +3 -0
  203. package/dist/types/endpoints.js.map +1 -0
  204. package/dist/types/profile.d.ts +29 -0
  205. package/dist/types/profile.d.ts.map +1 -0
  206. package/dist/types/profile.js +3 -0
  207. package/dist/types/profile.js.map +1 -0
  208. package/dist/utils/config-dir.d.ts +2 -0
  209. package/dist/utils/config-dir.d.ts.map +1 -0
  210. package/dist/utils/config-dir.js +23 -0
  211. package/dist/utils/config-dir.js.map +1 -0
  212. package/dist/utils/error-format.d.ts +4 -0
  213. package/dist/utils/error-format.d.ts.map +1 -0
  214. package/dist/utils/error-format.js +34 -0
  215. package/dist/utils/error-format.js.map +1 -0
  216. package/dist/utils/install-skills.d.ts +38 -0
  217. package/dist/utils/install-skills.d.ts.map +1 -0
  218. package/dist/utils/install-skills.js +117 -0
  219. package/dist/utils/install-skills.js.map +1 -0
  220. package/dist/utils/json-output.d.ts +6 -0
  221. package/dist/utils/json-output.d.ts.map +1 -0
  222. package/dist/utils/json-output.js +30 -0
  223. package/dist/utils/json-output.js.map +1 -0
  224. package/dist/utils/json.d.ts +4 -0
  225. package/dist/utils/json.d.ts.map +1 -0
  226. package/dist/utils/json.js +36 -0
  227. package/dist/utils/json.js.map +1 -0
  228. package/dist/utils/version.d.ts +2 -0
  229. package/dist/utils/version.d.ts.map +1 -0
  230. package/dist/utils/version.js +28 -0
  231. package/dist/utils/version.js.map +1 -0
  232. package/dist/workflows/fleet-insights.d.ts +122 -0
  233. package/dist/workflows/fleet-insights.d.ts.map +1 -0
  234. package/dist/workflows/fleet-insights.js +938 -0
  235. package/dist/workflows/fleet-insights.js.map +1 -0
  236. package/docs/schemas/call-envelope.v1.schema.json +140 -0
  237. package/docs/schemas/headless-frame.v1.schema.json +159 -0
  238. package/docs/schemas/inspect-deep-dive.v1.schema.json +251 -0
  239. package/docs/schemas/inspect-fleet.v1.schema.json +111 -0
  240. package/docs/schemas/report.v1.schema.json +39 -0
  241. package/package.json +75 -0
  242. package/skills/xyte-cli/SKILL.md +181 -0
  243. package/skills/xyte-cli/agents/openai.yaml +4 -0
  244. package/skills/xyte-cli/references/endpoints.md +106 -0
  245. package/skills/xyte-cli/references/headless-contract.md +96 -0
  246. package/skills/xyte-cli/references/tui-flows.md +126 -0
  247. package/skills/xyte-cli/scripts/check_headless.sh +83 -0
  248. package/skills/xyte-cli/scripts/endpoint_filters_report.sh +33 -0
  249. package/skills/xyte-cli/scripts/run_xyte_cli.sh +12 -0
  250. package/skills/xyte-cli/scripts/validate_agent_contracts.sh +72 -0
  251. package/skills/xyte-cli/scripts/validate_with_schema.js +30 -0
@@ -0,0 +1,424 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sceneFromDashboardState = sceneFromDashboardState;
4
+ exports.sceneFromDevicesState = sceneFromDevicesState;
5
+ exports.sceneFromIncidentsState = sceneFromIncidentsState;
6
+ exports.sceneFromTicketsState = sceneFromTicketsState;
7
+ exports.sceneFromSpacesState = sceneFromSpacesState;
8
+ exports.sceneFromSetupState = sceneFromSetupState;
9
+ exports.sceneFromConfigState = sceneFromConfigState;
10
+ exports.createHeadlessFrame = createHeadlessFrame;
11
+ const serialize_1 = require("./serialize");
12
+ const table_format_1 = require("./table-format");
13
+ const versions_1 = require("../contracts/versions");
14
+ function sampleRows(items, count = 6) {
15
+ return items.slice(0, count);
16
+ }
17
+ function safeId(item, index) {
18
+ return String(item?.id ?? item?._id ?? item?.uuid ?? item?.device_id ?? `row-${index + 1}`);
19
+ }
20
+ function safeName(item) {
21
+ return String(item?.name ?? item?.title ?? item?.subject ?? item?.status ?? 'n/a');
22
+ }
23
+ function safeStatus(item) {
24
+ return String(item?.status ?? item?.state ?? item?.online_status ?? 'unknown');
25
+ }
26
+ function safeSpaceId(item, index) {
27
+ return String(item?.id ?? item?.space_id ?? item?._id ?? item?.uuid ?? `space-${index + 1}`);
28
+ }
29
+ function detailBlock(lines, preview) {
30
+ if (!preview) {
31
+ return lines;
32
+ }
33
+ return [...lines, '', 'Preview:', ...preview.lines];
34
+ }
35
+ function clampSelection(index, total) {
36
+ if (total <= 0) {
37
+ return 0;
38
+ }
39
+ return Math.max(0, Math.min(index, total - 1));
40
+ }
41
+ function sceneFromDashboardState(state) {
42
+ return [
43
+ {
44
+ id: 'dashboard-kpis',
45
+ title: 'KPI',
46
+ kind: 'stats',
47
+ stats: [
48
+ { label: 'Tenant', value: state.tenantId ?? 'none' },
49
+ { label: 'Devices', value: state.devices.length },
50
+ { label: 'Open incidents', value: state.incidents.length },
51
+ { label: 'Open tickets', value: state.tickets.length }
52
+ ]
53
+ },
54
+ {
55
+ id: 'dashboard-status',
56
+ title: 'Status',
57
+ kind: 'text',
58
+ text: {
59
+ lines: [
60
+ 'Use setup/config to manage tenant readiness and key slots.',
61
+ 'Headless mode provides machine-readable snapshots for agents.'
62
+ ]
63
+ }
64
+ },
65
+ {
66
+ id: 'dashboard-incidents',
67
+ title: 'Recent Incidents',
68
+ kind: 'table',
69
+ table: {
70
+ columns: ['ID', 'Name', 'State'],
71
+ rows: sampleRows(state.incidents).map((item, index) => [
72
+ (0, table_format_1.shortId)(safeId(item, index)),
73
+ (0, table_format_1.fitCell)(safeName(item), 26, 'end'),
74
+ (0, table_format_1.fitCell)(safeStatus(item), 10, 'end')
75
+ ])
76
+ }
77
+ },
78
+ {
79
+ id: 'dashboard-tickets',
80
+ title: 'Recent Tickets',
81
+ kind: 'table',
82
+ table: {
83
+ columns: ['ID', 'Subject', 'State'],
84
+ rows: sampleRows(state.tickets).map((item, index) => [
85
+ (0, table_format_1.shortId)(safeId(item, index)),
86
+ (0, table_format_1.fitCell)(safeName(item), 26, 'end'),
87
+ (0, table_format_1.fitCell)(safeStatus(item), 10, 'end')
88
+ ])
89
+ }
90
+ }
91
+ ];
92
+ }
93
+ function sceneFromDevicesState(state) {
94
+ const selectedIndex = clampSelection(state.selectedIndex, state.devices.length);
95
+ const selected = state.devices[selectedIndex];
96
+ const preview = selected ? (0, serialize_1.safePreviewLines)(selected) : undefined;
97
+ const detailLines = selected
98
+ ? detailBlock([
99
+ `ID: ${(0, table_format_1.sanitizePrintable)(selected?.id ?? selected?._id ?? selected?.uuid ?? 'n/a')}`,
100
+ `Name: ${(0, table_format_1.sanitizePrintable)(selected?.name ?? selected?.title ?? 'n/a')}`,
101
+ `State: ${(0, table_format_1.sanitizePrintable)(selected?.status ?? selected?.state ?? selected?.online_status ?? 'unknown')}`,
102
+ `Space: ${(0, table_format_1.sanitizePrintable)(selected?.space_name ?? selected?.space_id ?? 'n/a')}`
103
+ ], preview)
104
+ : ['No matching devices.'];
105
+ return [
106
+ {
107
+ id: 'devices-table',
108
+ title: 'Devices',
109
+ kind: 'table',
110
+ table: {
111
+ columns: ['ID', 'Name', 'State', 'Space'],
112
+ rows: state.devices.map((item, index) => [
113
+ (0, table_format_1.shortId)(safeId(item, index)),
114
+ (0, table_format_1.fitCell)(safeName(item), 24, 'end'),
115
+ (0, table_format_1.fitCell)(safeStatus(item), 10, 'end'),
116
+ (0, table_format_1.fitCell)(item?.space_name ?? item?.space_id ?? 'n/a', 20, 'end')
117
+ ])
118
+ },
119
+ status: state.searchText ? `filter=${state.searchText}` : 'filter=none'
120
+ },
121
+ {
122
+ id: 'devices-detail',
123
+ title: 'Device Detail',
124
+ kind: 'text',
125
+ text: {
126
+ lines: detailLines
127
+ }
128
+ }
129
+ ];
130
+ }
131
+ function sceneFromIncidentsState(state) {
132
+ const selectedIndex = clampSelection(state.selectedIndex, state.incidents.length);
133
+ const selected = state.incidents[selectedIndex];
134
+ const preview = selected ? (0, serialize_1.safePreviewLines)(selected) : undefined;
135
+ const detailLines = selected
136
+ ? detailBlock([
137
+ `ID: ${(0, table_format_1.sanitizePrintable)(selected?.id ?? selected?._id ?? selected?.uuid ?? 'n/a')}`,
138
+ `Sev: ${(0, table_format_1.sanitizePrintable)(selected?.severity ?? selected?.priority ?? 'unknown')}`,
139
+ `State: ${(0, table_format_1.sanitizePrintable)(selected?.status ?? selected?.state ?? 'unknown')}`,
140
+ `Device: ${(0, table_format_1.sanitizePrintable)(selected?.device_id ?? selected?.device?.id ?? 'n/a')}`
141
+ ], preview)
142
+ : ['No incidents.'];
143
+ return [
144
+ {
145
+ id: 'incidents-table',
146
+ title: 'Incidents',
147
+ kind: 'table',
148
+ table: {
149
+ columns: ['ID', 'Sev', 'State', 'Device'],
150
+ rows: state.incidents.map((item, index) => [
151
+ (0, table_format_1.shortId)(safeId(item, index)),
152
+ (0, table_format_1.fitCell)(item?.severity ?? item?.priority ?? 'unknown', 7, 'end'),
153
+ (0, table_format_1.fitCell)(safeStatus(item), 10, 'end'),
154
+ (0, table_format_1.shortId)(item?.device_id ?? item?.device?.id ?? 'n/a')
155
+ ])
156
+ },
157
+ status: state.severityFilter ? `severity=${state.severityFilter}` : 'severity=all'
158
+ },
159
+ {
160
+ id: 'incidents-detail',
161
+ title: 'Incident Detail',
162
+ kind: 'text',
163
+ text: {
164
+ lines: detailLines
165
+ }
166
+ },
167
+ ];
168
+ }
169
+ function sceneFromTicketsState(state) {
170
+ const selectedIndex = clampSelection(state.selectedIndex, state.tickets.length);
171
+ const selected = state.tickets[selectedIndex];
172
+ const preview = selected ? (0, serialize_1.safePreviewLines)(selected) : undefined;
173
+ const selectedSummary = selected
174
+ ? [
175
+ `ID: ${(0, table_format_1.sanitizePrintable)(selected?.id ?? selected?._id ?? 'n/a')}`,
176
+ `State: ${(0, table_format_1.sanitizePrintable)(selected?.status ?? selected?.state ?? 'unknown')}`,
177
+ `Pri: ${(0, table_format_1.sanitizePrintable)(selected?.priority ?? 'n/a')}`,
178
+ `Subject: ${(0, table_format_1.sanitizePrintable)(selected?.subject ?? selected?.title ?? 'n/a')}`,
179
+ ''
180
+ ]
181
+ : [];
182
+ const detailLines = state.detailText
183
+ ? [...selectedSummary, ...state.detailText.split('\n')]
184
+ : selected
185
+ ? detailBlock(selectedSummary, preview)
186
+ : ['No tickets.'];
187
+ return [
188
+ {
189
+ id: 'tickets-table',
190
+ title: 'Tickets',
191
+ kind: 'table',
192
+ table: {
193
+ columns: ['ID', 'State', 'Pri', 'Subject'],
194
+ rows: state.tickets.map((item, index) => [
195
+ (0, table_format_1.shortId)(safeId(item, index)),
196
+ (0, table_format_1.fitCell)(safeStatus(item), 10, 'end'),
197
+ (0, table_format_1.fitCell)(item?.priority ?? 'n/a', 6, 'end'),
198
+ (0, table_format_1.fitCell)(item?.subject ?? item?.title ?? 'n/a', 28, 'end')
199
+ ])
200
+ },
201
+ status: `mode=${state.mode}${state.searchText ? ` filter=${state.searchText}` : ''}`
202
+ },
203
+ {
204
+ id: 'tickets-detail',
205
+ title: 'Ticket Detail',
206
+ kind: 'text',
207
+ text: {
208
+ lines: detailLines
209
+ }
210
+ }
211
+ ];
212
+ }
213
+ function sceneFromSpacesState(state) {
214
+ const selectedIndex = clampSelection(state.selectedIndex, state.spaces.length);
215
+ const selected = state.spaces[selectedIndex];
216
+ const detailPreview = state.spaceDetail ? (0, serialize_1.safePreviewLines)(state.spaceDetail) : selected ? (0, serialize_1.safePreviewLines)(selected) : undefined;
217
+ const detailLines = selected
218
+ ? detailBlock([
219
+ `ID: ${(0, table_format_1.sanitizePrintable)(safeSpaceId(selected, selectedIndex))}`,
220
+ `Name: ${(0, table_format_1.sanitizePrintable)(selected?.name ?? selected?.title ?? 'n/a')}`,
221
+ `Type: ${(0, table_format_1.sanitizePrintable)(selected?.space_type ?? selected?.type ?? 'n/a')}`,
222
+ `Path: ${(0, table_format_1.sanitizePrintable)(selected?.path ?? selected?.full_path ?? 'n/a')}`
223
+ ], detailPreview)
224
+ : ['No spaces.'];
225
+ return [
226
+ {
227
+ id: 'spaces-list',
228
+ title: 'Spaces',
229
+ kind: 'table',
230
+ table: {
231
+ columns: ['ID', 'Name', 'Type', 'Path'],
232
+ rows: state.spaces.map((item, index) => [
233
+ (0, table_format_1.shortId)(safeId(item, index)),
234
+ (0, table_format_1.fitCell)(safeName(item), 22, 'end'),
235
+ (0, table_format_1.fitCell)(item?.space_type ?? item?.type ?? 'n/a', 10, 'end'),
236
+ (0, table_format_1.fitCell)(item?.path ?? item?.full_path ?? 'n/a', 28, 'end')
237
+ ])
238
+ },
239
+ status: state.searchText ? `filter=${state.searchText}` : 'filter=none'
240
+ },
241
+ {
242
+ id: 'spaces-detail',
243
+ title: 'Space Detail',
244
+ kind: 'text',
245
+ text: {
246
+ lines: detailLines
247
+ },
248
+ status: state.loading ? 'loading=1' : 'loading=0'
249
+ },
250
+ {
251
+ id: 'spaces-devices',
252
+ title: 'Devices In Space',
253
+ kind: 'table',
254
+ table: {
255
+ columns: ['ID', 'Name', 'State'],
256
+ rows: state.devicesInSpace.map((item, index) => [
257
+ (0, table_format_1.shortId)(safeId(item, index)),
258
+ (0, table_format_1.fitCell)(safeName(item), 24, 'end'),
259
+ (0, table_format_1.fitCell)(safeStatus(item), 10, 'end')
260
+ ])
261
+ },
262
+ status: state.paneStatus
263
+ }
264
+ ];
265
+ }
266
+ function sceneFromSetupState(state) {
267
+ return [
268
+ {
269
+ id: 'setup-overview',
270
+ title: 'Setup Readiness',
271
+ kind: 'stats',
272
+ stats: [
273
+ { label: 'Readiness', value: state.readinessState },
274
+ { label: 'Tenant', value: state.tenantId ?? 'none' },
275
+ { label: 'Connection', value: state.connectionState }
276
+ ]
277
+ },
278
+ {
279
+ id: 'setup-providers',
280
+ title: 'Provider Slots',
281
+ kind: 'table',
282
+ table: {
283
+ columns: ['Provider', 'Slots', 'Active Slot', 'Has Secret'],
284
+ rows: state.providerRows.map((row) => [
285
+ (0, table_format_1.fitCell)(row.provider, 20, 'end'),
286
+ row.slotCount,
287
+ (0, table_format_1.shortId)(row.activeSlot),
288
+ (0, table_format_1.formatBoolTag)(row.hasSecret)
289
+ ])
290
+ }
291
+ },
292
+ {
293
+ id: 'setup-checklist',
294
+ title: 'Checklist',
295
+ kind: 'text',
296
+ text: {
297
+ lines: [
298
+ ...(state.missingItems.length ? ['Missing:'] : ['No missing setup items.']),
299
+ ...(state.missingItems.length ? state.missingItems.map((item) => `- ${item}`) : []),
300
+ '',
301
+ ...(state.recommendedActions.length ? ['Recommended actions:'] : ['No recommendations.']),
302
+ ...state.recommendedActions.map((item) => `- ${item}`),
303
+ '',
304
+ 'Interactive actions:',
305
+ '- a add tenant',
306
+ '- u use tenant',
307
+ '- k guided key wizard (provider -> slot -> secret -> review)',
308
+ '- p set active slot',
309
+ '- c test connectivity',
310
+ '- r refresh',
311
+ 'Global keys: u/g/d/s/v/i/t, r refresh, ? help, q quit'
312
+ ]
313
+ }
314
+ }
315
+ ];
316
+ }
317
+ function sceneFromConfigState(state) {
318
+ const selectedSlot = state.selectedSlot;
319
+ return [
320
+ {
321
+ id: 'config-providers',
322
+ title: 'Provider Health',
323
+ kind: 'table',
324
+ table: {
325
+ columns: ['Provider', 'Slots', 'Active Slot', 'Has Secret', 'Last Validated'],
326
+ rows: state.providerRows.map((row) => [
327
+ (0, table_format_1.fitCell)(row.provider, 16, 'end'),
328
+ row.slotCount,
329
+ (0, table_format_1.shortId)(row.activeSlot, { head: 4, tail: 3 }),
330
+ (0, table_format_1.formatBoolTag)(row.hasSecret),
331
+ (0, table_format_1.fitCell)(row.lastValidatedAt ?? 'n/a', 18, 'end')
332
+ ])
333
+ }
334
+ },
335
+ {
336
+ id: 'config-slots',
337
+ title: 'Key Slots',
338
+ kind: 'table',
339
+ table: {
340
+ columns: ['Provider', 'Slot', 'Active', 'Secret'],
341
+ rows: state.slotRows.map((row) => [
342
+ (0, table_format_1.fitCell)(row.provider, 16, 'end'),
343
+ (0, table_format_1.fitCell)(`${row.name} (${(0, table_format_1.shortId)(row.slotId, { head: 4, tail: 3 })})`, 26, 'end'),
344
+ (0, table_format_1.formatBoolTag)(row.active),
345
+ (0, table_format_1.formatBoolTag)(row.hasSecret)
346
+ ])
347
+ }
348
+ },
349
+ {
350
+ id: 'config-actions',
351
+ title: 'Actions',
352
+ kind: 'text',
353
+ text: {
354
+ lines: [
355
+ `Tenant: ${state.tenantId ?? 'none'}`,
356
+ `Provider: ${state.selectedProvider ?? 'none'}`,
357
+ `Doctor: ${state.doctorStatus ?? 'not run'}`,
358
+ '',
359
+ ...(selectedSlot
360
+ ? [
361
+ 'Selected slot:',
362
+ `- Provider: ${selectedSlot.provider}`,
363
+ `- Slot: ${selectedSlot.name} (${selectedSlot.slotId})`,
364
+ `- Fingerprint: ${selectedSlot.fingerprint}`,
365
+ `- Active: ${(0, table_format_1.formatBoolTag)(selectedSlot.active)}`,
366
+ `- Secret stored: ${(0, table_format_1.formatBoolTag)(selectedSlot.hasSecret)}`,
367
+ ''
368
+ ]
369
+ : ['Selected slot: none', '']),
370
+ 'Interactive actions:',
371
+ '- a add slot (guided wizard)',
372
+ '- n rename slot',
373
+ '- u use slot',
374
+ '- e rotate/update key (guided wizard)',
375
+ '- t test selected slot',
376
+ '- x remove slot',
377
+ '- c doctor',
378
+ '- r refresh',
379
+ 'Global keys: u/g/d/s/v/i/t, r refresh, ? help, q quit'
380
+ ]
381
+ }
382
+ }
383
+ ];
384
+ }
385
+ function createHeadlessFrame(args) {
386
+ const defaultMeta = {
387
+ inputState: 'idle',
388
+ queueDepth: 0,
389
+ droppedEvents: 0,
390
+ transitionState: 'idle',
391
+ refreshState: 'idle',
392
+ navigationMode: 'pane-focus',
393
+ availablePanes: [],
394
+ activePane: '',
395
+ tabNavBoundary: null,
396
+ renderSafety: 'ok',
397
+ tableFormat: 'compact-v1',
398
+ contract: {
399
+ frameVersion: versions_1.HEADLESS_FRAME_SCHEMA_VERSION,
400
+ tableFormat: 'compact-v1',
401
+ navigationMode: 'pane-focus'
402
+ }
403
+ };
404
+ return {
405
+ schemaVersion: versions_1.HEADLESS_FRAME_SCHEMA_VERSION,
406
+ timestamp: new Date().toISOString(),
407
+ sessionId: args.sessionId,
408
+ sequence: args.sequence,
409
+ mode: 'headless',
410
+ screen: args.screen,
411
+ title: args.title,
412
+ status: args.status,
413
+ tenantId: args.tenantId,
414
+ motionEnabled: args.motionEnabled,
415
+ motionPhase: args.motionPhase,
416
+ logo: args.logo,
417
+ panels: args.panels,
418
+ meta: {
419
+ ...defaultMeta,
420
+ ...(args.meta ?? {})
421
+ }
422
+ };
423
+ }
424
+ //# sourceMappingURL=scene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene.js","sourceRoot":"","sources":["../../src/tui/scene.ts"],"names":[],"mappings":";;AAqKA,0DAmDC;AAED,sDAyCC;AAED,0DAyCC;AAED,sDA4CC;AAED,oDAwDC;AAED,kDAkDC;AAED,oDAmEC;AAED,kDAkDC;AAlkBD,2CAA+C;AAC/C,iDAAoF;AACpF,oDAAsE;AAgItE,SAAS,UAAU,CAAC,KAAY,EAAE,KAAK,GAAG,CAAC;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,MAAM,CAAC,IAAS,EAAE,KAAa;IACtC,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,SAAS,IAAI,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,QAAQ,CAAC,IAAS;IACzB,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,UAAU,CAAC,IAAS;IAC3B,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,aAAa,IAAI,SAAS,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,WAAW,CAAC,IAAS,EAAE,KAAa;IAC3C,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,WAAW,CAAC,KAAe,EAAE,OAA6B;IACjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,uBAAuB,CAAC,KAA0B;IAChE,OAAO;QACL;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,EAAE;gBACpD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE;gBAC1D,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;aACvD;SACF;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,4DAA4D;oBAC5D,+DAA+D;iBAChE;aACF;SACF;QACD;YACE,EAAE,EAAE,qBAAqB;YACzB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;gBAChC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACrD,IAAA,sBAAO,EAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC5B,IAAA,sBAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;oBAClC,IAAA,sBAAO,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;iBACrC,CAAC;aACH;SACF;QACD;YACE,EAAE,EAAE,mBAAmB;YACvB,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC;gBACnC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACnD,IAAA,sBAAO,EAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC5B,IAAA,sBAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;oBAClC,IAAA,sBAAO,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;iBACrC,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAAwB;IAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,4BAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,WAAW,CACT;YACE,OAAO,IAAA,gCAAiB,EAAC,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,GAAG,IAAI,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE;YACpF,SAAS,IAAA,gCAAiB,EAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,EAAE;YACxE,UAAU,IAAA,gCAAiB,EAAC,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,aAAa,IAAI,SAAS,CAAC,EAAE;YAC1G,UAAU,IAAA,gCAAiB,EAAC,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,EAAE;SACnF,EACD,OAAO,CACR;QACH,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAE7B,OAAO;QACL;YACE,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;gBACzC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACvC,IAAA,sBAAO,EAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC5B,IAAA,sBAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;oBAClC,IAAA,sBAAO,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;oBACpC,IAAA,sBAAO,EAAC,IAAI,EAAE,UAAU,IAAI,IAAI,EAAE,QAAQ,IAAI,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC;iBAChE,CAAC;aACH;YACD,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa;SACxE;QACD;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACJ,KAAK,EAAE,WAAW;aACnB;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB,CAAC,KAA0B;IAChE,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,4BAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,WAAW,CACT;YACE,OAAO,IAAA,gCAAiB,EAAC,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,GAAG,IAAI,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE;YACpF,QAAQ,IAAA,gCAAiB,EAAC,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,EAAE;YAClF,UAAU,IAAA,gCAAiB,EAAC,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC,EAAE;YAC/E,WAAW,IAAA,gCAAiB,EAAC,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,KAAK,CAAC,EAAE;SACrF,EACD,OAAO,CACR;QACH,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAEtB,OAAO;QACL;YACE,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;gBACzC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACzC,IAAA,sBAAO,EAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC5B,IAAA,sBAAO,EAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC;oBAChE,IAAA,sBAAO,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;oBACpC,IAAA,sBAAO,EAAC,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,KAAK,CAAC;iBACtD,CAAC;aACH;YACD,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,cAAc;SACnF;QACD;YACE,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACJ,KAAK,EAAE,WAAW;aACnB;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAAwB;IAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,4BAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,eAAe,GAAG,QAAQ;QAC9B,CAAC,CAAC;YACE,OAAO,IAAA,gCAAiB,EAAC,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE;YAClE,UAAU,IAAA,gCAAiB,EAAC,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC,EAAE;YAC/E,QAAQ,IAAA,gCAAiB,EAAC,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,EAAE;YACxD,YAAY,IAAA,gCAAiB,EAAC,QAAQ,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,EAAE;YAC9E,EAAE;SACH;QACH,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU;QAClC,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC;YACvC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAEtB,OAAO;QACL;YACE,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC;gBAC1C,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACvC,IAAA,sBAAO,EAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC5B,IAAA,sBAAO,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;oBACpC,IAAA,sBAAO,EAAC,IAAI,EAAE,QAAQ,IAAI,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;oBAC1C,IAAA,sBAAO,EAAC,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,KAAK,IAAI,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC;iBAC1D,CAAC;aACH;YACD,MAAM,EAAE,QAAQ,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SACrF;QACD;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACJ,KAAK,EAAE,WAAW;aACnB;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAuB;IAC1D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,4BAAgB,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,4BAAgB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClI,MAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,WAAW,CACT;YACE,OAAO,IAAA,gCAAiB,EAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE;YAChE,SAAS,IAAA,gCAAiB,EAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,EAAE;YACxE,SAAS,IAAA,gCAAiB,EAAC,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE;YAC7E,SAAS,IAAA,gCAAiB,EAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,SAAS,IAAI,KAAK,CAAC,EAAE;SAC7E,EACD,aAAa,CACd;QACH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAEnB,OAAO;QACL;YACE,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBACvC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBACtC,IAAA,sBAAO,EAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC5B,IAAA,sBAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;oBAClC,IAAA,sBAAO,EAAC,IAAI,EAAE,UAAU,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC;oBAC3D,IAAA,sBAAO,EAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,SAAS,IAAI,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC;iBAC3D,CAAC;aACH;YACD,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa;SACxE;QACD;YACE,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACJ,KAAK,EAAE,WAAW;aACnB;YACD,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;SAClD;QACD;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;gBAChC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC9C,IAAA,sBAAO,EAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC5B,IAAA,sBAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;oBAClC,IAAA,sBAAO,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC;iBACrC,CAAC;aACH;YACD,MAAM,EAAE,KAAK,CAAC,UAAU;SACzB;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAsB;IACxD,OAAO;QACL;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE;gBACnD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,EAAE;gBACpD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE;aACtD;SACF;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC;gBAC3D,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;oBACpC,IAAA,sBAAO,EAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC;oBAChC,GAAG,CAAC,SAAS;oBACb,IAAA,sBAAO,EAAC,GAAG,CAAC,UAAU,CAAC;oBACvB,IAAA,4BAAa,EAAC,GAAG,CAAC,SAAS,CAAC;iBAC7B,CAAC;aACH;SACF;QACD;YACE,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;oBAC3E,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnF,EAAE;oBACF,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;oBACzF,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;oBACtD,EAAE;oBACF,sBAAsB;oBACtB,gBAAgB;oBAChB,gBAAgB;oBAChB,8DAA8D;oBAC9D,qBAAqB;oBACrB,uBAAuB;oBACvB,aAAa;oBACb,uDAAuD;iBACxD;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAuB;IAC1D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,OAAO;QACL;YACE,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,CAAC;gBAC7E,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;oBACpC,IAAA,sBAAO,EAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC;oBAChC,GAAG,CAAC,SAAS;oBACb,IAAA,sBAAO,EAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC7C,IAAA,4BAAa,EAAC,GAAG,CAAC,SAAS,CAAC;oBAC5B,IAAA,sBAAO,EAAC,GAAG,CAAC,eAAe,IAAI,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC;iBACjD,CAAC;aACH;SACF;QACD;YACE,EAAE,EAAE,cAAc;YAClB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBACjD,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;oBAChC,IAAA,sBAAO,EAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC;oBAChC,IAAA,sBAAO,EAAC,GAAG,GAAG,CAAC,IAAI,KAAK,IAAA,sBAAO,EAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC;oBAChF,IAAA,4BAAa,EAAC,GAAG,CAAC,MAAM,CAAC;oBACzB,IAAA,4BAAa,EAAC,GAAG,CAAC,SAAS,CAAC;iBAC7B,CAAC;aACH;SACF;QACD;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,WAAW,KAAK,CAAC,QAAQ,IAAI,MAAM,EAAE;oBACrC,aAAa,KAAK,CAAC,gBAAgB,IAAI,MAAM,EAAE;oBAC/C,WAAW,KAAK,CAAC,YAAY,IAAI,SAAS,EAAE;oBAC5C,EAAE;oBACF,GAAG,CAAC,YAAY;wBACd,CAAC,CAAC;4BACE,gBAAgB;4BAChB,eAAe,YAAY,CAAC,QAAQ,EAAE;4BACtC,WAAW,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,GAAG;4BACvD,kBAAkB,YAAY,CAAC,WAAW,EAAE;4BAC5C,aAAa,IAAA,4BAAa,EAAC,YAAY,CAAC,MAAM,CAAC,EAAE;4BACjD,oBAAoB,IAAA,4BAAa,EAAC,YAAY,CAAC,SAAS,CAAC,EAAE;4BAC3D,EAAE;yBACH;wBACH,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;oBAChC,sBAAsB;oBACtB,8BAA8B;oBAC9B,iBAAiB;oBACjB,cAAc;oBACd,uCAAuC;oBACvC,wBAAwB;oBACxB,iBAAiB;oBACjB,YAAY;oBACZ,aAAa;oBACb,uDAAuD;iBACxD;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAYnC;IACC,MAAM,WAAW,GAAsB;QACrC,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,MAAM;QACvB,YAAY,EAAE,MAAM;QACpB,cAAc,EAAE,YAAY;QAC5B,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;QACd,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE;YACR,YAAY,EAAE,wCAA6B;YAC3C,WAAW,EAAE,YAAY;YACzB,cAAc,EAAE,YAAY;SAC7B;KACF,CAAC;IACF,OAAO;QACL,aAAa,EAAE,wCAA6B;QAC5C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE;YACJ,GAAG,WAAW;YACd,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;SACrB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TuiScreen } from '../types';
2
+ export declare function createConfigScreen(): TuiScreen;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/config.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAA2B,SAAS,EAAE,MAAM,UAAU,CAAC;AAiDnE,wBAAgB,kBAAkB,IAAI,SAAS,CAqa9C"}