@pixeldojo/mcp 0.4.0 → 0.5.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.js CHANGED
@@ -1145,7 +1145,7 @@ var init_library = __esm({
1145
1145
  };
1146
1146
  librarySkill = {
1147
1147
  name: "pixeldojo:library",
1148
- description: "Search your own generation history (API/MCP outputs + results kept in the web app). Returns asset URLs to reuse as reference inputs.",
1148
+ description: "Search your media library: saved My Media items (permanent) and recent API/MCP generations (expire after 24h), newest first. Returns asset URLs to reuse as reference inputs. Keep a result forever with pixeldojo:save.",
1149
1149
  inputZod: InputSchema12,
1150
1150
  inputJsonSchema: InputJsonSchema12,
1151
1151
  allowedModels: [],
@@ -1154,6 +1154,52 @@ var init_library = __esm({
1154
1154
  };
1155
1155
  }
1156
1156
  });
1157
+ async function run13(input, ctx) {
1158
+ const res = await ctx.client.saveMedia({
1159
+ url: input.url,
1160
+ prompt: input.prompt,
1161
+ tool_name: input.tool_name,
1162
+ modality: input.modality,
1163
+ job_id: input.job_id
1164
+ });
1165
+ return {
1166
+ kind: "text",
1167
+ text: `Saved to My Media (permanent): ${res.url}
1168
+ It will appear at https://pixeldojo.ai/my-images and in pixeldojo:library searches.`
1169
+ };
1170
+ }
1171
+ var InputSchema13, InputJsonSchema13, saveSkill;
1172
+ var init_save = __esm({
1173
+ "src/skills/save.ts"() {
1174
+ InputSchema13 = z.object({
1175
+ url: z.string().url().describe("The asset URL to save (image or video)."),
1176
+ prompt: z.string().optional().describe("The prompt that produced it \u2014 makes it findable in the library later."),
1177
+ tool_name: z.string().optional().describe("Tool/model slug that produced it."),
1178
+ modality: z.enum(["image", "video", "audio"]).optional(),
1179
+ job_id: z.string().optional().describe("The jobId that produced this asset, when known.")
1180
+ });
1181
+ InputJsonSchema13 = {
1182
+ type: "object",
1183
+ properties: {
1184
+ url: { type: "string", format: "uri" },
1185
+ prompt: { type: "string" },
1186
+ tool_name: { type: "string" },
1187
+ modality: { type: "string", enum: ["image", "video", "audio"] },
1188
+ job_id: { type: "string" }
1189
+ },
1190
+ required: ["url"]
1191
+ };
1192
+ saveSkill = {
1193
+ name: "pixeldojo:save",
1194
+ description: "Save a generated image or video into the user's My Media library permanently. Generation outputs otherwise expire after 24 hours \u2014 call this when the user wants to keep a result.",
1195
+ inputZod: InputSchema13,
1196
+ inputJsonSchema: InputJsonSchema13,
1197
+ allowedModels: [],
1198
+ defaultModel: "",
1199
+ run: run13
1200
+ };
1201
+ }
1202
+ });
1157
1203
  function substitutePlaceholders(args, inputs, prevUrl) {
1158
1204
  const missing = [];
1159
1205
  const fill = (value) => {
@@ -1348,6 +1394,7 @@ __export(skills_exports, {
1348
1394
  librarySkill: () => librarySkill,
1349
1395
  listWorkflowsSkill: () => listWorkflowsSkill,
1350
1396
  runWorkflowSkill: () => runWorkflowSkill,
1397
+ saveSkill: () => saveSkill,
1351
1398
  saveWorkflowSkill: () => saveWorkflowSkill,
1352
1399
  statusSkill: () => statusSkill,
1353
1400
  storyboardSkill: () => storyboardSkill,
@@ -1372,6 +1419,7 @@ var init_skills = __esm({
1372
1419
  init_upload();
1373
1420
  init_audio();
1374
1421
  init_library();
1422
+ init_save();
1375
1423
  init_workflows();
1376
1424
  ALL_SKILLS = [
1377
1425
  generateSkill,
@@ -1381,6 +1429,7 @@ var init_skills = __esm({
1381
1429
  upscaleSkill,
1382
1430
  audioSkill,
1383
1431
  librarySkill,
1432
+ saveSkill,
1384
1433
  saveWorkflowSkill,
1385
1434
  runWorkflowSkill,
1386
1435
  listWorkflowsSkill,
@@ -1608,11 +1657,19 @@ function printInit() {
1608
1657
  `# Same shape as above.`,
1609
1658
  ``,
1610
1659
  `# 3. Restart your agent. You'll see these tools:`,
1611
- `# pixeldojo:generate Any prompt \u2192 image or video.`,
1612
- `# pixeldojo:character Consistent characters across shots.`,
1613
- `# pixeldojo:storyboard Multi-shot scenes from one brief.`,
1614
- `# pixeldojo:upscale Enhance any image.`,
1615
- `# pixeldojo:status Poll long-running jobs.`,
1660
+ `# pixeldojo:generate Any prompt \u2192 image or video.`,
1661
+ `# pixeldojo:edit Change an image with a text instruction.`,
1662
+ `# pixeldojo:character Consistent characters across shots.`,
1663
+ `# pixeldojo:storyboard Multi-shot scenes from one brief.`,
1664
+ `# pixeldojo:upscale Enhance any image.`,
1665
+ `# pixeldojo:audio Voices + effects + music in one clip.`,
1666
+ `# pixeldojo:library Search your saved media + generations.`,
1667
+ `# pixeldojo:save Keep a result in My Media permanently.`,
1668
+ `# pixeldojo:*_workflow Save / run / list multi-step chains.`,
1669
+ `# pixeldojo:upload Local file \u2192 temp URL for references.`,
1670
+ `# pixeldojo:from_url Product URL \u2192 structured product info.`,
1671
+ `# pixeldojo:campaign* Product URL \u2192 full launch pack.`,
1672
+ `# pixeldojo:status Poll long-running jobs.`,
1616
1673
  ``
1617
1674
  ].join("\n")
1618
1675
  );