appoiint 4.1.0 → 4.1.1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
const fmt=require("../format");async function run(e,o,t,s){const n=o[0];n||(fmt.err("Usage: apo diagnose ROOM_ID"),process.exit(1));const r={roomId:n,baseUrl:s.baseUrl,platform:null,room:null,participants:[],agentPeers:[],humanPeers:[],checks:{},errors:[]};console.log(`\n Diagnosing room ${n} on ${s.baseUrl}\n`);try{const o=await e.status();r.platform=o,r.checks.platformOnline=!0,fmt.ok(`Platform: v${o.version} — online`)}catch(e){r.checks.platformOnline=!1,r.errors.push(`Platform: ${e.message}`),fmt.err(`Platform offline: ${e.message}`)}try{const o=await e.roomStatus(n);r.room=o,r.checks.roomFound=!0,fmt.ok(`Room: ${o.title||n}`),console.log(` Status: ${o.status||"unknown"}`);const t=o.participants||[];r.participants=t,r.agentPeers=t.filter(e=>"agent"===e.peer_type),r.humanPeers=t.filter(e=>"agent"!==e.peer_type||!e.peer_type),t.length?(console.log(` Participants: ${t.length}`),t.forEach(e=>{const o="agent"===e.peer_type?`[${e.peer_agent_role||"agent"}]`:"[human]";console.log(` ${o} ${e.peer_name||e.name||"?"}`)})):console.log(" Participants: 0 (room may be empty or SDK does not track live peers)")}catch(e){r.checks.roomFound=!1,r.errors.push(`Room: ${e.message}`),fmt.err(`Room not found: ${e.message}`)}try{const o=await e.events(),t=Array.isArray(o)?o:o?.eventTypes||[];r.checks.eventsEndpoint=!0,fmt.ok(`Events endpoint: ${t.length} event type(s)`)}catch(e){r.checks.eventsEndpoint=!1,r.errors.push(`Events: ${e.message}`),fmt.err(`Events endpoint: ${e.message}`)}try{const o=await e.voices();r.checks.ttsEndpoint=!0;const t=o.primary||"unknown";fmt.ok(`TTS: ${t} (${(o.agentVoices||[]).length} CxO voices)`)}catch(e){r.checks.ttsEndpoint=!1,r.errors.push(`TTS: ${e.message}`),fmt.err(`TTS endpoint: ${e.message}`)}try{const o=await e.sttStatus(),t=o.data||o;r.checks.sttAvailable=t.available,t.available?fmt.ok(`STT
|
|
1
|
+
const fmt=require("../format");async function run(e,o,t,s){const n=o[0];n||(fmt.err("Usage: apo diagnose ROOM_ID"),process.exit(1));const r={roomId:n,baseUrl:s.baseUrl,platform:null,room:null,participants:[],agentPeers:[],humanPeers:[],checks:{},errors:[]};console.log(`\n Diagnosing room ${n} on ${s.baseUrl}\n`);try{const o=await e.status();r.platform=o,r.checks.platformOnline=!0,fmt.ok(`Platform: v${o.version} — online`)}catch(e){r.checks.platformOnline=!1,r.errors.push(`Platform: ${e.message}`),fmt.err(`Platform offline: ${e.message}`)}try{const o=await e.roomStatus(n);r.room=o,r.checks.roomFound=!0,fmt.ok(`Room: ${o.title||n}`),console.log(` Status: ${o.status||"unknown"}`);const t=o.participants||[];r.participants=t,r.agentPeers=t.filter(e=>"agent"===e.peer_type),r.humanPeers=t.filter(e=>"agent"!==e.peer_type||!e.peer_type),t.length?(console.log(` Participants: ${t.length}`),t.forEach(e=>{const o="agent"===e.peer_type?`[${e.peer_agent_role||"agent"}]`:"[human]";console.log(` ${o} ${e.peer_name||e.name||"?"}`)})):console.log(" Participants: 0 (room may be empty or SDK does not track live peers)")}catch(e){r.checks.roomFound=!1,r.errors.push(`Room: ${e.message}`),fmt.err(`Room not found: ${e.message}`)}try{const o=await e.events(),t=Array.isArray(o)?o:o?.eventTypes||[];r.checks.eventsEndpoint=!0,fmt.ok(`Events endpoint: ${t.length} event type(s)`)}catch(e){r.checks.eventsEndpoint=!1,r.errors.push(`Events: ${e.message}`),fmt.err(`Events endpoint: ${e.message}`)}try{const o=await e.voices();r.checks.ttsEndpoint=!0;const t=o.primary||"unknown";fmt.ok(`TTS: ${t} (${(o.agentVoices||[]).length} CxO voices)`)}catch(e){r.checks.ttsEndpoint=!1,r.errors.push(`TTS: ${e.message}`),fmt.err(`TTS endpoint: ${e.message}`)}try{const o=await e.sttStatus(),t=o.data||o;r.checks.sttAvailable=t.available,t.available?fmt.ok(`STT: available — model: ${t.model||"default"}`):fmt.err("STT: not available — "+(t.hasApiKey?"key set but disabled":"API key missing"))}catch(e){r.checks.sttAvailable=!1,r.errors.push(`STT: ${e.message}`),fmt.err(`STT endpoint: ${e.message}`)}try{const o=await e.listRooms(),t=Array.isArray(o)?o:o?.rooms||[];r.checks.roomsEndpoint=!0,fmt.ok(`Rooms endpoint: ${t.length} active room(s)`)}catch(e){r.checks.roomsEndpoint=!1,r.errors.push(`Rooms: ${e.message}`),fmt.err(`Rooms endpoint: ${e.message}`)}console.log("\n ── Diagnosis ──\n"),[["Platform online",r.checks.platformOnline],["Room found",r.checks.roomFound],["Agent peers in room",r.agentPeers.length>0],["Human peers in room",r.humanPeers.length>0],["Events endpoint (scheduling)",r.checks.eventsEndpoint],["TTS endpoint (assistant.bz)",r.checks.ttsEndpoint],["STT/Notetaker",r.checks.sttAvailable],["Rooms endpoint (getMeetingsByHost)",r.checks.roomsEndpoint]].forEach(([e,o])=>{console.log(` ${o?"[32m✓[0m":"[31m✗[0m"} ${e}`)}),r.errors.length&&(console.log("\n Errors:"),r.errors.forEach(e=>console.log(` [31m✗[0m ${e}`))),console.log("\n ── Agent Meeting Chain ──\n"),console.log(" Human speaks → STT → onTranscript → signalingSocket.emit(transcript)"),console.log(" → server socket.on(transcript) → io.to(agentSid).emit(transcript)"),console.log(" → agent MeetingClient receives → h-conductor processes"),console.log(" → agent socket.emit(agentChat) → server broadcasts → ai-chatBox panel"),console.log(""),console.log(" Human types in AI chat → tygaAIChat → server checks for agent peers"),console.log(" → if agent: relay via transcript event → agent responds via agentChat"),console.log(" → if no agent: SDK AI Chat (OpenAI fallback)"),console.log(""),t&&console.log(JSON.stringify(r,null,2))}module.exports={run:run};
|