arkaos 3.42.0 → 3.43.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 CHANGED
@@ -1 +1 @@
1
- 3.42.0
1
+ 3.43.0
@@ -13,6 +13,7 @@ interface WorkflowPhase {
13
13
  description: string
14
14
  gate_type: string
15
15
  agent_count: number
16
+ agent_ids?: string[]
16
17
  }
17
18
 
18
19
  interface Workflow {
@@ -268,16 +269,22 @@ const columns: TableColumn<Workflow>[] = [
268
269
  variant="subtle"
269
270
  size="xs"
270
271
  />
271
- <UBadge
272
- v-if="ph.agent_count > 0"
273
- :label="`${ph.agent_count} agent${ph.agent_count === 1 ? '' : 's'}`"
274
- variant="outline"
275
- size="xs"
276
- />
277
272
  </div>
278
273
  <p v-if="ph.description" class="text-xs text-muted mt-1">
279
274
  {{ ph.description }}
280
275
  </p>
276
+ <!-- PR93a v3.43.0 — clickable agent badges -->
277
+ <div v-if="ph.agent_ids && ph.agent_ids.length > 0" class="flex flex-wrap gap-1 mt-2">
278
+ <NuxtLink
279
+ v-for="aid in ph.agent_ids"
280
+ :key="aid"
281
+ :to="`/agents/${aid}`"
282
+ class="inline-flex items-center gap-1 rounded-md border border-default px-1.5 py-0.5 text-[10px] font-mono hover:border-primary/40 hover:text-primary transition-colors"
283
+ >
284
+ <UIcon name="i-lucide-user" class="size-2.5" />
285
+ {{ aid }}
286
+ </NuxtLink>
287
+ </div>
281
288
  </div>
282
289
  </li>
283
290
  </ol>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkaos",
3
- "version": "3.42.0",
3
+ "version": "3.43.0",
4
4
  "description": "The Operating System for AI Agent Teams",
5
5
  "type": "module",
6
6
  "bin": {
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arkaos-core"
3
- version = "3.42.0"
3
+ version = "3.43.0"
4
4
  description = "Core engine for ArkaOS — The Operating System for AI Agent Teams"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}
@@ -1918,21 +1918,30 @@ def workflows_list():
1918
1918
 
1919
1919
 
1920
1920
  def _summarise_phases(phases: list) -> list[dict]:
1921
- """PR91c v3.37.0 — distil each phase down to what the flow stepper needs."""
1921
+ """PR91c v3.37.0 — distil each phase down to what the flow stepper needs.
1922
+
1923
+ PR93a v3.43.0 — also surfaces the explicit ``agent_ids`` so the UI
1924
+ can render them as clickable badges.
1925
+ """
1922
1926
  out: list[dict] = []
1923
1927
  for p in phases:
1924
1928
  if not isinstance(p, dict):
1925
1929
  continue
1926
1930
  gate = p.get("gate") if isinstance(p.get("gate"), dict) else {}
1927
1931
  agents = p.get("agents") if isinstance(p.get("agents"), list) else []
1932
+ agent_ids: list[str] = []
1933
+ for a in agents:
1934
+ if isinstance(a, dict):
1935
+ aid = a.get("agent_id")
1936
+ if aid:
1937
+ agent_ids.append(str(aid))
1928
1938
  out.append({
1929
1939
  "id": str(p.get("id") or ""),
1930
1940
  "name": str(p.get("name") or ""),
1931
1941
  "description": str(p.get("description") or ""),
1932
1942
  "gate_type": str(gate.get("type") or ""),
1933
- "agent_count": sum(
1934
- 1 for a in agents if isinstance(a, dict) and a.get("agent_id")
1935
- ),
1943
+ "agent_count": len(agent_ids),
1944
+ "agent_ids": agent_ids,
1936
1945
  })
1937
1946
  return out
1938
1947