Home

grim / tripwire

public
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

yo mama

3 months ago

38a5933
Authored
grim6/19/2026, 1:12:22 AM

Parentbb934e7

835 files changed
  • .DS_Store——
  • AGENTS.md+218−23
  • CLAUDE.md+7−0
  • DESIGN.md+289−0
  • PRODUCT.md+42−0
  • README.md+14−10
  • apps/web/.devtools/generations.json+1106−0
  • apps/web/.tanstack/tmp/04c1550a-d125601805482a9185948f33843e8802+1611−0
  • apps/web/.tanstack/tmp/1d2d2bd6-d125601805482a9185948f33843e8802+1611−0
  • apps/web/.tanstack/tmp/406362fb-d125601805482a9185948f33843e8802+1611−0
  • apps/web/.tanstack/tmp/94faaf2b-d125601805482a9185948f33843e8802+1611−0
  • apps/web/.tanstack/tmp/9b742883-d125601805482a9185948f33843e8802+1611−0
  • apps/web/.tanstack/tmp/fb69c88e-d125601805482a9185948f33843e8802+1611−0
  • apps/web/.turbo/turbo-test.log+36−0
  • apps/web/.turbo/turbo-typecheck.log+17−40
  • apps/web/@useautumn-sdk.d.ts+11−11
  • apps/web/autumn.config.ts+108−99
  • apps/web/biome.json+67−33
  • apps/web/components.json+2−1
  • apps/web/drizzle.config.ts+6−6
  • apps/web/drizzle/0000_mushy_newton_destine.sql+0−239
  • apps/web/nitro.config.ts+36−36
  • apps/web/package.json+131−114
  • apps/web/public/og.jpg——
  • apps/web/server/plugins/evlog-drain.ts+4−4
  • apps/web/server/plugins/otel.ts+4−4
  • apps/web/src/components/ask/chat-thread.tsx+0−757
  • apps/web/src/components/chat/chat-context.tsx+0−348
  • apps/web/src/components/chat/use-persisted-chat.ts+0−124
  • apps/web/src/components/home/event-group-card.tsx+0−186
  • apps/web/src/components/icons/automations-icon.tsx+0−22
  • apps/web/src/components/icons/chevron-down.tsx+0−21
  • apps/web/src/components/icons/chevron-sort.tsx+0−21
  • apps/web/src/components/icons/close-icon.tsx+0−19
  • apps/web/src/components/icons/events-icon.tsx+0−35
  • apps/web/src/components/icons/file-01-icon.tsx+0−26
  • apps/web/src/components/icons/github.tsx+0−21
  • apps/web/src/components/icons/home-icon.tsx+0−27
  • apps/web/src/components/icons/insights-icon.tsx+0−21
  • apps/web/src/components/icons/integrations-icon.tsx+0−24
  • apps/web/src/components/icons/menu-icon.tsx+0−17
  • apps/web/src/components/icons/nav-icons.tsx+0−156
  • apps/web/src/components/icons/rules-icon.tsx+0−18
  • apps/web/src/components/icons/search-icon.tsx+0−19
  • apps/web/src/components/icons/slash-divider.tsx+0−25
  • apps/web/src/components/icons/trend-arrow.tsx+0−22
  • apps/web/src/components/icons/tripwire-logo.tsx+0−18
  • apps/web/src/components/insights/blacklist-trend-chart.tsx+0−84
  • apps/web/src/components/insights/hero-stat.tsx+0−46
  • apps/web/src/components/insights/spam-trend-chart.tsx+0−68
  • apps/web/src/components/insights/stat-card.tsx+0−35
  • apps/web/src/components/landing/evil-eye.tsx+0−275
  • apps/web/src/components/landing/faulty-terminal.tsx+0−456
  • apps/web/src/components/landing/header.tsx+0−63
  • apps/web/src/components/landing/tripwire-eye.tsx+0−134
  • apps/web/src/components/landing/visuals.tsx+0−352
  • apps/web/src/components/landing/waitlist-form.tsx+0−73
  • apps/web/src/components/layout/app-header.tsx+0−53
  • apps/web/src/components/layout/app-shell.tsx+0−390
  • apps/web/src/components/layout/app/automations/agent-panel.tsx+91−0
  • apps/web/src/components/layout/app/automations/automation-editor-page.tsx+194−0
  • apps/web/src/components/layout/app/automations/automation-preview-page.tsx+105−0
  • apps/web/src/components/layout/app/automations/automations-page.tsx+772−0
  • apps/web/src/components/layout/app/automations/editor-panel.tsx+301−0
  • apps/web/src/components/layout/app/automations/node-types.tsx+513−0
  • apps/web/src/components/layout/app/automations/nodes/node-shell.tsx+337−0
  • apps/web/src/components/layout/app/automations/pending-changes-toolbar.tsx+71−0
  • apps/web/src/components/layout/app/automations/simulation-panel.tsx+551−0
  • apps/web/src/components/layout/app/automations/toolbox-panel.tsx+314−0
  • apps/web/src/components/layout/app/automations/workflow-editor.tsx+403−0
  • apps/web/src/components/layout/app/automations/workflow-sidebar.tsx+85−0
  • apps/web/src/components/layout/app/chat/ask-side-panel.tsx+221−0
  • apps/web/src/components/layout/app/chat/chat-composer-helpers.tsx+91−0
  • apps/web/src/components/layout/app/chat/chat-composer.tsx+625−0
  • apps/web/src/components/layout/app/chat/chat-thread.tsx+511−0
  • apps/web/src/components/layout/app/chat/chat-tool-cards.tsx+361−0
  • apps/web/src/components/layout/app/chat/chips.tsx+130−0
  • apps/web/src/components/layout/app/chat/command-arg-hint.tsx+44−0
  • apps/web/src/components/layout/app/chat/command-confirmation.tsx+65−0
  • apps/web/src/components/layout/app/chat/command-palette.tsx+87−0
  • apps/web/src/components/layout/app/chat/markdown-text.tsx+86−0
  • apps/web/src/components/layout/app/events/event-detail-page.tsx+886−0
  • apps/web/src/components/layout/app/events/events-page.tsx+550−0
  • apps/web/src/components/layout/app/home/event-group-card.tsx+199−0
  • apps/web/src/components/layout/app/home/home-page.tsx+592−0
  • apps/web/src/components/layout/app/home/insights/blacklist-trend-chart.tsx+82−0
  • apps/web/src/components/layout/app/home/insights/hero-stat.tsx+26−0
  • apps/web/src/components/layout/app/home/insights/spam-trend-chart.tsx+66−0
  • apps/web/src/components/layout/app/home/insights/stat-card.tsx+40−0
  • apps/web/src/components/layout/app/insights/insights-page.tsx+246−0
  • apps/web/src/components/layout/app/integrations/integrations-page.tsx+121−0
  • apps/web/src/components/layout/app/orgs/create-org-dialog.tsx+206−0
  • apps/web/src/components/layout/app/profile/community-signals.tsx+214−0
  • apps/web/src/components/layout/app/profile/contributions-heatmap.tsx+247−0
  • apps/web/src/components/layout/app/profile/pinned-repos.tsx+63−0
  • apps/web/src/components/layout/app/profile/user-profile-page.tsx+441−0
  • apps/web/src/components/layout/app/rules/custom/custom-rules-hub-page.tsx+75−0
  • apps/web/src/components/layout/app/rules/custom/custom-rules-tab.tsx+304−0
  • apps/web/src/components/layout/app/rules/custom/rule-builder-editor.tsx+601−0
  • apps/web/src/components/layout/app/rules/custom/rule-builder-page.tsx+126−0
  • apps/web/src/components/layout/app/rules/custom/rule-impact-preview.tsx+129−0
  • apps/web/src/components/layout/app/rules/custom/rule-palette-panel.tsx+67−0
  • apps/web/src/components/layout/app/rules/custom/rule-palette.ts+95−0
  • apps/web/src/components/layout/app/rules/file-content-editor.tsx+43−0
  • apps/web/src/components/layout/app/rules/panels/rules-extra-panels.tsx+406−0
  • apps/web/src/components/layout/app/rules/panels/rules-installed-panel.tsx+238−0
  • apps/web/src/components/layout/app/rules/panels/rules-marketplace-panel.tsx+241−0
  • apps/web/src/components/layout/app/rules/people/people-tab.tsx+533−0
  • apps/web/src/components/layout/app/rules/people/user-list.tsx+112−0
  • apps/web/src/components/layout/app/rules/people/user-pill.tsx+32−0
  • apps/web/src/components/layout/app/rules/repo-files-tree.tsx+508−0
  • apps/web/src/components/layout/app/rules/rule-card-grid.tsx+519−0
  • apps/web/src/components/layout/app/rules/rule-card.tsx+45−0
  • apps/web/src/components/layout/app/rules/rule-dropdown.tsx+66−0
  • apps/web/src/components/layout/app/rules/rules-save-bar.tsx+322−0
  • apps/web/src/components/layout/app/rules/rules-workspace-layout.tsx+267−0
  • apps/web/src/components/layout/app/rules/rules-workspace-page.tsx+7−0
  • apps/web/src/components/layout/app/rules/rules-workspace-skeleton.tsx+19−0
  • apps/web/src/components/layout/app/shell/app-shell.tsx+78−0
  • apps/web/src/components/layout/app/shell/credit-balance-pill.tsx+31−0
  • apps/web/src/components/layout/app/shell/install-github-prompt.tsx+48−0
  • apps/web/src/components/layout/app/shell/org-repo-switcher.tsx+190−0
  • apps/web/src/components/layout/app/shell/sidebar-recent-chats.tsx+146−0
  • apps/web/src/components/layout/app/shell/sidebar.tsx+174−0
  • apps/web/src/components/layout/app/shell/top-nav.tsx+319−0
  • apps/web/src/components/layout/app/shell/workspace-redirect.tsx+29−0
  • apps/web/src/components/layout/app/visibility/contributor-avatar.tsx+41−0
  • apps/web/src/components/layout/app/visibility/contributor-cache.test.ts+111−0
  • apps/web/src/components/layout/app/visibility/contributor-cache.ts+94−0
  • apps/web/src/components/layout/app/visibility/contributor-detail-drawer.tsx+280−0
  • apps/web/src/components/layout/app/visibility/contributors-table.tsx+358−0
  • apps/web/src/components/layout/app/visibility/recommendation-panels.tsx+281−0
  • apps/web/src/components/layout/app/visibility/score-badge.tsx+41−0
  • apps/web/src/components/layout/app/visibility/sync-bar.tsx+229−0
  • apps/web/src/components/layout/app/visibility/visibility-page.tsx+298−0
  • apps/web/src/components/layout/auth/login-page.tsx+51−0
  • apps/web/src/components/layout/empty-state.tsx+0−34
  • apps/web/src/components/layout/landing/evil-eye.tsx+301−0
  • apps/web/src/components/layout/landing/faulty-terminal.tsx+537−0
  • apps/web/src/components/layout/landing/header.tsx+63−0
  • apps/web/src/components/layout/landing/space-invaders.tsx+434−0
  • apps/web/src/components/{ => layout}/landing/tripwire-features.tsx+323−201
  • apps/web/src/components/layout/landing/waitlist-form.tsx+73−0
  • apps/web/src/components/layout/onboarding/step-shell.tsx+85−0
  • apps/web/src/components/layout/onboarding/step1-page.tsx+63−0
  • apps/web/src/components/layout/onboarding/step2-page.tsx+147−0
  • apps/web/src/components/layout/org-repo-switcher.tsx+0−128
  • apps/web/src/components/layout/sidebar.tsx+0−178
  • apps/web/src/components/layout/top-nav.tsx+0−227
  • apps/web/src/components/layout/workspace-redirect.tsx+0−29
  • apps/web/src/components/profile/community-signals.tsx+0−179
  • apps/web/src/components/profile/contributions-heatmap.tsx+0−252
  • apps/web/src/components/profile/pinned-repos.tsx+0−65
  • apps/web/src/components/rules/file-content-editor.tsx+0−43
  • apps/web/src/components/rules/people-tab.tsx+0−435
  • apps/web/src/components/rules/repo-files-tree.tsx+0−471
  • apps/web/src/components/rules/rule-card-grid.tsx+0−474
  • apps/web/src/components/rules/rule-card.tsx+0−38
  • apps/web/src/components/rules/rule-dropdown.tsx+0−76
  • apps/web/src/components/rules/rules-save-bar.tsx+0−306
  • apps/web/src/components/rules/user-list.tsx+0−101
  • apps/web/src/components/rules/user-pill.tsx+0−32
  • apps/web/src/components/shared/dither/dither.css+5−0
  • apps/web/src/components/shared/dither/index.d.ts+17−0
  • apps/web/src/components/shared/dither/index.jsx+300−0
  • apps/web/src/components/shared/empty-state.tsx+35−0
  • apps/web/src/components/shared/feedback-dialog.tsx+38−0
  • apps/web/src/components/ui/button.tsx+0−119
  • apps/web/src/components/ui/checkbox.tsx+0−39
  • apps/web/src/components/ui/menu.tsx+0−325
  • apps/web/src/components/ui/skeleton.tsx+0−15
  • apps/web/src/components/ui/unicode-spinner.tsx+0−139
  • apps/web/src/constants/automation-templates.ts+341−0
  • apps/web/src/constants/reserved-org-slugs.ts+134−0
  • apps/web/src/constants/rules-tab-paths.ts+41−0
  • apps/web/src/hooks/use-chat-usage.ts+69−0
  • apps/web/src/hooks/use-events-unread.ts+65−0
  • apps/web/src/hooks/use-github-user.ts+73−61
  • apps/web/src/hooks/use-haptics.ts+0−12
  • apps/web/src/hooks/use-mention-chip-attachment-below.ts+91−0
  • apps/web/src/hooks/use-onboarding-redirect.ts+47−0
  • apps/web/src/hooks/use-org-redirect.ts+13−0
  • apps/web/src/hooks/use-persisted-chat.ts+30−0
  • apps/web/src/hooks/use-request-notifications.ts+80−0
  • apps/web/src/hooks/use-slash-command-input.ts+104−0
  • apps/web/src/inngest/client.ts+40−0
  • apps/web/src/inngest/research.ts+213−0
  • apps/web/src/inngest/score-user.ts+70−0
  • apps/web/src/inngest/visibility-helpers.ts+144−0
  • apps/web/src/inngest/visibility.ts+208−0
  • apps/web/src/instrumentation.ts+71−71
  • apps/web/src/integrations/tanstack-query/devtools.tsx+2−2
  • apps/web/src/integrations/tanstack-query/persistence.test.ts+149−0
  • apps/web/src/integrations/tanstack-query/persistence.ts+154−0
  • apps/web/src/integrations/tanstack-query/root-provider.tsx+20−8
  • apps/web/src/integrations/trpc/error.ts+43−43
  • apps/web/src/integrations/trpc/init.ts+15−13
  • apps/web/src/integrations/trpc/react.ts+2−2
  • apps/web/src/integrations/trpc/router.ts+53−26
  • apps/web/src/integrations/trpc/routers/admin-overview.ts+149−0
  • apps/web/src/integrations/trpc/routers/admin-reputation.ts+135−0
  • apps/web/src/integrations/trpc/routers/api-keys.ts+71−76
  • apps/web/src/integrations/trpc/routers/auth.ts+68−0
  • apps/web/src/integrations/trpc/routers/chats.ts+461−181
  • apps/web/src/integrations/trpc/routers/custom-rules.ts+415−0
  • apps/web/src/integrations/trpc/routers/events.ts+397−426
  • apps/web/src/integrations/trpc/routers/fake-bounties.ts+160−156
  • apps/web/src/integrations/trpc/routers/github-signals.ts+27−0
  • apps/web/src/integrations/trpc/routers/lists.ts+347−286
  • apps/web/src/integrations/trpc/routers/onboarding.ts+191−0
  • apps/web/src/integrations/trpc/routers/orgs.ts+166−134
  • apps/web/src/integrations/trpc/routers/preferences.ts+49−0
  • apps/web/src/integrations/trpc/routers/reputation.ts+260−234
  • apps/web/src/integrations/trpc/routers/requests.ts+267−260
  • apps/web/src/integrations/trpc/routers/research.ts+246−0
  • apps/web/src/integrations/trpc/routers/rules.ts+358−331
  • apps/web/src/integrations/trpc/routers/visibility.ts+524−0
  • apps/web/src/integrations/trpc/routers/vouches.ts+276−262
  • apps/web/src/integrations/trpc/routers/waitlist.ts+35−38
  • apps/web/src/integrations/trpc/routers/workflows.ts+921−0
  • apps/web/src/lib/billing.ts+25−0
  • apps/web/src/lib/cache.ts+101−0
  • apps/web/src/lib/chat/commands.test.ts+49−0
  • apps/web/src/lib/chat/commands.ts+283−0
  • apps/web/src/lib/chat/conversation-stored.ts+17−0
  • apps/web/src/lib/chat/extract-title.ts+31−0
  • apps/web/src/lib/chat/format.ts+282−0
  • apps/web/src/lib/chat/mentions.test.ts+84−0
  • apps/web/src/lib/chat/mentions.ts+101−0
  • apps/web/src/lib/chat/messages.ts+64−0
  • apps/web/src/lib/chat/migration.test.ts+412−0
  • apps/web/src/lib/chat/persistence.ts+52−0
  • apps/web/src/lib/chat/server.ts+461−0
  • apps/web/src/lib/chat/use-chat-engine.ts+180−0
  • apps/web/src/lib/chat/use-command-runner.ts+374−0
  • apps/web/src/lib/custom-rules.ts+29−0
  • apps/web/src/lib/dev-router-timing.ts+40−0
  • apps/web/src/lib/event-labels.ts+58−0
  • apps/web/src/lib/feature-flags.ts+14−0
  • apps/web/src/lib/format.ts+46−0
  • apps/web/src/lib/github-badges.ts+0−131
  • apps/web/src/lib/github/badges.ts+135−0
  • apps/web/src/lib/github/cache-policy.ts+52−0
  • apps/web/src/lib/github/install.ts+170−0
  • apps/web/src/lib/github/login-validation.ts+7−0
  • apps/web/src/lib/github/revalidation.test.ts+115−0
  • apps/web/src/lib/github/revalidation.ts+133−0
  • apps/web/src/lib/github/use-repo-signal-targets.ts+45−0
  • apps/web/src/lib/github/use-signal-poll.test.ts+122−0
  • apps/web/src/lib/github/use-signal-poll.ts+207−0
  • apps/web/src/lib/github/use-signal-stream.test.ts+149−0
  • apps/web/src/lib/github/use-signal-stream.ts+179−0
  • apps/web/src/lib/github/webhook.ts+204−0
  • apps/web/src/lib/query-keys.ts+34−0
  • apps/web/src/lib/routes.ts+28−27
  • apps/web/src/lib/schedule-format.ts+29−0
  • apps/web/src/lib/score.ts+5−0
  • apps/web/src/lib/seo.ts+237−43
  • apps/web/src/lib/sidebar-context.tsx+0−32
  • apps/web/src/lib/site-config.ts+33−0
  • apps/web/src/lib/toast-error.ts+50−25
  • apps/web/src/lib/use-events-unread.ts+0−59
  • apps/web/src/lib/use-optimistic-mutation.test.ts+150−0
  • apps/web/src/lib/use-optimistic-mutation.ts+79−0
  • apps/web/src/lib/use-refresh-on-return.test.ts+63−0
  • apps/web/src/lib/use-refresh-on-return.ts+86−0
  • apps/web/src/lib/use-request-notifications.ts+0−80
  • apps/web/src/lib/visibility-queries.ts+54−0
  • apps/web/src/lib/workflow/events.ts+135−0
  • apps/web/src/lib/workflow/graph-evaluator.ts+76−0
  • apps/web/src/lib/workflow/node-styles.ts+24−0
  • apps/web/src/lib/workflow/pending-changes.ts+44−0
  • apps/web/src/lib/workflow/sim-context.ts+114−0
  • apps/web/src/lib/workflow/simulation.test.ts+177−0
  • apps/web/src/lib/workflow/simulation.ts+337−0
  • apps/web/src/lib/workspace-context.tsx+0−216
  • apps/web/src/providers/chat-context.tsx+281−0
  • apps/web/src/providers/rules-workspace-context.tsx+669−0
  • apps/web/src/providers/sidebar-context.tsx+38−0
  • apps/web/src/providers/workspace-context.tsx+251−0
  • apps/web/src/routeTree.gen.ts+701−59
  • apps/web/src/router.tsx+9−5
  • apps/web/src/routes/[.well-known].oauth-authorization-server.$.ts+0−15
  • apps/web/src/routes/[.well-known].oauth-authorization-server.ts+0−13
  • apps/web/src/routes/[.well-known].oauth-protected-resource.$.ts+0−15
  • apps/web/src/routes/[.well-known].oauth-protected-resource.ts+0−13
  • apps/web/src/routes/[.well-known]/oauth-authorization-server.ts+15−0
  • apps/web/src/routes/[.well-known]/oauth-authorization-server/$.ts+15−0
  • apps/web/src/routes/[.well-known]/oauth-protected-resource.ts+13−0
  • apps/web/src/routes/[.well-known]/oauth-protected-resource/$.ts+15−0
  • apps/web/src/routes/__root.tsx+96−59
  • apps/web/src/routes/_admin.tsx+155−0
  • apps/web/src/routes/_admin/admin/index.tsx+315−0
  • apps/web/src/routes/_admin/admin/reputation.tsx+442−0
  • apps/web/src/routes/_admin/admin/research/$runId.tsx+218−0
  • apps/web/src/routes/_admin/admin/research/index.tsx+120−0
  • apps/web/src/routes/_admin/admin/research/new.tsx+194−0
  • apps/web/src/routes/_app.tsx+4−4
  • apps/web/src/routes/_app/$orgHandle.automations.tsx+0−12
  • apps/web/src/routes/_app/$orgHandle.events.$eventId.tsx+0−979
  • apps/web/src/routes/_app/$orgHandle.events.index.tsx+0−549
  • apps/web/src/routes/_app/$orgHandle.home.tsx+0−488
  • apps/web/src/routes/_app/$orgHandle.insights.tsx+0−235
  • apps/web/src/routes/_app/$orgHandle.integrations.tsx+0−94
  • apps/web/src/routes/_app/$orgHandle.rules.tsx+0−1117
  • apps/web/src/routes/_app/$orgHandle.tsx+3−3
  • apps/web/src/routes/_app/$orgHandle/automations/$automationId.tsx+30−0
  • apps/web/src/routes/_app/$orgHandle/automations/index.tsx+20−0
  • apps/web/src/routes/_app/$orgHandle/automations/preview.tsx+19−0
  • apps/web/src/routes/_app/$orgHandle/events/$eventId.tsx+28−0
  • apps/web/src/routes/_app/$orgHandle/events/index.tsx+20−0
  • apps/web/src/routes/_app/$orgHandle/home.tsx+20−0
  • apps/web/src/routes/_app/$orgHandle/insights.tsx+20−0
  • apps/web/src/routes/_app/$orgHandle/integrations.tsx+20−0
  • apps/web/src/routes/_app/$orgHandle/rules/0.tsx+16−0
  • apps/web/src/routes/_app/$orgHandle/rules/custom/$ruleId.tsx+22−0
  • apps/web/src/routes/_app/$orgHandle/rules/custom/index.tsx+20−0
  • apps/web/src/routes/_app/$orgHandle/rules/files.tsx+16−0
  • apps/web/src/routes/_app/$orgHandle/rules/index.tsx+53−0
  • apps/web/src/routes/_app/$orgHandle/rules/installed.tsx+16−0
  • apps/web/src/routes/_app/$orgHandle/rules/marketplace.tsx+16−0
  • apps/web/src/routes/_app/$orgHandle/rules/people.tsx+16−0
  • apps/web/src/routes/_app/$orgHandle/rules/requests.tsx+16−0
  • apps/web/src/routes/_app/$orgHandle/rules/route.tsx+50−0
  • apps/web/src/routes/_app/$orgHandle/rules/workflows.tsx+16−0
  • apps/web/src/routes/_app/$orgHandle/settings.tsx+336−0
  • apps/web/src/routes/_app/$orgHandle/visibility.tsx+20−0
  • apps/web/src/routes/_app/automations.tsx+13−16
  • apps/web/src/routes/_app/chat.$chatId.tsx+0−178
  • apps/web/src/routes/_app/chat/$chatId.tsx+225−0
  • apps/web/src/routes/_app/events.$eventId.tsx+0−19
  • apps/web/src/routes/_app/events.index.tsx+0−18
  • apps/web/src/routes/_app/events/$eventId.tsx+10−0
  • apps/web/src/routes/_app/events/index.tsx+15−0
  • apps/web/src/routes/_app/home.tsx+13−16
  • apps/web/src/routes/_app/insights.tsx+13−16
  • apps/web/src/routes/_app/integrations.tsx+13−16
  • apps/web/src/routes/_app/rules.tsx+13−16
  • apps/web/src/routes/_app/search.tsx+23−10
  • apps/web/src/routes/_app/settings.tsx+82−59
  • apps/web/src/routes/_app/settings/account.tsx+363−274
  • apps/web/src/routes/_app/settings/billing.tsx+263−227
  • apps/web/src/routes/_app/settings/developers.tsx+223−196
  • apps/web/src/routes/_app/settings/general.tsx+208−177
  • apps/web/src/routes/_app/users.$username.tsx+0−322
  • apps/web/src/routes/_app/users/$username.tsx+18−0
  • apps/web/src/routes/_app/visibility.tsx+15−0
  • apps/web/src/routes/api.chat.ts+0−676
  • apps/web/src/routes/api.github.callback.ts+0−313
  • apps/web/src/routes/api.github.install.ts+0−63
  • apps/web/src/routes/api.github.webhook.ts+0−378
  • apps/web/src/routes/api.mcp.ts+0−35
  • apps/web/src/routes/api.oauth.app-info.ts+0−44
  • apps/web/src/routes/api.tools.run.ts+0−121
  • apps/web/src/routes/api.trpc.$.tsx+0−22
  • apps/web/src/routes/api.v1.vouched.ts+0−99
  • apps/web/src/routes/api/auth/$.ts+3−3
  • apps/web/src/routes/api/chat.ts+471−0
  • apps/web/src/routes/api/feedback.ts+189−0
  • apps/web/src/routes/api/github/callback.ts+97−0
  • apps/web/src/routes/api/github/install.ts+60−0
  • apps/web/src/routes/api/github/signals/stream.ts+97−0
  • apps/web/src/routes/api/github/webhook.ts+319−0
  • apps/web/src/routes/api/inngest.ts+21−0
  • apps/web/src/routes/api/mcp.ts+77−0
  • apps/web/src/routes/api/oauth/app-info.ts+44−0
  • apps/web/src/routes/api/tools/run.ts+118−0
  • apps/web/src/routes/api/trpc/$.tsx+22−0
  • apps/web/src/routes/api/v1/vouched.ts+105−0
  • apps/web/src/routes/index.tsx+133−90
  • apps/web/src/routes/login.tsx+16−48
  • apps/web/src/routes/oauth.consent.tsx+0−227
  • apps/web/src/routes/oauth/consent.tsx+238−0
  • apps/web/src/routes/onboarding/route.tsx+42−0
  • apps/web/src/routes/onboarding/step.1.tsx+16−0
  • apps/web/src/routes/onboarding/step.2.tsx+22−0
  • apps/web/src/routes/onboarding/step.3.tsx+208−0
  • apps/web/src/routes/onboarding/step.4.tsx+211−0
  • apps/web/src/routes/request.$owner.$repo.tsx+228−190
  • apps/web/src/routes/vouched.tsx+308−262
  • apps/web/src/styles.css+228−57
  • apps/web/src/types/chat.ts+79−0
  • apps/web/src/types/chat/index.ts+0−32
  • apps/web/src/types/github/index.ts+0−94
  • apps/web/src/types/home.ts+32−0
  • apps/web/src/types/home/index.ts+0−32
  • apps/web/src/utils/chat/index.tsx+0−248
  • apps/web/src/utils/github/index.ts+0−89
  • apps/web/src/utils/github/profile-score.ts+0−182
  • apps/web/src/utils/home/index.ts+0−15
  • apps/web/tsconfig.json+11−11
  • apps/web/vite.config.ts+42−35
  • apps/web/vite/dev-serve-timing-plugin.ts+34−0
  • bun.lock+211−0
  • docs/CLI_PLAN.md+6−0
  • docs/MONOREPO_EXTRACTION_PLAN.md+17−2
  • eslint.config.js+53−0
  • package.json+37−25
  • packages/ai/.turbo/turbo-typecheck.log+0−5
  • packages/ai/package.json+39−30
  • packages/ai/src/agent.ts+94−0
  • packages/ai/src/approval-token.ts+0−157
  • packages/ai/src/artifacts.ts+48−0
  • packages/ai/src/components/index.ts+1−1
  • packages/ai/src/components/thinking-phrases.ts+20−20
  • packages/ai/src/credit-middleware.ts+176−100
  • packages/ai/src/credit-schema.ts+94−67
  • packages/ai/src/index.ts+5−7
  • packages/ai/src/memory.ts+8−0
  • packages/ai/src/model-config.ts+46−0
  • packages/ai/src/prompt.ts+50−31
  • packages/ai/tsconfig.json+6−6
  • packages/auth/.turbo/turbo-typecheck.log+0−1
  • packages/auth/package.json+29−29
  • packages/auth/src/autumn.ts+5−5
  • packages/auth/src/client/index.ts+5−5
  • packages/auth/src/components/auth-context.tsx+39−38
  • packages/auth/src/components/index.ts+1−1
  • packages/auth/src/index.ts+253−203
  • packages/auth/tsconfig.json+6−6
  • packages/core/.turbo/turbo-test.log+112−0
  • packages/core/.turbo/turbo-typecheck.log+0−1
  • packages/core/package.json+38−30
  • packages/core/src/api-keys.ts+43−44
  • packages/core/src/assertions.ts+117−55
  • packages/core/src/blocks/actions/add-to-blacklist.test.ts+17−0
  • packages/core/src/blocks/actions/add-to-blacklist.ts+22−0
  • packages/core/src/blocks/actions/add-to-whitelist.test.ts+17−0
  • packages/core/src/blocks/actions/add-to-whitelist.ts+22−0
  • packages/core/src/blocks/actions/block.test.ts+18−0
  • packages/core/src/blocks/actions/block.ts+29−0
  • packages/core/src/blocks/actions/close.test.ts+17−0
  • packages/core/src/blocks/actions/close.ts+22−0
  • packages/core/src/blocks/actions/comment.test.ts+21−0
  • packages/core/src/blocks/actions/comment.ts+30−0
  • packages/core/src/blocks/actions/label.test.ts+18−0
  • packages/core/src/blocks/actions/label.ts+30−0
  • packages/core/src/blocks/actions/log.test.ts+18−0
  • packages/core/src/blocks/actions/log.ts+29−0
  • packages/core/src/blocks/actions/notify-discord.test.ts+29−0
  • packages/core/src/blocks/actions/notify-discord.ts+30−0
  • packages/core/src/blocks/actions/notify-slack.test.ts+26−0
  • packages/core/src/blocks/actions/notify-slack.ts+30−0
  • packages/core/src/blocks/actions/remove-from-blacklist.test.ts+17−0
  • packages/core/src/blocks/actions/remove-from-blacklist.ts+22−0
  • packages/core/src/blocks/actions/remove-from-whitelist.test.ts+17−0
  • packages/core/src/blocks/actions/remove-from-whitelist.ts+22−0
  • packages/core/src/blocks/actions/request-review.test.ts+17−0
  • packages/core/src/blocks/actions/request-review.ts+22−0
  • packages/core/src/blocks/actions/send-webhook.test.ts+26−0
  • packages/core/src/blocks/actions/send-webhook.ts+30−0
  • packages/core/src/blocks/actions/warn.test.ts+18−0
  • packages/core/src/blocks/actions/warn.ts+29−0
  • packages/core/src/blocks/composition.test.ts+258−0
  • packages/core/src/blocks/conditions/compare.test.ts+94−0
  • packages/core/src/blocks/conditions/compare.ts+116−0
  • packages/core/src/blocks/delays/wait.test.ts+43−0
  • packages/core/src/blocks/delays/wait.ts+49−0
  • packages/core/src/blocks/handles.ts+39−0
  • packages/core/src/blocks/index.ts+271−0
  • packages/core/src/blocks/logic/and.test.ts+26−0
  • packages/core/src/blocks/logic/and.ts+18−0
  • packages/core/src/blocks/logic/not.test.ts+26−0
  • packages/core/src/blocks/logic/not.ts+18−0
  • packages/core/src/blocks/logic/or.test.ts+26−0
  • packages/core/src/blocks/logic/or.ts+18−0
  • packages/core/src/blocks/rules/account-age.test.ts+33−0
  • packages/core/src/blocks/rules/account-age.ts+43−0
  • packages/core/src/blocks/rules/ai-honeypot.test.ts+24−0
  • packages/core/src/blocks/rules/ai-honeypot.ts+34−0
  • packages/core/src/blocks/rules/contributor-score.test.ts+36−0
  • packages/core/src/blocks/rules/contributor-score.ts+41−0
  • packages/core/src/blocks/rules/crypto.test.ts+35−0
  • packages/core/src/blocks/rules/crypto.ts+38−0
  • packages/core/src/blocks/rules/language.test.ts+39−0
  • packages/core/src/blocks/rules/language.ts——
  • packages/core/src/blocks/rules/max-files-changed.test.ts+32−0
  • packages/core/src/blocks/rules/max-files-changed.ts+43−0
  • packages/core/src/blocks/rules/max-prs-per-day.test.ts+32−0
  • packages/core/src/blocks/rules/max-prs-per-day.ts+42−0
  • packages/core/src/blocks/rules/min-merged-prs.test.ts+32−0
  • packages/core/src/blocks/rules/min-merged-prs.ts+43−0
  • packages/core/src/blocks/rules/repo-activity-minimum.test.ts+58−0
  • packages/core/src/blocks/rules/repo-activity-minimum.ts+43−0
  • packages/core/src/blocks/rules/require-profile-readme.test.ts+24−0
  • packages/core/src/blocks/rules/require-profile-readme.ts+33−0
  • packages/core/src/blocks/rules/vouched-users-only.test.ts+30−0
  • packages/core/src/blocks/rules/vouched-users-only.ts+45−0
  • packages/core/src/blocks/transforms/compute-score.test.ts+26−0
  • packages/core/src/blocks/transforms/compute-score.ts+32−0
  • packages/core/src/blocks/transforms/detect-language.test.ts+35−0
  • packages/core/src/blocks/transforms/detect-language.ts+36−0
  • packages/core/src/blocks/transforms/fetch-github-user.test.ts+60−0
  • packages/core/src/blocks/transforms/fetch-github-user.ts+82−0
  • packages/core/src/blocks/transforms/fetch-pr-files.test.ts+26−0
  • packages/core/src/blocks/transforms/fetch-pr-files.ts+32−0
  • packages/core/src/blocks/transforms/scan-history.test.ts+21−0
  • packages/core/src/blocks/transforms/scan-history.ts+18−0
  • packages/core/src/blocks/triggers/comment-created.test.ts+11−0
  • packages/core/src/blocks/triggers/comment-created.ts+18−0
  • packages/core/src/blocks/triggers/contributor-first-interaction.test.ts+11−0
  • packages/core/src/blocks/triggers/contributor-first-interaction.ts+18−0
  • packages/core/src/blocks/triggers/issue-edited.test.ts+11−0
  • packages/core/src/blocks/triggers/issue-edited.ts+18−0
  • packages/core/src/blocks/triggers/issue-opened.test.ts+11−0
  • packages/core/src/blocks/triggers/issue-opened.ts+18−0
  • packages/core/src/blocks/triggers/manual.test.ts+11−0
  • packages/core/src/blocks/triggers/manual.ts+18−0
  • packages/core/src/blocks/triggers/pr-edited.test.ts+11−0
  • packages/core/src/blocks/triggers/pr-edited.ts+19−0
  • packages/core/src/blocks/triggers/pr-opened.test.ts+11−0
  • packages/core/src/blocks/triggers/pr-opened.ts+18−0
  • packages/core/src/blocks/triggers/repo-scan.test.ts+11−0
  • packages/core/src/blocks/triggers/repo-scan.ts+18−0
  • packages/core/src/blocks/triggers/schedule-daily.test.ts+15−0
  • packages/core/src/blocks/triggers/schedule-daily.ts+17−0
  • packages/core/src/blocks/triggers/schedule-weekly.test.ts+15−0
  • packages/core/src/blocks/triggers/schedule-weekly.ts+17−0
  • packages/core/src/blocks/triggers/schedule.test.ts+18−0
  • packages/core/src/blocks/triggers/schedule.ts+109−0
  • packages/core/src/blocks/types.ts+59−0
  • packages/core/src/blocks/utils.ts+43−0
  • packages/core/src/contributor-fetch.ts+371−0
  • packages/core/src/contributor-identity.test.ts+38−0
  • packages/core/src/contributor-identity.ts+22−0
  • packages/core/src/contributor-score.ts+621−334
  • packages/core/src/events.ts+155−108
  • packages/core/src/fake-bounty.ts+203−200
  • packages/core/src/filter-pipeline.test.ts+254−164
  • packages/core/src/filter-pipeline.ts+1442−1270
  • packages/core/src/index.ts+24−10
  • packages/core/src/language-detection.test.ts+109−106
  • packages/core/src/language-detection.ts+67−61
  • packages/core/src/node-evaluators.ts+11−0
  • packages/core/src/reputation.ts+92−92
  • packages/core/src/rules.test.ts+603−0
  • packages/core/src/rules/config-draft.ts+651−564
  • packages/core/src/rules/config-schema.ts+61−58
  • packages/core/src/rules/custom-rule-evaluator.ts+306−0
  • packages/core/src/rules/custom-rule-limits.ts+42−0
  • packages/core/src/rules/custom-rule-schema.ts+79−0
  • packages/core/src/rules/signal-registry.ts+27−0
  • packages/core/src/rules/signal-resolver.ts+29−0
  • packages/core/src/signals/account/account-age-days.test.ts+24−0
  • packages/core/src/signals/account/account-age-days.ts+14−0
  • packages/core/src/signals/account/account-type.test.ts+19−0
  • packages/core/src/signals/account/account-type.ts+10−0
  • packages/core/src/signals/account/has-bio.test.ts+24−0
  • packages/core/src/signals/account/has-bio.ts+10−0
  • packages/core/src/signals/account/has-blog.test.ts+24−0
  • packages/core/src/signals/account/has-blog.ts+10−0
  • packages/core/src/signals/account/has-company.test.ts+24−0
  • packages/core/src/signals/account/has-company.ts+10−0
  • packages/core/src/signals/account/has-twitter.test.ts+24−0
  • packages/core/src/signals/account/has-twitter.ts+10−0
  • packages/core/src/signals/account/has-two-factor.test.ts+24−0
  • packages/core/src/signals/account/has-two-factor.ts+11−0
  • packages/core/src/signals/badges/is-bounty-hunter.test.ts+21−0
  • packages/core/src/signals/badges/is-bounty-hunter.ts+11−0
  • packages/core/src/signals/badges/is-campus-expert.test.ts+21−0
  • packages/core/src/signals/badges/is-campus-expert.ts+11−0
  • packages/core/src/signals/badges/is-developer-program-member.test.ts+23−0
  • packages/core/src/signals/badges/is-developer-program-member.ts+12−0
  • packages/core/src/signals/badges/is-github-star.test.ts+19−0
  • packages/core/src/signals/badges/is-github-star.ts+11−0
  • packages/core/src/signals/badges/is-site-admin.test.ts+19−0
  • packages/core/src/signals/badges/is-site-admin.ts+11−0
  • packages/core/src/signals/content/content-language.test.ts+23−0
  • packages/core/src/signals/content/content-language.ts+10−0
  • packages/core/src/signals/content/content-length.test.ts+18−0
  • packages/core/src/signals/content/content-length.ts+10−0
  • packages/core/src/signals/content/files-changed.test.ts+24−0
  • packages/core/src/signals/content/files-changed.ts+10−0
  • packages/core/src/signals/content/has-crypto-address.test.ts+25−0
  • packages/core/src/signals/content/has-crypto-address.ts+10−0
  • packages/core/src/signals/contributions/closed-prs.test.ts+20−0
  • packages/core/src/signals/contributions/closed-prs.ts+10−0
  • packages/core/src/signals/contributions/contributions-last-year.test.ts+30−0
  • packages/core/src/signals/contributions/contributions-last-year.ts+11−0
  • packages/core/src/signals/contributions/fork-repos.test.ts+24−0
  • packages/core/src/signals/contributions/fork-repos.ts+11−0
  • packages/core/src/signals/contributions/merge-ratio.test.ts+20−0
  • packages/core/src/signals/contributions/merge-ratio.ts+10−0
  • packages/core/src/signals/contributions/merged-prs.test.ts+20−0
  • packages/core/src/signals/contributions/merged-prs.ts+10−0
  • packages/core/src/signals/contributions/non-fork-repos.test.ts+24−0
  • packages/core/src/signals/contributions/non-fork-repos.ts+11−0
  • packages/core/src/signals/contributions/public-gists.test.ts+24−0
  • packages/core/src/signals/contributions/public-gists.ts+10−0
  • packages/core/src/signals/contributions/public-repos.test.ts+24−0
  • packages/core/src/signals/contributions/public-repos.ts+10−0
  • packages/core/src/signals/index.ts+174−0
  • packages/core/src/signals/integration.test.ts+138−0
  • packages/core/src/signals/profile/achievement-count.test.ts+19−0
  • packages/core/src/signals/profile/achievement-count.ts+11−0
  • packages/core/src/signals/profile/contribution-years.test.ts+24−0
  • packages/core/src/signals/profile/contribution-years.ts+12−0
  • packages/core/src/signals/profile/has-profile-readme.test.ts+19−0
  • packages/core/src/signals/profile/has-profile-readme.ts+11−0
  • packages/core/src/signals/profile/social-account-count.test.ts+31−0
  • packages/core/src/signals/profile/social-account-count.ts+11−0
  • packages/core/src/signals/red-flags/auto-merge-farm-median-time.test.ts+50−0
  • packages/core/src/signals/red-flags/auto-merge-farm-median-time.ts+16−0
  • packages/core/src/signals/red-flags/fork-heavy.test.ts+37−0
  • packages/core/src/signals/red-flags/fork-heavy.ts+15−0
  • packages/core/src/signals/red-flags/spray-burst-count.test.ts+27−0
  • packages/core/src/signals/red-flags/spray-burst-count.ts+12−0
  • packages/core/src/signals/red-flags/temporal-regularity-cv.test.ts+63−0
  • packages/core/src/signals/red-flags/temporal-regularity-cv.ts+21−0
  • packages/core/src/signals/reputation/is-blacklisted.test.ts+21−0
  • packages/core/src/signals/reputation/is-blacklisted.ts+10−0
  • packages/core/src/signals/reputation/is-whitelisted.test.ts+21−0
  • packages/core/src/signals/reputation/is-whitelisted.ts+10−0
  • packages/core/src/signals/reputation/score.test.ts+19−0
  • packages/core/src/signals/reputation/score.ts+10−0
  • packages/core/src/signals/reputation/total-allows.test.ts+19−0
  • packages/core/src/signals/reputation/total-allows.ts+10−0
  • packages/core/src/signals/reputation/total-blocks.test.ts+19−0
  • packages/core/src/signals/reputation/total-blocks.ts+10−0
  • packages/core/src/signals/reputation/total-near-misses.test.ts+19−0
  • packages/core/src/signals/reputation/total-near-misses.ts+10−0
  • packages/core/src/signals/social/followers.test.ts+24−0
  • packages/core/src/signals/social/followers.ts+10−0
  • packages/core/src/signals/social/following.test.ts+24−0
  • packages/core/src/signals/social/following.ts+10−0
  • packages/core/src/signals/social/has-sponsors-listing.test.ts+30−0
  • packages/core/src/signals/social/has-sponsors-listing.ts+11−0
  • packages/core/src/signals/social/org-count.test.ts+34−0
  • packages/core/src/signals/social/org-count.ts+11−0
  • packages/core/src/signals/social/sponsoring-count.test.ts+24−0
  • packages/core/src/signals/social/sponsoring-count.ts+11−0
  • packages/core/src/signals/social/sponsors-count.test.ts+24−0
  • packages/core/src/signals/social/sponsors-count.ts+11−0
  • packages/core/src/signals/types.ts+106−0
  • packages/core/src/test-fixtures/comments.ts+14−0
  • packages/core/src/test-fixtures/ctx.ts+29−0
  • packages/core/src/test-fixtures/index.ts+7−0
  • packages/core/src/test-fixtures/prs.ts+29−0
  • packages/core/src/test-fixtures/repos.ts+25−0
  • packages/core/src/test-fixtures/users.ts+125−0
  • packages/core/src/workflow-executor.ts+183−0
  • packages/core/src/workflow-operations-schema.ts+56−0
  • packages/core/src/workflow-operations.ts+195−0
  • packages/core/src/workflow-registry.ts+19−0
  • packages/core/tsconfig.json+6−6
  • packages/db/package.json+24−23
  • packages/db/src/connection.ts+6−6
  • packages/db/src/index.ts+1−1
  • packages/db/src/schema/api-keys.ts+30−36
  • packages/db/src/schema/auth.ts+64−55
  • packages/db/src/schema/conversations.ts+34−29
  • packages/db/src/schema/custom-rules.ts+69−0
  • packages/db/src/schema/events.ts+80−76
  • packages/db/src/schema/fake-bounties.ts+92−84
  • packages/db/src/schema/github-cache.ts+56−0
  • packages/db/src/schema/github-response-cache.ts+74−0
  • packages/db/src/schema/index.ts+26−15
  • packages/db/src/schema/installations.ts+52−48
  • packages/db/src/schema/lists.ts+55−51
  • packages/db/src/schema/memory.ts+28−0
  • packages/db/src/schema/oauth.ts+40−40
  • packages/db/src/schema/onboarding.ts+61−0
  • packages/db/src/schema/orgs.ts+53−31
  • packages/db/src/schema/reputation.ts+69−64
  • packages/db/src/schema/requests.ts+40−40
  • packages/db/src/schema/research.ts+136−0
  • packages/db/src/schema/rule-meta.ts+69−0
  • packages/db/src/schema/rules.ts+104−104
  • packages/db/src/schema/user-preferences.ts+21−0
  • packages/db/src/schema/visibility-sync.ts+61−0
  • packages/db/src/schema/vouch-requests.ts+37−34
  • packages/db/src/schema/vouches.ts+36−36
  • packages/db/src/schema/waitlist.ts+5−5
  • packages/db/src/schema/workflow-runs.ts+60−0
  • packages/db/src/schema/workflows.ts+86−0
  • packages/db/tsconfig.json+6−6
  • packages/env/package.json+23−22
  • packages/env/src/boolean-env.ts+15−0
  • packages/env/src/client.ts+11−10
  • packages/env/src/server.ts+73−65
  • packages/env/tsconfig.json+6−6
  • packages/feedback/.turbo/turbo-typecheck.log+4−0
  • packages/feedback/package.json+27−0
  • packages/feedback/src/client/button.tsx+62−0
  • packages/feedback/src/client/context.tsx+115−0
  • packages/feedback/src/client/form.tsx+317−0
  • packages/feedback/src/client/modal.tsx+31−0
  • packages/feedback/src/client/overlay.tsx+296−0
  • packages/feedback/src/client/trigger.tsx+37−0
  • packages/feedback/src/client/types.ts+66−0
  • packages/feedback/src/client/use-mount-effect.ts+6−0
  • packages/feedback/src/index.ts+11−0
  • packages/feedback/src/server.ts+6−0
  • packages/feedback/src/server/handler.ts+154−0
  • packages/feedback/tsconfig.json+8−0
  • packages/github/.turbo/turbo-test.log+27−0
  • packages/github/package.json+36−27
  • packages/github/src/app.ts+318−263
  • packages/github/src/auth-errors.test.ts+195−0
  • packages/github/src/auth-errors.ts+138−0
  • packages/github/src/cache.test.ts+625−0
  • packages/github/src/cache.ts+617−0
  • packages/github/src/data-factory.test.ts+358−0
  • packages/github/src/data-factory.ts+766−0
  • packages/github/src/github-api.test.ts+161−165
  • packages/github/src/github-api.ts+2−2
  • packages/github/src/index.ts+13−7
  • packages/github/src/install-state.ts+74−74
  • packages/github/src/installation-token.test.ts+181−0
  • packages/github/src/list.ts+117−0
  • packages/github/src/public.ts+128−0
  • packages/github/src/repo-files.ts+260−218
  • packages/github/src/request.test.ts+324−0
  • packages/github/src/request.ts+246−0
  • packages/github/src/response-metadata.ts+44−0
  • packages/github/src/signal-broker.test.ts+82−0
  • packages/github/src/signal-broker.ts+67−0
  • packages/github/src/user.ts+283−234
  • packages/github/src/verify-webhook.ts+21−21
  • packages/github/src/webhook-event.test.ts+211−0
  • packages/github/src/webhook-event.ts+56−0
  • packages/github/tsconfig.json+6−6
  • packages/logger/.turbo/turbo-test.log+14−0
  • packages/logger/.turbo/turbo-typecheck.log+4−0
  • packages/mcp/.turbo/turbo-typecheck.log+0−1
  • packages/mcp/package.json+19−19
  • packages/mcp/src/adapter.ts+65−53
  • packages/mcp/src/index.ts+2−2
  • packages/mcp/tsconfig.json+6−6
  • packages/ratelimit/.turbo/turbo-typecheck.log+4−0
  • packages/ratelimit/package.json+19−19
  • packages/ratelimit/src/index.ts+50−79
  • packages/ratelimit/tsconfig.json+6−6
  • packages/research/.turbo/turbo-test.log+21−0
  • packages/research/.turbo/turbo-typecheck.log+4−0
  • packages/research/package.json+28−0
  • packages/research/src/engine.test.ts+265−0
  • packages/research/src/engine.ts+183−0
  • packages/research/src/export-csv.test.ts+214−0
  • packages/research/src/export-csv.ts+121−0
  • packages/research/src/export-jsonl.test.ts+114−0
  • packages/research/src/export-jsonl.ts+94−0
  • packages/research/src/index.ts+6−0
  • packages/research/src/labeling.test.ts+60−0
  • packages/research/src/labeling.ts+21−0
  • packages/research/src/rate-limit.test.ts+66−0
  • packages/research/src/rate-limit.ts+65−0
  • packages/research/src/rule-groups.ts+19−0
  • packages/research/src/types.ts+150−0
  • packages/research/tsconfig.json+8−0
  • packages/tools/.turbo/turbo-typecheck.log+0−1
  • packages/tools/package.json+31−27
  • packages/tools/src/cache.ts+11−0
  • packages/tools/src/chat-adapter.ts+72−72
  • packages/tools/src/definitions/custom-rules.ts+481−0
  • packages/tools/src/definitions/guides.ts+19−18
  • packages/tools/src/definitions/lists.ts+586−578
  • packages/tools/src/definitions/reads.ts+1121−497
  • packages/tools/src/definitions/rules.ts+406−399
  • packages/tools/src/definitions/workflows.ts+426−0
  • packages/tools/src/guides-content.ts+14−11
  • packages/tools/src/helpers.ts+100−117
  • packages/tools/src/index.ts+30−24
  • packages/tools/src/readonly-surface.test.ts+80−0
  • packages/tools/src/registry.ts+152−104
  • packages/tools/tsconfig.json+6−6
  • packages/ui/.turbo/turbo-typecheck.log+4−0
  • packages/ui/components.json+25−0
  • packages/ui/package.json+45−25
  • packages/ui/src/button.tsx+136−0
  • packages/ui/src/carousel.tsx+242−0
  • packages/ui/src/catalog.ts+392−220
  • packages/ui/src/checkbox.tsx+53−0
  • packages/ui/src/context.tsx+327−0
  • {apps/web/src/components/ui => packages/ui/src}/dialog.tsx+68−54
  • packages/ui/src/hover-card.tsx+42−0
  • packages/ui/src/icons/app-chrome-icons.tsx+546−0
  • packages/ui/src/icons/automations-icon.tsx+22−0
  • packages/ui/src/icons/chat-thread-status-icons.tsx+186−0
  • packages/ui/src/icons/checkbox-sm-check-icon.tsx+21−0
  • packages/ui/src/icons/chevron-down.tsx+20−0
  • packages/ui/src/icons/chevron-sort.tsx+21−0
  • packages/ui/src/icons/chip-issue-glyph-icon.tsx+21−0
  • packages/ui/src/icons/close-icon.tsx+19−0
  • packages/ui/src/icons/context-usage-ring-icon.tsx+49−0
  • packages/ui/src/icons/contributions-heatmap-canvas.tsx+55−0
  • packages/ui/src/icons/event-detail-icons.tsx+144−0
  • packages/ui/src/icons/event-group-status-icons.tsx+52−0
  • packages/ui/src/icons/events-icon.tsx+35−0
  • packages/ui/src/icons/expand-chat-icon.tsx+21−0
  • packages/ui/src/icons/file-01-icon.tsx+26−0
  • packages/ui/src/icons/github-mark-icon.tsx+23−0
  • packages/ui/src/icons/github-repo-meta-icons.tsx+35−0
  • packages/ui/src/icons/github.tsx+19−0
  • packages/ui/src/icons/hero-stat-sparkline-graphic.tsx+34−0
  • packages/ui/src/icons/home-icon.tsx+19−0
  • packages/ui/src/icons/honeypot-micro-plus-icon.tsx+25−0
  • packages/ui/src/icons/insights-icon.tsx+21−0
  • packages/ui/src/icons/integrations-icon.tsx+42−0
  • packages/ui/src/icons/landing-visuals.tsx+806−0
  • packages/ui/src/icons/menu-icon.tsx+17−0
  • packages/ui/src/icons/menu-item-check-icon.tsx+21−0
  • packages/ui/src/icons/nav-icons.tsx+229−0
  • packages/ui/src/icons/node-icons.tsx+217−0
  • packages/ui/src/icons/oauth-consent-check-ring-icon.tsx+16−0
  • packages/ui/src/icons/people-tab-icons.tsx+90−0
  • packages/ui/src/icons/plus.tsx+26−0
  • packages/ui/src/icons/registry-icons.tsx+119−0
  • packages/ui/src/icons/rules-icon.tsx+18−0
  • packages/ui/src/icons/rules-workspace-nav-icons.tsx+131−0
  • packages/ui/src/icons/search-icon.tsx+19−0
  • packages/ui/src/icons/slash-divider.tsx+25−0
  • packages/ui/src/icons/trend-arrow.tsx+22−0
  • packages/ui/src/icons/tripwire-ask-glyph-icon.tsx+25−0
  • packages/ui/src/icons/tripwire-eye.tsx+165−0
  • packages/ui/src/icons/tripwire-logo.tsx+25−0
  • packages/ui/src/index.ts+3−3
  • packages/ui/src/menu.tsx+282−0
  • packages/ui/src/mini-markdown.tsx+131−0
  • packages/ui/src/progress.tsx+29−0
  • packages/ui/src/registry.tsx+1539−641
  • {apps/web/src/components/ui => packages/ui/src}/scroll-area.tsx+14−14
  • packages/ui/src/skeleton.tsx+15−0
  • {apps/web/src/components/ui => packages/ui/src}/spinner.tsx+4−4
  • {apps/web/src/components/ui => packages/ui/src}/toast.tsx+43−45
  • packages/ui/src/types.ts+2−2
  • packages/ui/src/unicode-spinner.tsx+203−0
  • packages/ui/src/utils.ts+26−3
  • packages/ui/tsconfig.json+6−6
  • pnpm-lock.yaml+6366−827
  • scripts/fix-nitro-windows-paths.mjs+31−22
  • skills-lock.json+18−0
  • tsconfig.base.json+19−19
  • turbo.json+89−89
  • vercel.json+3−3