diff --git a/docs/agent-map.html b/docs/agent-map.html index fdb8601..d83c33f 100644 --- a/docs/agent-map.html +++ b/docs/agent-map.html @@ -3,609 +3,954 @@ - OTAIP Agent Map + Otaip Agent Map · Telivity + + + + -
-

OTAIP Agent Map

-

- Stage columns for every discovered agent. Solid arcs are Orchestrator - workflow steps; dashed arcs are package workspace dependencies (stage hubs). - This is navigation only — not a travel-domain knowledge graph. -

-
-
- - - - -
- Active - Stub - Workflow - Package dep +
+
+
+

Telivity · Otaip — open source

+

Agent map for the whole travel transaction.

+

77 typed agents. Search to settlement. Solid cyan arcs are Orchestrator workflows; dashed traces are package dependencies.

+
+
+
77Agents
+
12Stages
+
5Workflows
+
27Edges
+
+
+ +
+ + + +
+ + + + + + +
+
+ Active + Stub + Workflow + Package +
-
-
-
- -
+ +
+
+ + + +
-

reference 7

+

reference 7

- - - - - - -
-

search 8

+

search 8

- - - - - - - -
-

pricing 7

+

pricing 7

- - - - - - -
-

booking 8

+

booking 8

- - - - - - - -
-

ticketing 5

+

ticketing 5

- - - - -
-

exchange 6

+

exchange 6

- - - - - -
-

settlement 6

+

settlement 6

- - - - - -
-

reconciliation 6

+

reconciliation 6

- - - - - -
-

tmc 5

+

tmc 5

- - - - -
-

platform 9

+

platform 9

- - - - - - - - -
-

core 1

+

core 1

-
-

lodging 9

+

lodging 9

- - - - - - - - -
+
+
- + +
+ Telivity — AI travel infrastructure · Otaip open core · + 77 agents · 27 edges · generated from agents.graph.json · pnpm gen:agent-map +
-

- Generated by pnpm gen:manifest from agents.graph.json - (77 agents, 27 edges). Do not hand-edit. -

+ diff --git a/examples/platform-ui/src/components/AgentMap.tsx b/examples/platform-ui/src/components/AgentMap.tsx index 45b54a9..95311c1 100644 --- a/examples/platform-ui/src/components/AgentMap.tsx +++ b/examples/platform-ui/src/components/AgentMap.tsx @@ -233,10 +233,10 @@ export default function AgentMap({ graph }: AgentMapProps) { key={i} d={p.d} fill="none" - stroke={p.kind === 'workflow' ? '#c2410c' : '#a8a29e'} + stroke={p.kind === 'workflow' ? '#06b6d4' : '#64748b'} strokeWidth={p.hl ? 2.25 : p.kind === 'workflow' ? 1.5 : 1} strokeDasharray={p.kind === 'package' ? '4 3' : undefined} - opacity={p.hl ? 1 : p.kind === 'workflow' ? 0.5 : 0.3} + opacity={p.hl ? 1 : p.kind === 'workflow' ? 0.55 : 0.35} /> ))} @@ -262,8 +262,8 @@ export default function AgentMap({ graph }: AgentMapProps) { onClick={() => setSelected(a.id)} className={[ 'rounded-md border bg-white px-2 py-1.5 text-left transition', - a.contract_status === 'active' ? 'border-l-[3px] border-l-teal-700' : 'border-l-[3px] border-l-stone-400', - isSelected || onPath ? 'border-teal-600 shadow-[0_0_0_1px_#0d9488]' : 'border-slate-200', + a.contract_status === 'active' ? 'border-l-[3px] border-l-cyan-500' : 'border-l-[3px] border-l-slate-400', + isSelected || onPath ? 'border-cyan-400 shadow-[0_0_0_1px_#22d3ee]' : 'border-slate-200', dim ? 'opacity-30' : '', ].join(' ')} > diff --git a/scripts/generate-agent-map-html.ts b/scripts/generate-agent-map-html.ts index d1a6105..0cfbef9 100644 --- a/scripts/generate-agent-map-html.ts +++ b/scripts/generate-agent-map-html.ts @@ -2,11 +2,9 @@ /** * Render `docs/agent-map.html` from an AgentGraph. * - * Callable standalone (`pnpm gen:agent-map`) or from `generate-manifest.ts` - * so CI `--check` keeps the HTML in sync with the graph. - * - * Self-contained: no external JS/CSS. Stage columns + SVG workflow arcs. - * Not a domain knowledge graph — agent navigation only. + * Telivity-branded mission-control board: dark slate + cyan, Space Grotesk / + * IBM Plex, workflow edges above cards with side anchors so connections are + * actually readable. Generated by `pnpm gen:manifest` / `pnpm gen:agent-map`. */ import { existsSync, readFileSync, writeFileSync } from 'node:fs'; @@ -17,7 +15,6 @@ import type { AgentGraph, AgentGraphNode } from './agent-graph.js'; const GRAPH_PATH = 'agents.graph.json'; const MAP_HTML_PATH = 'docs/agent-map.html'; -/** Display order for stage columns. Unknown stages append alphabetically. */ const STAGE_ORDER = [ 'reference', 'search', @@ -76,26 +73,26 @@ function groupByStage(nodes: readonly AgentGraphNode[]): Array<[string, AgentGra return [...map.entries()].sort(([a], [b]) => stageSortKey(a) - stageSortKey(b) || a.localeCompare(b)); } -/** - * Build a standalone HTML page that embeds the graph JSON and renders - * stage columns with interactive selection. - */ export function renderAgentMapHtml(graph: AgentGraph): string { const stages = groupByStage(graph.nodes); + const workflows = [ + ...new Set(graph.edges.filter((e) => e.kind === 'workflow').map((e) => e.label)), + ].sort(); + const columnsHtml = stages - .map(([stage, agents]) => { + .map(([stage, agents], colIdx) => { const cards = agents - .map((a) => { + .map((a, cardIdx) => { const status = a.contract_status === 'active' ? 'active' : 'stub'; - const contract = a.has_contract ? 'contracted' : 'no-contract'; - return ` `; }) .join('\n'); return `
-

${escapeHtml(stage)} ${agents.length}

+

${escapeHtml(stage)} ${agents.length}

${cards}
@@ -103,6 +100,14 @@ ${cards} }) .join('\n'); + const workflowPills = [ + ``, + ...workflows.map( + (w) => + ``, + ), + ].join('\n '); + const payload = JSON.stringify(graph); return ` @@ -110,242 +115,582 @@ ${cards} - OTAIP Agent Map + Otaip Agent Map · Telivity + + + + -
-

OTAIP Agent Map

-

- Stage columns for every discovered agent. Solid arcs are Orchestrator - workflow steps; dashed arcs are package workspace dependencies (stage hubs). - This is navigation only — not a travel-domain knowledge graph. -

-
-
- - - - -
- Active - Stub - Workflow - Package dep +
+
+
+

Telivity · Otaip — open source

+

Agent map for the whole travel transaction.

+

${graph.total_nodes} typed agents. Search to settlement. Solid cyan arcs are Orchestrator workflows; dashed traces are package dependencies.

+
+
+
${graph.total_nodes}Agents
+
${stages.length}Stages
+
${workflows.length}Workflows
+
${graph.total_edges}Edges
+
+
+ +
+ + + +
+ ${workflowPills} +
+
+ Active + Stub + Workflow + Package +
-
-
-
- -
+ +
+
+ + + +
${columnsHtml} +
+
- + +
+ Telivity — AI travel infrastructure · Otaip open core · + ${graph.total_nodes} agents · ${graph.total_edges} edges · generated from agents.graph.json · pnpm gen:agent-map +
-

- Generated by pnpm gen:manifest from agents.graph.json - (${graph.total_nodes} agents, ${graph.total_edges} edges). Do not hand-edit. -

+ @@ -510,7 +1016,6 @@ function main(): void { console.log(`Wrote ${MAP_HTML_PATH} (${graph.total_nodes} agents).`); } -// Only run as CLI when invoked directly (not when imported by generate-manifest). const isDirect = process.argv[1] !== undefined && resolve(process.argv[1]) === fileURLToPath(import.meta.url);