selftune 0.2.21 → 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 +15 -8
- 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/cline/hook.ts +167 -0
- package/cli/selftune/adapters/cline/install.ts +197 -0
- package/cli/selftune/adapters/codex/hook.ts +296 -0
- package/cli/selftune/adapters/codex/install.ts +289 -0
- package/cli/selftune/adapters/opencode/hook.ts +222 -0
- package/cli/selftune/adapters/opencode/install.ts +543 -0
- 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/auto-activate.ts +43 -37
- package/cli/selftune/hooks/skill-eval.ts +2 -1
- package/cli/selftune/hooks-shared/git-metadata.ts +149 -0
- package/cli/selftune/hooks-shared/hook-output.ts +105 -0
- package/cli/selftune/hooks-shared/normalize.ts +196 -0
- package/cli/selftune/hooks-shared/session-state.ts +76 -0
- package/cli/selftune/hooks-shared/skill-paths.ts +50 -0
- package/cli/selftune/hooks-shared/stdin-dispatch.ts +59 -0
- package/cli/selftune/hooks-shared/types.ts +91 -0
- package/cli/selftune/index.ts +76 -6
- 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/llm-call.ts +99 -34
- 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 +26 -2
- package/skill/Workflows/Ingest.md +60 -2
- package/skill/Workflows/Initialize.md +54 -9
- package/skill/Workflows/PlatformHooks.md +109 -0
- 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
|
-
}
|