premiere-pro-mcp 1.16.0 → 1.16.2

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 (50) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/README.md +47 -19
  3. package/after-effects-cep-plugin/CSXS/manifest.xml +2 -2
  4. package/artifacts/MCPBridgeCEP.zxp +0 -0
  5. package/cep-plugin/CSXS/manifest.xml +3 -3
  6. package/cep-plugin/index.html +1 -1
  7. package/cep-plugin/updater.cjs +1 -1
  8. package/dist/ai/client-notes.d.ts +116 -0
  9. package/dist/ai/client-notes.js +473 -0
  10. package/dist/ai/edl-export.d.ts +118 -0
  11. package/dist/ai/edl-export.js +324 -0
  12. package/dist/ai/multicam-switching.d.ts +125 -0
  13. package/dist/ai/multicam-switching.js +418 -0
  14. package/dist/bridge/script-builder.js +362 -0
  15. package/dist/index.js +1 -1
  16. package/dist/resources/extendscript-reference.js +1 -1
  17. package/dist/security/capabilities.js +2 -0
  18. package/dist/server.js +4 -0
  19. package/dist/tools/advanced.d.ts +17 -0
  20. package/dist/tools/advanced.js +294 -22
  21. package/dist/tools/competitor-gaps.js +4 -1
  22. package/dist/tools/edit-plans.js +1 -1
  23. package/dist/tools/editor-requests.d.ts +377 -0
  24. package/dist/tools/editor-requests.js +784 -0
  25. package/dist/tools/export.d.ts +2 -0
  26. package/dist/tools/export.js +39 -2
  27. package/dist/tools/review-plans.d.ts +222 -0
  28. package/dist/tools/review-plans.js +97 -0
  29. package/dist/tools/source-monitor.d.ts +6 -0
  30. package/dist/tools/source-monitor.js +16 -4
  31. package/dist/tools/spot-workflows.js +2 -1
  32. package/dist/tools/timeline.d.ts +6 -0
  33. package/dist/tools/timeline.js +112 -76
  34. package/dist/tools/uxp-workflows.js +1 -1
  35. package/dist/workflows/tool-metadata.js +2 -0
  36. package/dist/workflows/tool-packs.js +9 -0
  37. package/docs/supported-actions.md +15 -7
  38. package/package.json +2 -2
  39. package/public-product-manifest.json +5 -5
  40. package/scripts/build-claude-desktop.mjs +30 -1
  41. package/scripts/build-uxp-ccx.mjs +50 -11
  42. package/scripts/validate-distribution.mjs +2 -2
  43. package/uxp-plugin/DISTRIBUTION.md +11 -5
  44. package/uxp-plugin/advanced-workflows.cjs +45 -4
  45. package/uxp-plugin/commands.cjs +1 -1
  46. package/uxp-plugin/dialogue-workflows.cjs +27 -1
  47. package/uxp-plugin/index.cjs +28 -1
  48. package/uxp-plugin/manifest.json +1 -1
  49. package/uxp-plugin/workflows.cjs +8 -4
  50. package/uxp-plugin/workspace.cjs +92 -14
package/CHANGELOG.md CHANGED
@@ -6,6 +6,70 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.16.2] - 2026-09-18
10
+
11
+ ### Fixed
12
+
13
+ - Direct UXP `.ccx` packages now use a plugin-id bundle root and Unix 644/755
14
+ permission bits so Creative Cloud / UPI can extract plugin metadata. (#566)
15
+ - Path-based UXP commands now resolve native paths through the granted
16
+ workspace folder instead of advertising them as unsupported on every host.
17
+ (#567)
18
+
19
+ Automated checks do not establish licensed Premiere or After Effects playback or
20
+ rendered-output verification.
21
+
22
+ ## [1.16.1] - 2026-09-17
23
+
24
+ ### Added
25
+
26
+ - Editor-request tools on the production CEP bridge, each with preflight and
27
+ readback: `add_markers_batch` (up to 200 verified sequence or clip markers per
28
+ call for beat grids, chapters, silence reviews, and client notes),
29
+ `select_clips_by_pattern` (every-Nth selection with offset, name/regex,
30
+ duration, range, track, and enabled filters), `navigate_playhead`
31
+ (start/end/in/out/work-area/edit/marker/frame stepping),
32
+ `create_sequence_checkpoint` and `list_sequence_checkpoints` (named
33
+ `[checkpoint]` sequence clones plus a diff-ready snapshot), and
34
+ `export_sequence_edl` (CMX 3600 EDL generated from timeline readback with
35
+ drop-frame support, reel mapping, M2 motion lines, and self-validation through
36
+ the existing CMX parser, returned inline or written inside an approved
37
+ workspace).
38
+ - Local review planners: `plan_client_notes_checklist` turns pasted reviewer
39
+ feedback into a categorized, prioritized checklist with timecodes, ranges,
40
+ approvals, questions, and an `add_markers_batch` payload;
41
+ `plan_multicam_angle_switches` plans active-speaker angle cuts for stacked
42
+ camera tracks with minimum holds, crosstalk cover shots, lead-in cuts,
43
+ periodic cutaways, razor times, per-camera enable ranges, and markers.
44
+ - The `essential`, `inspection`, `delivery`, and `assistant-edit` tool packs
45
+ include the relevant new tools; both planners are classified as `inspect`
46
+ authority. See [docs/editor-requests.md](docs/editor-requests.md) for the
47
+ community and competitor evidence and verification boundaries.
48
+
49
+ ### Fixed
50
+
51
+ - `insert_from_source`, `add_to_timeline`, `add_to_timeline_batch`, and
52
+ `apply_edit_plan` insert operations no longer report success after
53
+ `Sequence.insertClip` ripples only the named tracks. The public DOM has no
54
+ sync-lock API; these tools now read QE `isSyncLocked()`, razor spanning clips
55
+ on locked neighbours, shift later clips with `__writeClipSpan`, and verify
56
+ the result. Mid-clip inserts on a target track are treated as a
57
+ split-plus-insert (two new items), not a failure. Default `scope` is
58
+ `sync_locked` and requires the target sequence to be active so QE razors the
59
+ same timeline. A razor that does not split a spanning neighbour fails closed.
60
+ Pass `target_tracks` to opt in to the old target-only ripple; that path still
61
+ verifies the named pair, honors DOM `Track.isLocked()`, and warns that other
62
+ tracks may desync. If QE or lock state is unavailable the sync-locked path
63
+ refuses before mutating. `apply_spot_workflow_plan` uses `target_tracks`
64
+ because it inserts then trims to the planned duration; a sync-locked ripple
65
+ would shift overlays and music beds by the untrimmed source length. (#562)
66
+ - `ripple_delete` now closes the gap on the clip's own track and every QE
67
+ sync-locked track, and refuses when a locked neighbour would be left
68
+ straddling the hole. (#561)
69
+
70
+ Automated checks do not establish licensed Premiere or After Effects playback or
71
+ rendered-output verification.
72
+
9
73
  ## [1.16.0] - 2026-09-16
10
74
 
11
75
  ### Added
package/README.md CHANGED
@@ -12,7 +12,7 @@ Free, MIT licensed, local-first, and published to npm as [`premiere-pro-mcp`](ht
12
12
 
13
13
  [Website](https://premiere-pro-mcp.com/) · [Recorded demo](https://premiere-pro-mcp.com/demo/) · [Compare servers](https://premiere-pro-mcp.com/compare/) · [Setup guides](https://premiere-pro-mcp.com/blog/how-to-set-up-premiere-pro-mcp/) · [Search tools](https://premiere-pro-mcp.com/tools/) · [Troubleshooting](https://premiere-pro-mcp.com/docs/troubleshooting/) · [Release facts](https://premiere-pro-mcp.com/facts/)
14
14
 
15
- Development source: 373 core tools across 54 modules, 4 resources, and 18 guided workflows. A connected UXP host adds 95 capability-gated tools.
15
+ Development source: 381 core tools across 56 modules, 4 resources, and 18 guided workflows. A connected UXP host adds 95 capability-gated tools.
16
16
 
17
17
  The [completed AE render handoff](docs/after-effects-render-handoff.md) previews and confirms importing one finished render into an existing Premiere bin, with host and file rechecks and an import receipt.
18
18
 
@@ -104,14 +104,14 @@ and repository before configuring a client. The new
104
104
  VS Code, or Codex settings that point directly to this installation. It is a
105
105
  feature included in v1.15.1 and later.
106
106
 
107
- The current source exposes 373 core tools for supported workflow steps spanning the supported ExtendScript, QE DOM, local media and interchange analysis, revisioned project-context retrieval, safe edit-planning, project-intake preview, review handoff, connection verification, and guarded After Effects MOGRT authoring, batch, library, render-queue, inspection, and Premiere-handoff workflows. A compatible, authenticated UXP panel adds 95 documented, capability-gated tools without replacing the production CEP bridge.
107
+ The current source exposes 381 core tools for supported workflow steps spanning the supported ExtendScript, QE DOM, local media and interchange analysis, revisioned project-context retrieval, safe edit-planning, project-intake preview, review handoff, connection verification, and guarded After Effects MOGRT authoring, batch, library, render-queue, inspection, and Premiere-handoff workflows. A compatible, authenticated UXP panel adds 95 documented, capability-gated tools without replacing the production CEP bridge.
108
108
 
109
109
  <a id="latest-release"></a>
110
110
 
111
- ### Latest release: 1.16.0
111
+ ### Latest release: 1.16.2
112
112
 
113
- The published v1.15.2 npm artifact contains **369 core tools**, 367 in its default profile,
114
- and 460 with a compatible UXP connection. The development catalog above can include
113
+ The published v1.16.1 npm artifact contains **381 core tools**, 379 in its default profile,
114
+ and 474 with a compatible UXP connection. The development catalog above can include
115
115
  unreleased work. See the [versioned facts and package provenance](https://premiere-pro-mcp.com/facts/).
116
116
 
117
117
  ### Try a bounded workflow
@@ -132,7 +132,7 @@ if the connection is unavailable.
132
132
 
133
133
  - **Editorial planning:** film evidence, transcript cleanup, caption authoring, shorts and chapter planning, rhythm and speaker layouts, timeline QA, and platform delivery plans.
134
134
  - **Cross-app handoff:** capability-aware workflow routes and guarded After Effects render-to-Premiere handoff.
135
- - **Editing correctness:** verified readback and explicit capability or committed-but-unverified failures across transition, import, effects, source identity, and track operations.
135
+ - **Editing correctness:** verified readback and explicit capability or committed-but-unverified failures across transition, import, effects, source identity, and track operations. Insert edits ripple QE sync-locked tracks instead of silently desyncing neighbours.
136
136
 
137
137
  - **MOGRT studio:** an optional, separate After Effects CEP connector can
138
138
  author approval-gated title, callout, quote, and social recipes; constrain
@@ -160,7 +160,7 @@ if the connection is unavailable.
160
160
  local Premiere processes. See the generated [supported action catalog](docs/supported-actions.md)
161
161
  for individual capability and verification contracts.
162
162
 
163
- See the [v1.16.0 release notes](https://github.com/leancoderkavy/premiere-pro-mcp/releases/tag/v1.16.0)
163
+ See the [v1.16.2 release notes](https://github.com/leancoderkavy/premiere-pro-mcp/releases/tag/v1.16.2)
164
164
  for complete details. Live installation in Premiere Pro still requires host verification.
165
165
 
166
166
  ### Current MCP protocol support
@@ -208,7 +208,7 @@ their bins, media rules, and organization rules before a facility uses one.
208
208
  > ### Install the published package (verify the name)
209
209
  >
210
210
  > ```bash
211
- > npm i -g premiere-pro-mcp@1.16.0
211
+ > npm i -g premiere-pro-mcp@1.16.2
212
212
  > ```
213
213
  >
214
214
  > This repository publishes only **`premiere-pro-mcp`**. A differently named package (`adobe-premiere-pro-mcp`) may also declare a `premiere-pro-mcp` executable. Before configuring a client, confirm:
@@ -216,7 +216,7 @@ their bins, media rules, and organization rules before a facility uses one.
216
216
  > | Check | Expected |
217
217
  > | --- | --- |
218
218
  > | Package name | `premiere-pro-mcp` (not `adobe-premiere-pro-mcp`) |
219
- > | Version | `1.16.0` |
219
+ > | Version | `1.16.2` |
220
220
  > | Homepage / repo | https://premiere-pro-mcp.com/ · https://github.com/leancoderkavy/premiere-pro-mcp |
221
221
  >
222
222
  > ```bash
@@ -229,9 +229,9 @@ their bins, media rules, and organization rules before a facility uses one.
229
229
 
230
230
  ### Easiest supported path: Claude Desktop
231
231
 
232
- 1. Download the current [Claude Desktop bundle (`.mcpb`)](https://github.com/leancoderkavy/premiere-pro-mcp/releases/download/v1.16.0/premiere-pro-mcp-1.16.0.mcpb).
232
+ 1. Download the current [Claude Desktop bundle (`.mcpb`)](https://github.com/leancoderkavy/premiere-pro-mcp/releases/download/v1.16.2/premiere-pro-mcp-1.16.2.mcpb).
233
233
  2. In Claude Desktop, open **Settings > Extensions > Advanced settings > Install Extension**, select the downloaded bundle, and restart Claude Desktop.
234
- 3. Download the separate [signed Premiere connector (`.zxp`)](https://github.com/leancoderkavy/premiere-pro-mcp/releases/download/v1.16.0/MCPBridgeCEP.zxp). Open it with your trusted ZXP installer. If your computer has no ZXP installer, use the npm connector installer in **Advanced setup** below.
234
+ 3. Download the separate [signed Premiere connector (`.zxp`)](https://github.com/leancoderkavy/premiere-pro-mcp/releases/download/v1.16.2/MCPBridgeCEP.zxp). Open it with your trusted ZXP installer. If your computer has no ZXP installer, use the npm connector installer in **Advanced setup** below.
235
235
  4. Restart Premiere, open a project, then open **Window > Extensions > MCP for Adobe Premiere Pro**.
236
236
  5. In Claude, enter: `Safely check my Premiere connection with verify_premiere_connection. Make no changes.`
237
237
 
@@ -760,7 +760,7 @@ The bounded UXP migration surface also exposes guarded static Color effect-param
760
760
 
761
761
  The bounded UXP migration surface also exposes guarded typed Project metadata schema-field creation. It requires the exact inspected active-project identity and 12 KiB-bounded panel XML, an explicit confirmation and operation ID, and serializes this bridge's schema and panel-replacement calls per project. Adobe provides no atomic compare-and-set or field-level schema getter: native acceptance and a changed panel XML are evidence only, so the command always returns `committed_unverified` and does not claim field presence, persistence, UI results, Undo, cancellation, or licensed-host validation.
762
762
 
763
- The panel now requests access to one operator-selected workspace instead of declaring full filesystem access. Choose the folder in the panel before invoking a path-based UXP workflow. Media, relink, preset, export, and Source Monitor file paths must remain inside it; the persistent capability token and native root path are never returned over MCP. Lexical containment alone cannot exclude symlink, junction, or reparse-point escapes, and Adobe's request-scoped UXP filesystem API does not document canonical-path resolution. Builds without a host-supplied canonical resolver therefore advertise path-based UXP commands as unsupported and fail closed at invocation; use the existing CEP fallback for those operations.
763
+ The panel now requests access to one operator-selected workspace instead of declaring full filesystem access. Choose the folder in the panel before invoking a path-based UXP workflow. Media, relink, preset, export, and Source Monitor file paths must remain inside it; the persistent capability token and native root path are never returned over MCP. After a folder is granted, path-based commands resolve each native path through that folder's Entry tree and compare the host `nativePath` against the approved root, so symlink or junction targets outside the workspace still fail closed. If the host Entry cannot be walked and no resolver is supplied, those commands stay unsupported and the CEP fallback remains the path-based compatibility route.
764
764
 
765
765
  Native transcript editing starts with a read-only, revision-locked planning flow. Use
766
766
  `get_clip_transcript_uxp` to export the transcript Premiere generated for a source
@@ -859,7 +859,7 @@ reports revision-bound notes, VFX state, change impact and turnover exceptions.
859
859
  It performs local inspection; host edits and exports use separate guarded tools.
860
860
  See [usage, example and remaining execution adapters](docs/film-editorial-workflows.md).
861
861
 
862
- ## Tools (373 core total; 371 under the default profile; 466 with a connected UXP bridge)
862
+ ## Tools (381 core total; 379 under the default profile; 474 with a connected UXP bridge)
863
863
 
864
864
  The [complete supported-actions catalog](docs/supported-actions.md) lists every
865
865
  registered core tool, the two tools restricted behind explicit `unsafe-script`
@@ -983,7 +983,7 @@ Premiere Pro 26.x host.
983
983
  | `get_value_at_time` | Query interpolated value at any time |
984
984
  | `set_color_value` | Set color properties on effects |
985
985
 
986
- ### Export & Encoding (16)
986
+ ### Export & Encoding (17)
987
987
 
988
988
  | Tool | Description |
989
989
  | :--- | :---------- |
@@ -992,13 +992,17 @@ Premiere Pro 26.x host.
992
992
  | `verify_delivery_file` | Verify output size and calculate SHA-256/SHA-512 checksums |
993
993
  | `capture_frame` | Export frame as PNG, return as base64 image |
994
994
  | `export_as_fcp_xml` / `export_aaf` / `export_omf` | Interchange formats |
995
+ | `export_sequence_edl` | CMX 3600 EDL for one track, generated from timeline readback and self-validated (cuts, reels, drop/non-drop timecode, M2 lines for retimed clips) |
995
996
  | `encode_project_item` / `encode_file` | Direct encoding |
996
997
  | `start_batch_encode` | Start render queue |
997
998
 
998
- Premiere's documented automation surfaces do not currently expose OTIO or EDL
999
- interchange, Render and Replace, cloud publishing, or Content Credentials export
1000
- configuration. `get_capabilities` reports these delivery gaps explicitly rather
1001
- than presenting UI-only operations as available tools.
999
+ Premiere's documented automation surfaces do not currently expose OTIO or native
1000
+ EDL interchange, Render and Replace, cloud publishing, or Content Credentials
1001
+ export configuration. `export_sequence_edl` therefore builds the CMX 3600 list
1002
+ locally from the clips Premiere reads back and validates it with the same parser
1003
+ used by `inspect_cmx3600_edl`; it is not a Premiere-native export.
1004
+ `get_capabilities` reports the remaining delivery gaps explicitly rather than
1005
+ presenting UI-only operations as available tools.
1002
1006
 
1003
1007
  ### Source Monitor & Playback (7 + 4)
1004
1008
 
@@ -1052,6 +1056,30 @@ than presenting UI-only operations as available tools.
1052
1056
  | `diff_sequence_snapshots` | Added / removed / moved / trimmed / retimed / renamed / enabled changes between two sequence snapshots with frame deltas and EDL-like lines |
1053
1057
  | `audit_timeline_health` | Health score with flash-frame, gap, overlap, repeated-shot, coverage, overlength, and speed findings plus review-frame suggestions |
1054
1058
 
1059
+ ### Editor Requests: markers, selection, checkpoints, navigation (5)
1060
+
1061
+ | Tool | Description |
1062
+ | :--- | :---------- |
1063
+ | `add_markers_batch` | Up to 200 sequence or clip markers in one verified request; feed it beat grids from `detect_beats`, chapters from `plan_chapter_markers`, or client notes from `plan_client_notes_checklist` |
1064
+ | `select_clips_by_pattern` | "Select every other clip": every-Nth selection with offset, name/regex, duration, range, track, and enabled filters, read back after selecting |
1065
+ | `create_sequence_checkpoint` / `list_sequence_checkpoints` | Named `[checkpoint]` sequence clone before a risky edit, plus a `diff_sequence_snapshots`-ready snapshot of the original |
1066
+ | `navigate_playhead` | Start, end, in/out, work area, next/previous edit or marker, or frame stepping with position readback |
1067
+
1068
+ ### Review and Conversation Planning (2)
1069
+
1070
+ | Tool | Description |
1071
+ | :--- | :---------- |
1072
+ | `plan_client_notes_checklist` | Pasted client or reviewer feedback → prioritized checklist (category, must/should/nice, approvals, questions, timecodes and ranges) and an `add_markers_batch` payload |
1073
+ | `plan_multicam_angle_switches` | Active-speaker angle switching for stacked camera tracks: minimum holds, crosstalk cover shots, lead-in cuts, cutaways, razor times, per-camera enable ranges, and markers |
1074
+
1075
+ Both planners are local and deterministic. Premiere exposes no scripting API
1076
+ for switching angles inside a multicam source sequence, so the multicam plan
1077
+ targets synced clips stacked on separate video tracks and is applied through
1078
+ `razor_all_tracks`, `select_clips_in_range`, `batch_enable_disable`, and
1079
+ `add_markers_batch` on a checkpointed sequence. See
1080
+ [editor requests](docs/editor-requests.md) for the community and competitor
1081
+ evidence behind these tools and their verification boundaries.
1082
+
1055
1083
  ### Speaker Layout (2)
1056
1084
 
1057
1085
  | Tool | Description |
@@ -1299,7 +1327,7 @@ premiere-pro-mcp/
1299
1327
  ├── src/
1300
1328
  │ ├── index.ts # Entry point — stdio transport setup
1301
1329
  │ ├── http-server.ts # Entry point — HTTP/SSE transport (Fly.io / remote)
1302
- │ ├── server.ts # MCP server — registers 373 tools, filtered by authority profile
1330
+ │ ├── server.ts # MCP server — registers 381 tools, filtered by authority profile
1303
1331
  │ ├── bridge/
1304
1332
  │ │ ├── file-bridge.ts # File-based IPC (write .jsx, poll .json)
1305
1333
  │ │ └── script-builder.ts # ExtendScript generator with ES3 helpers
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ExtensionManifest Version="7.0" ExtensionBundleId="com.mcp.aftereffects.bridge" ExtensionBundleVersion="1.16.0" ExtensionBundleName="MCP for Adobe After Effects">
2
+ <ExtensionManifest Version="7.0" ExtensionBundleId="com.mcp.aftereffects.bridge" ExtensionBundleVersion="1.16.2" ExtensionBundleName="MCP for Adobe After Effects">
3
3
  <ExtensionList>
4
- <Extension Id="com.mcp.aftereffects.bridge.panel" Version="1.16.0"/>
4
+ <Extension Id="com.mcp.aftereffects.bridge.panel" Version="1.16.2"/>
5
5
  </ExtensionList>
6
6
  <ExecutionEnvironment>
7
7
  <HostList>
Binary file
@@ -1,8 +1,8 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ExtensionManifest Version="7.0" ExtensionBundleId="com.mcp.premiere.bridge" ExtensionBundleVersion="1.16.0" ExtensionBundleName="MCP for Adobe Premiere Pro">
2
+ <ExtensionManifest Version="7.0" ExtensionBundleId="com.mcp.premiere.bridge" ExtensionBundleVersion="1.16.2" ExtensionBundleName="MCP for Adobe Premiere Pro">
3
3
  <ExtensionList>
4
- <Extension Id="com.mcp.premiere.bridge.panel" Version="1.16.0"/>
5
- <Extension Id="com.mcp.premiere.bridge.headless" Version="1.16.0"/>
4
+ <Extension Id="com.mcp.premiere.bridge.panel" Version="1.16.2"/>
5
+ <Extension Id="com.mcp.premiere.bridge.headless" Version="1.16.2"/>
6
6
  </ExtensionList>
7
7
  <ExecutionEnvironment>
8
8
  <HostList>
@@ -81,7 +81,7 @@
81
81
  <section class="update-section" aria-live="polite">
82
82
  <div class="update-copy">
83
83
  <span class="section-label">MCP updates</span>
84
- <strong id="updateTitle">Version 1.16.0</strong>
84
+ <strong id="updateTitle">Version 1.16.2</strong>
85
85
  <span id="updateDetail">Checking the global MCP server and connector release…</span>
86
86
  </div>
87
87
  <button id="btnUpdate" class="button button-update" onclick="handleUpdateClick()" type="button" aria-describedby="updateDetail" disabled>
@@ -7,7 +7,7 @@
7
7
  })(this, function () {
8
8
  "use strict";
9
9
 
10
- var CURRENT_VERSION = "1.16.0";
10
+ var CURRENT_VERSION = "1.16.2";
11
11
  var PACKAGE_NAME = "premiere-pro-mcp";
12
12
  var LATEST_PACKAGE_API = "https://registry.npmjs.org/" + PACKAGE_NAME;
13
13
  var LATEST_RELEASE_API =
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Client / reviewer note triage (local-only).
3
+ *
4
+ * Editors paste feedback from email, chat, or a review tool and want a
5
+ * checklist plus timeline markers, not another pass of re-reading. This
6
+ * planner turns free text into structured items: it finds timecodes and
7
+ * ranges, classifies each note into an editorial category, infers a priority
8
+ * from the wording, separates approvals and questions from change requests,
9
+ * and emits an `add_markers_batch` payload.
10
+ *
11
+ * Everything is deterministic lexical work. Nothing contacts a model, the
12
+ * network, or Premiere; the caller applies the markers through the routes
13
+ * returned in the plan.
14
+ */
15
+ export declare const MAX_NOTES_BYTES: number;
16
+ export declare const MAX_NOTE_ITEMS = 500;
17
+ export declare const DEFAULT_MAX_NOTE_ITEMS = 200;
18
+ export declare const MAX_MARKER_NAME_LENGTH = 60;
19
+ export declare const NOTE_CATEGORIES: readonly ["audio", "color", "graphics", "text", "timing", "cut", "legal", "delivery", "other"];
20
+ export type NoteCategory = (typeof NOTE_CATEGORIES)[number];
21
+ export declare const NOTE_PRIORITIES: readonly ["must", "should", "nice"];
22
+ export type NotePriority = (typeof NOTE_PRIORITIES)[number];
23
+ export declare const NOTE_KINDS: readonly ["change", "question", "approval"];
24
+ export type NoteKind = (typeof NOTE_KINDS)[number];
25
+ export declare const MARKER_COLOR_MODES: readonly ["priority", "category", "fixed"];
26
+ export type MarkerColorMode = (typeof MARKER_COLOR_MODES)[number];
27
+ export declare const TIMECODE_STYLES: readonly ["auto", "clock", "frames"];
28
+ /**
29
+ * How a three-part `a:b:c` timecode is read. `clock` means hh:mm:ss,
30
+ * `frames` means mm:ss:ff, and `auto` picks `frames` only when the last
31
+ * field is a plausible frame number below the frame rate and the first field
32
+ * is too large to be an hour count in a normal edit (>= 10).
33
+ */
34
+ export type TimecodeStyle = (typeof TIMECODE_STYLES)[number];
35
+ export declare const CLIENT_NOTES_ROUTES: readonly string[];
36
+ /** Premiere marker color indexes as used by add_marker / add_markers_batch. */
37
+ export declare const MARKER_COLORS: Readonly<{
38
+ green: 0;
39
+ red: 1;
40
+ purple: 2;
41
+ orange: 3;
42
+ yellow: 4;
43
+ white: 5;
44
+ blue: 6;
45
+ cyan: 7;
46
+ }>;
47
+ export type ClientNoteOptions = {
48
+ notes?: unknown;
49
+ frame_rate?: unknown;
50
+ sequence_duration_seconds?: unknown;
51
+ timecode_style?: unknown;
52
+ marker_color_mode?: unknown;
53
+ fixed_marker_color?: unknown;
54
+ marker_name_prefix?: unknown;
55
+ include_approvals_as_markers?: unknown;
56
+ max_items?: unknown;
57
+ };
58
+ export type ClientNoteItem = {
59
+ index: number;
60
+ text: string;
61
+ raw_line: string;
62
+ line_number: number;
63
+ kind: NoteKind;
64
+ category: NoteCategory;
65
+ priority: NotePriority;
66
+ reviewer: string | null;
67
+ time_seconds: number | null;
68
+ end_seconds: number | null;
69
+ frame: number | null;
70
+ timecode: string | null;
71
+ duration_seconds: number | null;
72
+ also_mentioned_seconds: number[];
73
+ out_of_range: boolean;
74
+ marker: ClientNoteMarker | null;
75
+ };
76
+ export type ClientNoteMarker = {
77
+ time_seconds: number;
78
+ name: string;
79
+ comments: string;
80
+ color: number;
81
+ duration_seconds: number;
82
+ };
83
+ export type ClientNotesPlan = {
84
+ applied: boolean;
85
+ plan_revision: string;
86
+ frame_rate: number;
87
+ counts: {
88
+ lines: number;
89
+ items: number;
90
+ timed: number;
91
+ untimed: number;
92
+ ranges: number;
93
+ out_of_range: number;
94
+ markers: number;
95
+ by_kind: Record<NoteKind, number>;
96
+ by_category: Record<NoteCategory, number>;
97
+ by_priority: Record<NotePriority, number>;
98
+ };
99
+ items: ClientNoteItem[];
100
+ markers: ClientNoteMarker[];
101
+ checklist_markdown: string;
102
+ routes: readonly string[];
103
+ next_steps: string[];
104
+ warnings: string[];
105
+ assumptions: string[];
106
+ };
107
+ /** Formats seconds as hh:mm:ss:ff (non-drop) for the given frame rate. */
108
+ export declare function secondsToTimecode(seconds: number, fps: number): string;
109
+ /**
110
+ * Parses one timecode token into seconds. Returns null when the token cannot
111
+ * be a timecode (for example `12:75`).
112
+ */
113
+ export declare function parseTimecodeToken(token: string, fps: number, style: TimecodeStyle): number | null;
114
+ /** Turns pasted reviewer feedback into a checklist and marker payloads. */
115
+ export declare function planClientNotesChecklist(options: ClientNoteOptions): ClientNotesPlan;
116
+ //# sourceMappingURL=client-notes.d.ts.map