@agent-native/core 0.63.3 → 0.63.4

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 (30) hide show
  1. package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -1
  2. package/dist/client/blocks/library/AnnotatedCodeBlock.js +23 -19
  3. package/dist/client/blocks/library/AnnotatedCodeBlock.js.map +1 -1
  4. package/dist/client/blocks/library/diagram.d.ts.map +1 -1
  5. package/dist/client/blocks/library/diagram.js +10 -11
  6. package/dist/client/blocks/library/diagram.js.map +1 -1
  7. package/dist/client/blocks/library/wireframe.d.ts.map +1 -1
  8. package/dist/client/blocks/library/wireframe.js +2 -1
  9. package/dist/client/blocks/library/wireframe.js.map +1 -1
  10. package/dist/server/auth.d.ts.map +1 -1
  11. package/dist/server/auth.js +5 -1
  12. package/dist/server/auth.js.map +1 -1
  13. package/dist/server/onboarding-html.d.ts.map +1 -1
  14. package/dist/server/onboarding-html.js +50 -5
  15. package/dist/server/onboarding-html.js.map +1 -1
  16. package/docs/content/template-analytics.md +11 -41
  17. package/docs/content/template-assets.md +8 -3
  18. package/docs/content/template-brain.md +6 -1
  19. package/docs/content/template-calendar.md +13 -59
  20. package/docs/content/template-chat.md +6 -9
  21. package/docs/content/template-clips.md +11 -16
  22. package/docs/content/template-content.md +14 -48
  23. package/docs/content/template-design.md +7 -2
  24. package/docs/content/template-dispatch.md +6 -9
  25. package/docs/content/template-forms.md +10 -13
  26. package/docs/content/template-mail.md +12 -27
  27. package/docs/content/template-plan.md +6 -1
  28. package/docs/content/template-slides.md +14 -75
  29. package/docs/content/template-videos.md +11 -52
  30. package/package.json +1 -1
@@ -7,17 +7,14 @@ description: "Generate decks from a prompt, edit visually, and present full-scre
7
7
 
8
8
  Generate full presentation decks from a prompt, edit slides visually, and present full-screen. Ask the agent for "a 10-slide pitch deck for a coffee subscription service" and watch it stream slide-by-slide into the editor in seconds. An open-source replacement for Google Slides, Pitch, and PowerPoint.
9
9
 
10
- <!-- screenshot:
11
- app: slides
12
- view: /deck/<id>
13
- shows: Deck editor with a "Q3 Board Update" deck open collapsed left icon rail (Decks / Design Systems / Team), slides thumbnail strip (6 slides title, agenda, metrics, what we shipped, what we're watching), main slide preview showing the title slide by Maya Chen CEO, speaker notes pane, and the agent chat sidebar with deck-aware suggestions
14
- account: screenshot-account (deck authored on this account via the standard create-deck + add-slide flow)
15
- capture: 1400x800 viewport, cropped 90px from bottom (final 1400x710); collapse the left rail before capture
16
- -->
17
-
18
- ![Slides deck editor with a deck open and slide thumbnails on the left](/screenshots/slides.png)
10
+ ```an-wireframe
11
+ {
12
+ "surface": "desktop",
13
+ "html": "<div style='display:flex;flex-direction:column;gap:12px;padding:16px;min-height:530px;box-sizing:border-box'><div style='display:flex;align-items:center;gap:10px'><h1 style='margin:0'>Q3 Board Update</h1><span class='wf-pill accent'>Title slide</span><div style='flex:1'></div><button>Preview</button><button>Present</button><button class='primary'>Share</button></div><main style='display:grid;grid-template-columns:1fr 220px;gap:12px;flex:1;min-height:0'><section class='wf-card' style='display:flex;align-items:center;justify-content:center;text-align:center;padding:36px'><div><strong style='font-size:28px'>Q3 Board Update</strong><br/><small>Maya Chen · CEO</small><div style='height:46px'></div><span class='wf-pill'>Product momentum</span></div></section><section style='display:flex;flex-direction:column;gap:10px'><div class='wf-card'><strong>Slide outline</strong><div class='wf-box'>1 Title</div><div class='wf-box'>2 Agenda</div><div class='wf-box'>3 Metrics</div><div class='wf-box'>4 Shipped</div></div><div class='wf-card' style='flex:1'><strong>Speaker notes</strong><p class='wf-muted' style='margin:8px 0 0'>Open with launch progress and retention story.</p></div></section></main><div style='display:grid;grid-template-columns:repeat(5,1fr);gap:8px'><div class='wf-box'>1 Title</div><div class='wf-box'>2 Agenda</div><div class='wf-box'>3 Metrics</div><div class='wf-box'>4 Shipped</div><div class='wf-box'>5 Risks</div></div></div>"
14
+ }
15
+ ```
19
16
 
20
- When you open a deck, you get a slide editor in the middle, a sidebar of slides on the left, and the agent on the right.
17
+ When you open a deck, the slide canvas, outline, notes, and filmstrip stay in one editor surface while the agent can still create, revise, and navigate slides through actions.
21
18
 
22
19
  ```an-diagram title="Prompt to deck" summary="Ask for a deck and the agent streams slides in one at a time through the same actions you could call from the CLI."
23
20
  {
@@ -46,7 +43,7 @@ Live demo: [slides.agent-native.com](https://slides.agent-native.com).
46
43
  When you open the app:
47
44
 
48
45
  1. Click **New deck**.
49
- 2. In the agent sidebar, ask: "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
46
+ 2. Ask the agent: "Generate a 10-slide pitch deck for a coffee subscription service, audience is investors."
50
47
  3. Watch slides stream in. Click any slide to edit, or keep asking the agent to refine.
51
48
 
52
49
  ### Useful prompts
@@ -76,75 +73,17 @@ pnpm install
76
73
  pnpm dev
77
74
  ```
78
75
 
79
- ### Key features (technical) {#key-features}
80
-
81
- #### Import and export
82
-
83
- The template can pull content in from PPTX (`import-pptx`), DOCX (`import-docx`), Google Docs (`import-google-doc`), arbitrary URLs (`import-from-url`), and GitHub repos (`import-github`). Export paths cover PPTX (`export-pptx`), Google Slides (`export-google-slides`), and HTML (`export-html`). Importing uses the same action surface as the rest of the template — no separate pipeline.
84
-
85
- #### Design systems
86
-
87
- Reusable brand tokens are stored in the `design_systems` table (colors, typography, spacing, assets, custom instructions, and an `is_default` flag). Sharing is managed via `design_system_shares`. Actions: `create-design-system`, `update-design-system`, `get-design-system`, `list-design-systems`, `set-default-design-system`, `apply-design-system`, and `analyze-brand-assets` (collects brand data before analysis). See the `design-systems` and `image-generation-via-a2a` skills for the full pattern.
88
-
89
- #### Deck versions
90
-
91
- Every significant deck change is snapshotted in the `deck_versions` table (stores a full copy of title and deck data with an optional `changeLabel`). Actions: `list-deck-versions`, `restore-deck-version`, `get-deck-version`.
92
-
93
- #### Prompt-to-deck generation
94
-
95
- Ask the agent for a deck and it builds one slide at a time. Slides stream into the editor live as each one is generated — the agent fires parallel `add-slide` calls so you see the deck assemble in seconds.
96
-
97
- Under the hood, this is powered by the `add-slide` and `create-deck` actions in `templates/slides/actions/`.
98
-
99
- #### Seven slide layouts
100
-
101
- Built-in layouts: title, section divider, content with bullets, two-column, statement or quote, metrics or stats, and closing or CTA. Each layout is a pure HTML template with inline styles — the agent picks the right one based on slide purpose. The exact templates live inside `templates/slides/.agents/skills/create-deck/SKILL.md` so the agent can reference them without exploring the codebase.
102
-
103
- #### Visual and code editing
104
-
105
- - Double-click any text to edit inline.
106
- - Click a block to open the bubble menu for styles, alignment, and layout.
107
- - Switch to the code editor (`app/components/editor/CodeEditor.tsx`) to edit raw slide HTML.
108
- - Use the slash menu (`SlideSlashMenu.tsx`) to insert blocks by typing `/`.
109
-
110
- #### AI image generation
111
-
112
- Generate images through the Assets app when brand libraries matter; once the managed backend is deployed, that path can use Builder-managed image generation and keep the audit trail with the source library. Direct provider-key generation remains the fallback for standalone decks.
113
-
114
- Actions: `generate-image`, `edit-image`, `image-search`, `logo-lookup`. UI panels: `ImageGenPanel.tsx`, `ImageSearchPanel.tsx`, `LogoSearchPanel.tsx`.
115
-
116
- #### Logo and stock image search
117
-
118
- - `logo-lookup --domain acme.com` fetches a company logo via Logo.dev or Brandfetch.
119
- - `image-search --query "mountain landscape"` searches Google Images for stock photos.
120
-
121
- #### Comments and threads
122
-
123
- Leave comments on specific slides, quote selected text, and reply in threads. Stored in the `slide_comments` table. Actions: `add-slide-comment`, `list-slide-comments`.
124
-
125
- #### Drag and drop reordering
126
-
127
- Reorder slides in the sidebar, duplicate, or delete with hover controls. The sidebar lives in `app/components/editor/EditorSidebar.tsx`.
128
-
129
- #### Presentation mode
130
-
131
- Full-screen presentation at `/deck/:id/present` with keyboard navigation (arrow keys, space, escape), auto-hiding controls, and speaker notes. See `app/routes/deck.$id_.present.tsx` and `app/components/presentation/PresentationView.tsx`.
132
-
133
- #### Share links
134
-
135
- Generate a public read-only URL for a deck so reviewers can view without an account. The share page is `app/routes/share.$token.tsx`. Fine-grained sharing (viewer, editor, admin roles, per-user or org-wide) is also available via the framework's `share-resource` action.
136
-
137
- #### Real-time collaboration
76
+ ### Key features {#key-features}
138
77
 
139
- Multiple people can edit the same deck simultaneously. Text edits sync through Yjs CRDT so there are no conflicts, and the agent sees and edits the same live document via the `update-slide --find/--replace` action.
78
+ **Prompt-to-deck generation.** Ask for a deck and the agent streams slides into the editor using the same create and edit actions you can run yourself.
140
79
 
141
- #### Undo and redo
80
+ **Editable slide canvas.** Inline text editing, slash inserts, code editing, drag-and-drop ordering, undo/redo, comments, and presentation mode all live in the deck surface.
142
81
 
143
- Cmd+Z and Cmd+Shift+Z work across the whole deck, with a labeled history panel (`HistoryPanel.tsx`) you can scrub through.
82
+ **Import and export.** Bring in PPTX, DOCX, Google Docs, PDFs, URLs, and GitHub repos; export to PPTX, Google Slides, HTML, or a share link.
144
83
 
145
- #### Extract from PDF
84
+ **Design systems and media.** Saved brand systems, image generation, stock search, and logo lookup keep decks closer to the intended visual direction.
146
85
 
147
- Turn a PDF into a starter deck. The `extract-pdf` action parses the file and hands the content to the agent for layout.
86
+ **Collaboration and history.** Real-time Yjs editing, threaded comments, share roles, and deck version snapshots are built in.
148
87
 
149
88
  ### Working with the agent
150
89
 
@@ -7,15 +7,12 @@ description: "A programmatic video studio for motion graphics, product demos, an
7
7
 
8
8
  A programmatic video studio for the kind of motion graphics, product demos, and kinetic-text videos that are a pain to keyframe by hand. Ask the agent for "a 6-second logo reveal that fades in at 2 seconds" and it builds the animation. Tune timing, easing, and camera moves on a timeline, then render to MP4 or WebM.
9
9
 
10
- <!-- screenshot:
11
- app: video
12
- view: /c/<composition-id>
13
- shows: Video studio with 4 compositions (Logo reveal, Q3 product demo, Pricing animation, Onboarding walkthrough) in the sidebar; Logo reveal loaded with timeline + Remotion preview + camera tools and the agent chat sidebar
14
- account: screenshot-account (compositions authored on this account)
15
- capture: 1400x800 viewport, cropped 90px from bottom (final 1400x710)
16
- -->
17
-
18
- ![Video studio with timeline, composition, and agent sidebar](/screenshots/videos.png)
10
+ ```an-wireframe
11
+ {
12
+ "surface": "desktop",
13
+ "html": "<div style='display:flex;flex-direction:column;gap:12px;padding:16px;min-height:530px;box-sizing:border-box'><div style='display:flex;align-items:center;gap:10px'><h1 style='margin:0'>Logo reveal</h1><span class='wf-pill accent'>6 seconds</span><div style='flex:1'></div><button>Preview</button><button class='primary'>Render</button></div><div class='wf-card' style='flex:1;display:flex;align-items:center;justify-content:center;min-height:250px'><div style='text-align:center'><strong>Remotion preview</strong><br/><small class='wf-muted'>logo scales in as the title fades</small></div></div><div class='wf-card' style='display:flex;flex-direction:column;gap:10px'><div style='display:flex;gap:8px;align-items:center'><span class='wf-pill'>0s</span><span class='wf-pill'>2s</span><span class='wf-pill'>4s</span><span class='wf-pill'>6s</span><div style='flex:1'></div><button>New track</button></div><div class='wf-box'>Title fade · 0-48 frames</div><div class='wf-box'>Logo scale · 48-120 frames</div><div class='wf-box'>Camera push · 72-144 frames</div></div></div>"
14
+ }
15
+ ```
19
16
 
20
17
  When you open the studio, you'll see a list of compositions on the home screen. Click into one and you get a player on top, a timeline at the bottom, and a properties panel on the right. The agent always knows which composition you have open.
21
18
 
@@ -82,53 +79,15 @@ pnpm dev
82
79
 
83
80
  Open the studio in your browser, create a composition, and start from blank. Ask the agent something like "add a logo reveal that fades in at 2 seconds" and it will edit the composition for you.
84
81
 
85
- ### Key features (technical)
86
-
87
- #### React-based compositions
88
-
89
- Every video is a React component built on Remotion primitives (`AbsoluteFill`, `useCurrentFrame`, `useVideoConfig`). The template ships one in-code composition — `BlankComposition` in `app/remotion/compositions/BlankComposition.tsx` — and `app/remotion/registry.ts` exports an empty `compositions` array by default. User and example compositions (kinetic text, logo reveals, particle bursts, interactive UI demos, slideshows) live in SQL and load through `app/hooks/use-database-compositions.ts`. You can still add a code composition by dropping a `.tsx` file in `app/remotion/compositions/` and registering it in `app/remotion/registry.ts`.
90
-
91
- #### Timeline tracks
92
-
93
- Animations are tracks, not hardcoded frame checks. A track has `startFrame`, `endFrame`, `easing`, and a list of `animatedProps` (`opacity`, `translateY`, `scale`, rotation, colors, etc.). Three track shapes:
94
-
95
- - **Duration tracks** — bars you can drag and resize in the timeline.
96
- - **Keyframe tracks** — diamond markers at specific frames for instant state changes (`startFrame === endFrame`).
97
- - **Expression tracks** — programmatic animations (typing reveals, particle bursts) flagged with `programmatic: true` and shown with a purple `fx` badge.
98
-
99
- Helper utilities in `app/remotion/trackAnimation.ts` (`findTrack`, `trackProgress`, `getPropValue`) wire a track's values into a component's render.
100
-
101
- #### Easing curves
102
-
103
- 30+ easing curves ship in `app/types.ts` — linear, power1-4 in/out/inOut, back, bounce, circ, elastic, expo, sine, and Remotion's `spring`. The Properties panel shows a visual preview of the curve shape for each one.
104
-
105
- #### Camera controls
106
-
107
- Each composition has a dedicated `camera` track with six animatable properties: `translateX`, `translateY`, `scale`, `rotateX`, `rotateY`, `perspective`. The camera toolbar above the player has pan, zoom, and tilt tools — click a tool, drag on the preview, and a keyframe is auto-created at the current frame. `CameraHost` (in `app/remotion/CameraHost.tsx`) applies the chained CSS 3D transform to everything inside.
108
-
109
- #### Multi-keyframe editing
110
-
111
- Every animated property supports an optional `keyframes` array. Interpolation is linear between keyframes, with hold-at-first and hold-at-last at the edges. In the timeline you can box-select keyframes, shift-click to add or remove, and drag groups while keeping relative timing.
112
-
113
- #### Adjustable parameters
114
-
115
- Programmatic animations expose internal magic numbers as user-editable `parameters` — character width, drift distance, particle count, stagger delay. Inputs appear in the Properties panel with min/max/step bounds and save to localStorage automatically.
116
-
117
- #### Interactive cursor system
118
-
119
- The `cursor` track drives a visible cursor that moves across the composition. Hover zones on interactive elements (buttons, tabs, inputs, cards) change the cursor appearance — arrow, pointer, or I-beam. See `app/remotion/hooks/useInteractiveComponent.ts` and `app/remotion/ui-components/InteractiveCard.tsx`.
120
-
121
- #### View range and repeat playback
122
-
123
- The timeline has a range navigator at the bottom (AE-style triangular handles). Drag to zoom and pan the visible time window. Playback in the player is constrained to that range, with a repeat toggle that loops inside it.
82
+ ### Key features
124
83
 
125
- #### Render output
84
+ **React-based compositions.** Videos are Remotion-backed React components, with SQL-backed user compositions and an optional code registry for local defaults.
126
85
 
127
- Composition size, fps, and render quality are per-composition in the Properties panel. Render quality is supersampling — 1x, 2x, or 3x internal resolution to keep text and vectors crisp during camera zoom. Final render happens via the Remotion CLI to MP4 or WebM.
86
+ **Timeline-first animation.** Duration tracks, keyframes, easing curves, camera moves, and programmatic expression tracks all edit the same composition data.
128
87
 
129
- #### Composition persistence
88
+ **Adjustable motion systems.** Parameters, cursor tracks, interactive hover zones, range navigation, and repeat playback make generated animations tunable without code.
130
89
 
131
- User edits (track values, parameter values, prop overrides, composition settings) persist to localStorage per composition. The **Save** button in the top-right of the composition view can write the current state back to `app/remotion/registry.ts` as TypeScript — so new users and sessions pick up the changes. That source-write path runs through `POST /api/save-composition-defaults`, which is gated to local development only; in production it returns a 403, and durable composition state lives in SQL instead.
90
+ **Render and persistence.** Composition settings, quality, fps, track values, and overrides persist per composition and render to MP4 or WebM through Remotion.
132
91
 
133
92
  ### Working with the agent
134
93
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.63.3",
3
+ "version": "0.63.4",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22"