├── .github └── workflows │ └── validate.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── LICENSE.md ├── README.md ├── epicshop ├── .diffignore ├── .npmrc ├── Dockerfile ├── epic-me │ ├── .gitignore │ ├── .npmrc │ ├── .prettierignore │ ├── README.md │ ├── app │ │ ├── app.css │ │ ├── entry.server.tsx │ │ ├── root.tsx │ │ ├── routes.ts │ │ └── routes │ │ │ ├── authorize.tsx │ │ │ ├── db-api.tsx │ │ │ ├── healthcheck.tsx │ │ │ ├── index.tsx │ │ │ ├── introspect.tsx │ │ │ ├── mcp-ui-renderer.tsx │ │ │ └── test-auth.tsx │ ├── eslint.config.js │ ├── package-lock.json │ ├── package.json │ ├── public │ │ └── favicon.ico │ ├── react-router.config.ts │ ├── tsconfig.cloudflare.json │ ├── tsconfig.json │ ├── tsconfig.node.json │ ├── types │ │ ├── helpers.ts │ │ └── worker-configuration.d.ts │ ├── vite.config.ts │ ├── workers │ │ ├── app.ts │ │ └── db │ │ │ ├── client │ │ │ ├── README.md │ │ │ ├── dist │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── schema.d.ts │ │ │ │ └── schema.js │ │ │ ├── index.ts │ │ │ ├── package.json │ │ │ └── schema.ts │ │ │ ├── index.ts │ │ │ ├── migrations.ts │ │ │ └── utils.ts │ └── wrangler.jsonc ├── fix-watch.js ├── fix.js ├── fly.yaml ├── mcp-dev │ ├── dev.js │ └── package.json ├── package-lock.json ├── package.json ├── post-set-playground.js ├── setup-custom.js ├── setup.js ├── test.js └── update-deps.sh ├── eslint.config.js ├── exercises ├── 01.simple │ ├── 01.problem.raw-html │ │ ├── README.mdx │ │ ├── package.json │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.json │ │ ├── types │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ └── tools.ts │ │ └── wrangler.jsonc │ ├── 01.solution.raw-html │ │ ├── README.mdx │ │ ├── package.json │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.json │ │ ├── types │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ └── tools.ts │ │ └── wrangler.jsonc │ ├── FINISHED.mdx │ └── README.mdx ├── 02.consistent │ ├── 01.problem.remote-dom │ │ ├── README.mdx │ │ ├── package.json │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.json │ │ ├── types │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 01.solution.remote-dom │ │ ├── README.mdx │ │ ├── package.json │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.json │ │ ├── types │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── FINISHED.mdx │ └── README.mdx ├── 03.complex │ ├── 01.problem.iframe │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 01.solution.iframe │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 02.problem.ready │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 02.solution.ready │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 03.problem.sizing │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 03.solution.sizing │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 04.problem.dynamic-sizing │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 04.solution.dynamic-sizing │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── FINISHED.mdx │ └── README.mdx ├── 04.interactive │ ├── 01.problem.links │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 01.solution.links │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 02.problem.tools │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ ├── entry-viewer.tsx │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 02.solution.tools │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ ├── entry-viewer.tsx │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 03.problem.prompts │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ ├── entry-viewer.tsx │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 03.solution.prompts │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ ├── README.mdx │ │ │ │ │ ├── entry-viewer.tsx │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── FINISHED.mdx │ └── README.mdx ├── 05.advanced │ ├── 01.problem.tool-results │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ ├── entry-viewer.tsx │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 01.solution.tool-results │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ ├── entry-viewer.tsx │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 02.problem.render-data │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ ├── entry-viewer.tsx │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── 02.solution.render-data │ │ ├── README.mdx │ │ ├── app │ │ │ ├── app.css │ │ │ ├── components │ │ │ │ └── error-boundary.tsx │ │ │ ├── entry.server.tsx │ │ │ ├── root.tsx │ │ │ ├── routes.ts │ │ │ ├── routes │ │ │ │ ├── catch-all.tsx │ │ │ │ ├── healthcheck.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── ui │ │ │ │ │ ├── entry-viewer.tsx │ │ │ │ │ └── journal-viewer.tsx │ │ │ └── utils │ │ │ │ ├── mcp.ts │ │ │ │ └── misc.ts │ │ ├── package.json │ │ ├── react-router.config.ts │ │ ├── test │ │ │ ├── globalSetup.ts │ │ │ └── index.test.ts │ │ ├── tsconfig.cloudflare.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── types │ │ │ ├── env.d.ts │ │ │ ├── reset.d.ts │ │ │ └── worker-configuration.d.ts │ │ ├── vite.config.ts │ │ ├── vitest.config.ts │ │ ├── worker │ │ │ ├── db.ts │ │ │ ├── index.ts │ │ │ └── mcp │ │ │ │ ├── index.ts │ │ │ │ ├── prompts.ts │ │ │ │ ├── resources.ts │ │ │ │ ├── sampling.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ └── wrangler.jsonc │ ├── FINISHED.mdx │ └── README.mdx ├── FINISHED.mdx └── README.mdx ├── package.json ├── public ├── favicon.ico ├── favicon.svg ├── images │ └── instructor.png ├── logo.svg └── og │ ├── background.png │ └── logo.svg └── tsconfig.json /.github/workflows/validate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/.github/workflows/validate.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/.npmrc -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/.prettierignore -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/README.md -------------------------------------------------------------------------------- /epicshop/.diffignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/.diffignore -------------------------------------------------------------------------------- /epicshop/.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/.npmrc -------------------------------------------------------------------------------- /epicshop/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/Dockerfile -------------------------------------------------------------------------------- /epicshop/epic-me/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/.gitignore -------------------------------------------------------------------------------- /epicshop/epic-me/.npmrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/.npmrc -------------------------------------------------------------------------------- /epicshop/epic-me/.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/.prettierignore -------------------------------------------------------------------------------- /epicshop/epic-me/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/README.md -------------------------------------------------------------------------------- /epicshop/epic-me/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/app.css -------------------------------------------------------------------------------- /epicshop/epic-me/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/entry.server.tsx -------------------------------------------------------------------------------- /epicshop/epic-me/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/root.tsx -------------------------------------------------------------------------------- /epicshop/epic-me/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/routes.ts -------------------------------------------------------------------------------- /epicshop/epic-me/app/routes/authorize.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/routes/authorize.tsx -------------------------------------------------------------------------------- /epicshop/epic-me/app/routes/db-api.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/routes/db-api.tsx -------------------------------------------------------------------------------- /epicshop/epic-me/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- 1 | export async function loader() { 2 | return new Response('ok') 3 | } 4 | -------------------------------------------------------------------------------- /epicshop/epic-me/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/routes/index.tsx -------------------------------------------------------------------------------- /epicshop/epic-me/app/routes/introspect.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/routes/introspect.tsx -------------------------------------------------------------------------------- /epicshop/epic-me/app/routes/mcp-ui-renderer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/routes/mcp-ui-renderer.tsx -------------------------------------------------------------------------------- /epicshop/epic-me/app/routes/test-auth.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/app/routes/test-auth.tsx -------------------------------------------------------------------------------- /epicshop/epic-me/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/eslint.config.js -------------------------------------------------------------------------------- /epicshop/epic-me/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/package-lock.json -------------------------------------------------------------------------------- /epicshop/epic-me/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/package.json -------------------------------------------------------------------------------- /epicshop/epic-me/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/public/favicon.ico -------------------------------------------------------------------------------- /epicshop/epic-me/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/react-router.config.ts -------------------------------------------------------------------------------- /epicshop/epic-me/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /epicshop/epic-me/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/tsconfig.json -------------------------------------------------------------------------------- /epicshop/epic-me/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/tsconfig.node.json -------------------------------------------------------------------------------- /epicshop/epic-me/types/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/types/helpers.ts -------------------------------------------------------------------------------- /epicshop/epic-me/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /epicshop/epic-me/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/vite.config.ts -------------------------------------------------------------------------------- /epicshop/epic-me/workers/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/app.ts -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/client/README.md -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/client/dist/index.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/client/dist/index.d.ts -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/client/dist/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/client/dist/index.js -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/client/dist/schema.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/client/dist/schema.d.ts -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/client/dist/schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/client/dist/schema.js -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/client/index.ts -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/client/package.json -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/client/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/client/schema.ts -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/index.ts -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/migrations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/migrations.ts -------------------------------------------------------------------------------- /epicshop/epic-me/workers/db/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/workers/db/utils.ts -------------------------------------------------------------------------------- /epicshop/epic-me/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/epic-me/wrangler.jsonc -------------------------------------------------------------------------------- /epicshop/fix-watch.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/fix-watch.js -------------------------------------------------------------------------------- /epicshop/fix.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/fix.js -------------------------------------------------------------------------------- /epicshop/fly.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/fly.yaml -------------------------------------------------------------------------------- /epicshop/mcp-dev/dev.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/mcp-dev/dev.js -------------------------------------------------------------------------------- /epicshop/mcp-dev/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/mcp-dev/package.json -------------------------------------------------------------------------------- /epicshop/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/package-lock.json -------------------------------------------------------------------------------- /epicshop/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/package.json -------------------------------------------------------------------------------- /epicshop/post-set-playground.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/post-set-playground.js -------------------------------------------------------------------------------- /epicshop/setup-custom.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/setup-custom.js -------------------------------------------------------------------------------- /epicshop/setup.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/setup.js -------------------------------------------------------------------------------- /epicshop/test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/test.js -------------------------------------------------------------------------------- /epicshop/update-deps.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/epicshop/update-deps.sh -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/eslint.config.js -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/README.mdx -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/package.json -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/test/index.test.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/tsconfig.json -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/vitest.config.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/worker/db.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/worker/index.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.problem.raw-html/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.problem.raw-html/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/README.mdx -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/package.json -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/test/index.test.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/tsconfig.json -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/vitest.config.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/worker/db.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/worker/index.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/01.simple/01.solution.raw-html/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/01.solution.raw-html/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/01.simple/FINISHED.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/FINISHED.mdx -------------------------------------------------------------------------------- /exercises/01.simple/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/01.simple/README.mdx -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/README.mdx -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/package.json -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/test/index.test.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/tsconfig.json -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/vitest.config.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/worker/db.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/worker/index.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.problem.remote-dom/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.problem.remote-dom/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/README.mdx -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/package.json -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/test/index.test.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/tsconfig.json -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/vitest.config.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/worker/db.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/worker/index.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/02.consistent/01.solution.remote-dom/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/01.solution.remote-dom/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/02.consistent/FINISHED.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/FINISHED.mdx -------------------------------------------------------------------------------- /exercises/02.consistent/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/02.consistent/README.mdx -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/README.mdx -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/app.css -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/root.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/routes.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/package.json -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/react-router.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/test/index.test.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/tsconfig.json -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/types/env.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/vite.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/vitest.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/worker/db.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/worker/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.problem.iframe/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.problem.iframe/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/README.mdx -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/app.css -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/root.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/routes.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/package.json -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/react-router.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/test/index.test.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/tsconfig.json -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/types/env.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/vite.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/vitest.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/worker/db.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/worker/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/03.complex/01.solution.iframe/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/01.solution.iframe/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/README.mdx -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/app.css -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/root.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/routes.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/package.json -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/react-router.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/test/index.test.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/tsconfig.json -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/types/env.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/vite.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/vitest.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/worker/db.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/worker/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.problem.ready/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.problem.ready/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/README.mdx -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/app.css -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/root.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/routes.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/package.json -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/react-router.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/test/index.test.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/tsconfig.json -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/types/env.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/vite.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/vitest.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/worker/db.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/worker/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/03.complex/02.solution.ready/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/02.solution.ready/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/README.mdx -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/app.css -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/root.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/routes.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/package.json -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/react-router.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/test/index.test.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/tsconfig.json -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/types/env.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/vite.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/vitest.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/worker/db.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/worker/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.problem.sizing/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.problem.sizing/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/README.mdx -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/app.css -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/root.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/routes.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/package.json -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/react-router.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/test/index.test.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/tsconfig.json -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/types/env.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/vite.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/vitest.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/worker/db.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/worker/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/03.complex/03.solution.sizing/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/03.solution.sizing/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/README.mdx -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/app/app.css -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/app/root.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/app/routes.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/package.json -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/react-router.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/test/index.test.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/tsconfig.json -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/types/env.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/vite.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/vitest.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/worker/db.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/worker/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.problem.dynamic-sizing/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.problem.dynamic-sizing/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/README.mdx -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/app/app.css -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/app/root.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/app/routes.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/package.json -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/react-router.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/test/index.test.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/tsconfig.json -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/types/env.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/vite.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/vitest.config.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/worker/db.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/worker/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/03.complex/04.solution.dynamic-sizing/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/04.solution.dynamic-sizing/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/03.complex/FINISHED.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/FINISHED.mdx -------------------------------------------------------------------------------- /exercises/03.complex/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/03.complex/README.mdx -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/README.mdx -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/app.css -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/root.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/routes.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/package.json -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/react-router.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/test/index.test.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/tsconfig.json -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/types/env.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/vite.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/vitest.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/worker/db.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/worker/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.problem.links/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.problem.links/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/README.mdx -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/app.css -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/root.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/routes.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/package.json -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/react-router.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/test/index.test.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/tsconfig.json -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/types/env.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/vite.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/vitest.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/worker/db.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/worker/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/04.interactive/01.solution.links/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/01.solution.links/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/README.mdx -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/app.css -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/root.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/routes.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/routes/ui/entry-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/routes/ui/entry-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/package.json -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/react-router.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/test/index.test.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/tsconfig.json -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/types/env.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/vite.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/vitest.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/worker/db.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/worker/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.problem.tools/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.problem.tools/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/README.mdx -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/app.css -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/root.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/routes.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/routes/ui/entry-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/routes/ui/entry-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/package.json -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/react-router.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/test/index.test.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/tsconfig.json -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/types/env.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/vite.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/vitest.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/worker/db.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/worker/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/04.interactive/02.solution.tools/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/02.solution.tools/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/README.mdx -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/app.css -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/root.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/routes.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/routes/ui/entry-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/routes/ui/entry-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/package.json -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/react-router.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/test/index.test.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/tsconfig.json -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/types/env.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/vite.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/vitest.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/worker/db.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/worker/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.problem.prompts/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.problem.prompts/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/README.mdx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/app.css -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/components/error-boundary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/components/error-boundary.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/root.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/routes.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/routes/ui/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/routes/ui/README.mdx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/routes/ui/entry-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/routes/ui/entry-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/package.json -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/react-router.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/test/index.test.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/tsconfig.json -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/types/env.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/vite.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/vitest.config.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/worker/db.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/worker/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/04.interactive/03.solution.prompts/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/03.solution.prompts/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/04.interactive/FINISHED.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/FINISHED.mdx -------------------------------------------------------------------------------- /exercises/04.interactive/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/04.interactive/README.mdx -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/README.mdx -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/app.css -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/root.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/routes.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/routes/ui/entry-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/routes/ui/entry-viewer.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/package.json -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/react-router.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/test/index.test.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/tsconfig.json -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/types/env.d.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/vite.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/vitest.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/worker/db.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/worker/index.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.problem.tool-results/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.problem.tool-results/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/README.mdx -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/app.css -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/root.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/routes.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/routes/ui/entry-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/routes/ui/entry-viewer.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/package.json -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/react-router.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/test/index.test.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/tsconfig.json -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/types/env.d.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/vite.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/vitest.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/worker/db.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/worker/index.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/05.advanced/01.solution.tool-results/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/01.solution.tool-results/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/README.mdx -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/app.css -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/root.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/routes.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/routes/ui/entry-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/routes/ui/entry-viewer.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/routes/ui/journal-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/routes/ui/journal-viewer.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/package.json -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/react-router.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/test/index.test.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/tsconfig.json -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/types/env.d.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/vite.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/vitest.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/worker/db.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/worker/index.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.problem.render-data/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.problem.render-data/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/README.mdx -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/app.css -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/entry.server.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/root.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/routes.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/routes/catch-all.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/routes/catch-all.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/routes/healthcheck.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/routes/healthcheck.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/routes/index.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/routes/ui/entry-viewer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/routes/ui/entry-viewer.tsx -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/utils/mcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/utils/mcp.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/app/utils/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/app/utils/misc.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/package.json -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/react-router.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/react-router.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/test/globalSetup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/test/globalSetup.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/test/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/test/index.test.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/tsconfig.cloudflare.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/tsconfig.cloudflare.json -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/tsconfig.json -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/tsconfig.node.json -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/types/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/types/env.d.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/types/reset.d.ts: -------------------------------------------------------------------------------- 1 | import '@epic-web/config/reset.d.ts' 2 | -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/types/worker-configuration.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/types/worker-configuration.d.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/vite.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/vitest.config.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/worker/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/worker/db.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/worker/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/worker/index.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/worker/mcp/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/worker/mcp/index.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/worker/mcp/prompts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/worker/mcp/prompts.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/worker/mcp/resources.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/worker/mcp/resources.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/worker/mcp/sampling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/worker/mcp/sampling.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/worker/mcp/tools.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/worker/mcp/tools.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/worker/mcp/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/worker/mcp/ui.ts -------------------------------------------------------------------------------- /exercises/05.advanced/02.solution.render-data/wrangler.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/02.solution.render-data/wrangler.jsonc -------------------------------------------------------------------------------- /exercises/05.advanced/FINISHED.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/FINISHED.mdx -------------------------------------------------------------------------------- /exercises/05.advanced/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/05.advanced/README.mdx -------------------------------------------------------------------------------- /exercises/FINISHED.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/FINISHED.mdx -------------------------------------------------------------------------------- /exercises/README.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/exercises/README.mdx -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/package.json -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/public/favicon.svg -------------------------------------------------------------------------------- /public/images/instructor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/public/images/instructor.png -------------------------------------------------------------------------------- /public/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/public/logo.svg -------------------------------------------------------------------------------- /public/og/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/public/og/background.png -------------------------------------------------------------------------------- /public/og/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/public/og/logo.svg -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicweb-dev/mcp-ui/HEAD/tsconfig.json --------------------------------------------------------------------------------