arkaos 3.18.0 → 3.19.0
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/VERSION +1 -1
- package/dashboard/app/pages/agents/index.vue +54 -1
- package/package.json +1 -1
- package/pyproject.toml +1 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.19.0
|
|
@@ -91,6 +91,33 @@ const tierOptions = [
|
|
|
91
91
|
{ label: 'Tier 3 — Support', value: '3' }
|
|
92
92
|
]
|
|
93
93
|
|
|
94
|
+
// PR87a v3.19.0 — DNA filters (DISC primary + MBTI group).
|
|
95
|
+
const discFilter = ref<'all' | 'D' | 'I' | 'S' | 'C'>('all')
|
|
96
|
+
const mbtiGroupFilter = ref<'all' | 'analysts' | 'diplomats' | 'sentinels' | 'explorers'>('all')
|
|
97
|
+
|
|
98
|
+
const discOptions = [
|
|
99
|
+
{ label: 'All DISC', value: 'all' },
|
|
100
|
+
{ label: 'D — Dominance', value: 'D' },
|
|
101
|
+
{ label: 'I — Influence', value: 'I' },
|
|
102
|
+
{ label: 'S — Steadiness', value: 'S' },
|
|
103
|
+
{ label: 'C — Conscientiousness', value: 'C' },
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
const mbtiGroupOptions = [
|
|
107
|
+
{ label: 'All MBTI groups', value: 'all' },
|
|
108
|
+
{ label: 'Analysts (NT)', value: 'analysts' },
|
|
109
|
+
{ label: 'Diplomats (NF)', value: 'diplomats' },
|
|
110
|
+
{ label: 'Sentinels (S__J)', value: 'sentinels' },
|
|
111
|
+
{ label: 'Explorers (S__P)', value: 'explorers' },
|
|
112
|
+
]
|
|
113
|
+
|
|
114
|
+
const MBTI_GROUPS: Record<string, string> = {
|
|
115
|
+
INTJ: 'analysts', INTP: 'analysts', ENTJ: 'analysts', ENTP: 'analysts',
|
|
116
|
+
INFJ: 'diplomats', INFP: 'diplomats', ENFJ: 'diplomats', ENFP: 'diplomats',
|
|
117
|
+
ISTJ: 'sentinels', ISFJ: 'sentinels', ESTJ: 'sentinels', ESFJ: 'sentinels',
|
|
118
|
+
ISTP: 'explorers', ISFP: 'explorers', ESTP: 'explorers', ESFP: 'explorers',
|
|
119
|
+
}
|
|
120
|
+
|
|
94
121
|
const filteredAgents = computed(() => {
|
|
95
122
|
let result = agents.value
|
|
96
123
|
const query = search.value.toLowerCase()
|
|
@@ -111,6 +138,16 @@ const filteredAgents = computed(() => {
|
|
|
111
138
|
result = result.filter(agent => String(agent.tier) === tierFilter.value)
|
|
112
139
|
}
|
|
113
140
|
|
|
141
|
+
if (discFilter.value !== 'all') {
|
|
142
|
+
result = result.filter(agent => agent.disc?.primary === discFilter.value)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (mbtiGroupFilter.value !== 'all') {
|
|
146
|
+
result = result.filter(
|
|
147
|
+
agent => MBTI_GROUPS[(agent.mbti ?? '').toUpperCase()] === mbtiGroupFilter.value,
|
|
148
|
+
)
|
|
149
|
+
}
|
|
150
|
+
|
|
114
151
|
if (favoritesOnly.value) {
|
|
115
152
|
result = result.filter(agent => favs.isAgentFavorite(agent.id))
|
|
116
153
|
}
|
|
@@ -127,7 +164,7 @@ const paginatedAgents = computed(() => {
|
|
|
127
164
|
|
|
128
165
|
const totalPages = computed(() => Math.max(1, Math.ceil(totalFiltered.value / pageSize)))
|
|
129
166
|
|
|
130
|
-
watch([search, departmentFilter, tierFilter], () => {
|
|
167
|
+
watch([search, departmentFilter, tierFilter, discFilter, mbtiGroupFilter], () => {
|
|
131
168
|
page.value = 1
|
|
132
169
|
})
|
|
133
170
|
|
|
@@ -381,6 +418,22 @@ async function undoTrashIds(ids: string[]) {
|
|
|
381
418
|
aria-label="Filter by tier"
|
|
382
419
|
/>
|
|
383
420
|
|
|
421
|
+
<USelect
|
|
422
|
+
v-model="discFilter"
|
|
423
|
+
:items="discOptions"
|
|
424
|
+
placeholder="DISC"
|
|
425
|
+
class="min-w-36"
|
|
426
|
+
aria-label="Filter by DISC primary"
|
|
427
|
+
/>
|
|
428
|
+
|
|
429
|
+
<USelect
|
|
430
|
+
v-model="mbtiGroupFilter"
|
|
431
|
+
:items="mbtiGroupOptions"
|
|
432
|
+
placeholder="MBTI group"
|
|
433
|
+
class="min-w-44"
|
|
434
|
+
aria-label="Filter by MBTI group"
|
|
435
|
+
/>
|
|
436
|
+
|
|
384
437
|
<UButton
|
|
385
438
|
:label="favoritesOnly ? 'All' : 'Favorites'"
|
|
386
439
|
:icon="favoritesOnly ? 'i-lucide-star' : 'i-lucide-star'"
|
package/package.json
CHANGED