← {{ 'TemplateOverview.Back' | translate }}
@if (loading()) {

{{ 'TemplateOverview.Loading' | translate }}

} @if (error()) { } @if (detail(); as value) {

{{ 'TemplateOverview.Template' | translate }}

{{ value.title }}

{{ 'TemplateOverview.By' | translate }} {{ value.publisher }} @if (value.version) { · v{{ value.version }} }

{{ value.description }}

{{ 'TemplateOverview.Memories' | translate }}{{ 'TemplateOverview.MemoriesHint' | translate }}

{{ 'TemplateOverview.Instructions' | translate }}

{{ value.instructions || value.description }}

{{ 'TemplateOverview.SeedMemories' | translate }} · {{ value.memories.length }}

@for (memory of value.memories; track $index) {

{{ memory.title }}

{{ memory.content || ('TemplateOverview.StructuredMemory' | translate) }}

} @empty {

{{ 'TemplateOverview.NoMemories' | translate }}

}
@if (value.onboarding; as setup) {

{{ 'TemplateOverview.FirstUse' | translate }}

{{ setup.completionCriteria }}

{{ 'TemplateOverview.Preferences' | translate }}: {{ setup.preferences.join('、') || '—' }}

} @if (value.files; as files) {

{{ 'TemplateOverview.Files' | translate }}

{{ (files.scope === 'user' ? 'TemplateOverview.PersonalFiles' : 'TemplateOverview.SharedFiles') | translate }}

    @for (path of files.paths; track path) {
  • {{ path }}
  • }
}
{{ 'TemplateOverview.Skills' | translate }}{{ 'TemplateOverview.SkillsHint' | translate }}

{{ 'TemplateOverview.Skills' | translate }}

@for (skill of value.skills; track $index) {

{{ skill.componentKey }}

{{ skill.source?.name || skill.pluginName }}

@if (skill.componentKey === value.onboarding?.skill) {

{{ 'TemplateOverview.FirstUse' | translate }} · {{ value.onboarding.completionCriteria }}

}
} @empty {

{{ 'TemplateOverview.NoSkills' | translate }}

}

{{ 'TemplateOverview.TeamTools' | translate }}

@for (agent of value.agents; track agent.key) {

{{ agent.label }}

@for (middleware of agent.middleware; track $index) {

{{ middleware.provider }} @if (middleware.toolNames.length) { · {{ middleware.toolNames.join(', ') }} }

}
}
{{ 'TemplateOverview.Routines' | translate }}{{ 'TemplateOverview.RoutinesHint' | translate }}

{{ 'TemplateOverview.Routines' | translate }}

{{ 'TemplateOverview.RoutinesDefault' | translate }}

@for (routine of value.routines; track routine.key) {

{{ routine.key }}

{{ routine.output }}

{{ 'TemplateOverview.Skill' | translate }}: {{ routine.skill }}

{{ routine.expression }} · {{ 'TemplateOverview.Timezone.' + routine.timezone | translate }}

@if (routine.trigger === 'event') {

{{ 'TemplateOverview.EventUnsupported' | translate }}

}
} @empty {

{{ 'TemplateOverview.NoRoutines' | translate }}

}
{{ 'TemplateOverview.Integrations' | translate }}{{ 'TemplateOverview.IntegrationsHint' | translate }}

{{ 'TemplateOverview.Integrations' | translate }}

{{ 'TemplateOverview.ConnectionNotice' | translate }}

@for (item of value.integrations; track item.key) {

{{ item.label }} {{ (item.required ? 'TemplateOverview.Required' : 'TemplateOverview.Optional') | translate }}

{{ item.description }}

@if (item.permissions.length) {

{{ 'TemplateOverview.Permissions' | translate }}: {{ item.permissions.join(', ') }}

}
} @empty {

{{ 'TemplateOverview.NoIntegrations' | translate }}

}

{{ 'TemplateOverview.Policy' | translate }}

@if (value.operationPolicy; as policy) {

{{ 'TemplateOverview.DefaultPolicy' | translate }}: {{ 'TemplateOverview.Decision.' + policy.default | translate }}

@for (rule of policy.rules; track rule.tool) {

{{ rule.tool }} · {{ 'TemplateOverview.Decision.' + rule.decision | translate }} @if (rule.reason) { — {{ rule.reason }} }

} } @else {

{{ 'TemplateOverview.NoPolicy' | translate }}

}
@if (scope.isTenant()) { } @else if (requirementsLoading()) {

{{ 'TemplateOverview.Loading' | translate }}

} @else if (requirementsError()) { } @else { }
}