@jclvsh/dropspace 2.24.1 → 2.26.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.
@@ -30,6 +30,7 @@ export function registerAutopilotCommands(program, client) {
30
30
  .option("--run-hour <n>", "local hour the nightly run fires (0-23)")
31
31
  .option("--timezone <tz>", "IANA timezone, e.g. America/New_York")
32
32
  .option("--product-url <url>", "product link included in posts")
33
+ .option("--product-image <url>", "slideshow reference image (\"none\" clears it)")
33
34
  .option("--brief <text>", "product brief (what you're building, who it's for)")
34
35
  .option("--pillars <list>", "comma-separated content pillars")
35
36
  .option("--min-queue <n>", "ideas to keep queued (1-30)")
@@ -77,6 +78,8 @@ export function registerAutopilotCommands(program, client) {
77
78
  body.timezone = opts.timezone;
78
79
  if (opts.productUrl)
79
80
  body.product_url = opts.productUrl;
81
+ if (opts.productImage)
82
+ body.product_image_url = opts.productImage === "none" ? null : opts.productImage;
80
83
  if (opts.brief)
81
84
  body.product_brief = opts.brief;
82
85
  if (opts.pillars)
@@ -27,6 +27,7 @@ export function registerLaunchCommands(program, client) {
27
27
  .option("-d, --description <text>", "product description")
28
28
  .option("--platforms <list>", "comma-separated platforms", parseList)
29
29
  .option("--url <url>", "product URL")
30
+ .option("--track-links", "post the product URL as tracked redirects; clicks show in analytics")
30
31
  .option("--schedule <datetime>", "ISO 8601 schedule datetime")
31
32
  .option("--persona <id>", "persona ID for tone/style")
32
33
  .option("--dropspace-platforms <list>", "platforms for official dropspace accounts", parseList)
@@ -47,6 +48,8 @@ export function registerLaunchCommands(program, client) {
47
48
  body.platforms = opts.platforms;
48
49
  if (opts.url)
49
50
  body.product_url = opts.url;
51
+ if (opts.trackLinks)
52
+ body.track_links = true;
50
53
  if (opts.schedule)
51
54
  body.scheduled_date = opts.schedule;
52
55
  if (opts.persona)
@@ -10,6 +10,7 @@ export function registerMediaCommands(program, client) {
10
10
  .option("--prompt <text>", "explicit prompt (required for script_video)")
11
11
  .option("-d, --description <text>", "product description (used to derive prompt)")
12
12
  .option("--reference <url>", "reference image URL")
13
+ .option("--product-image", "use the launch's product page image as the reference (image type)")
13
14
  .option("--aspect <ratio>", "aspect ratio (e.g. 1:1, 16:9, 9:16)")
14
15
  .option("--duration <n>", "video duration in seconds (4, 6, or 8)")
15
16
  .option("--seed <n>", "RNG seed for reproducibility")
@@ -27,6 +28,8 @@ export function registerMediaCommands(program, client) {
27
28
  body.product_description = opts.description;
28
29
  if (opts.reference)
29
30
  body.reference_image_url = opts.reference;
31
+ if (opts.productImage)
32
+ body.use_product_image = true;
30
33
  const options = {};
31
34
  if (opts.aspect)
32
35
  options.aspect_ratio = opts.aspect;
@@ -42,6 +42,11 @@ export function registerAutopilotTools(server, client) {
42
42
  run_hour: z.number().int().min(0).max(23).optional().describe("local hour the nightly run fires"),
43
43
  timezone: z.string().optional().describe("IANA timezone, e.g. America/New_York"),
44
44
  product_url: z.string().nullable().optional().describe("product link included in posts"),
45
+ product_image_url: z
46
+ .string()
47
+ .nullable()
48
+ .optional()
49
+ .describe("reference image for slideshow posts; omitted = filled from product_url's page when product_url changes; null clears it"),
45
50
  product_brief: z
46
51
  .string()
47
52
  .nullable()
@@ -90,6 +90,10 @@ export function registerLaunchTools(server, client) {
90
90
  .url()
91
91
  .optional()
92
92
  .describe("product URL — scraped to generate content; can substitute for product_description"),
93
+ track_links: z
94
+ .boolean()
95
+ .optional()
96
+ .describe("swap product_url in post copy for tracked redirects (twitter, linkedin, facebook, reddit, youtube); clicks show as metrics.tracked_clicks in analytics"),
93
97
  scheduled_date: z
94
98
  .string()
95
99
  .optional()
@@ -28,6 +28,10 @@ export function registerMediaTools(server, client) {
28
28
  .url()
29
29
  .optional()
30
30
  .describe("reference image URL — guides image style/composition via the edit endpoint"),
31
+ use_product_image: z
32
+ .boolean()
33
+ .optional()
34
+ .describe("use the first image from the launch's product page as the reference (image type only; ignored when reference_image_url is set; errors when the launch has no product image)"),
31
35
  options: z
32
36
  .object({
33
37
  aspect_ratio: z.enum(ASPECT_RATIOS).optional().describe("aspect ratio"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jclvsh/dropspace",
3
- "version": "2.24.1",
3
+ "version": "2.26.0",
4
4
  "description": "MCP server and CLI for the Dropspace API",
5
5
  "repository": {
6
6
  "type": "git",