{"_id":"@mockflow/mockflow-bridge","_rev":"30-9a15ae921b62a0f2373c2f428695167e","name":"@mockflow/mockflow-bridge","dist-tags":{"latest":"0.4.6"},"versions":{"0.1.2":{"name":"@mockflow/mockflow-bridge","version":"0.1.2","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"ISC","_id":"@mockflow/mockflow-bridge@0.1.2","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"542cd8cc664169d09941474f9eb74e89c4f0e3de","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.1.2.tgz","fileCount":21,"integrity":"sha512-Kq6cZ0I68paTp+Fzgq8jDvtT88G2cnf1xcVONk09t4EObXhs/EPfaDaFm3MfWjV2sxUo6DYyTmtqmRJTrAYeHA==","signatures":[{"sig":"MEUCIBm61h1YADXLgvFXCYimufm9yBhcNq5qTe8EfmKaiHFoAiEA5uwDqS4tmfZ5QYhdqj8++ssJ1EThlrk7RzRd4KktpK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199266},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"63d4eb78cb88057f06ca9a2c4192bc14c9496a68","scripts":{"check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/claude.js && node --check src/agents/opencode.js && node --check src/agents/codex.js && node --check src/agents/cursor.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects any AI agent (Claude Code, Cursor, Codex, Ollama...) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.1.2_1784723010325_0.8008063441950528","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@mockflow/mockflow-bridge","version":"0.1.3","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.1.3","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"ccb592d21d35e49991125fb4d45b95487f27c2c2","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.1.3.tgz","fileCount":21,"integrity":"sha512-MlVoe2fVZ+8QbyFJxjHgw5fdZ//8TFDP+cFEMvwSjtZIyIguXTaSmAER7Dj0j3ST47KHmxR8I7D+rO3tUm8URw==","signatures":[{"sig":"MEQCID9cmKF6gpr1nhFZt1h/R0tshtQBkLGht9fyDzGkNel3AiA4UYuVlAw2mk1ocj2vivQWGmp4qPdiSvl0vraKOkLO5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199266},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"e6e6295c2dd32eb7803e54c0b8ce8a83a0b926a0","scripts":{"check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/claude.js && node --check src/agents/opencode.js && node --check src/agents/codex.js && node --check src/agents/cursor.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects any AI agent (Claude Code, Cursor, Codex, Ollama...) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.1.3_1784723415396_0.28729460947709895","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@mockflow/mockflow-bridge","version":"0.1.4","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.1.4","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"9d79491c1af2d5d5659d30060792b968ed4e84b2","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.1.4.tgz","fileCount":39,"integrity":"sha512-6OZe+M32FwfB+/KkK/j7+hRR6awpF72F9KHlWHrRKY6An6xBKDDP2Vyuwp7/eWefjM0bxsqt/e3nWVIjZDI1VA==","signatures":[{"sig":"MEUCIHFT3rB7iYJBGYWAVfQFcZMHXhW85YpIJWAt1G5oSKskAiEA6VrPKjlEsv7lKl+Z2D3rfDdrS+ynAoN0j7cDRamza4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328400},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"c2504b9cd958410d7771bfabb7f340d769c55dac","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.1.4_1784798809274_0.5121547341823776","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@mockflow/mockflow-bridge","version":"0.1.5","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.1.5","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"5766a1737afd64f405e5d5d9a093f6d08162ed57","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.1.5.tgz","fileCount":40,"integrity":"sha512-ZdmqkS5mqX0zjRKO8BtD4pTz1jGaotx7/i3DNYV+DPIksicDJ+Nl4bGXUmfqvLaiy38+0Ot+Wq66/D53XPO1kw==","signatures":[{"sig":"MEUCIFBzXxB8IgmU8/vjkWhqf64jFfcUEW5xbAdy39ZEyy3KAiEAtCvt+Fh5YD907rpF4bNNy6voZ9SiXKuzuwJvh77MCX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":342378},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"54293e5290596a9febbd16e378ffb3375bf135be","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.1.5_1784815425155_0.4215226223465298","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@mockflow/mockflow-bridge","version":"0.1.6","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.1.6","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"6304184682f1199fb8f0b53442c05a5d3c030325","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.1.6.tgz","fileCount":40,"integrity":"sha512-GucT3SLMvpH+G4KCgpXxyzP9elR76puUs5QzKwa+9dIdl5cCCQ0kKUNQMthxNmz5Yca8FHucuwSrJppJhtD2EA==","signatures":[{"sig":"MEYCIQD9vd2Gn7P1yHgsfI/9r6y+Y1o2lIHdlDik4QuvfoYelwIhAPud8GNpbM0QD8B5sxkRMX8enQdLM7C93XqjMcHWLSjD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":342374},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"27d608038a90a1ce330c42b9c21ad5f3baa80ad2","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.1.6_1784816273329_0.46237178006787927","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@mockflow/mockflow-bridge","version":"0.1.7","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.1.7","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"f3d3bf8b3e8264fb7536164c2fe58d71aeeeb7f5","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.1.7.tgz","fileCount":40,"integrity":"sha512-9Ajb+CbZEVW/Tg8cW50emQWWBxTklQLR/pHAZHd7/tyBmUu74cUbhf7E6Wo7IxPJOyxwCbbTJSD128kjSt7sdA==","signatures":[{"sig":"MEQCIDV6TRKKGEIX3ekNXTBNH4pWDnj7pDBH3jVu5itGCIvUAiAHQkID0WVVVpsd5sj0L1boOPp2NCF7muAITRc5fi2z/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344322},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"9358a76bf2d9cbe4adc073f80da2b5a7bfae40f0","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.1.7_1784818222448_0.3397946054605614","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@mockflow/mockflow-bridge","version":"0.1.8","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.1.8","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"1390a6aa36f224e1949330023caecc43a5c8e24f","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.1.8.tgz","fileCount":40,"integrity":"sha512-PfFi1a5gbqvWQEsm4i1vYCa/5zKt0IyZMH1tGl2ZwmAvipDA/njxzedAzDKGgkYRRN3RtelbATPuDgEJbc0Kdw==","signatures":[{"sig":"MEQCIGLg8DtgFmcYNykMAFgFFNrTE6Zo6AgijRjBidnkzhVjAiA2gvfYuMeqwi0EFDTR9BCdznCdmf3dV9ybl+C2sdNzgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350427},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"0234cd4e7d233d2fec8727205217a4a46da99b3c","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.1.8_1784821880356_0.4092691495152576","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@mockflow/mockflow-bridge","version":"0.1.9","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.1.9","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"8ddbde2553bd13e143d15454169f203e34577576","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.1.9.tgz","fileCount":40,"integrity":"sha512-T8VDRRepzjbQ+mKWW3owNPTFZNq/8Hsvf/xuq0Pi95Rd9rudsYl38axJKZQIEZUnhBc2EyGUWJzom/QkK03tVg==","signatures":[{"sig":"MEUCIQC6TN4vS+w+TPygPvf3I2/MUmyo+e/qPTGbvMRjuMjiaAIgdqvoF3vc91rFh8HHhZHqymjmfc5Gvp4+ZKMcCAIT3KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":352997},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"ca40e01b7bba9c4f0fb46aaf4199b81eff1e76de","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.1.9_1784853251481_0.6255451223948616","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@mockflow/mockflow-bridge","version":"0.2.0","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.0","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"22eac580c9f26e885c18378441a413671322d3b8","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.0.tgz","fileCount":40,"integrity":"sha512-tXM/qc+USxAnF+FN9oeOsLu69ERKwWFKvv6noPypT2vvH1FFS2Kxf82BkGnmvm2Ue2ERBCK8k3BJfKh0RZ5sxw==","signatures":[{"sig":"MEUCIQC57VO2zfvmunsmGyOXIE3EOV8uVMMnW0tDMrloiPmwLAIgGRMx3dXrdWhe6ppqPGBApznEa3wCOcnG12QvC4kJjnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":353759},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"2e7b6eb26831645012fed4b7ca4ec707fb2a7421","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.0_1784866448629_0.2818201598359815","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@mockflow/mockflow-bridge","version":"0.2.1","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.1","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"c7bf8f2bb8e08c97e511d6f85024b988dcb978ed","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.1.tgz","fileCount":40,"integrity":"sha512-cVKiI6d1/FEiC1BswepmdW+Ed5Tab2N4S+gC/X9IYcxfaY4V5ZmVEN5hrFkKogY3GJuJrXSzolYN+D+C1y3lWw==","signatures":[{"sig":"MEUCIGNEh4iDFLQj7nIgISs7k+bFO38Op5/0hBEqw0J2CmrnAiEAxfX82DNEWiE1k4Wh1XIbYAJ5DnPWnj0i/z0jrgtGRz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":361723},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"ec71196543d832827059d398e74d9dd743fc59b4","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.1_1784891542385_0.6565204530873219","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@mockflow/mockflow-bridge","version":"0.2.2","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.2","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"b3c71ba6cc1b91b35810c9386125ae5cf58ee39a","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.2.tgz","fileCount":40,"integrity":"sha512-P6UnTxafsAMxKQ6T6INo2IUc+9R6PQe8ktXf5gWg6ExG1yBk3eL4mTDdN1vz4zqKoL48m2xvMe4UCag6WV43Hg==","signatures":[{"sig":"MEUCIDRZm5iwRCIhtrK3/Rvt+fJcdBG7mQoE986q9Kglc3CaAiEAkeb3AZn3mrZqi2m+4daHiewxV68BViWqQd1NF17Eos0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":366268},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"3e29d62993fdd846c3fd95d83197812e1fd2abc0","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.2_1784895894187_0.8412979220658885","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@mockflow/mockflow-bridge","version":"0.2.3","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.3","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"389f1f280f6691fa7828415665134e9cc281810f","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.3.tgz","fileCount":40,"integrity":"sha512-YikZ0FPbiGp6b74k4fS0cWU6JposRUgY2ofo7iRFas92jmF2kNQCx5IT6HpZAMMv+YmjGI8vmmW4HY/E3cHZ0g==","signatures":[{"sig":"MEYCIQDbuJh1YESEmjJNW6QsrBtGrKv3IFKrShCIPIaAEWw8EAIhAI/k66f7oTWlQ48MWtEuBTbdRB2Nx70vz26yFwfT21ZU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434441},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"8f3e5192d43fe23b788e509afa9a8eba10297d92","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.3_1785056757339_0.7034218373754535","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@mockflow/mockflow-bridge","version":"0.2.4","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.4","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"b9146ec80bd34656c52158e06e708cc8802141e7","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.4.tgz","fileCount":41,"integrity":"sha512-GPUTspqWLfkNXS3+4dH0LgCTrQWJlkM0BDnQuIahOinpWCoCeUewyMlc2WUnOXo3R4BgpwMIStq+cYJOac+/Gw==","signatures":[{"sig":"MEUCIAQWnSFqJLfKteT2Nu37BPDe+0Kqo3ciTQOfzBU5cqVBAiEA9yqnkDTGif3Us1lL2aiZGJsacbc0IgOut2jU2ayxElE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486996},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"37c0bb032cb71d0677557ac9e1605920beaa35a5","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.4_1785153961813_0.6314376537598543","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@mockflow/mockflow-bridge","version":"0.2.5","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.5","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"509f9fa7a060f8bac08562f2c3c2b2192018c766","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.5.tgz","fileCount":41,"integrity":"sha512-ltXHXSSlv9k8vw73Bd/h8/ls7v2c601hcPWj//lm5Y7xGL0EKkZV/AbFyVdhHqvWC3ui4604Gz1iINa/aitTvg==","signatures":[{"sig":"MEQCIFqlYlQ9s3aPyHGD9pPvLpr9UMavPm1dBrURD9VL6iFYAiAzmCb5G38QSew4JPGwTKOv979z5LTIysldntDojg3dGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490445},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"1e50ae8097448264fbfd6bb35a14d987912fcc6f","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.5_1785162747467_0.6709225188345365","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@mockflow/mockflow-bridge","version":"0.2.6","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.6","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"3ebb647efbe513d4a4b773369c650bab3313cca3","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.6.tgz","fileCount":41,"integrity":"sha512-8QvPu0hf+J3u+9BouHKYYAFA5XSSC6fwLT8a1H6o60iHVQJRHK23KZD8IEsCK/QjuEQk5uFvEfHfK/Q8UYB1Rg==","signatures":[{"sig":"MEQCIDisZlmrOyLWaPZWSoU1PxgEiVxv5BbVuMoMc70EZqflAiBxaJaUnCAJuS0KbfltpmY8Bo3n3mgkYLqo6h2vXl7uqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490445},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"5e36f160bb2fdfadcf7a16146a47c65c8121add0","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.6_1785171117846_0.3695675887202319","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@mockflow/mockflow-bridge","version":"0.2.7","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.7","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"702bad46bd70d703217197dfe56a8b27c5fc492a","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.7.tgz","fileCount":41,"integrity":"sha512-JV534XMSuYfAJ/RqqUzbFQUahP2kABPQsYW5k55llLjbOYwdOgP1JgjFjV4x1y5b3IMCGIYUuy4EIVXeHZo89Q==","signatures":[{"sig":"MEYCIQCy7YwMy4EVdItgywitj5jMgtF1FSkkLjeLztBLbgN15gIhAO/LHTO5D1jl3k5auduIwy8j3L0ADiTUFPATGX4Hvq4/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":512604},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"b92fc55e2abaef0e7af35d3dcbb26154a0c5f72b","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.7_1785334640902_0.49977926414243834","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@mockflow/mockflow-bridge","version":"0.2.8","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.8","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"def3180577fa92d22dde327cb020ed6f58bff171","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.8.tgz","fileCount":41,"integrity":"sha512-TMkQfd6nIBIynuMaPx83QqweAZWXcaMKY/RZX1zBFMOS4f0an/+HBAT6ajNleDyDV5QwiEnYwXsjsKpg1zvnCw==","signatures":[{"sig":"MEUCIBc6CKT6PSRvUWYoMDFDwuIXOjXvzJegzM1XrivRlBAMAiEAuHSvlDV7odYPUBmt8mCkIFPXKDo99TqXiHjfQNOxB0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519233},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"c73eefcec05145ff739ba443515b9b3b55a053a7","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.8_1785464939992_0.05982327586975278","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@mockflow/mockflow-bridge","version":"0.2.9","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.2.9","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"897aaaab407c77f1bd6ac8be58a9ebcf28db56e0","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.2.9.tgz","fileCount":41,"integrity":"sha512-ueLsnYXo/07NpoHU8eOnqaka7ul36SQQkBp/MrvQctLUfhSOseZkj696S2a0B0eIngdeoe5Qp4J3rw6TBDIICQ==","signatures":[{"sig":"MEUCIQCnNMSv+lkqKIGbFsBYzK3OBNUIoSU1QT77OXX6X/hu+AIgG7yvhDQRd1dUlK/MlJ9GbjFj9mB94K0XoGZ6sz7F1Xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521722},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"db150e4f32e76602a91a4b353241f4c4dba59600","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.2.9_1785493567632_0.006453388728480336","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@mockflow/mockflow-bridge","version":"0.3.0","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.3.0","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"7d8f774b0a74c785176dca3158eff2fa82b4de99","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.3.0.tgz","fileCount":41,"integrity":"sha512-sO1hSMpfVUYs6kKFcXzf1876g/j8ZkSeG0Ur6yPXmfmwXuLydnYOmjOChL2UiLH9zd80LtK3KLbFWljpNanleQ==","signatures":[{"sig":"MEYCIQDLtl/wm8c7Q55sNcEnQq2ixpAJ7uwVCCVVQc0aowUPEwIhAIxftKJwJNgwN9V58pmY5XbOnCM3u+PMr0BBqh3soROe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522898},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"993ffa1c4b58cf5926742d2b01fbfbc1677f6711","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.3.0_1785687768464_0.8396304786784854","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@mockflow/mockflow-bridge","version":"0.3.1","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.3.1","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"68d4d4fbf13b3f8e3d557e3d93df6f9146e7968f","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.3.1.tgz","fileCount":41,"integrity":"sha512-tHzi6AXo2c7sxElk9EXtVAYr5WAryJHSs5pUzC65Qx/ulN60+43a6dNKf81FcxoLu0gwCFDmmgLDxQuWNfaXwg==","signatures":[{"sig":"MEQCIF7kilpErt/8EbhxRRuYv+C2P2eTnF6Hb/nNp5G945ztAiBDSuRzD+HCJwIG7wS3+8wp/0ryh51r4dXiuYKUphBgsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553399},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"084256a8d07dec5424a4ef61c9b0ba83ecf0f815","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.3.1_1786160588255_0.8592245559585294","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@mockflow/mockflow-bridge","version":"0.3.2","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.3.2","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"72c3556f30e440941c4c765ddeb292a81c5f9285","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.3.2.tgz","fileCount":41,"integrity":"sha512-U0eGFyi/RihSbMMAWAVM7tg8fcslTpYVMSZwgK+EllU8ya4IyproSeXbKbHLmh9HnwWATBOKb9ZiJVIBiu5kLw==","signatures":[{"sig":"MEYCIQDjQ2CaG8cYp1giGY2IzbgEPmsd7vTarpJNDKHRhauJhAIhALaer3mhh6cpFSVQkupsl4OdiPu2VHIE+D6neIBtr1L9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":556548},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"1c3ccff7fe6e20f149c82b6fa0ec0f40b3db0441","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.3.2_1786551320557_0.5479738695558956","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@mockflow/mockflow-bridge","version":"0.3.3","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.3.3","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"429d4be38bc2a343dea9e6b1c3dd07eb7ac842d3","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.3.3.tgz","fileCount":41,"integrity":"sha512-swzDdK18mqGqCiyMUNp8Zym7jXXdWuIDl7R0FUfZG/ukgkAwO60ad3VQprOqWvy126p0L+DjveLoewX/2OxEWQ==","signatures":[{"sig":"MEYCIQC7UAbfhIqHplJpeZOsY28KZKX5DLoQxty7btWrVtCyYwIhANh1h+2G9nO91OfHcDgHn8wDxsHXHIggvrBBQeEu/zfq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":563569},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"10de4e154805bc9e03021b135b6c6b9c2e82a14c","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.3.3_1786695057430_0.2688374109418654","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@mockflow/mockflow-bridge","version":"0.3.5","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.3.5","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"homepage":"https://github.com/mockflow/mockflow-bridge#readme","bugs":{"url":"https://github.com/mockflow/mockflow-bridge/issues"},"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"89afe88f2cedd292b75e07f144a1d9b6a3c2ac92","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.3.5.tgz","fileCount":41,"integrity":"sha512-XdRiQsK8QX15CRMCUFdKJoBy4yNRzkUsnHlGhwN6axGIH2d0IdaDYC8FUhLPWPPdGPYTsio7xeKkgcv+ruAY6g==","signatures":[{"sig":"MEQCIEwQJUgkQyOtGRmzNLNIBZyH3yfO4i4+29uMiGbuJel+AiAVGh23CldJY3KsqOWZ0tQ/unb+CKlwOFlE3Amm4d+CoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":564361},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"d963556f3d24fe8e1480fe99e749e933ea0fc7e4","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"repository":{"url":"git+https://github.com/mockflow/mockflow-bridge.git","type":"git"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.3.5_1786772665207_0.1358247049076564","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@mockflow/mockflow-bridge","version":"0.3.6","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.3.6","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"homepage":"https://github.com/mockflow/mockflow-bridge#readme","bugs":{"url":"https://github.com/mockflow/mockflow-bridge/issues"},"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"65688789b124cdcf21a4953b2463d235033b903d","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.3.6.tgz","fileCount":41,"integrity":"sha512-DkeRjqrepMa7uC+z8f45jYcmBwoKCWvRdy9X7Yomlfzhp+xqLBURD4ls3F1VZUxJImZZsTQZ2sdGEGtde+aMqQ==","signatures":[{"sig":"MEQCICZVKqJbmZjNAzBUj/CW6DIunJYLfm2r1Rhd2tsL2silAiAhjK7kH9b6B38Ch7zyJf4CneE3150PbTRgKoiu1HsWPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":565133},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"8c9d7311889b48abbd24dcb1210a481c84e60b98","scripts":{"test":"npm run check && npm run canary","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"repository":{"url":"git+https://github.com/mockflow/mockflow-bridge.git","type":"git"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.3.6_1786855621175_0.07467760553884806","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@mockflow/mockflow-bridge","version":"0.3.7","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.3.7","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"homepage":"https://github.com/mockflow/mockflow-bridge#readme","bugs":{"url":"https://github.com/mockflow/mockflow-bridge/issues"},"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"c33c6308659019f036ddafaa70f39eae9ed58a9d","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.3.7.tgz","fileCount":44,"integrity":"sha512-tHCoLtlqN8st9ndxasfBkuzrZZHtLBDfvFn4quXVbzjivZoVxl572QrXn3Of5cWBymggTOfcHnTgZqoeK/adtQ==","signatures":[{"sig":"MEUCIBIIMYpzGzx2MQai1+LPET9Gr64rGQGHJEGHrxqZPbFmAiEAifKK1pLfReMNKb15vHxdTRCYuzKJ62Q0wMfQaEpAZSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607073},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"7b3d64e15c40be4712dd555ed25ec542f87b6072","scripts":{"test":"npm run check && npm run canary && npm run verdicts","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/agents/turnRunner.js && node --check src/agents/runtimeHealth.js && node --check src/agents/universal.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js","verdicts":"node test/turn-verdicts.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"repository":{"url":"git+https://github.com/mockflow/mockflow-bridge.git","type":"git"},"_npmVersion":"10.8.2","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.3.7_1786871165441_0.1747818733290365","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@mockflow/mockflow-bridge","version":"0.3.9","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.3.9","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"homepage":"https://github.com/mockflow/mockflow-bridge#readme","bugs":{"url":"https://github.com/mockflow/mockflow-bridge/issues"},"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"04d10d96867219cea4f9884239a20d57bdca4637","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.3.9.tgz","fileCount":44,"integrity":"sha512-sxD7wQq9SulTus8N0oE89MIn8zdleW0Zc/BKVsrtXJ+wYDiajPv7JPw2ucJU5eiz+9jjai/h+cEYOhzZ0EETcQ==","signatures":[{"sig":"MEQCICr2UlMKsLFeoZteixrskdprKc5cGalVNxPT2Te/sYF2AiArW3UpEcgNd3PPmFw1zrPP6fd4qOGIHAT0Y10GglUrFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608734},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"61062cdf55d4a8418c13a784a5d2979da03e35c9","scripts":{"test":"npm run check && npm run canary && npm run verdicts","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/agents/turnRunner.js && node --check src/agents/runtimeHealth.js && node --check src/agents/universal.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js","verdicts":"node test/turn-verdicts.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"repository":{"url":"git+https://github.com/mockflow/mockflow-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.3.9_1787590751668_0.42929604115951303","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@mockflow/mockflow-bridge","version":"0.4.0","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.4.0","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"homepage":"https://github.com/mockflow/mockflow-bridge#readme","bugs":{"url":"https://github.com/mockflow/mockflow-bridge/issues"},"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"e04f72b62fe053aca1cbbc69af19a22efbc1c1a2","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.4.0.tgz","fileCount":44,"integrity":"sha512-0r5l5aL4hs7UCdFqNVP21jfiJ0uwvtlNBcv+w+eRiwbbf1ERdbsU7Dcw0bXuOtuENAfLwdLuqdPZuVNH4dmLkA==","signatures":[{"sig":"MEYCIQCDgz0eQF4bfmh6uQvw6fmpxPcXyMecU+txTaKShHvT1QIhAIWHeHAsjOndg3465dnAt8b0fJtiXs6VFYLi2M6gwQzn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDYkWuxYb/yoo+Mn+2dbhNlvryhN1XKzfhnXQsb4Y7vIAiAsaA5MwgbmuuVASUoiYmQHArft08l3gTCpr1w+1s3Eig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":618718},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"faf16dc916ddb675f04304938c7acb2d5f313fbe","scripts":{"test":"npm run check && npm run canary && npm run verdicts","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/agents/turnRunner.js && node --check src/agents/runtimeHealth.js && node --check src/agents/universal.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js","verdicts":"node test/turn-verdicts.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"repository":{"url":"git+https://github.com/mockflow/mockflow-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.4.0_1788185584584_0.28206974872643054","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@mockflow/mockflow-bridge","version":"0.4.2","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.4.2","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"homepage":"https://github.com/mockflow/mockflow-bridge#readme","bugs":{"url":"https://github.com/mockflow/mockflow-bridge/issues"},"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"b7f81e5e267de3df521d854cb76d3402d6f77ece","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.4.2.tgz","fileCount":44,"integrity":"sha512-pA8TNu4gyASlzI2t/nGWxlkasyrPUmbBip9lZiE3KR02rJEe35wi0Dz79MmmOPf8qNA37ZvWKhLUuaHeMXk8Hg==","signatures":[{"sig":"MEYCIQCwRkFzc8/HT/FHc2W9D3pp7zMTcWBqFBaoG0u6DAr8xwIhAPgMzNEqm3raVhBSUBiG8fM0uj7qnLuqre398o5IHII4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDe7WDUIQaBg96r3cJ85uG5DE+WQOoTMtM0TOpJCkmvuwIgBX/f2DROG0DzQM1L/Ry31BwPr8P8yrH5vuhYgFg1LpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":661084},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"17bd239bb21acd139f06c493160dcab7e02880bc","scripts":{"test":"npm run check && npm run canary && npm run spawnpath && npm run verdicts","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/agents/turnRunner.js && node --check src/agents/runtimeHealth.js && node --check src/agents/universal.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js","verdicts":"node test/turn-verdicts.js","spawnpath":"node test/spawn-path.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"repository":{"url":"git+https://github.com/mockflow/mockflow-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.4.2_1788678615126_0.2648050942570521","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@mockflow/mockflow-bridge","version":"0.4.4","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","_id":"@mockflow/mockflow-bridge@0.4.4","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"homepage":"https://github.com/mockflow/mockflow-bridge#readme","bugs":{"url":"https://github.com/mockflow/mockflow-bridge/issues"},"bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"dist":{"shasum":"bb6bc32cb9290fc84e5c8975dfba73c325273949","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.4.4.tgz","fileCount":44,"integrity":"sha512-CIBVpexuhG7Vydy0VksJ4g7lMIrtAcLlZkYDuwtj5mOAdK0IENhcyLA/Zbne+2y8nRNJy5vq/EJqgWYzJVtyfQ==","signatures":[{"sig":"MEQCIGNP/94Tg7PIJT9chv+cbtSwrrLDP0Hu4A8UNz+SrhAUAiByJBDZ1U3ma1PM3oq7dvk2Rw0Oz4T5C/DEJuLMVGV87g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD2nX+Sa70P5H48YceEfIpE3suoXjgVw7sEZcNLBU3vRgIhAM+LWa/YcvhbrWkWG7NtDs/8BNI2jGYh9bJqAy1WQEih","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":673196},"main":"src/daemon.js","engines":{"node":">=18"},"gitHead":"f07e9d224f821e595fd9e74b678ca66458d3daca","scripts":{"test":"npm run check && npm run canary && npm run spawnpath && npm run verdicts","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/agents/turnRunner.js && node --check src/agents/runtimeHealth.js && node --check src/agents/universal.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js","verdicts":"node test/turn-verdicts.js","spawnpath":"node test/spawn-path.js"},"_npmUser":{"name":"produle","email":"hello@mockflow.com"},"repository":{"url":"git+https://github.com/mockflow/mockflow-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mockflow-bridge_0.4.4_1788690876518_0.6191086918703601","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"_id":"@mockflow/mockflow-bridge@0.4.6","bin":{"mockflow-bridge":"bin/mockflow-bridge.js"},"bugs":{"url":"https://github.com/mockflow/mockflow-bridge/issues"},"dist":{"shasum":"950a9ece6efa4579e22b6422a9cc66cac33e548a","tarball":"https://registry.npmjs.org/@mockflow/mockflow-bridge/-/mockflow-bridge-0.4.6.tgz","fileCount":44,"integrity":"sha512-w3NRpRmGH9hmdcGiLAHyMY7LGu6Ex4OM70wcb8yFa4OGrx8afKp85ntkXWTAXRAGofHmhSKUOPEATUDeR82C5g==","signatures":[{"sig":"MEYCIQDKGI0tSDxDcfAX3lWuD4GcNBiE5K8i9L7noJvjZGOnrwIhAJRXfoAgRhqjJho4ZVII0oIRMLeoXAyxbJuEagUsRk5c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICh/J7IFKXBNdTa0ZqKSqsmmr6NNruTR4RKLZTjHS8QUAiAC+ns9PAH3L/t820v//qlBH06cy/ZNS+yjnjXFPoFleg=="}],"unpackedSize":674087},"main":"src/daemon.js","name":"@mockflow/mockflow-bridge","author":{"name":"A Produle Systems Pvt Ltd"},"engines":{"node":">=18"},"gitHead":"bacbc579a6e41b92c7d3a3c6068b992e78254674","license":"MIT","scripts":{"test":"npm run check && npm run canary && npm run spawnpath && npm run verdicts","check":"node --check bin/mockflow-bridge.js && node --check src/config.js && node --check src/log.js && node --check src/debug.js && node --check src/ui.js && node --check src/cli.js && node --check src/agentPicker.js && node --check src/catalog.js && node --check src/boardHub.js && node --check src/mcpEndpoint.js && node --check src/agents/index.js && node --check src/agents/spawnPortable.js && node --check src/agents/claude.js && node --check src/agents/codex.js && node --check src/agents/opencode.js && node --check src/agents/health.js && node --check src/agents/turnRunner.js && node --check src/agents/runtimeHealth.js && node --check src/agents/universal.js && node --check src/updateCheck.js && node --check src/dashboard.js && node --check src/generationCap.js && node --check src/bridgeai/index.js && node --check src/bridgeai/providers/index.js && node --check src/bridgeai/providers/openrouter.js && node --check src/bridgeai/providers/azure.js && node --check src/bridgeai/providers/bedrock.js && node --check src/bridgeai/models.js && node --check src/bridgeai/client.js && node --check src/bridgeai/mcp.js && node --check src/bridgeai/tools.js && node --check src/bridgeai/attachments.js && node --check src/bridgeai/session.js && node --check src/bridgeai/run.js && node --check src/bridgeai/cli.js && node --check src/agentManager.js && node --check src/daemon.js && node --check src/stdioProxy.js && node --check browser/mockflow-bridge-client.js","start":"node bin/mockflow-bridge.js","canary":"node test/agent-canary.js","verdicts":"node test/turn-verdicts.js","spawnpath":"node test/spawn-path.js"},"version":"0.4.6","_npmUser":{"name":"produle","email":"hello@mockflow.com"},"homepage":"https://github.com/mockflow/mockflow-bridge#readme","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"repository":{"url":"git+https://github.com/mockflow/mockflow-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","directories":{},"maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mockflow-bridge_0.4.6_1789835999363_0.8511321389534865"}}},"time":{"created":"2026-07-22T12:23:30.128Z","modified":"2026-09-19T16:39:59.639Z","0.1.2":"2026-07-22T12:23:30.478Z","0.1.3":"2026-07-22T12:30:15.511Z","0.1.4":"2026-07-23T09:26:49.415Z","0.1.5":"2026-07-23T14:03:45.282Z","0.1.6":"2026-07-23T14:17:53.527Z","0.1.7":"2026-07-23T14:50:22.665Z","0.1.8":"2026-07-23T15:51:20.524Z","0.1.9":"2026-07-24T00:34:11.673Z","0.2.0":"2026-07-24T04:14:08.843Z","0.2.1":"2026-07-24T11:12:22.531Z","0.2.2":"2026-07-24T12:24:54.338Z","0.2.3":"2026-07-26T09:05:57.511Z","0.2.4":"2026-07-27T12:06:01.978Z","0.2.5":"2026-07-27T14:32:27.680Z","0.2.6":"2026-07-27T16:51:58.016Z","0.2.7":"2026-07-29T14:17:21.086Z","0.2.8":"2026-07-31T02:29:00.170Z","0.2.9":"2026-07-31T10:26:07.783Z","0.3.0":"2026-08-02T16:22:48.635Z","0.3.1":"2026-08-08T03:43:08.488Z","0.3.2":"2026-08-12T16:15:20.752Z","0.3.3":"2026-08-14T08:10:57.571Z","0.3.5":"2026-08-15T05:44:25.361Z","0.3.6":"2026-08-16T04:47:01.348Z","0.3.7":"2026-08-16T09:06:05.609Z","0.3.9":"2026-08-24T16:59:11.821Z","0.4.0":"2026-08-31T14:13:04.693Z","0.4.2":"2026-09-06T07:10:15.247Z","0.4.4":"2026-09-06T10:34:36.620Z","0.4.6":"2026-09-19T16:39:59.466Z"},"bugs":{"url":"https://github.com/mockflow/mockflow-bridge/issues"},"author":{"name":"A Produle Systems Pvt Ltd"},"license":"MIT","homepage":"https://github.com/mockflow/mockflow-bridge#readme","keywords":["mockflow","ideaboard","mcp","ai-agent","diagram","bridge"],"repository":{"url":"git+https://github.com/mockflow/mockflow-bridge.git","type":"git"},"description":"Connects your own AI agent (Claude Code or Codex) to a live MockFlow board open in the browser. The agent is the brain, the browser tab is the hands, the bridge is the nervous system between them.","maintainers":[{"name":"produle","email":"hello@mockflow.com"}],"readme":"# MockFlow Bridge\n\n**Use your own AI to draw on your MockFlow board.**\n\n```bash\nnpm i -g @mockflow/mockflow-bridge   # install once\nmockflow-bridge                      # start it, every time you want to use it\nmockflow-bridge update               # later on, get the newest version\n```\n\nLeave that window open, then enter the pairing code it shows in your MockFlow\nboard. Node.js 18+ and an AI assistant are needed first &mdash; see\n[Getting started](#getting-started).\n\n---\n\nMockFlow Bridge is a small program you run on your own computer. It connects your\nown AI to MockFlow IdeaBoard opened in your browser, so the AI can create diagrams,\nwireframes, mindmaps, plans and charts directly on your board while you watch.\n\n\"Your own AI\" can be an assistant app you already use (like Claude Code or\nCodex), or **BridgeAI** &mdash; a ready-to-go option built into the bridge that\njust needs an API key. Either way:\n\n- **It uses your AI, not ours.** The thinking happens through your own AI, so it\n  does not spend your MockFlow AI credits.\n- **Your files stay with you.** If you point it at a folder, the AI can read\n  your documents to build boards from them. Those files are never uploaded.\n  Only the finished drawing is saved to your board.\n\n---\n\n# Getting started\n\n## What you need\n\n**1. Node.js, version 18 or newer.** This is what runs the bridge.\nDownload it from [nodejs.org](https://nodejs.org) and install it. To check it\nworked, open Terminal (macOS) or Command Prompt (Windows) and type:\n\n```bash\nnode --version\n```\n\nYou should see a number like `v20.11.0`. Anything 18 or higher is fine.\n\n**2. One AI to do the thinking.** You have two kinds of choice &mdash; pick\nwhichever suits you:\n\n**Option A: an assistant app you install.** Best if you already pay for one.\n\n| Assistant | Support | Install it with | Then sign in with |\n| --- | --- | --- | --- |\n| Claude Code | Well tested | `npm i -g @anthropic-ai/claude-code` | `claude` |\n| Codex | Well tested | `npm i -g @openai/codex` | `codex login` |\n| opencode | Well tested | see [opencode.ai](https://opencode.ai) | `opencode` |\n| Gemini CLI | Basic | `npm i -g @google/gemini-cli` | `gemini` |\n| Cursor CLI | Experimental | see [cursor.com/cli](https://cursor.com/cli) | `cursor-agent login` |\n\nRun the install command in your terminal, then run the sign-in command once and\nfollow the prompts. You only do this the first time.\n\n**Well tested** assistants get the full experience: streamed replies, a live\ntool timeline, session memory. **Basic** ones draw on the board and answer in\nchat, but without streaming, timeline rows or session memory &mdash; and they\nneed one extra wiring command the bridge prints at startup (for Gemini:\n`gemini mcp add -s user -t http --trust mockflow <endpoint>`).\n**Experimental** means it has not been verified live yet.\n\n**Option B: BridgeAI, built in.** Nothing extra to install &mdash; BridgeAI comes\nwith the bridge. Instead of an app, it uses an API key from an AI provider you\nhave an account with (OpenRouter is the easiest). Best if you don't already have\none of the apps above. Setup is a couple of extra lines &mdash; see\n[Using BridgeAI](#using-bridgeai-no-app-to-install) below.\n\nFor how the assistant apps differ, see [AGENT-COMPARISON.md](AGENT-COMPARISON.md).\n\n**3. A MockFlow board** open in your browser at\n[app.mockflow.com](https://app.mockflow.com).\n\n## Step 1: Install and start the bridge\n\nInstall it once, then start it with the short command every time after. This is\nthe reliable way, especially on macOS: it launches your AI the same way you set\nit up, so its sign-in is found.\n\n```bash\nnpm i -g @mockflow/mockflow-bridge   # once\nmockflow-bridge                      # every time you want to start it\n```\n\n**Updating it later.** You install once; after that the npm line is not something\nyou need to remember. Run `mockflow-bridge update` whenever you want the newest\nversion &mdash; it checks npm, and installs only if there is actually something newer.\nAdd `--check` to look without installing. The bridge also watches for new versions\nwhile it runs, so you can just press `u` in its window, or start it with\n`--auto-update` and never think about it again. See [Updating](#updating).\n\nLeave this window open. It stays running and shows a **pairing code** that looks\nlike `941027`. If you close the window, the connection stops.\n\n> Using BridgeAI instead of an app? Set your API key first &mdash; see\n> [Using BridgeAI](#using-bridgeai-no-app-to-install).\n\n## Step 2: Connect your board\n\n1. Open your board in the browser.\n2. Open **Ask Mida** and click **Connect Local Agent** at the top.\n3. Type in the pairing code from your terminal.\n\nThe button turns green when it works, and you will see a message confirming\nwhich AI is connected. You only pair once per computer.\n\n## Step 3: Ask for something\n\nType into Ask Mida as you normally would:\n\n- \"Draw a flowchart of our onboarding process\"\n- \"Make a mindmap about our product launch\"\n- \"Create a kanban board for this sprint\"\n- \"Add a Blocked column to that kanban\"\n\nThe reply and the drawing both come from your own AI.\n\n## Using BridgeAI (no app to install)\n\nBridgeAI is built into the bridge. Instead of a separate app, it connects to an\nAI provider using an **API key** you already have (or can create in a couple of\nminutes). The easiest provider is **OpenRouter** &mdash; one key gives you access\nto many models, and a good default is chosen for you.\n\n**1. Get an API key.** Create one at\n[openrouter.ai](https://openrouter.ai) (or use Azure OpenAI / Amazon Bedrock if\nyour company uses those &mdash; see the table below). It looks like a long string\nof letters and numbers.\n\n**2. Tell the bridge your key**, then start it, in the same terminal window:\n\nOn macOS or Linux:\n\n```bash\nexport OPENROUTER_API_KEY=\"paste-your-key-here\"\nmockflow-bridge\n```\n\nOn Windows (Command Prompt):\n\n```bash\nsetx OPENROUTER_API_KEY \"paste-your-key-here\"\n```\n\nthen close that window, open a new one, and run `mockflow-bridge`.\n\nThat's it &mdash; BridgeAI now answers, and you pair your board exactly like\n[Step 2](#step-2-connect-your-board). With OpenRouter a sensible model is used\nautomatically, so you don't have to choose one.\n\n> Tip: setting the key with `export` lasts only until you close the terminal\n> window. To avoid repeating it, add that same `export` line to your\n> `~/.zshrc` (macOS) or `~/.bashrc` (Linux) file. `setx` on Windows already\n> remembers it.\n\n**Choosing a different model (optional):**\n\n```bash\nmockflow-bridge bridgeai            # show your provider and current model\nmockflow-bridge bridgeai model      # pick from a list, or type a model name\n```\n\n**Providers BridgeAI supports:**\n\n| Provider | Key(s) to set | Notes |\n| --- | --- | --- |\n| OpenRouter | `OPENROUTER_API_KEY` | Easiest. Many models, one key. A default model is chosen for you. |\n| Azure OpenAI | `AZURE_OPENAI_API_KEY` and `AZURE_OPENAI_ENDPOINT` | For Azure customers. Your \"model\" is your deployment name &mdash; set it with `mockflow-bridge bridgeai model <name>`. |\n| Amazon Bedrock | `AWS_BEARER_TOKEN_BEDROCK` and `AWS_REGION` | For AWS customers. Pick a model with `mockflow-bridge bridgeai model`. |\n\n## Using your own files\n\nBy default the AI cannot see any of your files. If you want it to read a\nfolder, start the bridge like this instead:\n\n```bash\nmockflow-bridge --workspace ~/Documents/my-project\n```\n\nReplace the path with the folder you want it to read. Now you can ask:\n\n- \"Read this folder and draw the project structure as a mindmap\"\n- \"Turn the meeting notes in this folder into a summary board\"\n\nYour files are read on your computer and are never uploaded to MockFlow. Only\nthe drawing that appears on your board is saved.\n\n## If you set up more than one AI\n\nIf you have several assistant apps installed (and/or BridgeAI configured), the\nfirst start asks which one to use and remembers your answer. To see or change it\nlater:\n\n```bash\nmockflow-bridge agent            # which are set up, which one is in use\nmockflow-bridge agent codex      # switch to that one and remember it\nmockflow-bridge agent bridgeai   # switch to BridgeAI\nmockflow-bridge agent pick       # choose from a list\nmockflow-bridge agent clear      # forget the choice (ask again next start)\n```\n\nSwitching takes effect immediately: if a bridge is already running, it changes\nthe AI in place, so you do not have to stop it or pair your board again. Open\nchats simply start a fresh conversation on the new AI.\n\nTo use a different AI for one run only, without changing the saved choice:\n\n```bash\nmockflow-bridge --agent codex\n```\n\nThey differ in small ways (web search, attachments, reading your files). See\n[AGENT-COMPARISON.md](AGENT-COMPARISON.md).\n\n## Everyday commands\n\n```bash\nmockflow-bridge           # start it (leave the window open)\nmockflow-bridge status    # is it running, which boards are connected\nmockflow-bridge update    # install the newest version (--check to only look)\nmockflow-bridge agent     # show / change which AI answers\nmockflow-bridge bridgeai  # show / change the BridgeAI provider and model\nmockflow-bridge reset     # clear saved state and start clean\nmockflow-bridge help      # all commands and options\n```\n\nTo stop it, press `Ctrl + C` in the terminal window, or just close the window.\n\n## Starting over\n\nIf something looks stuck or you want a clean slate:\n\n```bash\nmockflow-bridge reset          # AI choice, attachments, cached catalog, debug dumps\nmockflow-bridge reset --all    # the above plus the MCP token and paired boards\n```\n\nIt lists what it will delete and asks before deleting anything (`--yes` skips\nthe question). Plain `reset` keeps your MCP token and pairings, so your setup\nkeeps working; `--all` means you have to re-run the `mcp add` line the bridge\nprints and pair your boards again.\n\n## If something is not working\n\n| What you see | What to do |\n| --- | --- |\n| \"no supported agent CLI found\" | Set up one of the AIs above: install an assistant app and sign in, or configure BridgeAI with an API key. |\n| \"BridgeAI needs a provider key\" / \"no model set\" | Set an API key (e.g. `OPENROUTER_API_KEY`), then run `mockflow-bridge bridgeai model`. See [Using BridgeAI](#using-bridgeai-no-app-to-install). |\n| Your AI replies that it is *not signed in* | Sign the app in once in a terminal (e.g. run `claude`), then start the bridge again with `mockflow-bridge`. |\n| The pairing code is not accepted | Codes change each time the bridge restarts. Use the one currently shown in your terminal. |\n| The button will not turn green | Check the terminal window is still open and shows the bridge running. |\n| \"Port 21196 is in use\" | Another bridge is already running. Close that terminal window and try again. |\n| Nothing appears on the board | Make sure the board tab is open and in front. The bridge draws on the board you are looking at. |\n| The AI says it cannot read your files | File access is off unless you start with `--workspace`, see above. |\n\n---\n\n# Advanced\n\nEverything below is for developers and power users. You do not need any of it\nfor normal use.\n\n## Using the bridge from your own terminal agent\n\nInstead of chatting in Ask Mida, you can point your agent at the bridge and ask\nit to draw from wherever you work. The bridge prints the exact command to run at\nstartup, including a secret token, so copy it from there:\n\n```bash\nclaude mcp add --transport http -s user mockflow http://127.0.0.1:21196/mcp/<token>\ncodex mcp add mockflow --url http://127.0.0.1:21196/mcp/<token>\ngemini mcp add -s user -t http --trust mockflow http://127.0.0.1:21196/mcp/<token>\n```\n\n(For Gemini the same command also powers in-editor chat &mdash; its basic-tier\nturns reach the board through this wiring, so `--trust` matters: without it\nheadless turns stall on a tool-approval prompt nobody is there to answer.)\n\nClients that only speak stdio use `mockflow-bridge stdio` as the command.\n\nThe token gates the endpoint. Without it any local process, including any web\npage you have open, could drive your board and read data from your connected\nsources. It is stored in `~/.mockflow/bridge-mcp-token` and survives restarts.\n\n## Commands, options and environment variables\n\n| Command | What it does |\n| --- | --- |\n| `mockflow-bridge` | Start the daemon |\n| `mockflow-bridge status` | Running? which agent, which boards |\n| `mockflow-bridge update [--check]` | Install the newest published version; `--check` only reports |\n| `mockflow-bridge agent [id\\|pick\\|clear]` | Show or change the AI (live-switches a running bridge) |\n| `mockflow-bridge bridgeai [provider\\|model] [id]` | Show or change the BridgeAI provider / model |\n| `mockflow-bridge reset [--all] [--yes]` | Delete saved state in `~/.mockflow` |\n| `mockflow-bridge stdio` | stdio MCP shim to a running daemon |\n| `mockflow-bridge help` | All of the above |\n\n| Option | What it does |\n| --- | --- |\n| `--workspace <path>` | Let the agent read one folder (off by default) |\n| `--agent <id>` | `claude`, `codex`, `opencode`, `gemini`, `cursor` or `bridgeai`, for this run only |\n| `--auto-update` | Install a newer published bridge when one appears, then restart into it. Off by default; never runs mid turn, and never uses sudo (see Updating) |\n| `MFBRIDGE_PORT` | Port (default 21196) |\n| `MFBRIDGE_AGENT` | Same as `--agent` |\n| `MFBRIDGE_WORKSPACE` | Same as `--workspace` |\n| `MFBRIDGE_ALLOW_WRITE=1` | Allow the agent to write files and run shell commands |\n| `MFBRIDGE_CATALOG_URL` | Tool catalog endpoint override |\n| `MFBRIDGE_ALLOWED_ORIGINS` | Extra comma separated WebSocket origins |\n| `MFBRIDGE_PLAN_CONCURRENCY` | How many items of a board plan are drawn at once (default 3, max 6; `1` renders them one after another) |\n| `MFBRIDGE_DEV=1` | Dev mode (allow any WebSocket origin) |\n| `MFBRIDGE_DEBUG=1` | Print what each render produced (see Debugging) |\n| `MFBRIDGE_AUTO_UPDATE=1` | Same as `--auto-update` |\n| `MFBRIDGE_NO_UPDATE_CHECK=1` | Never check npm for a newer version |\n\n### Updating\n\nYou install once. After that, pick whichever of these suits you &mdash; you never have\nto retype the npm line:\n\n```bash\nmockflow-bridge update          # check npm and install if there is something newer\nmockflow-bridge update --check  # just tell me, do not install\n```\n\n`update` asks npm directly (not a cached answer), says `Already on the newest\npublished version` when there is nothing to do, and prints npm's own output while\nit installs. Run it with the bridge stopped, or stop and restart the bridge\nafterwards &mdash; a running one keeps serving the old version until it is restarted.\n\nThe bridge also checks for new versions while it runs, so you do not have to\nremember to look. When one exists:\n\n- Press `u` in the dashboard to install it and restart. Your board stays open and reconnects by itself.\n- Or start with `--auto-update` to have it done unattended.\n\nBoth of those wait for any turn in flight to finish first, because a turn is an agent\ndrawing on a live board.\n\nAll three (the `update` command, `u`, `--auto-update`) only install when this copy is\nan ordinary `npm i -g` that your user can write to. Two cases where it is not, and\nwhat happens instead:\n\n- **Installed with `sudo`** (root owns the files): the bridge will not escalate on its\n  own, so it shows the exact command instead, `sudo npm i -g @mockflow/mockflow-bridge`.\n- **A git clone or `npm link`**: never overwritten, since that would discard your\n  changes. It says `git pull`.\n\nRunning via `npx` needs nothing: it fetches the latest on every run.\n\n**BridgeAI** (the built-in OpenAI-compatible agent) reads these:\n\n| Variable | What it does |\n| --- | --- |\n| `OPENROUTER_API_KEY` | Enable the OpenRouter provider |\n| `AZURE_OPENAI_API_KEY` + `AZURE_OPENAI_ENDPOINT` | Enable Azure OpenAI (endpoint like `https://my-resource.openai.azure.com`) |\n| `AWS_BEARER_TOKEN_BEDROCK` + `AWS_REGION` | Enable Amazon Bedrock (Mantle) |\n| `MFBRIDGE_PROVIDER` | Force the active provider (`openrouter`, `azure`, `bedrock`) |\n| `MFBRIDGE_MODEL` | Force the model for this run |\n\nBridgeAI is only offered when at least one provider key is set, so an\nunconfigured BridgeAI never disturbs the assistant-app auto-select. Provider and\nmodel choices are saved in `~/.mockflow/` and reused on the next start.\n\n## How it works\n\n```\nClaude Code / Codex / opencode / Gemini / BridgeAI   (the brain: generates component JSON)\n        | MCP  (POST /mcp/<token>, or the stdio shim)\n        v\nmockflow-bridge daemon                (engine: validate, map args -> gdata)\n        | ws://127.0.0.1:21196/board  (pairing code + token, Origin allow-list)\n        v\nMockFlow editor tab                   (the hands: showResults() draws it live,\n                                       saves via the user's own session)\n```\n\n- **Engine** (this package, changes rarely): transports, pairing, board\n  targeting, per-board serialization, the generic mapping machinery.\n- **Catalog** (data, changes often): tool definitions, descriptions, schemas and\n  mapping rules, fetched at startup from\n  `https://app.mockflow.com/call/api/mcpcatalog/ideaboard` and cached in\n  `~/.mockflow/`. New AI components therefore ship without an npm release. If\n  the endpoint is unreachable and there is no cache yet, startup fails with a\n  clear message.\n\n**Board targeting.** Renders go to an explicitly selected board\n(`select_board`), else the tab the user is focused on, else the only connected\ntab. Calls against the same board are serialized, so two agents on one board\nnever interleave a draw.\n\n## Tools\n\n- All catalog `render_*` tools (flowchart, mindmap, kanban, gantt, charts,\n  timeline, storyboard, whiteboard, and so on), drawn live on the board.\n- `render_wireframelite` / `render_prototypelite`: the agent writes HTML, the\n  connected tab converts it into an editable wireframe or clickable prototype\n  through the user's own session.\n- `modify_component`: change something already on the board in place, keeping\n  its position, size and identity. Re-rendering a component duplicates it,\n  this edits it.\n- `plan_board`: propose a multi-part board. The list appears in the user's tab,\n  the agent's turn ends there, and the user's Generate Board click generates and\n  arranges the chosen items. The items are drawn several at a time (one agent run\n  each, `MFBRIDGE_PLAN_CONCURRENCY` of them at once) and arranged in the order the\n  user confirmed, not the order they happen to finish.\n- `layout_board`: bento layout plus titled section wrap of the batch just drawn.\n- `read_board`: the live board (components, ids, labels, positions, sizes),\n  including unsaved state.\n- `list_boards` / `select_board`: multi-board targeting.\n- `list_source_tools` / `describe_source_tool` / `call_source_tool`: read the\n  user's connected sources (Notion, Jira, Slack, GitHub and so on) through their\n  MockFlow account. Read only: these tools cannot post, create or delete.\n\n## Local agent chat (Mode B)\n\nThe same connection works in reverse: Ask Mida, Concept Builder and each\ncomponent's QuickSettings AI route to your own AI instead of MockFlow's\nserver AI.\n\n```\nyou type in Mida  ->  board socket  ->  bridge spawns the agent headless\n                                            | (render tools via MCP loopback)\n   reply streams into the Mida bubble  <-   | draws land on the same board\n```\n\n- **Read only by default**: the spawned agent gets file reading plus the board\n  tools. `MFBRIDGE_ALLOW_WRITE=1` opts into writing and shell.\n- **Memory per surface**: sessions are keyed per board and per surface, so Ask\n  Mida and each Concept Builder keep separate conversations. Only the first\n  message pays the cold start.\n- **Attachments stay local**: a file attached in Mida is sent over the local\n  socket, saved in `~/.mockflow/attachments/<board>/`, and read by the agent.\n  Nothing is uploaded, and the files are deleted when the board tab closes.\n- **Connected sources** are fetched by MockFlow, since the credentials live in\n  the user's account, and Concept Builder chat is stored in that account so\n  builders remember across sessions and teammates see the same conversation.\n- One turn at a time per board. If the bridge drops mid-turn the editor falls\n  back to MockFlow's server AI so the message is never lost.\n\n## Adding another agent\n\nAgents are plugins in `src/agents/` (Claude Code, Codex, opencode, the\nuniversal tier, and BridgeAI &mdash; our own OpenAI-compatible agent, which\nspawns no external binary). There are two ways in:\n\n- **Universal tier** (the cheap way): one config entry in\n  `src/agents/universal.js` &mdash; a launch command, a prompt flag, a few quirk\n  flags. No output parser: turn success is judged by the MCP calls the bridge\n  itself serves, plain stdout lines double as the chat reply, and the user\n  wires the CLI to the bridge once with its own `mcp add`. Run\n  `test/fake-chat.js` and `test/fake-compgen.js` live to earn the \"(basic)\"\n  label; until then the entry is labelled \"(experimental)\".\n- **Full adapter** (the premium way): a single file plus a line in\n  `src/agents/index.js`, adding streamed replies, a tool timeline, session\n  resume and per-turn tool allowlists. The contract, the capability flags and\n  the fallbacks are documented at the top of `src/agents/index.js`; the full\n  live battery in `test/` gates the listing.\n\nEither way, nothing else in the bridge, the editor or the server changes. How\nthe tiers behave and what each gives up is in\n[AGENT-COMPARISON.md](AGENT-COMPARISON.md).\n\n## Security\n\n- The daemon binds `127.0.0.1` only.\n- `POST /mcp/<token>` is token gated and sends no CORS headers, so a web page\n  cannot reach it.\n- The `/board` WebSocket enforces an Origin allow-list (MockFlow editor\n  origins; extend with `MFBRIDGE_ALLOWED_ORIGINS`).\n- Pairing: the daemon prints a one-time code, and a tab that presents it gets a\n  durable token stored in `~/.mockflow/bridge-tokens.json`.\n- Connected sources are read only, so an agent cannot post to Slack or create a\n  Jira issue on the user's behalf.\n- The bridge never holds MockFlow credentials. Your BridgeAI provider key stays\n  in your own environment and is used only to call that provider.\n\n## Development\n\n```bash\nnpm install\nnpm run check                      # syntax-check the package\nMFBRIDGE_DEV=1 npm start           # dev daemon (any WS origin allowed)\n\n# End-to-end without a browser (these spawn a real headless agent):\nnode test/fake-tab.js <pairing-code-from-daemon>          # stand-in board tab\nnode test/fake-chat.js <pairing-code> \"your message\"      # Mode B chat loop\n```\n\n`browser/mockflow-bridge-client.js` is the reference page-side client used by the\ntest pages; keep its wire-protocol behavior in sync with the MockFlow editor's\nown client when changing frames.\n\n### Debugging what a render produced\n\nEverything an agent generates is handed to the board tab and vanishes from view,\nso debug tracing prints it instead. It is **on automatically when the catalog\npoints at a local MockFlow** (`MFBRIDGE_CATALOG_URL=http://localhost:...`); force\nit with `MFBRIDGE_DEBUG=1`, or off with `MFBRIDGE_DEBUG=0`. The startup info card\nshows the current state.\n\nWith it on, every `render_*` call prints the agent's payload (the full HTML for\n`render_wireframelite` / `render_prototypelite`, the args JSON otherwise) and\ndumps it to `~/.mockflow/bridge-debug/`. Open the dumped `.html` in a browser:\nwhat you see there is what the MockFlow capture sees, so missing icons or charts\nare visible immediately.\n\nFor `render_wireframelite` the tab also returns a conversion report from the\nMockFlow server (`aitoolsManager.htmlToPaintObjects`, logged server-side as\n`[html2paintobjects]`). It is printed as `DIAGNOSTICS`, saved next to the HTML,\nand appended to the tool result so the AGENT sees it too:\n\n| Field | Reading it |\n| --- | --- |\n| `paintObjectCount` | components the board received. A real screen is dozens; single digits = the HTML was too sparse. |\n| `captureMode` | `charts` = chart-aware capture ran, `plain` = no chart markup was found. |\n| `canvasCount` / `chartComponents` | canvases in the HTML vs charts actually captured. A gap = the Chart.js contract was broken (missing `data-chart-component`, script tag, or init). |\n| `svgIconRefs` / `inlineSvgs` / `iconFontTags` | how the agent expressed icons. Only `svgIconRefs` (FontAwesome SVG URLs in `<img>`) convert; inline `<svg>` and `<i class=\"fa…\">` capture as nothing. |\n| `warnings` | the plain-language version of all of the above. |\n\nWeak wireframes are almost always an HTML problem, not a conversion problem: the\ntool description in the catalog is what teaches the agent to emit dense sections,\nFontAwesome SVG icons and Chart.js canvases, so fix it there (the catalog is\nfetched from MockFlow, no npm publish needed) and re-read the diagnostics.\n","readmeFilename":"README.md"}