diff --git a/src/pages/admin/AgentDetail.jsx b/src/pages/admin/AgentDetail.tsx similarity index 100% rename from src/pages/admin/AgentDetail.jsx rename to src/pages/admin/AgentDetail.tsx diff --git a/src/pages/admin/OwliverSkillEditor.jsx b/src/pages/admin/OwliverSkillEditor.tsx similarity index 99% rename from src/pages/admin/OwliverSkillEditor.jsx rename to src/pages/admin/OwliverSkillEditor.tsx index bf9b76e..bcf2886 100644 --- a/src/pages/admin/OwliverSkillEditor.jsx +++ b/src/pages/admin/OwliverSkillEditor.tsx @@ -289,7 +289,7 @@ export default function OwliverSkillEditor() { /* The other half of the same definition, when it has one. Read-only: this editor does not own it, but hiding it would misrepresent the skill. */ - const uiSections = Object.values(preview?.ui || {}).flatMap((page) => page.sections || []); + const uiSections = Object.values(preview?.ui || {}).flatMap((page) => page.sections || []); return ( [...new Set(selectedPages.flatMap((p) => surfaceFor(p)?.placements || []))], + () => [...new Set(selectedPages.flatMap((p) => surfaceFor(p)?.placements || []))], [selectedPages] ); @@ -164,7 +164,7 @@ export default function SkillEditor() { /* Every section this definition registers, flattened — the preview reads it for both the type line and the configuration block. */ - const uiSections = Object.values(preview?.ui || {}).flatMap((page) => page.sections || []); + const uiSections = Object.values(preview?.ui || {}).flatMap((page) => page.sections || []); /** * A field edit, written into the definition. @@ -657,7 +657,7 @@ export default function SkillEditor() { UI configuration
- {Object.entries(preview.ui).map(([page, config]) => ( + {Object.entries(preview.ui).map(([page, config]) => (

{surfaceFor(page)?.label || page} diff --git a/src/pages/admin/Workspace.jsx b/src/pages/admin/Workspace.tsx similarity index 100% rename from src/pages/admin/Workspace.jsx rename to src/pages/admin/Workspace.tsx diff --git a/src/pages/admin/WorkspaceAgents.jsx b/src/pages/admin/WorkspaceAgents.tsx similarity index 100% rename from src/pages/admin/WorkspaceAgents.jsx rename to src/pages/admin/WorkspaceAgents.tsx diff --git a/src/pages/admin/WorkspaceSkills.jsx b/src/pages/admin/WorkspaceSkills.tsx similarity index 99% rename from src/pages/admin/WorkspaceSkills.jsx rename to src/pages/admin/WorkspaceSkills.tsx index 1233745..d58cbcb 100644 --- a/src/pages/admin/WorkspaceSkills.jsx +++ b/src/pages/admin/WorkspaceSkills.tsx @@ -86,7 +86,7 @@ const surfaceLabels = (skill) => */ function contribution(skill, facet) { if (facet === 'ui') { - const sections = Object.values(skill.ui || {}).flatMap((page) => page.sections || []); + const sections = Object.values(skill.ui || {}).flatMap((page) => page.sections || []); return { type: [...new Set(sections.map((s) => sectionTypeLabel(s.type)))].join(' · '), detail: [...new Set(sections.map((s) => placementLabel(s.placement)))].join(', '), @@ -297,7 +297,7 @@ export default function WorkspaceSkills() { */ const toggleSkill = (id, enabled) => { const skill = skills.find((s) => s.id === id); - const patch = { + const patch: { disabledSkills: any; customSkills?: any } = { disabledSkills: enabled ? disabledSkills.filter((s) => s !== id) : [...new Set([...disabledSkills, id])],