@pixeldojo/mcp 0.15.1 → 0.16.0

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.
package/dist/cli.cjs CHANGED
@@ -3052,6 +3052,7 @@ var skills_exports = {};
3052
3052
  __export(skills_exports, {
3053
3053
  ALL_SKILLS: () => ALL_SKILLS,
3054
3054
  HOSTED_SKILLS: () => HOSTED_SKILLS,
3055
+ TOOL_ANNOTATIONS: () => TOOL_ANNOTATIONS,
3055
3056
  adSkill: () => adSkill,
3056
3057
  audioSkill: () => audioSkill,
3057
3058
  campaignSkill: () => campaignSkill,
@@ -3070,10 +3071,21 @@ __export(skills_exports, {
3070
3071
  saveWorkflowSkill: () => saveWorkflowSkill,
3071
3072
  statusSkill: () => statusSkill,
3072
3073
  storyboardSkill: () => storyboardSkill,
3074
+ toolListing: () => toolListing,
3073
3075
  uploadSkill: () => uploadSkill,
3074
3076
  upscaleSkill: () => upscaleSkill,
3075
3077
  videoSkill: () => videoSkill
3076
3078
  });
3079
+ function toolListing(skill) {
3080
+ const { title, ...hints } = TOOL_ANNOTATIONS[skill.name];
3081
+ return {
3082
+ name: skill.name,
3083
+ title,
3084
+ description: skill.description,
3085
+ inputSchema: skill.inputJsonSchema,
3086
+ annotations: { title, ...hints }
3087
+ };
3088
+ }
3077
3089
  function findHostedSkill(name) {
3078
3090
  const wanted = name.replace(/^pixeldojo:/, "pixeldojo_");
3079
3091
  return HOSTED_SKILLS.find((s) => s.name === wanted);
@@ -3082,7 +3094,7 @@ function findSkill(name) {
3082
3094
  const wanted = name.replace(/^pixeldojo:/, "pixeldojo_");
3083
3095
  return ALL_SKILLS.find((s) => s.name === wanted);
3084
3096
  }
3085
- var ALL_SKILLS, isLocalPathField, HOSTED_SKILLS;
3097
+ var ALL_SKILLS, isLocalPathField, HOSTED_SKILLS, render, read, TOOL_ANNOTATIONS;
3086
3098
  var init_skills = __esm({
3087
3099
  "src/skills/index.ts"() {
3088
3100
  init_generate();
@@ -3137,6 +3149,29 @@ var init_skills = __esm({
3137
3149
  }
3138
3150
  };
3139
3151
  });
3152
+ render = (title) => ({ title, readOnlyHint: false, destructiveHint: false, openWorldHint: false });
3153
+ read = (title) => ({ title, readOnlyHint: true, destructiveHint: false, openWorldHint: false });
3154
+ TOOL_ANNOTATIONS = {
3155
+ pixeldojo_generate: render("Generate image or video"),
3156
+ pixeldojo_edit: render("Edit image"),
3157
+ pixeldojo_character: render("Consistent character image"),
3158
+ pixeldojo_storyboard: render("Storyboard preview video"),
3159
+ pixeldojo_upscale: render("Upscale image or video"),
3160
+ pixeldojo_audio: render("Generate music, speech or sound"),
3161
+ pixeldojo_video: render("Change, animate or extend video"),
3162
+ pixeldojo_ad: render("Make video ad"),
3163
+ pixeldojo_campaign: render("Make product launch campaign"),
3164
+ pixeldojo_film: render("Make short film"),
3165
+ pixeldojo_episode: render("Make faceless video"),
3166
+ pixeldojo_run_workflow: render("Run saved workflow"),
3167
+ pixeldojo_upload: render("Upload local file"),
3168
+ pixeldojo_save_workflow: { ...render("Save workflow"), destructiveHint: true },
3169
+ pixeldojo_status: read("Check job status"),
3170
+ pixeldojo_campaign_status: read("Check campaign status"),
3171
+ pixeldojo_library: read("Search media library"),
3172
+ pixeldojo_list_workflows: read("List saved workflows"),
3173
+ pixeldojo_from_url: { ...read("Read product page"), openWorldHint: true }
3174
+ };
3140
3175
  }
3141
3176
  });
3142
3177
  function makeAttributedClient(options) {
@@ -3190,7 +3225,7 @@ function makeRedactedLogger(target = console) {
3190
3225
  }
3191
3226
 
3192
3227
  // src/server.ts
3193
- var PACKAGE_VERSION = "0.15.1" ;
3228
+ var PACKAGE_VERSION = "0.16.0" ;
3194
3229
  var SERVER_INSTRUCTIONS = "PixelDojo generates images, video, audio and short films across 100+ models, billed in credits from the connected PixelDojo account. A job that runs past the 30-second wait returns a jobId to check later; check it rather than submitting again, since every new submission is charged. Generated asset URLs are deleted one hour after they are created, so download anything the user wants to keep. Finished films are the exception and stay in the account library.";
3195
3230
  function buildServer(options) {
3196
3231
  if (!options.apiKey) {
@@ -3215,11 +3250,7 @@ function buildServer(options) {
3215
3250
  );
3216
3251
  server.setRequestHandler(types_js.ListToolsRequestSchema, async () => {
3217
3252
  return {
3218
- tools: ALL_SKILLS.map((skill) => ({
3219
- name: skill.name,
3220
- description: skill.description,
3221
- inputSchema: skill.inputJsonSchema
3222
- }))
3253
+ tools: ALL_SKILLS.map(toolListing)
3223
3254
  };
3224
3255
  });
3225
3256
  server.setRequestHandler(types_js.CallToolRequestSchema, async (req) => {