@lesliechan721/aw 0.1.0-beta.4 → 0.1.0-beta.6

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 (99) hide show
  1. package/dist/authoring/scripts/lib/plugin-version-check.d.mts +14 -0
  2. package/dist/authoring/scripts/lib/plugin-version-check.mjs +10 -224
  3. package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -1
  4. package/dist/authoring/scripts/remove-plugin.d.mts +2 -0
  5. package/dist/authoring/scripts/remove-plugin.mjs +366 -0
  6. package/dist/authoring/scripts/remove-plugin.mjs.map +1 -0
  7. package/dist/authoring/scripts/validate-plugin.mjs +9 -46
  8. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  9. package/dist/scripts/bundle-plugins.d.ts +0 -2
  10. package/dist/scripts/bundle-plugins.js +4 -2
  11. package/dist/scripts/bundle-plugins.js.map +1 -1
  12. package/dist/scripts/plugin-staging.d.ts +1 -16
  13. package/dist/scripts/plugin-staging.js +8 -115
  14. package/dist/scripts/plugin-staging.js.map +1 -1
  15. package/dist/src/authoring/workspace-commands.d.ts +9 -1
  16. package/dist/src/authoring/workspace-commands.js +24 -16
  17. package/dist/src/authoring/workspace-commands.js.map +1 -1
  18. package/dist/src/commands/catalog-publication-inspection.d.ts +106 -0
  19. package/dist/src/commands/catalog-publication-inspection.js +444 -0
  20. package/dist/src/commands/catalog-publication-inspection.js.map +1 -0
  21. package/dist/src/commands/catalog-publish.d.ts +18 -2
  22. package/dist/src/commands/catalog-publish.js +261 -316
  23. package/dist/src/commands/catalog-publish.js.map +1 -1
  24. package/dist/src/commands/catalog-status.d.ts +60 -0
  25. package/dist/src/commands/catalog-status.js +251 -0
  26. package/dist/src/commands/catalog-status.js.map +1 -0
  27. package/dist/src/commands/plugin-capabilities.d.ts +22 -0
  28. package/dist/src/commands/plugin-capabilities.js +143 -0
  29. package/dist/src/commands/plugin-capabilities.js.map +1 -0
  30. package/dist/src/commands/rebuild-command.d.ts +2 -0
  31. package/dist/src/commands/rebuild-command.js +37 -6
  32. package/dist/src/commands/rebuild-command.js.map +1 -1
  33. package/dist/src/commands/rebuild-integration.d.ts +1 -0
  34. package/dist/src/commands/rebuild-integration.js +55 -57
  35. package/dist/src/commands/rebuild-integration.js.map +1 -1
  36. package/dist/src/commands/status-v4.d.ts +21 -0
  37. package/dist/src/commands/status-v4.js +63 -2
  38. package/dist/src/commands/status-v4.js.map +1 -1
  39. package/dist/src/index.js +79 -18
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/tui/components.d.ts +70 -0
  42. package/dist/src/tui/components.js +149 -6
  43. package/dist/src/tui/components.js.map +1 -1
  44. package/dist/src/tui/console-app-v4.js +1660 -628
  45. package/dist/src/tui/console-app-v4.js.map +1 -1
  46. package/dist/src/tui/controller-runtime.d.ts +5 -1
  47. package/dist/src/tui/controller-runtime.js +184 -33
  48. package/dist/src/tui/controller-runtime.js.map +1 -1
  49. package/dist/src/tui/controller.d.ts +35 -2
  50. package/dist/src/tui/controller.js +300 -39
  51. package/dist/src/tui/controller.js.map +1 -1
  52. package/dist/src/tui/diagnostics.d.ts +31 -0
  53. package/dist/src/tui/diagnostics.js +71 -0
  54. package/dist/src/tui/diagnostics.js.map +1 -0
  55. package/dist/src/tui/index.d.ts +5 -3
  56. package/dist/src/tui/index.js +3 -1
  57. package/dist/src/tui/index.js.map +1 -1
  58. package/dist/src/tui/model.d.ts +33 -4
  59. package/dist/src/tui/model.js +252 -17
  60. package/dist/src/tui/model.js.map +1 -1
  61. package/dist/src/tui/router.d.ts +15 -9
  62. package/dist/src/tui/router.js +35 -0
  63. package/dist/src/tui/router.js.map +1 -1
  64. package/dist/src/tui/theme.d.ts +18 -10
  65. package/dist/src/tui/theme.js +18 -10
  66. package/dist/src/tui/theme.js.map +1 -1
  67. package/dist/src/tui/viewport.d.ts +20 -0
  68. package/dist/src/tui/viewport.js +29 -0
  69. package/dist/src/tui/viewport.js.map +1 -0
  70. package/dist/src/utils/catalog-runtime-projection.d.ts +1 -7
  71. package/dist/src/utils/catalog-runtime-projection.js +2 -62
  72. package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
  73. package/dist/src/utils/catalog-source-cache.d.ts +12 -11
  74. package/dist/src/utils/catalog-source-cache.js +20 -0
  75. package/dist/src/utils/catalog-source-cache.js.map +1 -1
  76. package/dist/src/utils/dynamic-skill-tree.js +1 -1
  77. package/dist/src/utils/dynamic-skill-tree.js.map +1 -1
  78. package/dist/src/utils/git-catalog-provider.js +1 -1
  79. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  80. package/dist/src/utils/manifest.d.ts +0 -1
  81. package/dist/src/utils/manifest.js +0 -1
  82. package/dist/src/utils/manifest.js.map +1 -1
  83. package/dist/src/utils/plugin-config.js +28 -30
  84. package/dist/src/utils/plugin-config.js.map +1 -1
  85. package/dist/src/utils/skill-validation.d.ts +1 -1
  86. package/dist/src/utils/skill-validation.js +1 -1
  87. package/dist/src/utils/skill-validation.js.map +1 -1
  88. package/dist/src/utils/state-paths.d.ts +1 -0
  89. package/dist/src/utils/state-paths.js +5 -0
  90. package/dist/src/utils/state-paths.js.map +1 -1
  91. package/package.json +3 -4
  92. package/dist/src/utils/plugin-authoring-capabilities.d.ts +0 -23
  93. package/dist/src/utils/plugin-authoring-capabilities.js +0 -37
  94. package/dist/src/utils/plugin-authoring-capabilities.js.map +0 -1
  95. package/dist/src/utils/plugin-authoring-capabilities.json +0 -92
  96. package/dist/src/utils/skill-frontmatter-capabilities.d.ts +0 -201
  97. package/dist/src/utils/skill-frontmatter-capabilities.js +0 -5
  98. package/dist/src/utils/skill-frontmatter-capabilities.js.map +0 -1
  99. package/dist/src/utils/skill-frontmatter-capabilities.json +0 -200
@@ -1,12 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text, useWindowSize } from 'ink';
3
+ import { safeDiagnosticCode, sanitizeDiagnosticCause, sanitizeDiagnosticText, } from './diagnostics.js';
3
4
  import { resolveTuiSizePolicy } from './layout.js';
4
5
  import { getTuiStatusColor, tuiTheme } from './theme.js';
5
6
  export function HelpBar(props) {
6
- return (_jsx(Box, { borderStyle: "single", borderLeft: false, borderRight: false, borderBottom: false, children: _jsx(Text, { color: tuiTheme.colors.muted, wrap: props.compact ? 'wrap' : 'truncate-end', children: props.children }) }));
7
+ return (_jsx(Box, { backgroundColor: tuiTheme.colors.panelBackground, borderStyle: "single", borderColor: tuiTheme.colors.border, borderLeft: false, borderRight: false, borderBottom: false, paddingX: 1, maxHeight: props.compact ? 3 : 2, overflow: "hidden", children: _jsx(Text, { color: tuiTheme.colors.muted, wrap: props.compact ? 'wrap' : 'truncate-end', children: props.children }) }));
7
8
  }
8
9
  function SizeHint(props) {
9
- return (_jsxs(Box, { flexDirection: "column", width: props.policy.columns, height: props.policy.rows, overflow: "hidden", paddingX: 1, children: [_jsxs(Text, { color: tuiTheme.statusColors.warning, children: ["\u2194 ", props.policy.message] }), _jsxs(Text, { color: tuiTheme.colors.muted, children: ["\u5F53\u524D\uFF1A", props.policy.columns, " \u5217 \u00D7 ", props.policy.rows, " \u884C\u3002"] }), _jsx(Text, { color: tuiTheme.colors.muted, children: "q \u9000\u51FA" })] }));
10
+ return (_jsxs(Box, { flexDirection: "column", width: props.policy.columns, height: props.policy.rows, overflow: "hidden", paddingX: 1, backgroundColor: tuiTheme.colors.background, children: [_jsxs(Text, { color: tuiTheme.statusColors.warning, children: ["\u2194 ", props.policy.message] }), _jsxs(Text, { color: tuiTheme.colors.muted, children: ["\u5F53\u524D\uFF1A", props.policy.columns, " \u5217 \u00D7 ", props.policy.rows, " \u884C\u3002"] }), _jsx(Text, { color: tuiTheme.colors.muted, children: "q \u9000\u51FA" })] }));
10
11
  }
11
12
  export function ScreenFrame(props) {
12
13
  const windowSize = useWindowSize();
@@ -15,14 +16,14 @@ export function ScreenFrame(props) {
15
16
  if (policy.mode === 'too-small') {
16
17
  return _jsx(SizeHint, { policy: policy });
17
18
  }
18
- return (_jsxs(Box, { flexDirection: "column", width: policy.columns, height: policy.rows, overflow: "hidden", paddingX: 1, children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsxs(Text, { bold: true, color: tuiTheme.colors.accent, wrap: "truncate-end", children: ["AW", props.breadcrumb ? ` / ${props.breadcrumb}` : ''] }), props.context
19
+ return (_jsxs(Box, { flexDirection: "column", width: policy.columns, height: policy.rows, overflow: "hidden", backgroundColor: tuiTheme.colors.background, children: [_jsxs(Box, { justifyContent: "space-between", backgroundColor: tuiTheme.colors.panelBackground, borderStyle: "single", borderColor: tuiTheme.colors.border, borderTop: false, borderLeft: false, borderRight: false, paddingX: 1, children: [_jsxs(Text, { bold: true, color: tuiTheme.colors.accent, wrap: "truncate-end", children: ["AW", props.breadcrumb ? ` / ${props.breadcrumb}` : ''] }), props.context
19
20
  ? _jsx(Text, { color: tuiTheme.colors.muted, wrap: "truncate-end", children: props.context })
20
- : null] }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, overflow: "hidden", children: [_jsx(Text, { bold: true, children: props.title }), props.description
21
+ : null] }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, overflow: "hidden", paddingX: 1, children: [_jsx(Text, { bold: true, color: tuiTheme.colors.text, children: props.title }), props.description
21
22
  ? _jsx(Text, { color: tuiTheme.colors.muted, children: props.description })
22
- : null, _jsx(Box, { flexDirection: "column", flexGrow: 1, overflow: "hidden", marginTop: 1, children: props.children })] }), _jsx(HelpBar, { compact: policy.mode === 'compact', children: props.help })] }));
23
+ : null, _jsx(Box, { flexDirection: "column", flexGrow: 1, overflow: "hidden", children: props.children })] }), _jsx(HelpBar, { compact: policy.mode === 'compact', children: props.help })] }));
23
24
  }
24
25
  export function Card(props) {
25
- return (_jsx(Box, { flexDirection: "column", borderStyle: "round", borderColor: props.status ? getTuiStatusColor(props.status) : tuiTheme.colors.border, paddingX: 1, children: props.children }));
26
+ return (_jsx(Box, { flexDirection: "column", borderStyle: "round", borderColor: props.status ? getTuiStatusColor(props.status) : tuiTheme.colors.border, backgroundColor: tuiTheme.colors.panelBackground, paddingX: 1, children: props.children }));
26
27
  }
27
28
  export function Section(props) {
28
29
  return (_jsxs(Card, { children: [_jsx(Text, { bold: true, children: props.title }), props.description
@@ -39,4 +40,146 @@ const statusSymbols = {
39
40
  export function StatusLabel(props) {
40
41
  return (_jsxs(Text, { color: getTuiStatusColor(props.status), children: [statusSymbols[props.status], " ", props.children] }));
41
42
  }
43
+ function SemanticCard(props) {
44
+ const borderColor = props.status
45
+ ? getTuiStatusColor(props.status)
46
+ : props.borderColor ?? tuiTheme.colors.border;
47
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: borderColor, backgroundColor: props.backgroundColor ?? tuiTheme.colors.panelBackground, paddingX: props.compact ? 0 : 1, children: [props.label
48
+ ? _jsxs(Text, { bold: true, color: borderColor, children: ["\u2500 ", props.label] })
49
+ : null, props.title || props.meta
50
+ ? (_jsxs(Box, { justifyContent: "space-between", children: [_jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: _jsx(Text, { bold: true, color: tuiTheme.colors.text, wrap: "truncate-end", children: props.title }) }), props.meta
51
+ ? (_jsx(Box, { flexShrink: 1, overflow: "hidden", marginLeft: 1, children: _jsx(Text, { color: tuiTheme.colors.muted, wrap: "truncate-end", children: props.meta }) }))
52
+ : null] }))
53
+ : null, props.description
54
+ ? _jsx(Text, { color: tuiTheme.colors.muted, wrap: "truncate-end", children: props.description })
55
+ : null, props.children] }));
56
+ }
57
+ export function SectionCard(props) {
58
+ return _jsx(SemanticCard, { ...props });
59
+ }
60
+ export function StatusCard(props) {
61
+ return _jsx(SemanticCard, { ...props, borderColor: tuiTheme.colors.borderStrong });
62
+ }
63
+ export function ReviewCard(props) {
64
+ return _jsx(SemanticCard, { ...props, borderColor: tuiTheme.colors.borderStrong });
65
+ }
66
+ export function ResultCard(props) {
67
+ return _jsx(SemanticCard, { ...props, borderColor: tuiTheme.colors.borderStrong });
68
+ }
69
+ export function InputCard(props) {
70
+ return (_jsx(SemanticCard, { ...props, backgroundColor: tuiTheme.colors.inputBackground, borderColor: props.focused ? tuiTheme.colors.accent : tuiTheme.colors.border }));
71
+ }
72
+ export function Callout(props) {
73
+ return _jsx(SemanticCard, { ...props, status: props.status ?? 'info', compact: props.compact ?? true });
74
+ }
75
+ export function TechnicalDetails(props) {
76
+ return (_jsx(SemanticCard, { ...props, label: props.label ?? '技术详情', borderColor: tuiTheme.colors.border, compact: props.compact ?? true }));
77
+ }
78
+ const diagnosticContextLabels = {
79
+ platform: '平台',
80
+ scope: '范围',
81
+ pluginId: '插件',
82
+ dependencyPluginId: '依赖插件',
83
+ field: '字段',
84
+ freshness: '数据来源',
85
+ compatibility: '兼容版本',
86
+ };
87
+ export function DiagnosticSummary(props) {
88
+ const compact = props.compact === true;
89
+ if (!props.technical) {
90
+ if (compact) {
91
+ return _jsxs(SectionCard, { title: sanitizeDiagnosticText(props.diagnostic.title), description: sanitizeDiagnosticText(props.diagnostic.userMessage), status: props.diagnostic.severity, compact: true, children: [props.diagnostic.impact.map((entry, index) => _jsx(ResultRow, { title: sanitizeDiagnosticText(entry.message), status: entry.state === 'blocked' ? 'error' : entry.state === 'preserved' ? 'success' : 'muted', compact: true }, `${entry.state}:${index}`)), _jsx(StaticRow, { title: `下一步:${sanitizeDiagnosticText(props.diagnostic.nextStep)}`, status: "info", compact: true })] });
92
+ }
93
+ return _jsxs(Box, { flexDirection: "column", children: [_jsx(StatusCard, { status: props.diagnostic.severity, title: sanitizeDiagnosticText(props.diagnostic.title), description: sanitizeDiagnosticText(props.diagnostic.userMessage), compact: compact }), _jsx(SectionCard, { title: "\u5F71\u54CD", compact: compact, children: props.diagnostic.impact.map((entry, index) => _jsx(ResultRow, { title: sanitizeDiagnosticText(entry.message), status: entry.state === 'blocked' ? 'error' : entry.state === 'preserved' ? 'success' : 'muted', compact: true }, `${entry.state}:${index}`)) }), _jsx(Callout, { status: "info", title: "\u4E0B\u4E00\u6B65", description: sanitizeDiagnosticText(props.diagnostic.nextStep), compact: true })] });
94
+ }
95
+ const technical = props.diagnostic.technical;
96
+ if (!technical) {
97
+ return _jsx(Callout, { status: "muted", title: "\u6CA1\u6709\u53EF\u516C\u5F00\u7684\u6280\u672F\u5B57\u6BB5", compact: true });
98
+ }
99
+ const cause = sanitizeDiagnosticCause(technical.sanitizedCause);
100
+ const fields = [
101
+ { label: 'code', value: safeDiagnosticCode(technical.code, 'diagnosticUnavailable') },
102
+ ...(technical.stage ? [{ label: 'stage', value: sanitizeDiagnosticText(technical.stage) }] : []),
103
+ ...(technical.sourceId ? [{ label: 'sourceId', value: sanitizeDiagnosticText(technical.sourceId) }] : []),
104
+ ...(technical.lastGood ? [{ label: 'last good', value: technical.lastGood === 'available' ? '可用' : '无' }] : []),
105
+ ...(technical.requestedRef ? [{ label: 'requested ref', value: sanitizeDiagnosticText(technical.requestedRef) }] : []),
106
+ ...(technical.resolvedCommit ? [{ label: 'resolved commit', value: sanitizeDiagnosticText(technical.resolvedCommit) }] : []),
107
+ ...(technical.context ?? []).map((entry) => ({
108
+ label: diagnosticContextLabels[entry.key],
109
+ value: sanitizeDiagnosticText(entry.value),
110
+ })),
111
+ ...(cause ? [{ label: 'cause', value: cause }] : []),
112
+ ];
113
+ const extendedChecks = (technical.checks?.length ?? 0) > 3;
114
+ const visibleFields = fields.slice(0, extendedChecks ? 1 : compact ? 4 : 8);
115
+ const checks = (technical.checks ?? []).slice(0, extendedChecks ? 5 : compact ? 1 : 3);
116
+ if (compact) {
117
+ return _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: tuiTheme.colors.muted, children: "\u4E0B\u9762\u7684\u4FE1\u606F\u5DF2\u8131\u654F\uFF0C\u53EF\u7528\u4E8E\u6392\u67E5\u6216\u63D0\u4EA4 issue\u3002" }), _jsxs(TechnicalDetails, { label: "\u8131\u654F\u8BCA\u65AD", compact: true, children: [visibleFields.map((field) => _jsx(StaticRow, { title: `${field.label}: ${field.value}`, compact: true }, field.label)), checks.map((check, index) => _jsx(StaticRow, { title: extendedChecks
118
+ ? `${index + 1}. ${sanitizeDiagnosticText(check)}`
119
+ : `建议:${sanitizeDiagnosticText(check)}`, status: "muted", compact: true }, `${index}:${check}`))] })] });
120
+ }
121
+ return _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: tuiTheme.colors.muted, children: "\u4E0B\u9762\u7684\u4FE1\u606F\u5DF2\u8131\u654F\uFF0C\u53EF\u7528\u4E8E\u6392\u67E5\u6216\u63D0\u4EA4 issue\u3002" }), _jsxs(TechnicalDetails, { label: "\u8131\u654F\u8BCA\u65AD", compact: true, children: [visibleFields.map((field) => _jsx(StaticRow, { title: field.label, meta: field.value, compact: true }, field.label)), fields.length > visibleFields.length
122
+ ? _jsx(StaticRow, { title: `另有 ${fields.length - visibleFields.length} 个安全字段`, status: "muted", compact: true })
123
+ : null] }), checks.length > 0 ? _jsx(SectionCard, { title: "\u5EFA\u8BAE\u68C0\u67E5", compact: true, children: checks.map((check, index) => _jsx(StaticRow, { title: `${index + 1}. ${sanitizeDiagnosticText(check)}`, compact: true }, `${index}:${check}`)) }) : null] });
124
+ }
125
+ function FocusRow(props) {
126
+ const description = typeof props.disabled === 'string' ? props.disabled : props.description;
127
+ const color = props.disabled
128
+ ? tuiTheme.colors.muted
129
+ : props.status ? getTuiStatusColor(props.status) : tuiTheme.colors.text;
130
+ return (_jsxs(Box, { flexDirection: "column", backgroundColor: props.focused ? tuiTheme.colors.selectionBackground : undefined, paddingX: 1, children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: _jsxs(Text, { color: color, bold: props.focused && !props.disabled, wrap: "truncate-end", children: [props.focused ? '›' : ' ', " ", props.marker ? `${props.marker} ` : '', props.title] }) }), props.meta
131
+ ? (_jsx(Box, { flexShrink: 1, overflow: "hidden", marginLeft: 1, children: _jsx(Text, { color: props.disabled ? tuiTheme.colors.muted : color, wrap: "truncate-end", children: props.meta }) }))
132
+ : null] }), description && !props.compact
133
+ ? _jsxs(Text, { color: tuiTheme.colors.muted, wrap: "truncate-end", children: [" ", description] })
134
+ : null] }));
135
+ }
136
+ export function TaskRow(props) {
137
+ return _jsx(FocusRow, { ...props });
138
+ }
139
+ export function PluginRow(props) {
140
+ return _jsx(FocusRow, { ...props });
141
+ }
142
+ export function PluginListRow(props) {
143
+ const color = getTuiStatusColor(props.status);
144
+ return (_jsxs(Box, { flexDirection: "column", backgroundColor: props.focused ? tuiTheme.colors.selectionBackground : undefined, paddingX: 1, children: [_jsxs(Box, { children: [_jsx(Box, { flexGrow: 1, flexShrink: 1, minWidth: 0, overflow: "hidden", children: _jsxs(Text, { bold: props.focused, wrap: "truncate-end", children: [props.focused ? '›' : ' ', " ", props.name] }) }), _jsx(Box, { flexShrink: 0, marginLeft: 1, children: _jsx(Text, { color: tuiTheme.colors.muted, wrap: "truncate-end", children: props.sourceLabel }) }), _jsx(Box, { flexShrink: 0, marginLeft: 1, children: _jsx(Text, { color: color, wrap: "truncate-end", children: props.statusLabel }) })] }), _jsxs(Text, { color: tuiTheme.colors.muted, wrap: "truncate-end", children: [" ", props.description] }), _jsxs(Text, { color: tuiTheme.colors.muted, wrap: "truncate-end", children: [" ", props.placementSummary] })] }));
145
+ }
146
+ export function SectionRow(props) {
147
+ return _jsx(FocusRow, { ...props });
148
+ }
149
+ export function ToggleRow(props) {
150
+ return _jsx(FocusRow, { ...props, marker: props.selected ? '◆' : '◇' });
151
+ }
152
+ export function ChoiceRow(props) {
153
+ return _jsx(FocusRow, { ...props, marker: props.selected ? '●' : '○' });
154
+ }
155
+ export function ActionRow(props) {
156
+ return _jsx(FocusRow, { ...props });
157
+ }
158
+ function StaticRowView(props) {
159
+ const color = props.status ? getTuiStatusColor(props.status) : tuiTheme.colors.text;
160
+ return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: _jsxs(Text, { color: color, wrap: "truncate-end", children: [props.marker ? `${props.marker} ` : '', props.title] }) }), props.meta
161
+ ? (_jsx(Box, { flexShrink: 1, overflow: "hidden", marginLeft: 1, children: _jsx(Text, { color: color, wrap: "truncate-end", children: props.meta }) }))
162
+ : null] }), props.description && !props.compact
163
+ ? _jsxs(Text, { color: tuiTheme.colors.muted, wrap: "truncate-end", children: [" ", props.description] })
164
+ : null] }));
165
+ }
166
+ export function StaticRow(props) {
167
+ return _jsx(StaticRowView, { ...props });
168
+ }
169
+ export function ReviewChangeRow(props) {
170
+ return _jsx(StaticRowView, { ...props });
171
+ }
172
+ const progressStateView = {
173
+ pending: { marker: '○', status: 'muted' },
174
+ active: { marker: '●', status: 'info' },
175
+ complete: { marker: '✓', status: 'success' },
176
+ error: { marker: '×', status: 'error' },
177
+ };
178
+ export function ProgressRow(props) {
179
+ const view = progressStateView[props.state];
180
+ return _jsx(StaticRowView, { ...props, marker: view.marker, status: view.status });
181
+ }
182
+ export function ResultRow(props) {
183
+ return _jsx(StaticRowView, { ...props, marker: statusSymbols[props.status] });
184
+ }
42
185
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/tui/components.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAG/C,OAAO,EAAE,oBAAoB,EAAsB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAOzE,MAAM,UAAU,OAAO,CAAC,KAGvB;IACC,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,QAAQ,EAAC,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,YAClF,KAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,YAC9E,KAAK,CAAC,QAAQ,GACV,GACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAgC;IAChD,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EACzB,QAAQ,EAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,aAEX,MAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,wBAAK,KAAK,CAAC,MAAM,CAAC,OAAO,IAAQ,EAC3E,MAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,mCAC5B,KAAK,CAAC,MAAM,CAAC,OAAO,qBAAO,KAAK,CAAC,MAAM,CAAC,IAAI,qBAC3C,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,+BAAa,IAC3C,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAQ3B;IACC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;IACtC,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,KAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC;IACtC,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAE,MAAM,CAAC,OAAO,EACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EACnB,QAAQ,EAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,aAEX,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,aACjC,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAC,cAAc,mBACxD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAC9C,EACN,KAAK,CAAC,OAAO;wBACZ,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAC,cAAc,YAAE,KAAK,CAAC,OAAO,GAAQ;wBAChF,CAAC,CAAC,IAAI,IACJ,EACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAC,QAAQ,aACxD,KAAC,IAAI,IAAC,IAAI,kBAAE,KAAK,CAAC,KAAK,GAAQ,EAC9B,KAAK,CAAC,WAAW;wBAChB,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,YAAG,KAAK,CAAC,WAAW,GAAQ;wBAChE,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACpE,KAAK,CAAC,QAAQ,GACX,IACF,EACN,KAAC,OAAO,IAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,YAAG,KAAK,CAAC,IAAI,GAAW,IAC/D,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,KAGpB;IACC,OAAO,CACL,KAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EACpF,QAAQ,EAAE,CAAC,YAEV,KAAK,CAAC,QAAQ,GACX,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAIvB;IACC,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,IAAI,kBAAE,KAAK,CAAC,KAAK,GAAQ,EAC9B,KAAK,CAAC,WAAW;gBAChB,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,YAAG,KAAK,CAAC,WAAW,GAAQ;gBAChE,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YAAE,KAAK,CAAC,QAAQ,GAAO,IAC7C,CACR,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAA8B;IAC/C,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,KAG3B;IACC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,aACzC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAG,KAAK,CAAC,QAAQ,IACxC,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/tui/components.tsx"],"names":[],"mappings":"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"}