The open-source app everyone uses to manage agents at work
2169 matches across 8 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | ui/storybook/.storybook/preview.tsx | 42 | function installStorybookApiFixtures() { |
| LOW | …torybook/stories/projects-goals-workspaces.stories.tsx | 446 | function ProjectsGoalsWorkspacesStories() { |
| LOW | …rybook/stories/assigned-backlog-safeguards.stories.tsx | 95 | function AssignedBacklogNoticePanel() { |
| LOW | ui/storybook/stories/acpx-local.stories.tsx | 813 | function AcpxClaudeSkillsLoadingStory() { |
| LOW | ui/storybook/stories/acpx-local.stories.tsx | 829 | function AcpxClaudeSkillsEmptyLibraryStory() { |
| LOW | ui/storybook/stories/scheduled-retry.stories.tsx | 59 | function ScheduledRetrySurfaceStories() { |
| LOW | ui/storybook/stories/successful-run-handoff.stories.tsx | 33 | function SuccessfulRunHandoffStates() { |
| LOW | ui/storybook/stories/successful-run-handoff.stories.tsx | 164 | function SuccessfulRunHandoffPinnedNotice() { |
| LOW | ui/storybook/stories/successful-run-handoff.stories.tsx | 168 | function SuccessfulRunHandoffActivityEvents() { |
| LOW | ui/storybook/stories/successful-run-handoff.stories.tsx | 172 | function SuccessfulRunHandoffIssueCard() { |
| LOW | ui/storybook/stories/successful-run-handoff.stories.tsx | 176 | function SuccessfulRunHandoffEscalationComment() { |
| LOW | ui/storybook/stories/issue-management.stories.tsx | 138 | function seedIssueListLocalStorage() { |
| LOW | ui/storybook/stories/issue-management.stories.tsx | 167 | function ColumnConfigurationMatrix() { |
| LOW | ui/storybook/stories/issue-management.stories.tsx | 718 | function ModelProfileLedgerStandalone() { |
| LOW | ui/storybook/stories/blocked-inbox.stories.tsx | 210 | function BlockedReasonChipsCatalog() { |
| LOW | …torybook/stories/issue-thread-interactions.stories.tsx | 92 | function InteractiveSuggestedTasksCard() { |
| LOW | …torybook/stories/issue-thread-interactions.stories.tsx | 152 | function InteractiveAskUserQuestionsCard() { |
| LOW | …torybook/stories/issue-thread-interactions.stories.tsx | 169 | function InteractiveRequestConfirmationCard() { |
| LOW | …torybook/stories/issue-thread-interactions.stories.tsx | 194 | function AutoOpenDeclineRequestConfirmationCard({ |
| LOW | ui/storybook/stories/dialogs-modals.stories.tsx | 642 | function ExecutionWorkspaceDialogStory({ blocked }: { blocked?: boolean }) { |
| LOW | ui/storybook/stories/dialogs-modals.stories.tsx | 706 | function findAssigneeOptionsButton() { |
| LOW | ui/storybook/stories/dialogs-modals.stories.tsx | 713 | function useCheapLaneAdapterOverrides(variant: CheapLaneVariant) { |
| LOW | ui/storybook/stories/dialogs-modals.stories.tsx | 760 | function CheapLaneIssueDialogOpener({ variant }: { variant: CheapLaneVariant }) { |
| LOW | ui/storybook/stories/dialogs-modals.stories.tsx | 816 | function PathInstructionsModalStory() { |
| LOW | ui/storybook/stories/search.stories.tsx | 388 | function CommandPaletteWithSearchAll({ |
| LOW | ui/storybook/stories/navigation-layout.stories.tsx | 126 | function MobileBottomNavActiveStateMatrix() { |
| LOW | ui/storybook/stories/document-annotations.stories.tsx | 368 | function DirtyDraftWithIntegratedHeader() { |
| LOW | ui/src/main.tsx | 40 | function CompanyAwareBreadcrumbProvider({ children }: { children: React.ReactNode }) { |
| LOW | ui/src/context/EditorAutocompleteContext.tsx | 41 | export function EditorAutocompleteProvider({ children }: { children: ReactNode }) { |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 180 | function resolveVisibleIssueRouteContext( |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 233 | function shouldSuppressActivityToastForVisibleIssue( |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 249 | function shouldSuppressRunStatusToastForVisibleIssue( |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 265 | function invalidateVisibleIssueRunQueries( |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 309 | function shouldSuppressAgentStatusToastForVisibleIssue( |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 322 | function shouldDeferIssueRefetchForVisibleAgentActivity( |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 345 | function shouldDeferVisibleIssueCommentActivity( |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 365 | async function hydrateVisibleIssueComment( |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 620 | function invalidateHeartbeatQueries( |
| LOW | ui/src/context/LiveUpdatesProvider.tsx | 639 | function invalidateActivityQueries( |
| LOW | ui/src/context/CompanyContext.tsx | 38 | export function resolveBootstrapCompanySelection(input: { |
| LOW | ui/src/context/CompanyContext.tsx | 58 | export function shouldClearStoredCompanySelection(input: { |
| LOW | ui/src/plugins/launchers.tsx | 161 | function resolveLauncherNavigationTarget(target: string, hostContext: PluginLauncherContext): string { |
| LOW | ui/src/plugins/launchers.tsx | 373 | function PluginLauncherBridgeScope({ |
| LOW | ui/src/plugins/slots.tsx | 139 | function usePluginRegistrySubscription(): void { |
| LOW | ui/src/plugins/slots.tsx | 163 | export function registerPluginReactComponent( |
| LOW | ui/src/plugins/slots.tsx | 178 | export function registerPluginWebComponent( |
| LOW | ui/src/plugins/slots.tsx | 190 | function resolveRegisteredComponent(slot: ResolvedPluginSlot): RegisteredPluginComponent | null { |
| LOW | ui/src/plugins/slots.tsx | 194 | export function resolveRegisteredPluginComponent( |
| LOW | ui/src/plugins/slots.tsx | 201 | function isRegisterablePluginExport(exported: unknown): boolean { |
| LOW | ui/src/plugins/slots.tsx | 205 | function collectRegisterableExportNames( |
| LOW | ui/src/plugins/slots.tsx | 335 | return function MissingPaperclipSdkUiComponent() { |
| LOW | ui/src/plugins/slots.tsx | 553 | function isLauncherComponentTarget(launcher: PluginLauncherDeclaration): boolean { |
| LOW | ui/src/plugins/slots.tsx | 565 | async function ensurePluginModulesLoaded(contributions: PluginUiContribution[]): Promise<void> { |
| LOW | ui/src/plugins/slots.tsx | 571 | export async function ensurePluginContributionLoaded( |
| LOW | ui/src/plugins/bridge.ts | 239 | function serializeRenderEnvironment( |
| LOW | ui/src/plugins/bridge.ts | 250 | function serializeRenderEnvironmentSnapshot( |
| LOW | ui/src/plugins/bridge.ts | 290 | export function resolveHostNavigationHref( |
| LOW | ui/src/plugins/bridge.ts | 320 | export function shouldHandleHostNavigationClick( |
| LOW | ui/src/adapters/local-workspace-runtime-fields.tsx | 3 | export function LocalWorkspaceRuntimeFields(_props: AdapterConfigFieldsProps) { |
| LOW | ui/src/adapters/registry.ts | 53 | function registerBuiltInUIAdapters() { |
| 1964 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | ui/src/adapters/registry.ts | 166 | // ── Builtin override lifecycle ────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/registry.ts | 222 | // ── Non-builtin externals ─────────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/schema-config-fields.tsx | 16 | // ── Select field (extracted to keep hooks at component top level) ────── |
| MEDIUM | ui/src/adapters/sandboxed-parser-worker.ts | 14 | // ── Message protocol ──────────────────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/sandboxed-parser-worker.ts | 27 | // ── Worker bootstrap source ───────────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/sandboxed-parser-worker.ts | 41 | // ── 1. Lock down dangerous globals ────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/sandboxed-parser-worker.ts | 82 | // ── 2. Parser state ───────────────────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/sandboxed-parser-worker.ts | 88 | // ── 3. Message handler ────────────────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/sandboxed-parser-worker.ts | 158 | // ── Public API ─────────────────────────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/dynamic-loader.ts | 35 | // ── Types ─────────────────────────────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/dynamic-loader.ts | 49 | // ── State ─────────────────────────────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/dynamic-loader.ts | 69 | // ── Internal helpers ──────────────────────────────────────────────────────── |
| MEDIUM | ui/src/adapters/dynamic-loader.ts | 210 | // ── Public API ────────────────────────────────────────────────────────────── |
| MEDIUM | ui/src/components/transcript/RunTranscriptView.tsx | 599 | // ── Diff entries — accumulate into diff_group blocks ────────── |
| MEDIUM | ui/src/pages/CompanyImport.tsx | 51 | // ── Import-specific helpers ─────────────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyImport.tsx | 147 | // ── Import file tree customization ─────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyImport.tsx | 179 | // ── Preview pane ────────────────────────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyImport.tsx | 266 | // ── Conflict item type ─────────────────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyImport.tsx | 388 | // ── Conflict resolution UI ─────────────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyImport.tsx | 514 | // ── Adapter type options for import ─────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyImport.tsx | 521 | // ── Adapter picker for imported agents ─────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyImport.tsx | 624 | // ── Helpers ─────────────────────────────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyImport.tsx | 645 | // ── Main page ───────────────────────────────────────────────────────── |
| MEDIUM | ui/src/pages/OrgChart.tsx | 26 | // ── Tree layout types ─────────────────────────────────────────────────── |
| MEDIUM | ui/src/pages/OrgChart.tsx | 53 | // ── Layout algorithm ──────────────────────────────────────────────────── |
| MEDIUM | ui/src/pages/OrgChart.tsx | 157 | // ── Status dot colors (raw hex for SVG) ───────────────────────────────── |
| MEDIUM | ui/src/pages/OrgChart.tsx | 171 | // ── Main component ────────────────────────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyExport.tsx | 345 | // ── Frontmatter card (export-specific: skill click support) ────────── |
| MEDIUM | ui/src/pages/CompanyExport.tsx | 390 | // ── Client-side README generation ──────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyExport.tsx | 488 | // ── Preview pane ────────────────────────────────────────────────────── |
| MEDIUM | ui/src/pages/CompanyExport.tsx | 557 | // ── Main page ───────────────────────────────────────────────────────── |
| MEDIUM | server/src/routes/adapters.ts | 545 | // ── POST /api/adapters/:type/reinstall ────────────────────────────────── |
| MEDIUM | server/src/routes/adapters.ts | 613 | // ── GET /api/adapters/:type/config-schema ──────────────────────────────── |
| MEDIUM | server/src/routes/adapters.ts | 657 | // ── GET /api/adapters/:type/ui-parser.js ───────────────────────────────── |
| MEDIUM | server/src/routes/org-chart-svg.ts | 30 | // ── Style theme definitions ────────────────────────────────────── |
| MEDIUM | server/src/routes/org-chart-svg.ts | 54 | // ── Role config with Twemoji SVG inlines (viewBox 0 0 36 36) ───── |
| MEDIUM | server/src/routes/org-chart-svg.ts | 159 | // ── Style themes ───────────────────────────────────────────────── |
| MEDIUM | server/src/routes/org-chart-svg.ts | 318 | // ── Layout constants ───────────────────────────────────────────── |
| MEDIUM | server/src/routes/org-chart-svg.ts | 327 | // ── Collapsed avatar grid constants ───────────────────────────── |
| MEDIUM | server/src/routes/org-chart-svg.ts | 335 | // ── Text measurement ───────────────────────────────────────────── |
| MEDIUM | server/src/routes/org-chart-svg.ts | 379 | // ── Tree layout (top-down, centered) ───────────────────────────── |
| MEDIUM | server/src/routes/org-chart-svg.ts | 420 | // ── SVG rendering ──────────────────────────────────────────────── |
| MEDIUM | server/src/routes/org-chart-svg.ts | 566 | // ── Public API ─────────────────────────────────────────────────── |
| MEDIUM | cli/src/commands/worktree.ts | 1730 | // ── 1. Assess current state ────────────────────────────────────────── |
| MEDIUM | cli/src/commands/worktree.ts | 1747 | // ── 2. Safety checks ──────────────────────────────────────────────── |
| MEDIUM | cli/src/commands/worktree.ts | 1783 | // ── 3. Clean up (idempotent steps) ────────────────────────────────── |
| MEDIUM | scripts/generate-org-chart-satori-comparison.ts | 23 | // ── Sample org data ────────────────────────────────────────────── |
| MEDIUM | scripts/generate-org-chart-satori-comparison.ts | 126 | // ── Main ───────────────────────────────────────────────────────── |
| MEDIUM | scripts/generate-org-chart-images.ts | 17 | // ── Org data (same as index.html) ────────────────────────────── |
| MEDIUM | scripts/generate-org-chart-images.ts | 127 | // ── Style definitions ────────────────────────────────────────── |
| MEDIUM | scripts/generate-org-chart-images.ts | 516 | // ── HTML rendering ───────────────────────────────────────────── |
| MEDIUM | scripts/generate-org-chart-images.ts | 567 | // ── Main ─────────────────────────────────────────────────────── |
| MEDIUM | scripts/build-npm.sh | 28 | # ── Step 1: Forbidden token check ────────────────────────────────────────────── |
| MEDIUM | scripts/build-npm.sh | 36 | # ── Step 2: TypeScript type-check ────────────────────────────────────────────── |
| MEDIUM | scripts/build-npm.sh | 45 | # ── Step 3: Bundle CLI with esbuild ──────────────────────────────────────────── |
| MEDIUM | scripts/build-npm.sh | 58 | # ── Step 4: Validate bundled entrypoint syntax ───────────────────────────────── |
| MEDIUM | scripts/build-npm.sh | 62 | # ── Step 5: Back up dev package.json, generate publishable one ───────────────── |
| MEDIUM | scripts/build-npm.sh | 70 | # ── Step 6: Summary ─────────────────────────────────────────────────────────── |
| MEDIUM | scripts/generate-company-assets.ts | 20 | // ── YAML frontmatter parser (minimal, no deps) ────────────────── |
| MEDIUM | scripts/generate-company-assets.ts | 96 | // ── Slug to role mapping ───────────────────────────────────────── |
| 6 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/e2e/signoff-policy.spec.ts | 279 | // Step 1: Executor marks done → should route to reviewer |
| LOW | tests/e2e/signoff-policy.spec.ts | 297 | // Step 2: Navigate to issue in UI and verify execution label |
| LOW | tests/e2e/signoff-policy.spec.ts | 301 | // Step 3: Reviewer approves → should route to approver |
| LOW | tests/e2e/signoff-policy.spec.ts | 315 | // Step 4: Verify UI shows approval pending |
| LOW | tests/e2e/signoff-policy.spec.ts | 319 | // Step 5: Approver approves → should complete |
| LOW | server/src/routes/access.ts | 1684 | ## Step 1: Submit agent join request |
| LOW | server/src/routes/access.ts | 1722 | ## Step 2: Wait for board approval |
| LOW | server/src/routes/access.ts | 1725 | ## Step 3: Claim API key (one-time) |
| LOW | server/src/routes/access.ts | 1742 | ## Step 4: Install Paperclip skill |
| LOW | server/src/routes/plugins.ts | 2501 | // Step 1: Resolve the plugin |
| LOW | server/src/routes/plugins.ts | 2508 | // Step 2: Validate the plugin is in 'ready' state |
| LOW | server/src/routes/plugins.ts | 2516 | // Step 3: Validate the plugin has webhooks.receive capability |
| LOW | server/src/routes/plugins.ts | 2531 | // Step 4: Validate the endpointKey exists in the manifest's webhook declarations |
| LOW | server/src/routes/plugins.ts | 2543 | // Step 5: Extract request data |
| LOW | server/src/routes/plugins.ts | 2562 | // Step 6: Record the delivery in the database |
| LOW | server/src/routes/plugins.ts | 2576 | // Step 7: Dispatch to the worker via handleWebhook RPC |
| LOW | server/src/routes/plugins.ts | 2586 | // Step 8: Update delivery record to success |
| LOW | server/src/routes/plugin-ui-static.ts | 244 | // Step 1: Look up the plugin |
| LOW | server/src/routes/plugin-ui-static.ts | 266 | // Step 2: Verify the plugin is ready and has UI declared |
| LOW | server/src/routes/plugin-ui-static.ts | 393 | // Step 3: Resolve the plugin's UI directory |
| LOW | server/src/routes/plugin-ui-static.ts | 410 | // Step 4: Resolve the requested file path and prevent traversal (including symlinks) |
| LOW | server/src/routes/plugin-ui-static.ts | 413 | // Step 5: Check that the file exists and is a regular file |
| LOW | server/src/routes/plugin-ui-static.ts | 445 | // Step 6: Determine cache strategy based on filename |
| LOW | server/src/routes/plugin-ui-static.ts | 449 | // Step 7: Set cache headers |
| LOW | server/src/routes/plugin-ui-static.ts | 467 | // Step 8: Set Content-Type |
| LOW | server/src/routes/plugin-ui-static.ts | 474 | // Step 9: Set CORS headers (plugin UI may be loaded from different origin in dev) |
| LOW | server/src/routes/plugin-ui-static.ts | 477 | // Step 10: Send the file |
| LOW | server/src/services/plugin-worker-manager.ts | 992 | // Step 1: Send shutdown RPC and wait for the worker to exit gracefully. |
| LOW | server/src/services/plugin-worker-manager.ts | 1016 | // Step 2: Send SIGTERM and wait |
| LOW | server/src/services/plugin-worker-manager.ts | 1025 | // Step 3: Forcefully kill with SIGKILL |
| LOW | server/src/services/environment-run-orchestrator.ts | 271 | // Step 1: Resolve environment |
| LOW | server/src/services/environment-run-orchestrator.ts | 278 | // Step 2: Acquire lease |
| LOW | server/src/services/environment-run-orchestrator.ts | 287 | // Step 3: Log lease acquisition activity |
| LOW | server/src/services/environment-run-orchestrator.ts | 307 | // Step 4: Resolve execution transport |
| LOW | server/src/services/environment-run-orchestrator.ts | 357 | // Step 1: Build workspace realization request |
| LOW | server/src/services/environment-run-orchestrator.ts | 370 | // Step 2: Realize workspace in the environment via the runtime driver |
| LOW | server/src/services/environment-run-orchestrator.ts | 448 | // Step 3: Persist realization metadata on lease and execution workspace |
| LOW | server/src/services/environment-run-orchestrator.ts | 472 | // Step 4: Resolve execution target for the adapter |
| LOW | server/src/services/plugin-tool-dispatcher.ts | 324 | // Step 1: Load tools from all currently-ready plugins |
| LOW | server/src/services/plugin-tool-dispatcher.ts | 344 | // Step 2: Subscribe to lifecycle events for dynamic updates |
| LOW | server/src/services/plugin-loader.ts | 901 | // Step 3: Read and validate plugin manifest |
| LOW | server/src/services/plugin-loader.ts | 915 | // Step 4: Reject incompatible plugin API versions |
| LOW | server/src/services/plugin-loader.ts | 923 | // Step 5: Validate manifest capabilities are consistent |
| LOW | server/src/services/plugin-loader.ts | 934 | // Step 6: Reject plugins that require a newer host than the running server |
| LOW | server/src/services/plugin-loader.ts | 1342 | // Step 6: Persist install record and apply plugin-owned schema migrations |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | …kages/plugins/sandbox-providers/e2b/src/plugin.test.ts | 306 | const stdinCall = sandbox.commands.run.mock.calls.find(([cmd]: [string]) => cmd.includes("'printf'")); |
| CRITICAL | …kages/plugins/sandbox-providers/e2b/src/plugin.test.ts | 363 | const fgCall = sandbox.commands.run.mock.calls.find(([cmd]: [string]) => cmd.includes("'printf'")); |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | ui/src/App.test.tsx | 104 | user: { id: "user-1", email: "user@example.com", name: "User", image: null }, |
| LOW | ui/src/App.test.tsx | 107 | user: { id: "user-1", email: "user@example.com", name: "User", image: null }, |
| LOW | ui/src/App.test.tsx | 127 | user: { id: "user-1", email: "user@example.com", name: "User", image: null }, |
| LOW | ui/src/App.test.tsx | 130 | user: { id: "user-1", email: "user@example.com", name: "User", image: null }, |
| LOW | ui/src/App.test.tsx | 178 | user: { id: "user-1", email: "user@example.com", name: "User", image: null }, |
| LOW | ui/src/App.test.tsx | 215 | user: { id: "user-1", email: "user@example.com", name: "User", image: null }, |
| LOW | ui/src/components/OnboardingWizard.tsx | 685 | placeholder="Acme Corp" |
| LOW | tests/e2e/planning-mode-visual-verification.spec.ts | 16 | await page.locator('input[placeholder="Acme Corp"]').fill(companyName); |
| LOW | tests/e2e/onboarding.spec.ts | 31 | const companyNameInput = page.locator('input[placeholder="Acme Corp"]'); |
| LOW | tests/release-smoke/docker-auth-onboarding.spec.ts | 47 | await page.locator('input[placeholder="Acme Corp"]').fill(COMPANY_NAME); |
| LOW | server/src/__tests__/auth-session-route.test.ts | 45 | email: "user@example.com", |
| LOW | server/src/__tests__/auth-session-route.test.ts | 61 | userEmail: "user@example.com", |
| LOW | server/src/__tests__/cli-auth-routes.test.ts | 209 | user: { id: "user-1", name: "User One", email: "user@example.com" }, |
| LOW | packages/plugins/create-paperclip-plugin/README.md | 17 | --author "Acme Inc" |
| LOW | packages/db/src/client.test.ts | 154 | VALUES ('user-1', 'User One', 'user@example.com', true, now(), now()) |
| LOW | doc/plans/2026-02-18-agent-authentication.md | 126 | "name": "Acme Corp" |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | evals/promptfoo/promptfooconfig.yaml | 7 | # Usage: |
| LOW | scripts/build-npm.sh | 9 | # Usage: |
| LOW | scripts/kill-agent-browsers.sh | 5 | # Usage: |
| LOW | scripts/kill-dev.sh | 5 | # Usage: |
| LOW | scripts/kill-vitest.sh | 5 | # Usage: |
| LOW | scripts/backup-db.sh | 7 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | ui/src/components/IssueChatThread.tsx | 3961 | if (useVirtualizedThread) { |
| LOW | evals/promptfoo/promptfooconfig.yaml | 1 | # Paperclip Agent Evals - Phase 0: Promptfoo Bootstrap |
| LOW | server/src/__tests__/qa-routine-secrets-e2e.test.ts | 1 | // QA validation for [PAP-9522](/PAP/issues/PAP-9522). Drives the routine-secret |
| LOW | server/src/services/plugin-loader.ts | 1881 | log.info( |
| LOW | server/src/services/plugin-loader.ts | 1901 | const _scopedBus = eventBus.forPlugin(pluginKey); |
| LOW | …ckages/plugins/sandbox-providers/daytona/src/plugin.ts | 321 | throw error; |
| LOW | packages/adapters/opencode-local/src/index.ts | 1 | import type { AdapterModelProfileDefinition } from "@paperclipai/adapter-utils"; |
| LOW | packages/adapters/opencode-local/src/index.ts | 21 | // Security tradeoff: this is `curl | bash` without a SHA-256 verification of |
| LOW | …ckages/adapters/claude-local/src/server/permissions.ts | 1 | // Explicit allowlist of Claude Code tools we permit when running inside a |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …es/plugins/plugin-llm-wiki/tests/screenshots/entry.tsx | 5 | if (!container) throw new Error("No #root in harness host"); |