@skyhook-io/radar-app 1.14.3 → 1.14.5
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/package.json +1 -1
- package/src/api/client.ts +2 -0
- package/src/api/diagnose.ts +7 -1
- package/src/components/diagnose/AIMarkdown.tsx +8 -3
- package/src/components/diagnose/ActivityTurn.tsx +1 -1
- package/src/components/diagnose/AssessmentCard.tsx +269 -238
- package/src/components/diagnose/InvestigationEvidencePane.test.tsx +47 -0
- package/src/components/diagnose/InvestigationEvidencePane.tsx +15 -2
- package/src/components/diagnose/InvestigationEvidenceSections.tsx +1 -1
- package/src/components/diagnose/InvestigationView.tsx +32 -24
- package/src/components/diagnose/investigationCase.test.tsx +83 -0
- package/src/components/diagnose/investigationCase.ts +3 -2
- package/src/components/diagnose/investigationEvidence/adapters/coverage.test.tsx +22 -0
- package/src/components/diagnose/investigationEvidence/adapters/diagnose.test.ts +8 -2
- package/src/components/diagnose/investigationEvidence/adapters/diagnose.ts +1 -1
- package/src/components/diagnose/investigationEvidence/adapters/listings.ts +2 -0
- package/src/components/diagnose/investigationEvidence/adapters/logs.test.ts +60 -0
- package/src/components/diagnose/investigationEvidence/adapters/logs.ts +7 -3
- package/src/components/diagnose/investigationEvidence/bodies/streams.tsx +1 -1
- package/src/components/diagnose/investigationEvidence/observations.ts +10 -5
- package/src/components/diagnose/investigationEvidence/types.ts +1 -1
- package/src/components/diagnose/investigationState.test.ts +2 -2
- package/src/components/diagnose/investigationState.ts +2 -2
- package/src/components/diagnose/investigationStory.ts +1 -1
- package/src/components/diagnose/parts.test.tsx +153 -2
- package/src/components/home/mcpToolCatalog.ts +27 -0
- package/src/components/rightsizing/RightsizingScanView.tsx +194 -63
- package/src/components/rightsizing/empty-state.test.tsx +67 -0
- package/src/components/rightsizing/model.test.ts +118 -1
- package/src/components/rightsizing/model.ts +36 -13
- package/src/components/rightsizing/notices.test.tsx +175 -0
- package/src/components/ui/Markdown.tsx +33 -6
- package/src/components/ui/Omnibar.tsx +82 -69
- package/src/components/workload/WorkloadView.tsx +7 -1
package/package.json
CHANGED
package/src/api/client.ts
CHANGED
|
@@ -3366,6 +3366,8 @@ export interface RightsizingScanCoverage {
|
|
|
3366
3366
|
completedBatches: number;
|
|
3367
3367
|
restrictedKinds?: string[];
|
|
3368
3368
|
unavailableKinds?: string[];
|
|
3369
|
+
partiallyCachedKinds?: string[];
|
|
3370
|
+
daemonSetsWithoutNodes?: number;
|
|
3369
3371
|
}
|
|
3370
3372
|
|
|
3371
3373
|
export interface RightsizingScanResponse {
|
package/src/api/diagnose.ts
CHANGED
|
@@ -15,6 +15,10 @@ export interface AgentInfo {
|
|
|
15
15
|
hosted?: boolean;
|
|
16
16
|
/** Hosted backends opt in only when they implement assessment-bound, tool-free explanations. */
|
|
17
17
|
assessmentExplanations?: boolean;
|
|
18
|
+
/** The backend performs a user-confirmed Apply turn. Absent means read-only. */
|
|
19
|
+
apply?: boolean;
|
|
20
|
+
/** The backend re-checks the resource after an Apply. Absent means it does not. */
|
|
21
|
+
verification?: boolean;
|
|
18
22
|
}
|
|
19
23
|
|
|
20
24
|
export interface AgentsResponse {
|
|
@@ -56,7 +60,7 @@ export interface RootCauseEvidence {
|
|
|
56
60
|
* How the agent frames one cited Radar result. Roles order cards; they never
|
|
57
61
|
* hide one.
|
|
58
62
|
*
|
|
59
|
-
* One half of a Go↔TS contract: `
|
|
63
|
+
* One half of a Go↔TS contract: `Roles` in pkg/investigation/verdict.go and
|
|
60
64
|
* EVIDENCE_ROLES in components/diagnose/investigationCase.ts must list exactly
|
|
61
65
|
* these roles. Change all three together.
|
|
62
66
|
*/
|
|
@@ -133,6 +137,8 @@ export interface Diagnosis {
|
|
|
133
137
|
unlinkedEvidence?: number;
|
|
134
138
|
/** The agent's evidence field was not a list, so none of it could be read. */
|
|
135
139
|
evidenceMalformed?: boolean;
|
|
140
|
+
/** Valid next steps, open items and ruled-out hypotheses a count cap left out of this record. */
|
|
141
|
+
omittedEntries?: number;
|
|
136
142
|
ruledOut?: DiagnosisRuledOut[];
|
|
137
143
|
report: string;
|
|
138
144
|
/** The agent's evidence ledger, written before its verdict block; shown in Activity, never in Findings. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useState } from "react";
|
|
1
|
+
import { useState, type ComponentProps } from "react";
|
|
2
2
|
import { AlertTriangle, Copy, Check } from "lucide-react";
|
|
3
3
|
import { Markdown } from "../ui/Markdown";
|
|
4
4
|
import { Tooltip } from "../ui/Tooltip";
|
|
@@ -59,7 +59,7 @@ export function CopyButton({ text, label }: { text: string; label: string }) {
|
|
|
59
59
|
// it as a fence — it leaks the literal ``` and renders an empty code box. Coerce
|
|
60
60
|
// fence markers onto their own lines and push trailing content off the opener so
|
|
61
61
|
// the block renders. (Well-formed markdown is unaffected.)
|
|
62
|
-
function tidyFences(md: string): string {
|
|
62
|
+
export function tidyFences(md: string): string {
|
|
63
63
|
if (!md || !md.includes("```")) return md;
|
|
64
64
|
return md
|
|
65
65
|
.replace(/([^\n])```/g, "$1\n\n```") // opener/closer must start a line
|
|
@@ -75,12 +75,17 @@ const SOFT_INLINE_CODE =
|
|
|
75
75
|
export function AIMarkdown({
|
|
76
76
|
className,
|
|
77
77
|
children,
|
|
78
|
+
codeActions,
|
|
78
79
|
}: {
|
|
79
80
|
className?: string;
|
|
80
81
|
children: string;
|
|
82
|
+
codeActions?: ComponentProps<typeof Markdown>["codeActions"];
|
|
81
83
|
}) {
|
|
82
84
|
return (
|
|
83
|
-
<Markdown
|
|
85
|
+
<Markdown
|
|
86
|
+
className={`${SOFT_INLINE_CODE} ${className ?? ""}`}
|
|
87
|
+
codeActions={codeActions}
|
|
88
|
+
>
|
|
84
89
|
{tidyFences(children)}
|
|
85
90
|
</Markdown>
|
|
86
91
|
);
|
|
@@ -664,7 +664,7 @@ function RunningStatus({ label }: { label: string }) {
|
|
|
664
664
|
· still working — no update for {sinceChange}s
|
|
665
665
|
</span>
|
|
666
666
|
)}
|
|
667
|
-
{counter && (
|
|
667
|
+
{counter && !stalled && (
|
|
668
668
|
<span className="ml-auto shrink-0 tabular-nums text-theme-text-tertiary">
|
|
669
669
|
{counter}
|
|
670
670
|
</span>
|