Skip to content

Conversation

@jakedahn
Copy link
Contributor

@jakedahn jakedahn commented Sep 15, 2025

  • Added a patterns API endpoint to toolshed, to be able to serve patterns as static assets to Shell
  • Shell now uses the HttpProgramResolver and the patterns api endpoint, instead of the static cache

Summary by cubic

Adds a Quicklaunch toolbar to the default space charm and serves the default app via a new Toolshed patterns API, replacing the old static recipe. This makes spawning common charms one click and decouples Shell from bundled assets.

  • New Features

    • New default-app.tsx with Quicklaunch buttons for Chatbot, Chatbot Tools, Chatbot Outliner, Chatbot Note, and Note.
    • Charms table with Visit and Remove actions.
    • Toolshed /api/patterns/{filename} endpoint (CORS-enabled) serving TS/TSX from packages/patterns; works in dev and binaries.
  • Refactors

    • Shell now loads the default app via HttpProgramResolver from Toolshed (API_URL), replacing static cache usage.
    • Removed static recipes/charm-list.tsx and its asset entry; build now includes packages/patterns in the Toolshed binary.

@linear
Copy link

linear bot commented Sep 15, 2025

Copy link
Collaborator

@jsantell jsantell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!


try {
// Security: validate filename doesn't contain path traversal
if (filename.includes("..") || filename.includes("/")) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

const url = new URL(filename, this.baseUrl);

try {
return await Deno.readFile(url);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we want to cache this somewhere so that we don't have to hit the disk as often, potential followup

@jakedahn jakedahn merged commit 6e1ce58 into main Sep 15, 2025
7 checks passed
@jakedahn jakedahn deleted the ct-887 branch September 15, 2025 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants