Download src/mocks/automations.mock.ts from SaylorTwift/openhands: direct link, hf CLI and curl.
- Browser
- Download file 5.98 kB
-
https://huggingface.co/SaylorTwift/openhands/resolve/main/src/mocks/automations.mock.ts
- Command line
-
hf download hf://SaylorTwift/openhands/src/mocks/automations.mock.ts
-
curl -L -o automations.mock.ts https://huggingface.co/SaylorTwift/openhands/resolve/main/src/mocks/automations.mock.ts
5.98 kB
| import type { AutomationsResponse } from "#/types/automation"; | |
| /** | |
| * Mock automations data matching the AutomationResponse schema from the backend. | |
| * | |
| * Backend schema fields: id, user_id, org_id, name, trigger (JSONB), | |
| * tarball_path, setup_script_path, entrypoint, timeout, enabled, | |
| * last_triggered_at, created_at, updated_at. | |
| * | |
| * The frontend Automation type only uses a subset of these fields. | |
| * Additional backend fields are included here for API fidelity. | |
| */ | |
| const now = new Date().toISOString(); | |
| const daysAgo = (days: number) => | |
| new Date(Date.now() - days * 86_400_000).toISOString(); | |
| export const MOCK_AUTOMATIONS_RESPONSE: AutomationsResponse = { | |
| automations: [ | |
| { | |
| id: "a1000000-0000-0000-0000-000000000001", | |
| name: "PR Triage Digest", | |
| trigger: { | |
| type: "cron", | |
| schedule: "0 9 * * 1-5", | |
| schedule_human: "Weekdays at 09:00", | |
| }, | |
| enabled: true, | |
| repository: "acme/frontend-app", | |
| model: "triage-fast", | |
| timeout: 600, | |
| created_at: daysAgo(90), | |
| updated_at: now, | |
| prompt: | |
| "Review newly opened pull requests in acme/frontend-app, identify risky changes, summarize likely impact, and prepare a concise digest with priority ordering for the engineering review channel.", | |
| branch: "main", | |
| plugins: ["GitHub", "Slack", "Linear"], | |
| notification: "Slack digest to #eng-reviews", | |
| timezone: "America/Los_Angeles", | |
| last_triggered_at: daysAgo(0), | |
| }, | |
| { | |
| id: "a1000000-0000-0000-0000-000000000002", | |
| name: "Nightly Security Pass", | |
| trigger: { | |
| type: "cron", | |
| schedule: "30 1 * * *", | |
| schedule_human: "Daily at 01:30", | |
| }, | |
| enabled: true, | |
| repository: "acme/backend-api", | |
| model: "security-careful", | |
| timeout: 900, | |
| created_at: daysAgo(60), | |
| updated_at: now, | |
| prompt: | |
| "Scan the acme/backend-api repository for known security vulnerabilities, outdated dependencies, and insecure code patterns. Produce a prioritized remediation summary.", | |
| branch: "main", | |
| plugins: ["GitHub"], | |
| notification: "Email to security-team@acme.com", | |
| timezone: "UTC", | |
| last_triggered_at: daysAgo(0), | |
| }, | |
| { | |
| id: "a1000000-0000-0000-0000-000000000003", | |
| name: "Docs Sync on Push", | |
| trigger: { | |
| type: "cron", | |
| schedule: "*/5 * * * *", | |
| schedule_human: "Runs on every push", | |
| }, | |
| enabled: true, | |
| repository: "acme/docs", | |
| model: "docs-fast", | |
| created_at: daysAgo(45), | |
| updated_at: now, | |
| prompt: | |
| "Monitor acme/docs for new pushes. For each push, generate a changelog-ready summary of what changed and why.", | |
| branch: "main", | |
| plugins: ["GitHub", "Slack"], | |
| notification: "Slack to #docs-updates", | |
| timezone: "America/New_York", | |
| last_triggered_at: daysAgo(1), | |
| }, | |
| { | |
| id: "a1000000-0000-0000-0000-000000000004", | |
| name: "Release Readiness Review", | |
| trigger: { | |
| type: "cron", | |
| schedule: "0 11 * * 5", | |
| schedule_human: "Fridays at 11:00", | |
| }, | |
| enabled: false, | |
| repository: "acme/realtime-service", | |
| model: "release-review", | |
| created_at: daysAgo(80), | |
| updated_at: now, | |
| prompt: | |
| "Compile a release readiness report: list open blockers, active incidents, and pending approvals for acme/realtime-service.", | |
| branch: "release", | |
| plugins: ["GitHub", "Linear"], | |
| notification: "Slack to #releases", | |
| timezone: "America/Chicago", | |
| last_triggered_at: daysAgo(14), | |
| }, | |
| { | |
| id: "a1000000-0000-0000-0000-000000000005", | |
| name: "Incident Webhook Summary", | |
| trigger: { | |
| type: "cron", | |
| schedule: "0 */2 * * *", | |
| schedule_human: "On incident webhook", | |
| }, | |
| enabled: false, | |
| repository: "acme/incident-service", | |
| model: "incident-summary", | |
| created_at: daysAgo(30), | |
| updated_at: now, | |
| prompt: | |
| "Summarize incoming incident webhooks, categorize by severity, and post a digest to the on-call Slack channel.", | |
| branch: "main", | |
| plugins: ["Slack"], | |
| notification: "Slack to #oncall", | |
| timezone: "UTC", | |
| last_triggered_at: null, | |
| }, | |
| { | |
| id: "a1000000-0000-0000-0000-000000000006", | |
| name: "PR Review on Open", | |
| trigger: { | |
| type: "event", | |
| source: "github", | |
| on: "pull_request.opened", | |
| filter: "repository.full_name == 'acme/frontend-app'", | |
| }, | |
| enabled: true, | |
| repository: "acme/frontend-app", | |
| model: "review-fast", | |
| timeout: 1800, | |
| created_at: daysAgo(15), | |
| updated_at: now, | |
| prompt: | |
| "When a new PR is opened, perform a thorough code review focusing on correctness, security, and performance. Post findings as inline comments.", | |
| branch: "main", | |
| plugins: ["GitHub"], | |
| notification: "GitHub PR comment", | |
| last_triggered_at: daysAgo(0), | |
| // Template provenance, as the setup flow stores it. The other mock | |
| // automations stay without one to exercise the no-statement path. | |
| preset_metadata: { | |
| template: { id: "github-pr-reviewer", version: "1.0.0", config: {} }, | |
| }, | |
| }, | |
| { | |
| id: "a1000000-0000-0000-0000-000000000007", | |
| name: "Release Notes Generator", | |
| trigger: { | |
| type: "event", | |
| source: "github", | |
| on: "release.published", | |
| filter: "glob(release.tag_name, 'v*') && !release.prerelease", | |
| }, | |
| enabled: true, | |
| repository: "acme/backend-api", | |
| model: "docs-fast", | |
| created_at: daysAgo(10), | |
| updated_at: now, | |
| prompt: | |
| "Generate comprehensive release notes from the commits since the last release. Include breaking changes, new features, and bug fixes.", | |
| branch: "main", | |
| plugins: ["GitHub"], | |
| notification: "GitHub release body update", | |
| last_triggered_at: daysAgo(3), | |
| }, | |
| ], | |
| total: 7, | |
| }; | |