{ "generatedAt": "2026-05-28T21:20:37.531Z", "summary": { "total": 17, "covered": 2, "partial": 1, "uncovered": 14, "unknown": 0, "overallRatio": 0.118 }, "functions": [ { "name": "createCardTool", "sourceFile": "src/wirings/kanban.mcp.ts", "exposed": true, "description": "Create a new kanban card on the board.", "coveredLines": 0, "totalLines": 11, "missedLines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "ratio": 0, "status": "uncovered" }, { "name": "enrichCard", "sourceFile": "src/functions/enrich-card.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 9, "missedLines": [20, 21, 22, 23, 24, 25, 26, 27, 28], "ratio": 0, "status": "uncovered" }, { "name": "getCardFileUploadUrl", "sourceFile": "src/functions/get-card-file-upload-url.function.ts", "exposed": true, "description": "Return a presigned upload URL for attaching a file to a card.", "coveredLines": 0, "totalLines": 16, "missedLines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "ratio": 0, "status": "uncovered" }, { "name": "listCardsTool", "sourceFile": "src/wirings/kanban.mcp.ts", "exposed": true, "description": "List all kanban cards on the board.", "coveredLines": 0, "totalLines": 6, "missedLines": [9, 10, 11, 12, 13, 14], "ratio": 0, "status": "uncovered" }, { "name": "notifyCardCreated", "sourceFile": "src/functions/notify-card-created.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 1, "missedLines": [14], "ratio": 0, "status": "uncovered" }, { "name": "onCardEventTrigger", "sourceFile": "src/functions/on-card-event-trigger.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 11, "missedLines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32], "ratio": 0, "status": "uncovered" }, { "name": "onCardsClearSession", "sourceFile": "src/functions/cards-channel.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 2, "missedLines": [76, 77], "ratio": 0, "status": "uncovered" }, { "name": "onCardsConnect", "sourceFile": "src/functions/cards-channel.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 3, "missedLines": [16, 17, 18], "ratio": 0, "status": "uncovered" }, { "name": "onCardsDisconnect", "sourceFile": "src/functions/cards-channel.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 1, "missedLines": [23], "ratio": 0, "status": "uncovered" }, { "name": "onCardsEcho", "sourceFile": "src/functions/cards-channel.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 1, "missedLines": [35], "ratio": 0, "status": "uncovered" }, { "name": "onCardsGetSession", "sourceFile": "src/functions/cards-channel.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 2, "missedLines": [68, 69], "ratio": 0, "status": "uncovered" }, { "name": "onCardsSetSession", "sourceFile": "src/functions/cards-channel.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 2, "missedLines": [60, 61], "ratio": 0, "status": "uncovered" }, { "name": "processCardEvent", "sourceFile": "src/functions/process-card-event.function.ts", "exposed": true, "description": null, "coveredLines": 0, "totalLines": 1, "missedLines": [19], "ratio": 0, "status": "uncovered" }, { "name": "signCardFile", "sourceFile": "src/functions/sign-card-file.function.ts", "exposed": true, "description": "Return a time-limited signed download URL for a card attachment.", "coveredLines": 0, "totalLines": 14, "missedLines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33], "ratio": 0, "status": "uncovered" }, { "name": "archiveStaleCards", "sourceFile": "src/functions/archive-stale-cards.function.ts", "exposed": true, "description": null, "coveredLines": 1, "totalLines": 3, "missedLines": [5, 6], "ratio": 0.333, "status": "partial" }, { "name": "createCard", "sourceFile": "src/functions/create-card.function.ts", "exposed": true, "description": "Create a kanban card.", "coveredLines": 19, "totalLines": 19, "missedLines": [], "ratio": 1, "status": "covered" }, { "name": "listCards", "sourceFile": "src/functions/list-cards.function.ts", "exposed": true, "description": "List all kanban cards, optionally filtered by status.", "coveredLines": 6, "totalLines": 6, "missedLines": [], "ratio": 1, "status": "covered" } ] }