arkaos 2.96.0 → 2.97.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/[id].vue +24 -24
- package/dashboard/app/pages/personas/[id].vue +19 -19
- package/package.json +1 -1
- package/pyproject.toml +1 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.97.0
|
|
@@ -261,7 +261,7 @@ function formatTokens(n: number): string {
|
|
|
261
261
|
:label="`${agent.expertise_years}y experience`"
|
|
262
262
|
variant="outline"
|
|
263
263
|
/>
|
|
264
|
-
<UBadge v-if="agent.mbti" :label="agent.mbti" variant="soft" size="
|
|
264
|
+
<UBadge v-if="agent.mbti" :label="agent.mbti" variant="soft" size="sm" />
|
|
265
265
|
</div>
|
|
266
266
|
<p class="text-xs text-muted/60 font-mono select-all pt-2">{{ agent.id }}</p>
|
|
267
267
|
</div>
|
|
@@ -271,22 +271,22 @@ function formatTokens(n: number): string {
|
|
|
271
271
|
<!-- ===== STATS ROW ===== -->
|
|
272
272
|
<section class="grid grid-cols-2 md:grid-cols-4 gap-3">
|
|
273
273
|
<div class="rounded-xl border border-default p-4 bg-elevated/20">
|
|
274
|
-
<p class="text-
|
|
274
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">7d calls (dept)</p>
|
|
275
275
|
<p class="text-2xl font-bold">{{ deptActivity?.call_count ?? 0 }}</p>
|
|
276
276
|
</div>
|
|
277
277
|
<div class="rounded-xl border border-default p-4 bg-elevated/20">
|
|
278
|
-
<p class="text-
|
|
278
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">7d cost</p>
|
|
279
279
|
<p class="text-2xl font-bold">{{ formatCost(deptActivity?.total_cost_usd) }}</p>
|
|
280
280
|
</div>
|
|
281
281
|
<div class="rounded-xl border border-default p-4 bg-elevated/20">
|
|
282
|
-
<p class="text-
|
|
282
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Tokens (in/out)</p>
|
|
283
283
|
<p class="text-lg font-semibold">
|
|
284
284
|
{{ formatTokens(deptActivity?.total_tokens_in ?? 0) }} /
|
|
285
285
|
{{ formatTokens(deptActivity?.total_tokens_out ?? 0) }}
|
|
286
286
|
</p>
|
|
287
287
|
</div>
|
|
288
288
|
<div class="rounded-xl border border-default p-4 bg-elevated/20">
|
|
289
|
-
<p class="text-
|
|
289
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Linked personas</p>
|
|
290
290
|
<p class="text-2xl font-bold">{{ agent.linked_personas?.length ?? 0 }}</p>
|
|
291
291
|
</div>
|
|
292
292
|
</section>
|
|
@@ -307,7 +307,7 @@ function formatTokens(n: number): string {
|
|
|
307
307
|
<!-- Card 1: MBTI -->
|
|
308
308
|
<UCard>
|
|
309
309
|
<div class="space-y-2">
|
|
310
|
-
<p class="text-
|
|
310
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">MBTI</p>
|
|
311
311
|
<p class="text-4xl font-bold font-mono tracking-widest">
|
|
312
312
|
{{ agent.mbti || '----' }}
|
|
313
313
|
</p>
|
|
@@ -320,7 +320,7 @@ function formatTokens(n: number): string {
|
|
|
320
320
|
<!-- Card 2: Enneagram -->
|
|
321
321
|
<UCard>
|
|
322
322
|
<div class="space-y-3">
|
|
323
|
-
<p class="text-
|
|
323
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">Enneagram</p>
|
|
324
324
|
<div>
|
|
325
325
|
<p class="text-3xl font-bold">
|
|
326
326
|
Type {{ agent.enneagram?.type ?? '-' }}
|
|
@@ -353,7 +353,7 @@ function formatTokens(n: number): string {
|
|
|
353
353
|
<!-- Card 3: DISC -->
|
|
354
354
|
<UCard>
|
|
355
355
|
<div class="space-y-3">
|
|
356
|
-
<p class="text-
|
|
356
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">DISC</p>
|
|
357
357
|
<div>
|
|
358
358
|
<p class="text-3xl font-bold font-mono">
|
|
359
359
|
{{ agent.disc?.primary ?? '' }}{{ agent.disc?.secondary ?? '' }}
|
|
@@ -385,7 +385,7 @@ function formatTokens(n: number): string {
|
|
|
385
385
|
<!-- Big Five -->
|
|
386
386
|
<UCard>
|
|
387
387
|
<div class="space-y-1">
|
|
388
|
-
<p class="text-
|
|
388
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-4">
|
|
389
389
|
Big Five (OCEAN)
|
|
390
390
|
</p>
|
|
391
391
|
<div v-if="agent.big_five" class="space-y-3">
|
|
@@ -418,15 +418,15 @@ function formatTokens(n: number): string {
|
|
|
418
418
|
<UCard>
|
|
419
419
|
<div class="space-y-4">
|
|
420
420
|
<div>
|
|
421
|
-
<p class="text-
|
|
421
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Tone</p>
|
|
422
422
|
<p class="text-sm">{{ agent.communication.tone ?? '-' }}</p>
|
|
423
423
|
</div>
|
|
424
424
|
<div>
|
|
425
|
-
<p class="text-
|
|
425
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Vocabulary Level</p>
|
|
426
426
|
<UBadge :label="agent.communication.vocabulary_level ?? '-'" variant="subtle" />
|
|
427
427
|
</div>
|
|
428
428
|
<div>
|
|
429
|
-
<p class="text-
|
|
429
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Language</p>
|
|
430
430
|
<p class="text-sm font-mono">{{ agent.communication.language ?? '-' }}</p>
|
|
431
431
|
</div>
|
|
432
432
|
</div>
|
|
@@ -435,11 +435,11 @@ function formatTokens(n: number): string {
|
|
|
435
435
|
<UCard>
|
|
436
436
|
<div class="space-y-4">
|
|
437
437
|
<div>
|
|
438
|
-
<p class="text-
|
|
438
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Preferred Format</p>
|
|
439
439
|
<p class="text-sm">{{ agent.communication.preferred_format ?? '-' }}</p>
|
|
440
440
|
</div>
|
|
441
441
|
<div v-if="agent.communication.avoid?.length">
|
|
442
|
-
<p class="text-
|
|
442
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-2">Avoids</p>
|
|
443
443
|
<ul class="space-y-1.5">
|
|
444
444
|
<li
|
|
445
445
|
v-for="item in agent.communication.avoid"
|
|
@@ -458,7 +458,7 @@ function formatTokens(n: number): string {
|
|
|
458
458
|
<!-- DISC Communication Details -->
|
|
459
459
|
<UCard v-if="agent.disc?.communication_style || agent.disc?.under_pressure || agent.disc?.motivator">
|
|
460
460
|
<div class="space-y-4">
|
|
461
|
-
<p class="text-
|
|
461
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">DISC Communication Profile</p>
|
|
462
462
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
|
|
463
463
|
<div v-if="agent.disc.communication_style">
|
|
464
464
|
<p class="text-xs text-muted mb-1">Communication Style</p>
|
|
@@ -486,7 +486,7 @@ function formatTokens(n: number): string {
|
|
|
486
486
|
<div v-if="agent.mental_models" class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
487
487
|
<UCard>
|
|
488
488
|
<div class="space-y-3">
|
|
489
|
-
<p class="text-
|
|
489
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">Primary Models</p>
|
|
490
490
|
<ul v-if="agent.mental_models.primary?.length" class="space-y-2">
|
|
491
491
|
<li
|
|
492
492
|
v-for="model in agent.mental_models.primary"
|
|
@@ -503,7 +503,7 @@ function formatTokens(n: number): string {
|
|
|
503
503
|
|
|
504
504
|
<UCard>
|
|
505
505
|
<div class="space-y-3">
|
|
506
|
-
<p class="text-
|
|
506
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">Secondary Models</p>
|
|
507
507
|
<ul v-if="agent.mental_models.secondary?.length" class="space-y-2">
|
|
508
508
|
<li
|
|
509
509
|
v-for="model in agent.mental_models.secondary"
|
|
@@ -530,7 +530,7 @@ function formatTokens(n: number): string {
|
|
|
530
530
|
<UCard>
|
|
531
531
|
<div class="space-y-5">
|
|
532
532
|
<div>
|
|
533
|
-
<p class="text-
|
|
533
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-3">Permissions</p>
|
|
534
534
|
<div class="flex flex-wrap gap-2">
|
|
535
535
|
<UBadge v-if="agent.authority.veto" label="Veto" color="error" variant="subtle" />
|
|
536
536
|
<UBadge v-if="agent.authority.approve_architecture" label="Approve Architecture" color="success" variant="subtle" />
|
|
@@ -542,7 +542,7 @@ function formatTokens(n: number): string {
|
|
|
542
542
|
</div>
|
|
543
543
|
|
|
544
544
|
<div v-if="agent.authority.delegates_to?.length">
|
|
545
|
-
<p class="text-
|
|
545
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-2">Delegates To</p>
|
|
546
546
|
<div class="flex flex-wrap gap-2">
|
|
547
547
|
<UBadge
|
|
548
548
|
v-for="d in agent.authority.delegates_to"
|
|
@@ -555,7 +555,7 @@ function formatTokens(n: number): string {
|
|
|
555
555
|
</div>
|
|
556
556
|
|
|
557
557
|
<div v-if="agent.authority.escalates_to">
|
|
558
|
-
<p class="text-
|
|
558
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Escalates To</p>
|
|
559
559
|
<p class="text-sm font-mono">{{ agent.authority.escalates_to }}</p>
|
|
560
560
|
</div>
|
|
561
561
|
|
|
@@ -576,7 +576,7 @@ function formatTokens(n: number): string {
|
|
|
576
576
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
577
577
|
<UCard>
|
|
578
578
|
<div class="space-y-3">
|
|
579
|
-
<p class="text-
|
|
579
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">Domains</p>
|
|
580
580
|
<div v-if="agent.expertise_domains?.length" class="flex flex-wrap gap-2">
|
|
581
581
|
<UBadge
|
|
582
582
|
v-for="d in agent.expertise_domains"
|
|
@@ -593,7 +593,7 @@ function formatTokens(n: number): string {
|
|
|
593
593
|
|
|
594
594
|
<UCard>
|
|
595
595
|
<div class="space-y-3">
|
|
596
|
-
<p class="text-
|
|
596
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">Frameworks</p>
|
|
597
597
|
<ul v-if="agent.frameworks?.length" class="space-y-2">
|
|
598
598
|
<li
|
|
599
599
|
v-for="f in agent.frameworks"
|
|
@@ -612,7 +612,7 @@ function formatTokens(n: number): string {
|
|
|
612
612
|
<UCard v-if="agent.expertise_depth || agent.expertise_years">
|
|
613
613
|
<div class="flex flex-wrap gap-6">
|
|
614
614
|
<div v-if="agent.expertise_depth">
|
|
615
|
-
<p class="text-
|
|
615
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Depth</p>
|
|
616
616
|
<UBadge
|
|
617
617
|
:label="agent.expertise_depth"
|
|
618
618
|
:color="(depthColor[agent.expertise_depth] ?? 'neutral') as any"
|
|
@@ -621,7 +621,7 @@ function formatTokens(n: number): string {
|
|
|
621
621
|
/>
|
|
622
622
|
</div>
|
|
623
623
|
<div v-if="agent.expertise_years">
|
|
624
|
-
<p class="text-
|
|
624
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Experience</p>
|
|
625
625
|
<p class="text-2xl font-bold">
|
|
626
626
|
{{ agent.expertise_years }}
|
|
627
627
|
<span class="text-sm font-normal text-muted">years</span>
|
|
@@ -315,20 +315,20 @@ const vocabOptions = [
|
|
|
315
315
|
icon="i-lucide-file-text"
|
|
316
316
|
color="primary"
|
|
317
317
|
variant="subtle"
|
|
318
|
-
size="
|
|
318
|
+
size="sm"
|
|
319
319
|
/>
|
|
320
320
|
<UBadge
|
|
321
321
|
v-else-if="detail._source_store === 'json'"
|
|
322
322
|
label="JSON store"
|
|
323
323
|
variant="outline"
|
|
324
|
-
size="
|
|
324
|
+
size="sm"
|
|
325
325
|
/>
|
|
326
|
-
<UBadge v-if="detail.mbti" :label="detail.mbti" variant="soft" size="
|
|
326
|
+
<UBadge v-if="detail.mbti" :label="detail.mbti" variant="soft" size="sm" />
|
|
327
327
|
<UBadge
|
|
328
328
|
v-if="detail.disc?.primary"
|
|
329
329
|
:label="`DISC: ${detail.disc.primary}${detail.disc.secondary ? '/' + detail.disc.secondary : ''}`"
|
|
330
330
|
variant="subtle"
|
|
331
|
-
size="
|
|
331
|
+
size="sm"
|
|
332
332
|
/>
|
|
333
333
|
</div>
|
|
334
334
|
<p
|
|
@@ -345,19 +345,19 @@ const vocabOptions = [
|
|
|
345
345
|
<!-- STATS -->
|
|
346
346
|
<section class="grid grid-cols-2 md:grid-cols-4 gap-3">
|
|
347
347
|
<div class="rounded-xl border border-default p-4 bg-elevated/20">
|
|
348
|
-
<p class="text-
|
|
348
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Linked agents</p>
|
|
349
349
|
<p class="text-2xl font-bold">{{ linkedAgentCount }}</p>
|
|
350
350
|
</div>
|
|
351
351
|
<div class="rounded-xl border border-default p-4 bg-elevated/20">
|
|
352
|
-
<p class="text-
|
|
352
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Mental models</p>
|
|
353
353
|
<p class="text-2xl font-bold">{{ detail.mental_models?.length ?? 0 }}</p>
|
|
354
354
|
</div>
|
|
355
355
|
<div class="rounded-xl border border-default p-4 bg-elevated/20">
|
|
356
|
-
<p class="text-
|
|
356
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Expertise domains</p>
|
|
357
357
|
<p class="text-2xl font-bold">{{ detail.expertise_domains?.length ?? 0 }}</p>
|
|
358
358
|
</div>
|
|
359
359
|
<div class="rounded-xl border border-default p-4 bg-elevated/20">
|
|
360
|
-
<p class="text-
|
|
360
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-1">Frameworks</p>
|
|
361
361
|
<p class="text-2xl font-bold">{{ detail.frameworks?.length ?? 0 }}</p>
|
|
362
362
|
</div>
|
|
363
363
|
</section>
|
|
@@ -370,7 +370,7 @@ const vocabOptions = [
|
|
|
370
370
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
|
|
371
371
|
<UCard>
|
|
372
372
|
<div class="space-y-2">
|
|
373
|
-
<p class="text-
|
|
373
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">MBTI</p>
|
|
374
374
|
<p class="text-4xl font-bold font-mono tracking-widest">
|
|
375
375
|
{{ detail.mbti || '----' }}
|
|
376
376
|
</p>
|
|
@@ -382,7 +382,7 @@ const vocabOptions = [
|
|
|
382
382
|
|
|
383
383
|
<UCard>
|
|
384
384
|
<div class="space-y-2">
|
|
385
|
-
<p class="text-
|
|
385
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">Enneagram</p>
|
|
386
386
|
<p class="text-3xl font-bold">
|
|
387
387
|
Type {{ detail.enneagram?.type ?? '-' }}
|
|
388
388
|
<span v-if="detail.enneagram?.wing" class="text-xl font-normal text-muted">
|
|
@@ -394,7 +394,7 @@ const vocabOptions = [
|
|
|
394
394
|
|
|
395
395
|
<UCard>
|
|
396
396
|
<div class="space-y-3">
|
|
397
|
-
<p class="text-
|
|
397
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide">DISC</p>
|
|
398
398
|
<p class="text-3xl font-bold font-mono">
|
|
399
399
|
{{ detail.disc?.primary ?? '' }}{{ detail.disc?.secondary ?? '' }}
|
|
400
400
|
</p>
|
|
@@ -418,7 +418,7 @@ const vocabOptions = [
|
|
|
418
418
|
</div>
|
|
419
419
|
|
|
420
420
|
<UCard>
|
|
421
|
-
<p class="text-
|
|
421
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-4">
|
|
422
422
|
Big Five (OCEAN)
|
|
423
423
|
</p>
|
|
424
424
|
<div v-if="detail.big_five" class="space-y-3">
|
|
@@ -457,25 +457,25 @@ const vocabOptions = [
|
|
|
457
457
|
<!-- KNOWLEDGE -->
|
|
458
458
|
<div v-else-if="item.value === 'knowledge'" class="space-y-4 mt-6">
|
|
459
459
|
<UCard v-if="detail.mental_models?.length">
|
|
460
|
-
<p class="text-
|
|
460
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-3">
|
|
461
461
|
Mental models ({{ detail.mental_models.length }})
|
|
462
462
|
</p>
|
|
463
463
|
<div class="flex flex-wrap gap-1.5">
|
|
464
|
-
<UBadge v-for="m in detail.mental_models" :key="m" :label="m" variant="outline" size="
|
|
464
|
+
<UBadge v-for="m in detail.mental_models" :key="m" :label="m" variant="outline" size="sm" />
|
|
465
465
|
</div>
|
|
466
466
|
</UCard>
|
|
467
467
|
|
|
468
468
|
<UCard v-if="detail.expertise_domains?.length">
|
|
469
|
-
<p class="text-
|
|
469
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-3">
|
|
470
470
|
Expertise ({{ detail.expertise_domains.length }})
|
|
471
471
|
</p>
|
|
472
472
|
<div class="flex flex-wrap gap-1.5">
|
|
473
|
-
<UBadge v-for="e in detail.expertise_domains" :key="e" :label="e" variant="soft" size="
|
|
473
|
+
<UBadge v-for="e in detail.expertise_domains" :key="e" :label="e" variant="soft" size="sm" />
|
|
474
474
|
</div>
|
|
475
475
|
</UCard>
|
|
476
476
|
|
|
477
477
|
<UCard v-if="detail.frameworks?.length">
|
|
478
|
-
<p class="text-
|
|
478
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-3">
|
|
479
479
|
Frameworks ({{ detail.frameworks.length }})
|
|
480
480
|
</p>
|
|
481
481
|
<ul class="space-y-2">
|
|
@@ -487,7 +487,7 @@ const vocabOptions = [
|
|
|
487
487
|
</UCard>
|
|
488
488
|
|
|
489
489
|
<UCard v-if="detail.key_quotes?.length">
|
|
490
|
-
<p class="text-
|
|
490
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-3">
|
|
491
491
|
Key quotes ({{ detail.key_quotes.length }})
|
|
492
492
|
</p>
|
|
493
493
|
<ul class="space-y-2">
|
|
@@ -512,7 +512,7 @@ const vocabOptions = [
|
|
|
512
512
|
<!-- LINKED AGENTS -->
|
|
513
513
|
<div v-else-if="item.value === 'agents'" class="space-y-4 mt-6">
|
|
514
514
|
<UCard v-if="linkedAgentCount > 0">
|
|
515
|
-
<p class="text-
|
|
515
|
+
<p class="text-sm font-semibold text-muted uppercase tracking-wide mb-3">
|
|
516
516
|
Linked to {{ linkedAgentCount }} agent{{ linkedAgentCount === 1 ? '' : 's' }}
|
|
517
517
|
</p>
|
|
518
518
|
<div class="space-y-2">
|
package/package.json
CHANGED