agentreel 0.1.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/src/Root.tsx ADDED
@@ -0,0 +1,26 @@
1
+ import { Composition } from "remotion";
2
+ import { CastVideo } from "./CastVideo";
3
+ import { defaultProps, CastProps } from "./types";
4
+
5
+ export const RemotionRoot: React.FC = () => {
6
+ return (
7
+ <Composition
8
+ id="CastVideo"
9
+ component={CastVideo}
10
+ durationInFrames={450}
11
+ fps={30}
12
+ width={1080}
13
+ height={1080}
14
+ defaultProps={defaultProps}
15
+ calculateMetadata={({ props }: { props: CastProps }) => {
16
+ const fps = 30;
17
+ const titleFrames = Math.round(2.5 * fps);
18
+ const highlightFrames = Math.round(4 * fps) * props.highlights.length;
19
+ const endFrames = Math.round(2.5 * fps);
20
+ return {
21
+ durationInFrames: titleFrames + highlightFrames + endFrames,
22
+ };
23
+ }}
24
+ />
25
+ );
26
+ };
package/src/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { registerRoot } from "remotion";
2
+ import { RemotionRoot } from "./Root";
3
+
4
+ registerRoot(RemotionRoot);
package/src/types.ts ADDED
@@ -0,0 +1,82 @@
1
+ // A highlight is one "moment" in the demo.
2
+ // Either terminal lines (CLI demo) or a video clip (browser demo).
3
+ export interface Highlight {
4
+ label: string; // e.g. "Initialize", "Configure", "Run"
5
+ overlay?: string; // big text overlay shown on top (e.g. "One command.")
6
+
7
+ // CLI mode — terminal lines
8
+ lines?: TermLine[];
9
+ zoomLine?: number;
10
+
11
+ // Browser mode — video clip from recorded session
12
+ videoSrc?: string; // path to video file (served via staticFile)
13
+ videoStartSec?: number; // trim: start time in seconds
14
+ videoEndSec?: number; // trim: end time in seconds
15
+ }
16
+
17
+ export interface TermLine {
18
+ text: string;
19
+ color?: string; // hex color for the line
20
+ bold?: boolean;
21
+ dim?: boolean;
22
+ isPrompt?: boolean; // prefix with $
23
+ }
24
+
25
+ export interface CastProps {
26
+ title: string; // big opening title
27
+ subtitle?: string; // smaller text under title
28
+ highlights: Highlight[];
29
+ endText?: string; // closing CTA command, e.g. "npm install itsovertime"
30
+ endUrl?: string; // URL shown under CTA, e.g. "github.com/islo-labs/overtime"
31
+ gradient?: [string, string]; // background gradient colors
32
+ }
33
+
34
+ export const defaultProps: CastProps = {
35
+ title: "itsovertime",
36
+ subtitle: "Cron for AI agents",
37
+ highlights: [
38
+ {
39
+ label: "Initialize",
40
+ overlay: "One command.",
41
+ lines: [
42
+ { text: "npx @islo-labs/overtime init", isPrompt: true },
43
+ { text: "" },
44
+ { text: " itsovertime Cron for AI agents", bold: true, color: "#bd93f9" },
45
+ { text: "" },
46
+ { text: " ✓ Created overtime.yml", color: "#50fa7b" },
47
+ ],
48
+ },
49
+ {
50
+ label: "Configure",
51
+ overlay: "Plain English schedules.",
52
+ lines: [
53
+ { text: "cat overtime.yml", isPrompt: true },
54
+ { text: "shifts:", dim: true },
55
+ { text: " - name: pr-review", color: "#f8f8f2" },
56
+ { text: ' schedule: "every hour"', color: "#50fa7b" },
57
+ { text: ' task: "Review open PRs..."', color: "#50fa7b" },
58
+ { text: " notify: slack", color: "#f8f8f2" },
59
+ ],
60
+ zoomLine: 3,
61
+ },
62
+ {
63
+ label: "Run",
64
+ overlay: "Fully autonomous.",
65
+ lines: [
66
+ { text: "npx @islo-labs/overtime", isPrompt: true },
67
+ { text: "" },
68
+ { text: "┌─ itsovertime ───────────────────────────┐", color: "#bd93f9" },
69
+ { text: "│ pr-review every hour ⟳ running │", color: "#f1fa8c" },
70
+ { text: "│ dep-updates Mon at 2am idle │", dim: true },
71
+ { text: "└──────────────────────────────────────────┘", color: "#bd93f9" },
72
+ { text: "" },
73
+ { text: " ✓ PR #42 reviewed — approved", color: "#50fa7b" },
74
+ { text: " ✓ PR #43 reviewed — changes requested", color: "#f1fa8c" },
75
+ ],
76
+ zoomLine: 3,
77
+ },
78
+ ],
79
+ endText: "npx @islo-labs/overtime",
80
+ endUrl: "github.com/islo-labs/overtime",
81
+ gradient: ["#0f0f1a", "#1a0f2e"],
82
+ };
package/tsconfig.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ES2022",
5
+ "moduleResolution": "bundler",
6
+ "jsx": "react-jsx",
7
+ "strict": true,
8
+ "esModuleInterop": true,
9
+ "skipLibCheck": true,
10
+ "outDir": "dist"
11
+ },
12
+ "include": ["src"]
13
+ }