selftune 0.2.22 → 0.2.23
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/README.md +4 -2
- package/apps/local-dashboard/dist/assets/index-CwOtTrUS.css +1 -0
- package/apps/local-dashboard/dist/assets/index-f1HQpbeH.js +59 -0
- package/apps/local-dashboard/dist/assets/vendor-ui-jVSaIZey.js +12 -0
- package/apps/local-dashboard/dist/index.html +3 -3
- package/cli/selftune/adapters/pi/hook.ts +273 -0
- package/cli/selftune/adapters/pi/install.ts +207 -0
- package/cli/selftune/constants.ts +10 -1
- package/cli/selftune/dashboard-contract.ts +14 -0
- package/cli/selftune/evolution/engines/judge-engine.ts +96 -0
- package/cli/selftune/evolution/engines/replay-engine.ts +158 -0
- package/cli/selftune/evolution/evidence.ts +2 -6
- package/cli/selftune/evolution/evolve-body.ts +73 -20
- package/cli/selftune/evolution/validate-body.ts +78 -42
- package/cli/selftune/evolution/validate-routing.ts +45 -104
- package/cli/selftune/hooks/skill-eval.ts +2 -1
- package/cli/selftune/hooks-shared/types.ts +1 -0
- package/cli/selftune/index.ts +23 -5
- package/cli/selftune/ingestors/pi-ingest.ts +726 -0
- package/cli/selftune/init.ts +11 -1
- package/cli/selftune/localdb/direct-write.ts +85 -0
- package/cli/selftune/localdb/materialize.ts +6 -7
- package/cli/selftune/localdb/queries.ts +126 -0
- package/cli/selftune/localdb/schema.ts +38 -0
- package/cli/selftune/observability.ts +8 -1
- package/cli/selftune/orchestrate.ts +43 -0
- package/cli/selftune/registry/client.ts +74 -0
- package/cli/selftune/registry/history.ts +54 -0
- package/cli/selftune/registry/index.ts +90 -0
- package/cli/selftune/registry/install.ts +141 -0
- package/cli/selftune/registry/list.ts +44 -0
- package/cli/selftune/registry/push.ts +171 -0
- package/cli/selftune/registry/rollback.ts +49 -0
- package/cli/selftune/registry/status.ts +62 -0
- package/cli/selftune/registry/sync.ts +125 -0
- package/cli/selftune/repair/skill-usage.ts +4 -1
- package/cli/selftune/status.ts +31 -0
- package/cli/selftune/sync.ts +127 -23
- package/cli/selftune/types.ts +2 -1
- package/cli/selftune/utils/jsonl.ts +1 -30
- package/cli/selftune/utils/skill-discovery.ts +22 -0
- package/node_modules/@selftune/telemetry-contract/fixtures/evidence-only-push.ts +1 -1
- package/node_modules/@selftune/telemetry-contract/fixtures/golden.test.ts +0 -1
- package/node_modules/@selftune/telemetry-contract/fixtures/partial-push-unresolved-parents.ts +1 -1
- package/node_modules/@selftune/telemetry-contract/package.json +1 -1
- package/node_modules/@selftune/telemetry-contract/src/index.ts +1 -0
- package/node_modules/@selftune/telemetry-contract/src/schemas.ts +22 -4
- package/node_modules/@selftune/telemetry-contract/src/types.ts +1 -12
- package/node_modules/@selftune/telemetry-contract/tests/compatibility.test.ts +0 -1
- package/package.json +1 -1
- package/packages/telemetry-contract/fixtures/evidence-only-push.ts +1 -1
- package/packages/telemetry-contract/fixtures/golden.test.ts +0 -1
- package/packages/telemetry-contract/fixtures/partial-push-unresolved-parents.ts +1 -1
- package/packages/telemetry-contract/package.json +1 -1
- package/packages/telemetry-contract/src/index.ts +1 -0
- package/packages/telemetry-contract/src/schemas.ts +22 -4
- package/packages/telemetry-contract/src/types.ts +1 -12
- package/packages/telemetry-contract/tests/compatibility.test.ts +0 -1
- package/packages/ui/AGENTS.md +16 -0
- package/packages/ui/README.md +1 -1
- package/packages/ui/package.json +1 -1
- package/packages/ui/src/components/ActivityTimeline.tsx +152 -168
- package/packages/ui/src/components/AnalyticsCharts.tsx +344 -0
- package/packages/ui/src/components/EvidenceViewer.tsx +153 -443
- package/packages/ui/src/components/EvolutionTimeline.tsx +34 -87
- package/packages/ui/src/components/InfoTip.tsx +1 -2
- package/packages/ui/src/components/InvocationsPanel.tsx +413 -0
- package/packages/ui/src/components/JobHistoryTimeline.tsx +156 -0
- package/packages/ui/src/components/OrchestrateRunsPanel.tsx +18 -36
- package/packages/ui/src/components/OverviewPanels.tsx +652 -0
- package/packages/ui/src/components/PipelineStatusBar.tsx +65 -0
- package/packages/ui/src/components/SkillReportGuide.tsx +215 -0
- package/packages/ui/src/components/SkillReportPanels.tsx +919 -0
- package/packages/ui/src/components/SkillsLibrary.tsx +437 -0
- package/packages/ui/src/components/index.ts +56 -1
- package/packages/ui/src/components/section-cards.tsx +18 -35
- package/packages/ui/src/components/skill-health-grid.tsx +47 -37
- package/packages/ui/src/lib/constants.tsx +0 -1
- package/packages/ui/src/primitives/card.tsx +1 -1
- package/packages/ui/src/primitives/checkbox.tsx +1 -1
- package/packages/ui/src/primitives/dropdown-menu.tsx +2 -2
- package/packages/ui/src/primitives/select.tsx +2 -2
- package/packages/ui/src/types.ts +172 -4
- package/skill/SKILL.md +18 -4
- package/skill/Workflows/Ingest.md +60 -2
- package/skill/Workflows/Initialize.md +8 -5
- package/skill/Workflows/PlatformHooks.md +19 -3
- package/skill/Workflows/Registry.md +99 -0
- package/skill/Workflows/Sync.md +3 -1
- package/apps/local-dashboard/dist/assets/index-D8O-RG1I.js +0 -60
- package/apps/local-dashboard/dist/assets/index-_EcLywDg.css +0 -1
- package/apps/local-dashboard/dist/assets/vendor-ui-CGEmUayx.js +0 -12
- package/cli/selftune/utils/html.ts +0 -27
- package/packages/ui/src/components/RecentActivityFeed.tsx +0 -117
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { ZapIcon, CircleDotIcon } from "lucide-react";
|
|
2
|
-
|
|
3
|
-
import { timeAgo } from "../lib/format";
|
|
4
|
-
import { Badge } from "../primitives/badge";
|
|
5
|
-
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../primitives/card";
|
|
6
|
-
|
|
7
|
-
export interface RecentActivityItem {
|
|
8
|
-
timestamp: string;
|
|
9
|
-
session_id: string;
|
|
10
|
-
skill_name: string;
|
|
11
|
-
query: string;
|
|
12
|
-
triggered: boolean;
|
|
13
|
-
is_live: boolean;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function RecentActivityFeed({
|
|
17
|
-
items,
|
|
18
|
-
embedded = false,
|
|
19
|
-
}: {
|
|
20
|
-
items: RecentActivityItem[];
|
|
21
|
-
embedded?: boolean;
|
|
22
|
-
}) {
|
|
23
|
-
const content =
|
|
24
|
-
items.length === 0 ? (
|
|
25
|
-
<p className="py-6 text-center text-sm text-muted-foreground">No recent skill invocations</p>
|
|
26
|
-
) : (
|
|
27
|
-
<div className="space-y-2.5">
|
|
28
|
-
{items.slice(0, 20).map((item, i) => (
|
|
29
|
-
<div
|
|
30
|
-
key={`${item.session_id}-${item.skill_name}-${i}`}
|
|
31
|
-
className="flex gap-3 rounded-md p-1.5"
|
|
32
|
-
>
|
|
33
|
-
<div
|
|
34
|
-
className={`mt-0.5 w-10 h-10 shrink-0 rounded-xl bg-input flex items-center justify-center`}
|
|
35
|
-
>
|
|
36
|
-
<div
|
|
37
|
-
className={`size-2 rounded-full ${
|
|
38
|
-
item.triggered
|
|
39
|
-
? "bg-primary shadow-[0_0_8px_rgba(79,242,255,0.6)]"
|
|
40
|
-
: "bg-muted-foreground/40"
|
|
41
|
-
}`}
|
|
42
|
-
/>
|
|
43
|
-
</div>
|
|
44
|
-
<div className="flex-1 min-w-0 space-y-0.5">
|
|
45
|
-
<div className="flex flex-wrap items-center gap-2">
|
|
46
|
-
<span className="truncate font-bold text-sm">{item.skill_name}</span>
|
|
47
|
-
{item.is_live && (
|
|
48
|
-
<Badge variant="outline" className="h-4 gap-1 px-1 text-[10px]">
|
|
49
|
-
<CircleDotIcon className="size-2.5 text-primary" />
|
|
50
|
-
live
|
|
51
|
-
</Badge>
|
|
52
|
-
)}
|
|
53
|
-
{item.triggered ? (
|
|
54
|
-
<Badge
|
|
55
|
-
variant="default"
|
|
56
|
-
className="h-4 px-1 text-[10px] font-bold uppercase tracking-tighter bg-primary/10 text-primary"
|
|
57
|
-
>
|
|
58
|
-
triggered
|
|
59
|
-
</Badge>
|
|
60
|
-
) : (
|
|
61
|
-
<Badge
|
|
62
|
-
variant="secondary"
|
|
63
|
-
className="h-4 px-1 text-[10px] font-bold uppercase tracking-tighter"
|
|
64
|
-
>
|
|
65
|
-
checked
|
|
66
|
-
</Badge>
|
|
67
|
-
)}
|
|
68
|
-
<span className="ml-auto shrink-0 font-mono text-[10px] text-slate-500">
|
|
69
|
-
{timeAgo(item.timestamp)}
|
|
70
|
-
</span>
|
|
71
|
-
</div>
|
|
72
|
-
{item.query && (
|
|
73
|
-
<p className="line-clamp-1 text-sm text-card-foreground leading-relaxed">
|
|
74
|
-
{item.query}
|
|
75
|
-
</p>
|
|
76
|
-
)}
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
))}
|
|
80
|
-
</div>
|
|
81
|
-
);
|
|
82
|
-
|
|
83
|
-
if (embedded) {
|
|
84
|
-
return <div>{content}</div>;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (items.length === 0) {
|
|
88
|
-
return (
|
|
89
|
-
<Card>
|
|
90
|
-
<CardHeader>
|
|
91
|
-
<CardTitle className="flex items-center gap-2 text-sm">
|
|
92
|
-
<ZapIcon className="size-4" />
|
|
93
|
-
Recent Activity
|
|
94
|
-
</CardTitle>
|
|
95
|
-
</CardHeader>
|
|
96
|
-
<CardContent>
|
|
97
|
-
<p className="text-sm text-muted-foreground text-center py-8">
|
|
98
|
-
No recent skill invocations
|
|
99
|
-
</p>
|
|
100
|
-
</CardContent>
|
|
101
|
-
</Card>
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return (
|
|
106
|
-
<Card>
|
|
107
|
-
<CardHeader>
|
|
108
|
-
<CardTitle className="flex items-center gap-2 text-sm">
|
|
109
|
-
<ZapIcon className="size-4" />
|
|
110
|
-
Recent Activity
|
|
111
|
-
</CardTitle>
|
|
112
|
-
<CardDescription>Latest skill invocations across sessions</CardDescription>
|
|
113
|
-
</CardHeader>
|
|
114
|
-
<CardContent>{content}</CardContent>
|
|
115
|
-
</Card>
|
|
116
|
-
);
|
|
117
|
-
}
|