{"_id":"@canvas-toolchain/command-and-control","_rev":"3-d322e3177f6f564ec12ad875b2bf1a58","name":"@canvas-toolchain/command-and-control","dist-tags":{"latest":"2.3.0"},"versions":{"2.2.0":{"name":"@canvas-toolchain/command-and-control","version":"2.2.0","license":"MIT","_id":"@canvas-toolchain/command-and-control@2.2.0","maintainers":[{"name":"rifter13","email":"krank13@hotmail.com"}],"homepage":"https://github.com/Ryfter/canvas-toolchain#readme","bugs":{"url":"https://github.com/Ryfter/canvas-toolchain/issues"},"bin":{"canvas-toolchain-server":"dist/index.js","canvas-toolchain-dashboard":"dist/cli/dashboard.js"},"dist":{"shasum":"03ec9326ce357749078e7e3c1665481f438ff412","tarball":"https://registry.npmjs.org/@canvas-toolchain/command-and-control/-/command-and-control-2.2.0.tgz","fileCount":595,"integrity":"sha512-6EFiv7/6MNS4gDa9s3Wtv0g7zBCCDkxdq8/O/N3g7/ewcQA1u1itf88KEASnNQUMObxi/gxyyulzhNlbai1ufA==","signatures":[{"sig":"MEQCIHYfyeCa0PafJ8Q1ksHZQq/BBFxmidxc8EfeoTpt2ZQ8AiBw1C4uFkNGLhkuK+a9Bzq8pSpCvegbcyzerNlkBxLfmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1218948},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"e36909b5f008546895553be90f711d3cca69571a","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('src/recommended-models.fallback.md','dist/recommended-models.fallback.md')\"","test:watch":"vitest","smoke:integration":"tsx scripts/smoke-integration.ts"},"_npmUser":{"name":"rifter13","email":"krank13@hotmail.com"},"repository":{"url":"git+https://github.com/Ryfter/canvas-toolchain.git","type":"git","directory":"packages/command-and-control"},"_npmVersion":"11.17.0","description":"Command & Control — MCP server that orchestrates the professor toolset with task-aware model routing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"^2.9.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@llamaindex/liteparse":"^2.0.5","@modelcontextprotocol/sdk":"^1.10.0","@canvas-toolchain/shared-llm":"2.2.0","@canvas-toolchain/module-video":"2.2.0","@canvas-toolchain/shared-types":"2.2.0","@canvas-toolchain/module-roster":"2.2.0","@canvas-toolchain/module-contract":"2.2.0","@canvas-toolchain/canvas-design-studio":"2.2.0","@canvas-toolchain/module-group-builder":"2.2.0","@canvas-toolchain/module-peerassessment":"2.2.0","@canvas-toolchain/module-oral-assessment":"2.2.0","@canvas-toolchain/curriculum-intelligence":"2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.2.6","pdf-lib":"^1.17.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/command-and-control_2.2.0_1787331937558_0.283687489332461","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"@canvas-toolchain/command-and-control","version":"2.2.1","license":"MIT","_id":"@canvas-toolchain/command-and-control@2.2.1","maintainers":[{"name":"rifter13","email":"krank13@hotmail.com"}],"homepage":"https://github.com/Ryfter/canvas-toolchain#readme","bugs":{"url":"https://github.com/Ryfter/canvas-toolchain/issues"},"bin":{"canvas-toolchain-server":"dist/index.js","canvas-toolchain-dashboard":"dist/cli/dashboard.js"},"dist":{"shasum":"558f821ab3050272b505547b89df3e5756151080","tarball":"https://registry.npmjs.org/@canvas-toolchain/command-and-control/-/command-and-control-2.2.1.tgz","fileCount":595,"integrity":"sha512-WKCpJyRpcFf/PY2D5mJKoh8WD2Atay5At8S9dG3X6OHmmkaVoUGbnZypLPxnll+yF80g7VkTjDnHVJfLQ5rwEA==","signatures":[{"sig":"MEUCIAXjBwzZGZ267SYz6HDixMoFtcttw70sRGzGvS9oZrZTAiEAuM5eX/aIN1M1CRaP3vU8+kJUSzOtEQ3H0I8O6nqokp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@canvas-toolchain%2fcommand-and-control@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1218735},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"a9d3f1e4548282b167e77f6868252828d804552a","scripts":{"dev":"tsx src/index.ts","test":"vitest run","build":"tsc && node -e \"require('fs').cpSync('src/recommended-models.fallback.md','dist/recommended-models.fallback.md')\"","test:watch":"vitest","smoke:integration":"tsx scripts/smoke-integration.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee2b3386-c22f-4ee4-84ac-aa90addac1d6"}},"repository":{"url":"git+https://github.com/Ryfter/canvas-toolchain.git","type":"git","directory":"packages/command-and-control"},"_npmVersion":"11.17.0","description":"Command & Control — MCP server that orchestrates the professor toolset with task-aware model routing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"^2.9.0","sqlite-vec":"^0.1.9","better-sqlite3":"^12.10.0","@llamaindex/liteparse":"^2.0.5","@modelcontextprotocol/sdk":"^1.10.0","@canvas-toolchain/shared-llm":"2.2.1","@canvas-toolchain/module-video":"2.2.1","@canvas-toolchain/shared-types":"2.2.1","@canvas-toolchain/module-roster":"2.2.1","@canvas-toolchain/module-contract":"2.2.1","@canvas-toolchain/canvas-design-studio":"2.2.1","@canvas-toolchain/module-group-builder":"2.2.1","@canvas-toolchain/module-peerassessment":"2.2.1","@canvas-toolchain/module-oral-assessment":"2.2.1","@canvas-toolchain/curriculum-intelligence":"2.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","vitest":"^3.2.6","pdf-lib":"^1.17.1","typescript":"^5.0.0","@types/node":"^20.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/command-and-control_2.2.1_1787343192704_0.08083541104164027","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@canvas-toolchain/command-and-control","license":"MIT","version":"2.3.0","description":"Command & Control — MCP server that orchestrates the professor toolset with task-aware model routing","type":"module","main":"dist/index.js","bin":{"canvas-toolchain-dashboard":"dist/cli/dashboard.js","canvas-toolchain-server":"dist/index.js"},"scripts":{"build":"tsc && node -e \"require('fs').cpSync('src/recommended-models.fallback.md','dist/recommended-models.fallback.md')\"","dev":"tsx src/index.ts","smoke:integration":"tsx scripts/smoke-integration.ts","test":"vitest run","test:watch":"vitest"},"dependencies":{"@canvas-toolchain/canvas-design-studio":"2.3.0","@canvas-toolchain/curriculum-intelligence":"2.3.0","@canvas-toolchain/module-contract":"2.3.0","@canvas-toolchain/module-group-builder":"2.3.0","@canvas-toolchain/module-oral-assessment":"2.3.0","@canvas-toolchain/module-peerassessment":"2.3.0","@canvas-toolchain/module-roster":"2.3.0","@canvas-toolchain/module-video":"2.3.0","@canvas-toolchain/shared-llm":"2.3.0","@canvas-toolchain/shared-types":"2.3.0","@llamaindex/liteparse":"^2.0.5","@modelcontextprotocol/sdk":"^1.10.0","better-sqlite3":"^12.10.0","sqlite-vec":"^0.1.9","yaml":"^2.9.0"},"devDependencies":{"@types/better-sqlite3":"^7.6.13","@types/node":"^20.0.0","pdf-lib":"^1.17.1","tsx":"^4.0.0","typescript":"^5.0.0","vitest":"^3.2.6"},"engines":{"node":">=20"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/Ryfter/canvas-toolchain.git","directory":"packages/command-and-control"},"gitHead":"73e54643f8f13130c999a6ed415e10239e16a7d0","types":"./dist/index.d.ts","_id":"@canvas-toolchain/command-and-control@2.3.0","bugs":{"url":"https://github.com/Ryfter/canvas-toolchain/issues"},"homepage":"https://github.com/Ryfter/canvas-toolchain#readme","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-WMnio3/wBWEy6iyTFvFHUPm5UGNDc45zb6XAIsuMoFiWl4yFKUJUfVp7W6yX6dIsvGDA6gtL0mPgkWdC/VwGqQ==","shasum":"933f63f7537b43285f1f66e136bf4ccf28c93de7","tarball":"https://registry.npmjs.org/@canvas-toolchain/command-and-control/-/command-and-control-2.3.0.tgz","fileCount":675,"unpackedSize":1438872,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@canvas-toolchain%2fcommand-and-control@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDkICv2HbLVDmjceSsWWsBr753OmeHDbcHALFD9p5I2fQIhAJ3WpyoLOpJ9QKGeOJxt7xb36Maa3h2vonXyKjaTXDq2"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ee2b3386-c22f-4ee4-84ac-aa90addac1d6"}},"directories":{},"maintainers":[{"name":"rifter13","email":"krank13@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/command-and-control_2.3.0_1788047027246_0.3510842585193559"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-21T17:05:37.371Z","modified":"2026-08-29T23:43:47.764Z","2.2.0":"2026-08-21T17:05:37.707Z","2.2.1":"2026-08-21T20:13:12.854Z","2.3.0":"2026-08-29T23:43:47.401Z"},"bugs":{"url":"https://github.com/Ryfter/canvas-toolchain/issues"},"license":"MIT","homepage":"https://github.com/Ryfter/canvas-toolchain#readme","repository":{"type":"git","url":"git+https://github.com/Ryfter/canvas-toolchain.git","directory":"packages/command-and-control"},"description":"Command & Control — MCP server that orchestrates the professor toolset with task-aware model routing","maintainers":[{"name":"rifter13","email":"krank13@hotmail.com"}],"readme":"ERROR: No README data found!","readmeFilename":""}