@chapterai/mcp 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +7 -24
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -26258,7 +26258,10 @@ var demoBrief = {
26258
26258
  kind: external_exports.enum(["image", "video"]).optional().describe(
26259
26259
  "video (the default) is a walkthrough; image is one checked screen, for a product update or a social post."
26260
26260
  ),
26261
- scenes: external_exports.array(external_exports.record(external_exports.unknown())).min(1).max(8).optional().describe(SCENES_DESCRIPTION)
26261
+ scenes: external_exports.array(external_exports.record(external_exports.unknown())).min(1).max(8).optional().describe(SCENES_DESCRIPTION),
26262
+ look: external_exports.string().trim().min(1).max(80).optional().describe(
26263
+ `One of the project's saved looks, by the name the user gave it ("Atlassian", "Dark"). Only when the user names a look; absent, the project's default look is used. An unknown name is refused with the names that exist.`
26264
+ )
26262
26265
  };
26263
26266
  var appPath = external_exports.string().min(1).max(240).describe(
26264
26267
  "Repository-relative app directory, e.g. packages/desktop. Use . only for a root app."
@@ -26268,14 +26271,13 @@ var requestId = external_exports.string().uuid().optional().describe(
26268
26271
  );
26269
26272
  var SHOWROOM_MCP_INSTRUCTIONS = `Chapter turns your product into demos: videos and images of the real app, made from its Showroom.
26270
26273
 
26271
- The Showroom is a running copy of one of the project's apps, built by Chapter from its source. An app has to be set up there before demos can be made of it.
26274
+ The Showroom is a running copy of one of the project's apps, built by Chapter from its source. An app has to be set up there before demos can be made of it, and that happens in the Chapter web app.
26272
26275
 
26273
26276
  - list_demo_apps: the project's apps, and whether each is set up.
26274
- - set_up_showroom: set an app up, or rebuild it from the latest code. Takes several minutes.
26275
26277
  - start_demo: make one video or image. start_demo_batch: make several from one request, kept together as a set.
26276
26278
  - get_demo, get_demo_batch: check progress and get the finished links.
26277
26279
 
26278
- Setting up and making demos are paid jobs that run in the background. Start them only when the user asks for one, and do not start a second to check on the first.`;
26280
+ Demos are paid jobs that run in the background. Start them only when the user asks for one, and do not start a second to check on the first.`;
26279
26281
  function showroomState(setup) {
26280
26282
  if (!setup) return "not set up";
26281
26283
  if (setup.status === "succeeded")
@@ -26286,7 +26288,7 @@ function showroomState(setup) {
26286
26288
  var demoCapabilities = [
26287
26289
  capability({
26288
26290
  name: "list_demo_apps",
26289
- description: "List the project's apps and whether each one is set up in the Showroom, the running copy of the app that demos are made from. Use before start_demo or set_up_showroom unless the target app directory is already known. If multiple apps match, ask which one the user wants.",
26291
+ description: "List the project's apps and whether each one is set up in the Showroom, the running copy of the app that demos are made from. Use before start_demo unless the target app directory is already known. If multiple apps match, ask which one the user wants.",
26290
26292
  tags: { externalSurfaceOnly: true },
26291
26293
  input: {},
26292
26294
  handler: async (_input, ctx) => {
@@ -26299,20 +26301,6 @@ var demoCapabilities = [
26299
26301
  };
26300
26302
  }
26301
26303
  }),
26302
- capability({
26303
- name: "set_up_showroom",
26304
- description: "Set an app up in the Showroom: Chapter builds the app from its source and gets it running in the cloud, which is what every demo of it is then made from. Use when the user asks to set up or add an app, or when list_demo_apps shows the app they want a demo of is not set up yet. This starts a paid asynchronous job that takes several minutes and returns immediately; an app already being set up is not started twice. Check progress with list_demo_apps. Setting up an app that is already ready rebuilds it from the latest code.",
26305
- tags: { write: true, externalSurfaceOnly: true },
26306
- input: { appPath, requestId },
26307
- handler: async (input, ctx) => {
26308
- if (!ctx.api.demos?.setup)
26309
- return { text: "Showroom setup is unavailable here." };
26310
- const run3 = await ctx.api.demos.setup(input);
26311
- return {
26312
- text: `Showroom setup ${run3.id} for ${input.appPath}: ${run3.status}. It takes several minutes. Use list_demo_apps to see when the app is ready.`
26313
- };
26314
- }
26315
- }),
26316
26304
  capability({
26317
26305
  name: "start_demo",
26318
26306
  description: "Generate ONE video or image demonstrating existing product functionality, made from the app's Showroom. Use when the user explicitly asks for a demo or product video, rather than a code change. When one request calls for several demos (one per customer, one per feature, one per week), do not call this repeatedly: call start_demo_batch once with all of them so they are kept together. This starts a paid asynchronous job and immediately returns a run ID. Pass a self-contained description and the app directory from list_demo_apps or the conversation. The project's Look decides the framing: whether the video opens on a title card, closes on the logo, and how scenes transition. Give a title when the user named the demo; it becomes the opening card. Pass scenes only when the user has laid out exactly what to show, shot by shot; otherwise the director writes the story from the prompt. Do not start another run to check progress; use get_demo. Slack-origin runs automatically send progress and the finished video link to their thread.",
@@ -28985,11 +28973,6 @@ function buildChapterApi(workspaceId) {
28985
28973
  return {
28986
28974
  demos: {
28987
28975
  listApps: () => c.demos.listApps.query({ workspaceId }),
28988
- setup: (input) => c.demos.setup.mutate({
28989
- ...input,
28990
- workspaceId,
28991
- requestId: input.requestId ?? randomUUID2()
28992
- }),
28993
28976
  start: (input) => c.demos.create.mutate({
28994
28977
  ...input,
28995
28978
  workspaceId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chapterai/mcp",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Chapter MCP server: set your app up in the Showroom and make demos of it",
5
5
  "type": "module",
6
6
  "bin": {