@cliangdev/conductor 0.24.0 → 0.25.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/assets/claude/commands/conductor/creative.md +98 -0
- package/assets/claude/skills/conductor-creative/SKILL.md +23 -11
- package/assets/cli-manifest.json +24 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +2 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/creative/frame.css +3 -0
- package/dist/creative/frame.js +3 -0
- package/dist/creative/motion.js +18 -11
- package/dist/creative/styles.css +3 -0
- package/dist/lib/plugin-assets.d.ts +48 -1
- package/dist/lib/plugin-assets.d.ts.map +1 -1
- package/dist/lib/plugin-assets.js +271 -22
- package/dist/lib/plugin-assets.js.map +1 -1
- package/dist/mcp/api.d.ts +18 -1
- package/dist/mcp/api.d.ts.map +1 -1
- package/dist/mcp/api.js +20 -2
- package/dist/mcp/api.js.map +1 -1
- package/dist/mcp/index.d.ts +1348 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +98 -4
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/tools/creatives.d.ts +58 -1
- package/dist/mcp/tools/creatives.d.ts.map +1 -1
- package/dist/mcp/tools/creatives.js +225 -25
- package/dist/mcp/tools/creatives.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: conductor:creative
|
|
3
|
+
description: One entry point for Conductor creative work — checks the workspace brand, offers to set it up if it's never been configured, asks what to make (static ad, short video, an existing clip), gathers the few inputs needed, then hands off to the conductor-creative skill through render, preview and attach.
|
|
4
|
+
allowed-tools: mcp__conductor__*, AskUserQuestion, Skill, WebFetch, Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /conductor:creative
|
|
8
|
+
|
|
9
|
+
Guided entry point for making a Post's artwork — a static ad, a short video, or posting a video
|
|
10
|
+
already on hand. Keeps the interaction short: a couple of questions, then it hands off to the
|
|
11
|
+
`conductor-creative` skill (`Skill(skill: "conductor-creative")`) for the actual writing, rendering
|
|
12
|
+
and judgment calls. This command doesn't replace that skill's guidance — read it once invoked and
|
|
13
|
+
follow it.
|
|
14
|
+
|
|
15
|
+
## Trigger
|
|
16
|
+
|
|
17
|
+
`/conductor:creative`, or a request to make/design a social ad, a short video, or post a clip.
|
|
18
|
+
|
|
19
|
+
## Step 1 — Check the brand
|
|
20
|
+
|
|
21
|
+
Call `get_brand_kit` (pass `kitId` only if the person already named a specific brand).
|
|
22
|
+
|
|
23
|
+
**If `configured` is `false`**, this workspace has no brand set up yet — offer to fix that before
|
|
24
|
+
making anything:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"questions": [{
|
|
29
|
+
"question": "This workspace's Brand Kit hasn't been set up yet (default colours, no font, no logo). Set it up now?",
|
|
30
|
+
"header": "Brand Kit",
|
|
31
|
+
"options": [
|
|
32
|
+
{"label": "From a website", "description": "Fetch a URL and infer colours, voice and name"},
|
|
33
|
+
{"label": "From a brand doc", "description": "Read a local file (guidelines, style doc)"},
|
|
34
|
+
{"label": "Answer a few questions", "description": "Name, colours, font, CTA line, approved lines"},
|
|
35
|
+
{"label": "Skip for now", "description": "Proceed with the default kit as-is"}
|
|
36
|
+
],
|
|
37
|
+
"multiSelect": false
|
|
38
|
+
}]
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
- **From a website**: ask for the URL, `WebFetch` it, infer a plausible accent colour, name, CTA
|
|
43
|
+
claim and a couple of approved lines from the copy on the page. Show what you inferred and confirm
|
|
44
|
+
before writing.
|
|
45
|
+
- **From a brand doc**: ask for the file path, `Read` it, extract the same fields, confirm before
|
|
46
|
+
writing.
|
|
47
|
+
- **Answer a few questions**: ask for name, primary/accent colour (hex or a description you convert),
|
|
48
|
+
font (if any), the CTA claim, and any lines that must run verbatim. Keep it to one AskUserQuestion
|
|
49
|
+
batch, not a long interview.
|
|
50
|
+
- Once confirmed, call `update_brand_kit` with whatever was gathered. If a logo file or URL is
|
|
51
|
+
available, `upload_brand_image` for the `mark` slot at least. Verify with `get_brand_kit` —
|
|
52
|
+
`configured` should now read `true`.
|
|
53
|
+
- **Skip for now**: proceed; the skill below will render against the default kit as given.
|
|
54
|
+
|
|
55
|
+
## Step 2 — What to make
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"questions": [{
|
|
60
|
+
"question": "What would you like to create?",
|
|
61
|
+
"header": "Creative Type",
|
|
62
|
+
"options": [
|
|
63
|
+
{"label": "Static ad", "description": "A photo + headline, rendered at every enabled placement"},
|
|
64
|
+
{"label": "Short video from a photo", "description": "Animated text over a still photo or a moving background"},
|
|
65
|
+
{"label": "Video from a clip I have", "description": "Animate the brand layout using an existing video as background"},
|
|
66
|
+
{"label": "Post an existing video as-is", "description": "No brand layout — the finished clip goes up directly"},
|
|
67
|
+
{"label": "Test a headline variant", "description": "A lettered variant of an existing Creative, for a hook test"}
|
|
68
|
+
],
|
|
69
|
+
"multiSelect": false
|
|
70
|
+
}]
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Step 3 — Gather the few inputs that choice needs
|
|
75
|
+
|
|
76
|
+
Keep this light — one or two follow-up questions, not a form:
|
|
77
|
+
|
|
78
|
+
- **Static ad / short video from a photo**: the headline (or let the skill draft one from the
|
|
79
|
+
Knowledge page), and a photo. Call `list_creative_media({kind: "IMAGE"})` first and offer what's
|
|
80
|
+
already on hand before asking for a new upload.
|
|
81
|
+
- **Video from a clip I have / Post an existing video as-is**: call
|
|
82
|
+
`list_creative_media({kind: "VIDEO"})` first; if nothing fits, ask for a local path or URL.
|
|
83
|
+
- **Test a headline variant**: ask which existing Creative (id or display id like `12a`) and the new
|
|
84
|
+
headline.
|
|
85
|
+
|
|
86
|
+
## Step 4 — Hand off to the skill
|
|
87
|
+
|
|
88
|
+
Call `Skill(skill: "conductor-creative")` and follow it from wherever this command's gathering left
|
|
89
|
+
off — angle, copy rules, layout, `create_creative`/`update_creative`, render, look at the result
|
|
90
|
+
honestly, readiness. Don't re-derive what that skill already covers.
|
|
91
|
+
|
|
92
|
+
## Step 5 — Finish with a render → preview → attach, or a clear next step
|
|
93
|
+
|
|
94
|
+
Once the skill's readiness check passes: full `render_creative`, `preview_creative` to show the
|
|
95
|
+
result, and `attach_creative_to_post` if there's already a Post to attach it to (ask for the Post's
|
|
96
|
+
id if not obvious from context). If there is no Post yet, say so plainly and name the next step —
|
|
97
|
+
creating one via the `conductor-publisher` skill — rather than leaving the artwork stranded with no
|
|
98
|
+
stated destination.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: conductor-creative
|
|
3
|
-
description: Creates on-brand
|
|
3
|
+
description: Creates on-brand marketing creative through the Conductor MCP tools — static ads and short videos alike, rendered locally on this machine and checked by eye before it's called done. Covers a photo-plus-headline ad at every enabled placement (e.g. TikTok/Reels 9:16, Instagram feed 4:5, Facebook 1:1); a short video made from a still photo or an existing clip (animated text, zoom/pan, background music, a TikTok/Reels/Shorts-ready cut); posting a finished video as-is; a story or carousel sequence; a lettered headline/hook variant for testing; and, when a workspace's Brand Kit has never been set up, setting one up first (colours, font, logo, copy rules) from a website, a brand doc, or a few direct answers. Use when asked to make, design, write or export a social ad, a promo image, a short-form video, an animated ad, or to configure/update a project's brand.
|
|
4
4
|
user-invocable: true
|
|
5
|
-
allowed-tools: mcp__conductor__*, AskUserQuestion, Read, Glob, Grep
|
|
5
|
+
allowed-tools: mcp__conductor__*, AskUserQuestion, Read, Glob, Grep, WebFetch
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Conductor Creative
|
|
@@ -31,6 +31,14 @@ brand's positioning, message hierarchy, approved verbatim lines and voice in pro
|
|
|
31
31
|
with `read_knowledge_pages` before writing anything. Quote its approved lines rather than
|
|
32
32
|
paraphrasing them; they were worded and cleared on purpose.
|
|
33
33
|
|
|
34
|
+
**If `configured` comes back `false`**, this kit has never been touched — a brand-free stock
|
|
35
|
+
default, not this workspace's actual brand. Set it up before writing any ad rather than rendering
|
|
36
|
+
against placeholder tokens: gather colours, font, CTA claim and any copy rules or approved lines
|
|
37
|
+
(from a website via `WebFetch`, a brand doc via `Read`, or by asking directly), then call
|
|
38
|
+
`update_brand_kit` for the data fields and `upload_brand_image` for the mark/wordmark/badge. Confirm
|
|
39
|
+
with `get_brand_kit` afterward — `configured` should now read `true`. (`/conductor:creative` walks
|
|
40
|
+
a person through exactly this when invoked with no brand set up yet, if you'd rather hand it off.)
|
|
41
|
+
|
|
34
42
|
### 2. Pick the angle
|
|
35
43
|
|
|
36
44
|
Lead with whatever the brand's own message hierarchy puts first — the job the product does end to
|
|
@@ -56,11 +64,12 @@ it. A kit with no rules configured is not a bug; it simply never fails a save on
|
|
|
56
64
|
|
|
57
65
|
### 5. Choose the photo and look at it
|
|
58
66
|
|
|
59
|
-
Call `
|
|
60
|
-
|
|
61
|
-
|
|
67
|
+
Call `list_creative_media` (optionally `kind: "IMAGE"`) to see what's already on hand before
|
|
68
|
+
uploading a new one — id, dimensions, checked/blocked state and provenance for everything already in
|
|
69
|
+
the project's media library. A photo needs `checked: true` and not `blocked` before a Creative can
|
|
70
|
+
go to `READY`.
|
|
62
71
|
|
|
63
|
-
A new photo goes through `
|
|
72
|
+
A new photo goes through `upload_creative_media` (local path or URL), which requires `source` (a
|
|
64
73
|
URL or a short provenance note, e.g. "Generated with a named model on a given date") and `licence`
|
|
65
74
|
(e.g. "Own work", "Unsplash Licence", "Generated, house use"). This closes a real legal exposure: an
|
|
66
75
|
unattributed or unlicensed photo running as paid or organic media.
|
|
@@ -127,9 +136,10 @@ Not every video needs the brand layout above — a finished clip (a demo recordi
|
|
|
127
136
|
something a person or another tool already produced) can go up as-is. That's a CLIP Creative: no
|
|
128
137
|
photo, headline or layout, just the video.
|
|
129
138
|
|
|
130
|
-
1. `
|
|
131
|
-
|
|
132
|
-
|
|
139
|
+
1. Check `list_creative_media({kind: "VIDEO"})` for a clip already in the project before uploading a
|
|
140
|
+
new one. A new one goes through `upload_creative_media` (local path or URL) — same provenance
|
|
141
|
+
fields as a photo (`source`, `licence`, `aiGenerated`). It detects video vs. audio vs. photo
|
|
142
|
+
automatically and, for a video, extracts a poster frame. Use the media's id below either way.
|
|
133
143
|
2. `create_creative` with `kind: "CLIP"` and `clipMedia`. One file for every placement:
|
|
134
144
|
`{"default": mediaId}`. A different cut per placement (e.g. a square edit for feed, a vertical one
|
|
135
145
|
for Reels): `{"9x16": mediaId, "4x5": mediaId}` — `default` still covers any placement without its
|
|
@@ -151,8 +161,10 @@ A MOTION Creative animates the same brand layout from steps 1-5 above into a sho
|
|
|
151
161
|
of a static frame — no separate video tool needed. Use it when a still doesn't hold attention, or a
|
|
152
162
|
destination rewards video over an image.
|
|
153
163
|
|
|
154
|
-
1. Pick a photo (step 5) or, for a moving background,
|
|
155
|
-
note its media
|
|
164
|
+
1. Pick a photo (step 5) or, for a moving background, a video — check `list_creative_media({kind:
|
|
165
|
+
"VIDEO"})` first, then `upload_creative_media` only if nothing already fits — and note its media
|
|
166
|
+
id. For background music, `list_creative_media({kind: "AUDIO"})` the same way before uploading a
|
|
167
|
+
new track.
|
|
156
168
|
2. `create_creative`/`update_creative` with `kind: "MOTION"` plus:
|
|
157
169
|
- `motion.preset` — how the copy enters: `fade-up` (default), `word-by-word`, `accent-pop`, or
|
|
158
170
|
`none` (everything visible from the first frame).
|
package/assets/cli-manifest.json
CHANGED
|
@@ -168,6 +168,10 @@
|
|
|
168
168
|
{
|
|
169
169
|
"name": "conductor:workflow",
|
|
170
170
|
"description": "Design and create a Conductor workflow \u2014 YAML automation or statechart lifecycle \u2014 via guided discovery and MCP creation."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "conductor:creative",
|
|
174
|
+
"description": "One entry point for creative work \u2014 checks the workspace brand (offers to set it up if unconfigured), asks what to make (static ad, short video, an existing clip), then hands off to the conductor-creative skill through render, preview and attach."
|
|
171
175
|
}
|
|
172
176
|
],
|
|
173
177
|
"agents": [
|
|
@@ -191,7 +195,7 @@
|
|
|
191
195
|
},
|
|
192
196
|
{
|
|
193
197
|
"name": "conductor-creative",
|
|
194
|
-
"description": "Makes a Creative end to end:
|
|
198
|
+
"description": "Makes a Creative end to end, static or short video: sets up the Brand Kit if unconfigured, reads it and its Knowledge page, picks media and an angle, creates the Creative, renders and looks at the result, fixes what's wrong, then hands it to conductor-publisher."
|
|
195
199
|
}
|
|
196
200
|
]
|
|
197
201
|
},
|
|
@@ -722,7 +726,25 @@
|
|
|
722
726
|
},
|
|
723
727
|
{
|
|
724
728
|
"name": "get_brand_kit",
|
|
725
|
-
"description": "Read a workspace Brand Kit: colour tokens, font, logo/wordmark/badge URLs, CTA claim, copy rules, approved lines, enabled placements, and the Knowledge page path holding its prose context.",
|
|
729
|
+
"description": "Read a workspace Brand Kit: colour tokens, font, logo/wordmark/badge URLs, CTA claim, copy rules, approved lines, enabled placements, and the Knowledge page path holding its prose context. Carries configured: false plus a nextStep when the kit has never been edited.",
|
|
730
|
+
"category": "marketing"
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"name": "update_brand_kit",
|
|
734
|
+
"description": "Patch a workspace Brand Kit's name, tokens, font, CTA claim, copy rules, approved lines or enabled placements. tokens merges onto the existing set; every other field is set-replace.",
|
|
735
|
+
"category": "marketing"
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
"name": "upload_brand_image",
|
|
739
|
+
"description": "Upload a logo mark, wordmark or badge into a Brand Kit image slot from a local file or a public URL, in one call.",
|
|
740
|
+
"category": "marketing",
|
|
741
|
+
"requiredParams": [
|
|
742
|
+
"slot"
|
|
743
|
+
]
|
|
744
|
+
},
|
|
745
|
+
{
|
|
746
|
+
"name": "list_creative_media",
|
|
747
|
+
"description": "The project's media library (photos, videos, audio) with review state and provenance. Call before uploading to reuse existing media.",
|
|
726
748
|
"category": "marketing"
|
|
727
749
|
},
|
|
728
750
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B;AAED,UAAU,OAAO;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAOD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAUzD;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAGvE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAc3E;AA2DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUnC,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B;AAED,UAAU,OAAO;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAOD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAUzD;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAGvE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAc3E;AA2DD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8KnD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -9,7 +9,7 @@ import { readConfig, writeConfig } from '../lib/config.js';
|
|
|
9
9
|
import { apiGet, apiPost } from '../lib/api.js';
|
|
10
10
|
import { findAvailablePort, waitForOAuthCallback } from '../lib/oauth-server.js';
|
|
11
11
|
import { startDaemon } from './start.js';
|
|
12
|
-
import { installPluginAssets, getAssetSrcDir } from '../lib/plugin-assets.js';
|
|
12
|
+
import { installPluginAssets, getAssetSrcDir, writePluginVersionMarker, getPackageVersion, computeInstalledFileHashes } from '../lib/plugin-assets.js';
|
|
13
13
|
import { printNextSteps } from '../lib/next-steps.js';
|
|
14
14
|
const CONDUCTOR_MCP_ENTRY = {
|
|
15
15
|
command: 'conductor',
|
|
@@ -239,6 +239,7 @@ Examples:
|
|
|
239
239
|
console.log(chalk.green('✓ Updated .gitignore'));
|
|
240
240
|
const claudeDir = path.join(projectRoot, '.claude');
|
|
241
241
|
const pluginStatus = installPluginAssets(claudeDir, getAssetSrcDir());
|
|
242
|
+
writePluginVersionMarker(claudeDir, getPackageVersion(), computeInstalledFileHashes(claudeDir));
|
|
242
243
|
if (pluginStatus === 'installed') {
|
|
243
244
|
console.log(chalk.green('✓ Installed conductor Claude plugin'));
|
|
244
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,eAAO,MAAM,QAAQ,QAAyC,CAAA;AAC9D,eAAO,MAAM,QAAQ,QAAyC,CAAA;AAoB9D,4EAA4E;AAC5E,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CA4CpD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQpD"}
|
package/dist/commands/start.js
CHANGED
|
@@ -4,6 +4,7 @@ import * as path from 'path';
|
|
|
4
4
|
import * as os from 'os';
|
|
5
5
|
import { fileURLToPath } from 'url';
|
|
6
6
|
import { readConfig } from '../lib/config.js';
|
|
7
|
+
import { refreshInstalledPluginAssets } from '../lib/plugin-assets.js';
|
|
7
8
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
9
|
const CONDUCTOR_DIR = path.join(os.homedir(), '.conductor');
|
|
9
10
|
export const PID_FILE = path.join(CONDUCTOR_DIR, 'daemon.pid');
|
|
@@ -28,6 +29,7 @@ function tailLog(lines = 5) {
|
|
|
28
29
|
}
|
|
29
30
|
/** Returns true if the daemon started and stayed alive, false otherwise. */
|
|
30
31
|
export async function startDaemon() {
|
|
32
|
+
refreshInstalledPluginAssets({ log: (message) => console.error(message) });
|
|
31
33
|
const config = readConfig();
|
|
32
34
|
if (!config) {
|
|
33
35
|
console.error('Not authenticated — run conductor login');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/creative/frame.css
CHANGED
|
@@ -87,6 +87,9 @@
|
|
|
87
87
|
}
|
|
88
88
|
.cc-board--light .cc-headline { color: var(--cc-ink); }
|
|
89
89
|
.cc-headline em { font-style: italic; color: var(--cc-accent); }
|
|
90
|
+
/* Word spans the motion presets animate: inline-block so transforms apply; the spaces between them stay
|
|
91
|
+
* plain text, so lines wrap exactly as they do without the spans. */
|
|
92
|
+
.cc-word { display: inline-block; }
|
|
90
93
|
|
|
91
94
|
/* ── Body ─────────────────────────────────────────────────────────────────── */
|
|
92
95
|
.cc-body {
|
package/dist/creative/frame.js
CHANGED
|
@@ -83,6 +83,9 @@ async function main() {
|
|
|
83
83
|
|
|
84
84
|
await document.fonts.ready;
|
|
85
85
|
await Promise.all([...document.images].map((img) => (img.decode ? img.decode().catch(() => {}) : null)));
|
|
86
|
+
// Motion presets restructure the headline (word spans): build that structure, in its final state,
|
|
87
|
+
// before fitting, so the type is sized for the layout every captured frame will have.
|
|
88
|
+
if (spec.motion) applyMotion(board, spec.motion, spec.motion.durationSec || 8, { durationSec: spec.motion.durationSec || 8 });
|
|
86
89
|
fitBoard(board, placementsReg);
|
|
87
90
|
|
|
88
91
|
if (spec.motion) {
|
package/dist/creative/motion.js
CHANGED
|
@@ -173,23 +173,30 @@ function applyHeadline(board, preset, tSec, inEndCard) {
|
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
if (preset === 'accent-pop') {
|
|
176
|
+
// Transforms don't apply to inline text, so the accent phrase's words are wrapped in inline-block
|
|
177
|
+
// spans (wrapping between words is unchanged) and each word scales about its own centre.
|
|
178
|
+
const em = headline.querySelector('em');
|
|
179
|
+
if (em && !em.querySelector('.cc-word')) wrapWordsInPlace(em);
|
|
180
|
+
const accentWords = em ? em.querySelectorAll('.cc-word') : [];
|
|
176
181
|
if (inEndCard) {
|
|
177
182
|
finalState(headline);
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
+
accentWords.forEach((w) => {
|
|
184
|
+
w.style.transform = 'none';
|
|
185
|
+
w.style.filter = 'none';
|
|
186
|
+
});
|
|
183
187
|
return;
|
|
184
188
|
}
|
|
185
189
|
const fadeProgress = windowProgress(tSec, ACCENT_POP_FADE_WINDOW[0], ACCENT_POP_FADE_WINDOW[1]);
|
|
186
190
|
setFade(headline, fadeProgress, null);
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
const popProgress = windowProgress(tSec, ACCENT_POP_POP_WINDOW[0], ACCENT_POP_POP_WINDOW[1]);
|
|
192
|
+
// Scale settles 1.18 → 1; brightness pulses up and back to 1, so the end card starts with no jump.
|
|
193
|
+
const scale = round2(lerp(1.18, 1, popProgress));
|
|
194
|
+
const brightness = round2(1 + 0.3 * Math.sin(Math.PI * popProgress));
|
|
195
|
+
accentWords.forEach((w) => {
|
|
196
|
+
w.style.transformOrigin = '50% 70%';
|
|
197
|
+
w.style.transform = scale === 1 ? 'none' : `scale(${scale})`;
|
|
198
|
+
w.style.filter = brightness === 1 ? 'none' : `brightness(${brightness})`;
|
|
199
|
+
});
|
|
193
200
|
return;
|
|
194
201
|
}
|
|
195
202
|
|
package/dist/creative/styles.css
CHANGED
|
@@ -134,6 +134,9 @@
|
|
|
134
134
|
}
|
|
135
135
|
.cc-board--light .cc-headline { color: var(--cc-ink); }
|
|
136
136
|
.cc-headline em { font-style: italic; color: var(--cc-accent); }
|
|
137
|
+
/* Word spans the motion presets animate: inline-block so transforms apply; the spaces between them stay
|
|
138
|
+
* plain text, so lines wrap exactly as they do without the spans. */
|
|
139
|
+
.cc-word { display: inline-block; }
|
|
137
140
|
|
|
138
141
|
/* ── Body ─────────────────────────────────────────────────────────────────── */
|
|
139
142
|
.cc-body {
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
export declare function getAssetSrcDir(): string;
|
|
2
|
+
/** The running @cliangdev/conductor package's own version — same resolution path as
|
|
3
|
+
* getAssetSrcDir (dist/lib/plugin-assets.js -> ../../package.json). */
|
|
4
|
+
export declare function getPackageVersion(): string;
|
|
2
5
|
export type InstallStatus = 'installed' | 'updated' | 'current';
|
|
3
6
|
/**
|
|
4
|
-
* Install or update conductor Claude plugin assets into targetDir.
|
|
7
|
+
* Install or update conductor Claude plugin assets into targetDir. Used only by `conductor init` —
|
|
8
|
+
* this is the one place allowed to touch settings.json/.mcp.json; a background refresh
|
|
9
|
+
* ({@link refreshInstalledPluginAssets}) never calls this.
|
|
5
10
|
*
|
|
6
11
|
* @param targetDir Destination .claude/ directory (e.g. ~/.claude/ or projectRoot/.claude/)
|
|
7
12
|
* @param assetSrcDir Source assets/claude/ directory from the CLI package
|
|
@@ -16,4 +21,46 @@ export declare function getPluginInstallStatus(assetSrcDir: string, globalClaude
|
|
|
16
21
|
location: 'global' | 'local' | 'none';
|
|
17
22
|
outdated: boolean;
|
|
18
23
|
};
|
|
24
|
+
/** Records which package version last (re)installed the plugin assets into targetDir, and — from this
|
|
25
|
+
* version on — a sha256 per installed file, so a later refresh can tell whether the user edited a file
|
|
26
|
+
* (hash mismatch, leave it alone) or it's still exactly what was shipped (safe to overwrite). */
|
|
27
|
+
export declare const PLUGIN_VERSION_MARKER = ".conductor-plugin-version";
|
|
28
|
+
export interface PluginVersionMarker {
|
|
29
|
+
version: string;
|
|
30
|
+
/** relPath (one of PLUGIN_FILES) -> sha256 hex of the content this package wrote there. Present
|
|
31
|
+
* only for the current JSON marker format; absent for a legacy plain-version-string marker (or when
|
|
32
|
+
* no marker exists at all), which carries no hash baseline to check edits against. */
|
|
33
|
+
files?: Record<string, string>;
|
|
34
|
+
}
|
|
35
|
+
/** The sha256 of every currently-installed PLUGIN_FILES entry under targetDir, for stamping into the
|
|
36
|
+
* marker right after a write (install, refresh, or migration) so the next refresh has a baseline. */
|
|
37
|
+
export declare function computeInstalledFileHashes(targetDir: string): Record<string, string>;
|
|
38
|
+
export declare function writePluginVersionMarker(targetDir: string, version: string, files?: Record<string, string>): void;
|
|
39
|
+
/** Reads the marker, transparently handling the legacy format (a bare version string, no JSON) that
|
|
40
|
+
* predates per-file hashes — returned with `files` left undefined so callers can tell the two apart. */
|
|
41
|
+
export declare function readPluginVersionMarker(targetDir: string): PluginVersionMarker | undefined;
|
|
42
|
+
export interface RefreshOptions {
|
|
43
|
+
/** Called once per location actually refreshed, and once if the whole thing fails; defaults to a
|
|
44
|
+
* no-op so callers that don't care about logging don't have to pass anything. */
|
|
45
|
+
log?: (message: string) => void;
|
|
46
|
+
assetSrcDir?: string;
|
|
47
|
+
currentVersion?: string;
|
|
48
|
+
/** Override for tests; production callers omit this and get `~/.claude`. */
|
|
49
|
+
globalClaudeDir?: string;
|
|
50
|
+
/** Override for tests; production callers omit this and let it resolve from `cwd`. */
|
|
51
|
+
localClaudeDir?: string;
|
|
52
|
+
cwd?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Refreshes every existing Claude plugin install — the global one (`~/.claude`) and the project-local
|
|
56
|
+
* one for whichever project `cwd` belongs to — in place, but only the ones that actually exist and
|
|
57
|
+
* only when the running package version is newer than what each install's marker records (equal or
|
|
58
|
+
* older is a no-op, per install). Never touches settings.json or .mcp.json — `conductor init` alone
|
|
59
|
+
* manages those. Writes are atomic (temp file + rename). Swallows every error so a broken refresh can
|
|
60
|
+
* never block the MCP server or the daemon from starting; logs through `log`.
|
|
61
|
+
*
|
|
62
|
+
* Single implementation shared by the MCP server (`mcp/index.ts`) and `conductor start`
|
|
63
|
+
* (`commands/start.ts`) startup — call this instead of duplicating the check.
|
|
64
|
+
*/
|
|
65
|
+
export declare function refreshInstalledPluginAssets(opts?: RefreshOptions): void;
|
|
19
66
|
//# sourceMappingURL=plugin-assets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-assets.d.ts","sourceRoot":"","sources":["../../src/lib/plugin-assets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-assets.d.ts","sourceRoot":"","sources":["../../src/lib/plugin-assets.ts"],"names":[],"mappings":"AAsDA,wBAAgB,cAAc,IAAI,MAAM,CAKvC;AAED;uEACuE;AACvE,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AA2CD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAA;AA6C/D;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,aAAa,CASf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB;IAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CA0B9D;AAED;;iGAEiG;AACjG,eAAO,MAAM,qBAAqB,8BAA8B,CAAA;AAEhE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf;;0FAEsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAMD;qGACqG;AACrG,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQpF;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAGjH;AAED;wGACwG;AACxG,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAmB1F;AAyID,MAAM,WAAW,cAAc;IAC7B;qFACiF;IACjF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,sFAAsF;IACtF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,cAAmB,GAAG,IAAI,CAyB5E"}
|