From 3b13434b0697aa7afef7ba8bd754b35b021e343d Mon Sep 17 00:00:00 2001 From: Rhys Sullivan <39114868+RhysSullivan@users.noreply.github.com> Date: Wed, 29 Apr 2026 11:58:11 -0700 Subject: [PATCH] configure fallow audit --- .fallowrc.json | 126 +++++ .gitignore | 3 + fallow-baselines/dead-code.json | 152 +++++ fallow-baselines/dupes.json | 160 ++++++ fallow-baselines/health.json | 953 ++++++++++++++++++++++++++++++++ 5 files changed, 1394 insertions(+) create mode 100644 .fallowrc.json create mode 100644 fallow-baselines/dead-code.json create mode 100644 fallow-baselines/dupes.json create mode 100644 fallow-baselines/health.json diff --git a/.fallowrc.json b/.fallowrc.json new file mode 100644 index 000000000..95cb70d85 --- /dev/null +++ b/.fallowrc.json @@ -0,0 +1,126 @@ +{ + "$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json", + "entry": [ + "apps/cli/src/main.ts", + "apps/cloud/src/server.ts", + "apps/cloud/src/start.ts", + "apps/cloud/src/test-worker.ts", + "apps/cloud/src/api.ts", + "apps/cloud/src/routes/**/*.{ts,tsx}", + "apps/local/src/routes/**/*.{ts,tsx}", + "scripts/*.ts", + "apps/*/scripts/*.ts", + "autumn.config.ts", + "apps/*/autumn.config.ts", + "apps/*/vitest*.config.ts", + "packages/*/*/vitest.config.ts" + ], + "dynamicallyLoaded": [ + "apps/desktop/src/preload.ts", + "packages/kernel/runtime-deno-subprocess/src/deno-subprocess-worker.mjs" + ], + "ignorePatterns": [ + ".fallow/**", + ".reference/**", + ".tanstack/**", + ".turbo/**", + ".warden/**", + ".warden-runs/**", + "coverage/**", + "dist/**", + "node_modules/**", + "out/**", + "**/*.d.ts", + "**/*.gen.ts", + "**/*.generated.ts", + "**/routeTree.gen.ts" + ], + "ignoreDependencies": [ + "bun" + ], + "usedClassMembers": [ + "_tag", + "NoOp", + { + "extends": "DurableObject", + "members": [ + "init", + "handleRequest", + "alarm", + "clearSession" + ] + } + ], + "overrides": [ + { + "files": [ + "**/*.test.ts", + "**/*.test.tsx", + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.e2e.ts", + "**/*.e2e.tsx", + "**/*.node.test.ts", + "**/*.node.test.tsx", + "**/__test-harness__/**", + "**/test-stubs/**" + ], + "rules": { + "unused-files": "off", + "unused-exports": "off", + "unused-types": "off", + "unused-class-members": "off" + } + }, + { + "files": [ + "apps/cloud/src/routes/__root.tsx" + ], + "rules": { + "unresolved-imports": "off" + } + } + ], + "duplicates": { + "mode": "mild", + "minTokens": 50, + "minLines": 5, + "threshold": 5, + "ignore": [ + "**/*.test.ts", + "**/*.test.tsx", + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.e2e.ts", + "**/*.e2e.tsx", + "**/*.gen.ts", + "**/*.generated.ts", + "**/routeTree.gen.ts", + "**/__test-harness__/**", + "**/test-stubs/**" + ] + }, + "health": { + "maxCyclomatic": 20, + "maxCognitive": 15, + "maxCrap": 30, + "ignore": [ + "**/*.test.ts", + "**/*.test.tsx", + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.e2e.ts", + "**/*.e2e.tsx", + "**/*.gen.ts", + "**/*.generated.ts", + "**/routeTree.gen.ts", + "**/__test-harness__/**", + "**/test-stubs/**" + ] + }, + "audit": { + "deadCodeBaseline": "fallow-baselines/dead-code.json", + "healthBaseline": "fallow-baselines/health.json", + "dupesBaseline": "fallow-baselines/dupes.json" + } +} diff --git a/.gitignore b/.gitignore index 943698cf3..812c77701 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,6 @@ executor.jsonc # Warden local scan outputs .warden/ .warden-runs/ + +# Fallow local analysis cache +.fallow/ diff --git a/fallow-baselines/dead-code.json b/fallow-baselines/dead-code.json new file mode 100644 index 000000000..b00a23c2e --- /dev/null +++ b/fallow-baselines/dead-code.json @@ -0,0 +1,152 @@ +{ + "unused_files": [ + "apps/cloud/src/api/protected-layers.ts", + "packages/core/cli/src/generators/index.ts" + ], + "unused_exports": [ + "apps/cloud/src/api/error-response.ts:toErrorResponse", + "apps/cloud/src/api/layers.ts:CoreSharedServices", + "apps/cloud/src/api/protected-layers.ts:ProtectedCloudApi", + "apps/cloud/src/api/protected-layers.ts:SharedServices", + "apps/cloud/src/api/protected-layers.ts:RouterConfig", + "apps/cloud/src/api/protected-layers.ts:ProtectedCloudApiHandlers", + "apps/cloud/src/api/protected-layers.ts:ProtectedCloudApiLive", + "apps/cloud/src/api/router.ts:ApiRouterApp", + "apps/cloud/src/auth/context.ts:AuthContext", + "apps/cloud/src/auth/errors.ts:ServiceAdapterError", + "apps/cloud/src/org/api.ts:OrgMember", + "apps/cloud/src/org/api.ts:OrgMembersResponse", + "apps/cloud/src/services/autumn.ts:AutumnError", + "apps/cloud/src/services/mcp-worker-transport.ts:McpWorkerTransportError", + "apps/cloud/src/test-bearer.ts:TEST_BEARER_PREFIX", + "apps/cloud/src/test-bearer.ts:NO_ORG_SENTINEL", + "apps/cloud/src/web/auth.tsx:authAtom", + "apps/local/src/server/main.ts:ServerHandlersService", + "packages/core/api/src/handlers/index.ts:ConnectionsHandlers", + "packages/core/api/src/handlers/index.ts:PoliciesHandlers", + "packages/core/execution/src/errors.ts:CodeExecutionError", + "packages/core/sdk/src/scoped-adapter.ts:__scopeField", + "packages/plugins/google-discovery/src/api/group.ts:HttpApiSchema", + "packages/plugins/google-discovery/src/api/group.ts:GoogleDiscoveryApiError", + "packages/plugins/mcp/src/api/group.ts:HttpApiSchema", + "packages/plugins/mcp/src/sdk/binding-store.ts:MCP_OAUTH_SESSION_TTL_MS", + "packages/plugins/mcp/src/sdk/oauth.ts:McpOAuthDiscoveryState", + "packages/plugins/mcp/src/sdk/stdio-connector.ts:createStdioTransport", + "packages/plugins/mcp/src/sdk/types.ts:McpRemoteTransport", + "packages/plugins/mcp/src/sdk/types.ts:McpTransport", + "packages/plugins/mcp/src/sdk/types.ts:McpRemoteSourceData", + "packages/plugins/mcp/src/sdk/types.ts:McpStdioSourceData", + "packages/plugins/onepassword/src/react/atoms.ts:onepasswordWriteKeys", + "packages/plugins/onepassword/src/react/atoms.ts:onepasswordStatusAtom", + "packages/plugins/openapi/src/react/atoms.ts:completeOpenApiOAuth", + "packages/plugins/openapi/src/sdk/types.ts:OAuth2Flow" + ], + "unused_types": [ + "apps/cli/src/daemon-state.ts:DaemonRecord", + "apps/cli/src/daemon-state.ts:DaemonPointer", + "apps/cli/src/daemon-state.ts:DaemonStartLock", + "apps/cli/src/daemon.ts:ParsedDaemonBaseUrl", + "apps/cli/src/daemon.ts:DaemonSpawnSpec", + "apps/cli/src/tooling.ts:ToolPathChildEntry", + "apps/cli/src/tooling.ts:ToolPathInspection", + "apps/cli/src/tooling.ts:PausedInteraction", + "apps/cloud/src/auth/middleware.ts:Session", + "apps/cloud/src/auth/workos.ts:WorkOSAuthService", + "apps/cloud/src/mcp-session.ts:McpSessionInit", + "apps/cloud/src/mcp-session.ts:IncomingTraceHeaders", + "apps/cloud/src/services/autumn.ts:IAutumnService", + "apps/cloud/src/services/user-store.ts:Account", + "apps/cloud/src/services/user-store.ts:Organization", + "packages/core/cli/src/generators/types.ts:SchemaGeneratorResult", + "packages/core/cli/src/generators/types.ts:SchemaGeneratorOptions", + "packages/core/execution/src/tool-invoker.ts:ToolDiscoveryResult", + "packages/core/execution/src/tool-invoker.ts:ExecutorSourceListItem", + "packages/core/sdk/src/plugin.ts:ElicitationHandler", + "packages/core/sdk/src/schema-types.ts:ToolTypeScriptPreview", + "packages/core/sdk/src/scoped-adapter.ts:ScopeContext", + "packages/core/storage-core/src/adapter.ts:DBSchema", + "packages/core/storage-file/src/adapter.ts:DrizzleSqliteDB", + "packages/core/storage-file/src/blob-store.ts:DrizzleSqliteDB", + "packages/core/storage-file/src/blob-store.ts:MakeSqliteBlobStoreOptions", + "packages/core/storage-postgres/src/blob-store.ts:DrizzlePgDB", + "packages/core/storage-postgres/src/blob-store.ts:MakePostgresBlobStoreOptions", + "packages/kernel/runtime-deno-subprocess/src/deno-worker-process.ts:SpawnDenoWorkerProcessInput", + "packages/kernel/runtime-deno-subprocess/src/deno-worker-process.ts:DenoWorkerProcessCallbacks", + "packages/kernel/runtime-deno-subprocess/src/deno-worker-process.ts:DenoWorkerProcess", + "packages/kernel/runtime-dynamic-worker/src/executor.ts:SerializedWorkerErrorValue", + "packages/kernel/runtime-dynamic-worker/src/executor.ts:SerializedWorkerError", + "packages/kernel/runtime-dynamic-worker/src/executor.ts:RunPromise", + "packages/plugins/google-discovery/src/sdk/oauth.ts:OAuth2TokenResponse", + "packages/plugins/google-discovery/src/sdk/plugin.ts:GoogleDiscoveryProbeOperation", + "packages/plugins/google-discovery/src/sdk/plugin.ts:GoogleDiscoveryUpdateSourceInput", + "packages/plugins/google-discovery/src/sdk/plugin.ts:GoogleDiscoveryExtensionFailure", + "packages/plugins/google-discovery/src/sdk/stored-source.ts:GoogleDiscoveryStoredSourceSchemaType", + "packages/plugins/google-discovery/src/sdk/types.ts:GoogleDiscoverySourceMeta", + "packages/plugins/graphql/src/sdk/introspect.ts:IntrospectionEnumValue", + "packages/plugins/graphql/src/sdk/plugin.ts:GraphqlExtensionFailure", + "packages/plugins/mcp/src/sdk/connection.ts:RemoteConnectorInput", + "packages/plugins/mcp/src/sdk/connection.ts:StdioConnectorInput", + "packages/plugins/mcp/src/sdk/invoke.ts:InvokeMcpToolInput", + "packages/plugins/mcp/src/sdk/manifest.ts:McpServerMetadata", + "packages/plugins/mcp/src/sdk/oauth.ts:McpOAuthDiscoveryState", + "packages/plugins/mcp/src/sdk/oauth.ts:McpOAuthStartResult", + "packages/plugins/mcp/src/sdk/oauth.ts:McpOAuthExchangeResult", + "packages/plugins/mcp/src/sdk/plugin.ts:McpExtensionFailure", + "packages/plugins/mcp/src/sdk/stdio-connector.ts:StdioTransportConfig", + "packages/plugins/mcp/src/sdk/types.ts:McpRemoteTransport", + "packages/plugins/mcp/src/sdk/types.ts:McpTransport", + "packages/plugins/onepassword/src/sdk/plugin.ts:OnePasswordExtensionFailure", + "packages/plugins/onepassword/src/sdk/service.ts:OnePasswordVault", + "packages/plugins/onepassword/src/sdk/service.ts:OnePasswordItem", + "packages/plugins/openapi/src/sdk/openapi-utils.ts:MediaTypeObject", + "packages/plugins/openapi/src/sdk/plugin.ts:OpenApiHeaderInput", + "packages/plugins/openapi/src/sdk/plugin.ts:OpenApiOAuthInput", + "packages/plugins/openapi/src/sdk/plugin.ts:StartAuthorizationCodeOAuthInput", + "packages/plugins/openapi/src/sdk/plugin.ts:StartClientCredentialsOAuthInput", + "packages/plugins/openapi/src/sdk/plugin.ts:StartAuthorizationCodeOAuthResponse", + "packages/plugins/openapi/src/sdk/plugin.ts:StartClientCredentialsOAuthResponse", + "packages/plugins/openapi/src/sdk/plugin.ts:OpenApiExtensionFailure", + "packages/plugins/openapi/src/sdk/store.ts:StoredSourceSchemaType", + "packages/plugins/openapi/src/sdk/types.ts:OAuth2Flow" + ], + "unused_dependencies": [ + "apps/cloud/package.json:@opentelemetry/exporter-logs-otlp-http", + "apps/cloud/package.json:@opentelemetry/sdk-logs", + "packages/core/cli/package.json:effect", + "packages/core/sdk/package.json:@effect/platform", + "packages/plugins/graphql/package.json:@effect/platform-node", + "packages/plugins/mcp/package.json:@effect/platform-node", + "packages/react/package.json:@effect-atom/atom", + "packages/react/package.json:@hookform/resolvers", + "packages/react/package.json:effect" + ], + "unused_dev_dependencies": [ + "apps/cloud/package.json:jiti", + "apps/local/package.json:jiti", + "apps/local/package.json:react-grab", + "packages/core/storage-file/package.json:@effect/vitest", + "packages/kernel/runtime-dynamic-worker/package.json:@effect/vitest" + ], + "circular_dependencies": [], + "unused_optional_dependencies": [], + "unused_enum_members": [], + "unused_class_members": [], + "unresolved_imports": [], + "unlisted_dependencies": [], + "duplicate_exports": [ + "ConfiguredHeaderValue|packages/plugins/openapi/src/sdk/plugin.ts|packages/plugins/openapi/src/sdk/types.ts|packages/plugins/openapi/src/sdk/types.ts", + "DrizzleSqliteDB|packages/core/storage-file/src/adapter.ts|packages/core/storage-file/src/blob-store.ts", + "Executor|packages/core/sdk/src/executor.ts|packages/core/sdk/src/promise-executor.ts", + "ExecutorConfig|packages/core/sdk/src/executor.ts|packages/core/sdk/src/promise-executor.ts", + "GraphqlSourceConfig|packages/core/config/src/schema.ts|packages/core/config/src/schema.ts|packages/plugins/graphql/src/sdk/plugin.ts", + "HeaderValue|packages/plugins/graphql/src/sdk/plugin.ts|packages/plugins/graphql/src/sdk/types.ts|packages/plugins/graphql/src/sdk/types.ts|packages/plugins/openapi/src/sdk/plugin.ts|packages/plugins/openapi/src/sdk/types.ts|packages/plugins/openapi/src/sdk/types.ts", + "McpRemoteSourceConfig|packages/core/config/src/schema.ts|packages/core/config/src/schema.ts|packages/plugins/mcp/src/sdk/plugin.ts", + "McpStdioSourceConfig|packages/core/config/src/schema.ts|packages/core/config/src/schema.ts|packages/plugins/mcp/src/sdk/plugin.ts", + "SourceConfig|packages/core/config/src/schema.ts|packages/core/config/src/schema.ts|packages/plugins/openapi/src/sdk/store.ts", + "createExecutor|packages/core/sdk/src/executor.ts|packages/core/sdk/src/promise-executor.ts" + ], + "type_only_dependencies": [], + "test_only_dependencies": [], + "boundary_violations": [], + "stale_suppressions": [] +} \ No newline at end of file diff --git a/fallow-baselines/dupes.json b/fallow-baselines/dupes.json new file mode 100644 index 000000000..a9d33af0b --- /dev/null +++ b/fallow-baselines/dupes.json @@ -0,0 +1,160 @@ +{ + "clone_groups": [ + "apps/cli/src/build.ts:184-189|apps/cli/src/build.ts:212-217", + "apps/cli/src/build.ts:189-201|apps/cli/src/build.ts:217-229", + "apps/cli/src/build.ts:449-456|apps/cli/src/build.ts:549-554", + "apps/cli/src/build.ts:459-474|apps/cli/src/build.ts:566-580", + "apps/cli/src/build.ts:478-494|apps/cli/src/build.ts:585-598", + "apps/cli/src/daemon-state.ts:221-234|apps/cli/src/daemon-state.ts:87-101", + "apps/cli/src/daemon-state.ts:222-238|apps/cli/src/daemon-state.ts:292-299|apps/cli/src/daemon-state.ts:88-103", + "apps/cli/src/daemon-state.ts:111-134|apps/cli/src/daemon-state.ts:149-172", + "apps/cli/src/main.ts:1195-1208|apps/cli/src/main.ts:1218-1231", + "apps/cloud/autumn.config.ts:1-30|autumn.config.ts:1-22", + "apps/cloud/autumn.config.ts:11-80|autumn.config.ts:18-86", + "apps/cloud/scripts/dev-db.ts:9-17|apps/cloud/scripts/test-globalsetup.ts:7-15", + "apps/cloud/scripts/migrate-connections.ts:41-56|apps/local/src/server/migrate-connections.ts:185-200", + "apps/cloud/scripts/migrate-connections.ts:59-107|apps/local/src/server/migrate-connections.ts:30-34", + "apps/cloud/scripts/migrate-connections.ts:77-86|apps/local/src/server/migrate-connections.ts:209-216", + "apps/cloud/scripts/migrate-connections.ts:170-214|apps/cloud/scripts/migrate-mcp-connections.ts:104-142", + "apps/cloud/scripts/migrate-connections.ts:225-244|apps/cloud/scripts/migrate-mcp-connections.ts:155-174", + "apps/cloud/scripts/migrate-connections.ts:248-256|apps/cloud/scripts/migrate-mcp-connections.ts:180-188", + "apps/cloud/scripts/migrate-connections.ts:259-285|apps/cloud/scripts/migrate-mcp-connections.ts:194-220", + "apps/cloud/scripts/migrate-connections.ts:318-377|apps/cloud/scripts/migrate-mcp-connections.ts:246-302", + "apps/cloud/scripts/migrate-connections.ts:388-412|apps/cloud/scripts/migrate-mcp-connections.ts:306-330", + "apps/cloud/scripts/migrate-mcp-connections.ts:32-50|apps/local/src/server/migrate-connections.ts:244-377", + "apps/cloud/scripts/test-globalsetup.ts:23-32|packages/core/storage-postgres/scripts/test-globalsetup.ts:23-32", + "apps/cloud/src/api/autumn.ts:12-33|apps/cloud/src/api/protected.ts:17-28", + "apps/cloud/src/api/layers.ts:2-11|apps/cloud/src/api/protected-layers.ts:7-20", + "apps/cloud/src/api/layers.ts:28-41|apps/cloud/src/api/protected-layers.ts:27-40", + "apps/cloud/src/auth/middleware-live.ts:15-24|apps/cloud/src/auth/middleware-live.ts:44-53", + "apps/cloud/src/mcp-session.ts:353-362|apps/cloud/src/mcp-session.ts:452-462", + "apps/cloud/src/mcp.ts:641-652|apps/cloud/src/mcp.ts:723-735", + "apps/cloud/src/routes/billing_.plans.tsx:226-248|apps/cloud/src/routes/billing_.plans.tsx:281-303", + "apps/cloud/src/routes/org.tsx:411-423|apps/cloud/src/routes/org.tsx:538-546", + "apps/cloud/src/services/executor-schema.ts:3-10|apps/local/src/server/executor-schema.ts:3-10", + "apps/cloud/src/services/executor-schema.ts:12-17|apps/cloud/src/services/executor-schema.ts:91-96", + "apps/cloud/src/services/executor-schema.ts:14-37|apps/local/src/server/executor-schema.ts:14-37", + "apps/cloud/src/services/executor-schema.ts:21-28|apps/local/src/server/executor-schema.ts:21-28", + "apps/cloud/src/services/executor-schema.ts:31-52|apps/local/src/server/executor-schema.ts:31-52", + "apps/cloud/src/services/executor-schema.ts:46-66|apps/local/src/server/executor-schema.ts:46-66", + "apps/cloud/src/services/executor-schema.ts:60-84|apps/local/src/server/executor-schema.ts:60-84", + "apps/cloud/src/services/executor-schema.ts:79-98|apps/local/src/server/executor-schema.ts:79-99", + "apps/cloud/src/services/executor-schema.ts:100-107|apps/local/src/server/executor-schema.ts:86-93", + "apps/cloud/src/services/executor-schema.ts:109-130|apps/local/src/server/executor-schema.ts:95-110", + "apps/cloud/src/services/executor-schema.ts:126-141|apps/local/src/server/executor-schema.ts:122-136", + "apps/cloud/src/services/executor-schema.ts:132-139|apps/cloud/src/services/executor-schema.ts:198-205", + "apps/cloud/src/services/executor-schema.ts:136-151|apps/local/src/server/executor-schema.ts:105-126", + "apps/cloud/src/services/executor-schema.ts:147-162|apps/local/src/server/executor-schema.ts:132-147", + "apps/cloud/src/services/executor-schema.ts:158-174|apps/local/src/server/executor-schema.ts:143-159", + "apps/cloud/src/services/executor-schema.ts:169-185|apps/local/src/server/executor-schema.ts:154-170", + "apps/cloud/src/services/executor-schema.ts:181-196|apps/local/src/server/executor-schema.ts:166-182", + "apps/cloud/src/services/executor-schema.ts:202-207|apps/local/src/server/executor-schema.ts:221-226", + "apps/cloud/src/web/pages/onboarding.tsx:37-49|apps/cloud/src/web/shell.tsx:326-338", + "apps/cloud/src/web/shell.tsx:48-73|apps/local/src/web/shell.tsx:207-232", + "apps/cloud/src/web/shell.tsx:80-134|apps/local/src/web/shell.tsx:232-294", + "apps/cloud/src/web/shell.tsx:402-418|apps/local/src/web/shell.tsx:374-390", + "apps/cloud/src/web/shell.tsx:425-447|apps/local/src/web/shell.tsx:414-441", + "apps/cloud/src/web/shell.tsx:449-466|apps/local/src/web/shell.tsx:442-459", + "apps/cloud/src/web/shell.tsx:480-501|apps/local/src/web/shell.tsx:475-496", + "apps/local/src/routes/index.tsx:3-17|apps/local/src/routes/sources.$namespace.tsx:3-17", + "apps/local/src/server/executor-schema.ts:12-17|apps/local/src/server/executor-schema.ts:176-181", + "apps/local/src/server/executor-schema.ts:29-34|apps/local/src/server/executor-schema.ts:77-82", + "apps/local/src/server/executor-schema.ts:131-135|apps/local/src/server/executor-schema.ts:142-146|apps/local/src/server/executor-schema.ts:153-157|apps/local/src/server/executor-schema.ts:188-192|apps/local/src/server/executor-schema.ts:45-49", + "apps/local/src/server/executor-schema.ts:101-108|apps/local/src/server/executor-schema.ts:217-224", + "apps/local/src/server/executor-schema.ts:118-126|apps/local/src/server/executor-schema.ts:176-182", + "apps/local/src/server/executor-schema.ts:138-143|apps/local/src/server/executor-schema.ts:172-177", + "apps/local/src/server/executor-schema.ts:149-157|apps/local/src/server/executor-schema.ts:184-192", + "apps/local/src/server/migrate-connections.ts:339-377|apps/local/src/server/migrate-connections.ts:460-489", + "apps/local/src/server/migrate-connections.ts:339-355|apps/local/src/server/migrate-connections.ts:460-473|apps/local/src/server/migrate-connections.ts:574-587", + "apps/local/src/server/migrate-connections.ts:397-408|apps/local/src/server/migrate-connections.ts:517-528", + "apps/local/src/server/migrate-connections.ts:436-450|apps/local/src/server/migrate-connections.ts:544-564", + "apps/local/src/server/migrate-connections.ts:451-460|apps/local/src/server/migrate-connections.ts:565-574", + "packages/core/api/src/observability.ts:108-115|packages/core/api/src/observability.ts:137-144", + "packages/core/config/src/schema.ts:72-79|packages/plugins/mcp/src/api/group.ts:53-60", + "packages/core/config/src/schema.ts:85-92|packages/plugins/mcp/src/api/group.ts:64-71", + "packages/core/config/src/write.ts:153-164|packages/core/config/src/write.ts:85-94", + "packages/core/env/src/index.ts:22-27|packages/core/env/src/index.ts:36-41", + "packages/core/env/src/index.ts:45-53|packages/core/env/src/index.ts:58-66", + "packages/core/sdk/src/executor.ts:205-240|packages/core/sdk/src/plugin.ts:156-201", + "packages/core/sdk/src/executor.ts:1233-1245|packages/core/sdk/src/executor.ts:802-816", + "packages/core/sdk/src/executor.ts:1096-1117|packages/plugins/openapi/src/sdk/store.ts:392-456", + "packages/core/sdk/src/executor.ts:1867-1884|packages/core/sdk/src/executor.ts:1948-1973", + "packages/core/sdk/src/executor.ts:2502-2507|packages/core/sdk/src/policies.ts:136-141", + "packages/core/sdk/src/policies.ts:89-98|packages/react/src/pages/policies.tsx:66-75", + "packages/core/sdk/src/policies.ts:105-120|packages/react/src/pages/policies.tsx:77-91", + "packages/core/sdk/src/schema-refs.ts:24-29|packages/plugins/openapi/src/sdk/plugin.ts:293-298", + "packages/core/sdk/src/scoped-adapter.ts:161-178|packages/core/sdk/src/scoped-adapter.ts:184-195", + "packages/core/storage-core/src/factory.ts:307-324|packages/core/storage-core/src/factory.ts:384-410", + "packages/core/storage-core/src/factory.ts:784-796|packages/core/storage-core/src/factory.ts:813-825", + "packages/core/storage-core/src/testing/memory.ts:100-105|packages/core/storage-drizzle/src/adapter.ts:199-206", + "packages/core/storage-drizzle/src/adapter.ts:133-140|packages/core/storage-drizzle/src/adapter.ts:143-150", + "packages/core/storage-drizzle/src/adapter.ts:488-504|packages/core/storage-drizzle/src/adapter.ts:521-531", + "packages/core/storage-drizzle/src/adapter.ts:592-598|packages/core/storage-drizzle/src/adapter.ts:663-669", + "packages/core/storage-drizzle/src/adapter.ts:634-641|packages/core/storage-drizzle/src/adapter.ts:688-693", + "packages/core/storage-file/src/blob-store.ts:18-30|packages/core/storage-postgres/src/blob-store.ts:20-31", + "packages/core/storage-file/src/blob-store.ts:33-138|packages/core/storage-postgres/src/blob-store.ts:34-134", + "packages/hosts/mcp/src/server.ts:336-346|packages/hosts/mcp/src/server.ts:379-389", + "packages/plugins/google-discovery/src/api/group.ts:18-29|packages/plugins/google-discovery/src/sdk/types.ts:74-90", + "packages/plugins/google-discovery/src/api/group.ts:103-113|packages/plugins/mcp/src/api/group.ts:129-139", + "packages/plugins/google-discovery/src/api/group.ts:151-172|packages/plugins/mcp/src/api/group.ts:213-232", + "packages/plugins/google-discovery/src/api/group.ts:151-161|packages/plugins/mcp/src/api/group.ts:213-223|packages/plugins/openapi/src/api/group.ts:201-211", + "packages/plugins/google-discovery/src/api/handlers.ts:93-103|packages/plugins/mcp/src/api/handlers.ts:209-219", + "packages/plugins/google-discovery/src/api/handlers.ts:103-109|packages/plugins/graphql/src/api/handlers.ts:65-71|packages/plugins/mcp/src/api/handlers.ts:219-225|packages/plugins/openapi/src/api/handlers.ts:86-92", + "packages/plugins/google-discovery/src/react/AddGoogleDiscoverySource.tsx:68-82|packages/react/src/plugins/secret-header-auth.tsx:92-106", + "packages/plugins/google-discovery/src/react/AddGoogleDiscoverySource.tsx:126-200|packages/react/src/plugins/secret-header-auth.tsx:167-196", + "packages/plugins/google-discovery/src/react/AddGoogleDiscoverySource.tsx:420-429|packages/react/src/plugins/use-secret-picker-secrets.tsx:11-20", + "packages/plugins/google-discovery/src/react/GoogleDiscoverySignInButton.tsx:1-14|packages/plugins/mcp/src/react/McpSignInButton.tsx:1-9", + "packages/plugins/google-discovery/src/react/GoogleDiscoverySignInButton.tsx:44-54|packages/plugins/mcp/src/react/McpSignInButton.tsx:45-55", + "packages/plugins/google-discovery/src/react/GoogleDiscoverySignInButton.tsx:55-70|packages/plugins/mcp/src/react/McpSignInButton.tsx:56-71", + "packages/plugins/google-discovery/src/react/GoogleDiscoverySignInButton.tsx:93-105|packages/plugins/mcp/src/react/McpSignInButton.tsx:93-103", + "packages/plugins/google-discovery/src/react/GoogleDiscoverySignInButton.tsx:103-136|packages/plugins/mcp/src/react/McpSignInButton.tsx:103-130", + "packages/plugins/google-discovery/src/react/GoogleDiscoverySignInButton.tsx:136-157|packages/plugins/mcp/src/react/McpSignInButton.tsx:130-151", + "packages/plugins/google-discovery/src/sdk/binding-store.ts:340-355|packages/plugins/google-discovery/src/sdk/binding-store.ts:358-368", + "packages/plugins/google-discovery/src/sdk/document.ts:46-58|packages/plugins/google-discovery/src/sdk/document.ts:63-75", + "packages/plugins/google-discovery/src/sdk/document.ts:293-307|packages/plugins/google-discovery/src/sdk/document.ts:313-327", + "packages/plugins/google-discovery/src/sdk/invoke.ts:161-170|packages/plugins/openapi/src/sdk/invoke.ts:606-615", + "packages/plugins/google-discovery/src/sdk/plugin.ts:276-288|packages/plugins/openapi/src/sdk/plugin.ts:607-619", + "packages/plugins/google-discovery/src/sdk/plugin.ts:278-351|packages/plugins/mcp/src/sdk/plugin.ts:315-328", + "packages/plugins/google-discovery/src/sdk/plugin.ts:582-589|packages/plugins/graphql/src/sdk/plugin.ts:430-437", + "packages/plugins/google-discovery/src/sdk/plugin.ts:622-631|packages/plugins/openapi/src/sdk/plugin.ts:1394-1403", + "packages/plugins/google-discovery/src/sdk/plugin.ts:636-645|packages/plugins/graphql/src/sdk/plugin.ts:568-583|packages/plugins/mcp/src/sdk/plugin.ts:1195-1208|packages/plugins/openapi/src/sdk/plugin.ts:1413-1426", + "packages/plugins/google-discovery/src/sdk/plugin.ts:704-728|packages/plugins/mcp/src/sdk/plugin.ts:1298-1321", + "packages/plugins/google-discovery/src/sdk/plugin.ts:704-720|packages/plugins/mcp/src/sdk/plugin.ts:1298-1313|packages/plugins/openapi/src/sdk/plugin.ts:1459-1475", + "packages/plugins/google-discovery/src/sdk/plugin.ts:730-775|packages/plugins/openapi/src/sdk/plugin.ts:1477-1516", + "packages/plugins/google-discovery/src/sdk/plugin.ts:773-792|packages/plugins/openapi/src/sdk/plugin.ts:1558-1577", + "packages/plugins/graphql/src/api/group.ts:86-97|packages/plugins/openapi/src/api/group.ts:176-187", + "packages/plugins/graphql/src/react/AddGraphqlSource.tsx:95-111|packages/plugins/openapi/src/react/AddOpenApiSource.tsx:708-727", + "packages/plugins/graphql/src/react/EditGraphqlSource.tsx:52-64|packages/plugins/mcp/src/react/EditMcpSource.tsx:48-64", + "packages/plugins/graphql/src/react/EditGraphqlSource.tsx:66-100|packages/plugins/mcp/src/react/EditMcpSource.tsx:200-214|packages/plugins/mcp/src/react/EditMcpSource.tsx:76-116", + "packages/plugins/graphql/src/react/EditGraphqlSource.tsx:72-117|packages/plugins/mcp/src/react/EditMcpSource.tsx:88-134", + "packages/plugins/graphql/src/react/EditGraphqlSource.tsx:126-148|packages/plugins/mcp/src/react/EditMcpSource.tsx:170-187", + "packages/plugins/graphql/src/react/EditGraphqlSource.tsx:158-169|packages/plugins/mcp/src/react/EditMcpSource.tsx:242-253", + "packages/plugins/graphql/src/sdk/extract.ts:138-217|packages/plugins/graphql/src/sdk/plugin.ts:136-160", + "packages/plugins/graphql/src/sdk/invoke.ts:19-36|packages/plugins/openapi/src/sdk/invoke.ts:105-120", + "packages/plugins/graphql/src/sdk/plugin.ts:419-432|packages/plugins/openapi/src/sdk/plugin.ts:855-868", + "packages/plugins/graphql/src/sdk/plugin.ts:480-514|packages/plugins/openapi/src/sdk/plugin.ts:1279-1307", + "packages/plugins/graphql/src/sdk/plugin.ts:519-562|packages/plugins/openapi/src/sdk/plugin.ts:1356-1398", + "packages/plugins/graphql/src/sdk/plugin.ts:568-583|packages/plugins/openapi/src/sdk/plugin.ts:1413-1426", + "packages/plugins/graphql/src/sdk/store.ts:75-86|packages/plugins/openapi/src/sdk/store.ts:163-173", + "packages/plugins/graphql/src/sdk/store.ts:195-214|packages/plugins/openapi/src/sdk/store.ts:554-573", + "packages/plugins/graphql/src/sdk/store.ts:237-244|packages/plugins/openapi/src/sdk/store.ts:618-625", + "packages/plugins/graphql/src/sdk/store.ts:253-260|packages/plugins/openapi/src/sdk/store.ts:634-641", + "packages/plugins/graphql/src/sdk/store.ts:264-271|packages/plugins/openapi/src/sdk/store.ts:645-652", + "packages/plugins/mcp/src/api/group.ts:29-44|packages/plugins/mcp/src/sdk/types.ts:28-40", + "packages/plugins/mcp/src/api/handlers.ts:52-87|packages/plugins/oauth2/src/http.ts:27-44", + "packages/plugins/mcp/src/sdk/binding-store.ts:213-228|packages/plugins/mcp/src/sdk/binding-store.ts:231-241", + "packages/plugins/mcp/src/sdk/plugin.ts:1222-1250|packages/plugins/mcp/src/sdk/plugin.ts:609-638", + "packages/plugins/mcp/src/sdk/plugin.ts:733-756|packages/plugins/mcp/src/sdk/plugin.ts:851-874", + "packages/plugins/oauth2/src/index.ts:321-343|packages/plugins/oauth2/src/index.ts:353-375", + "packages/plugins/onepassword/src/sdk/service.ts:142-146|packages/plugins/onepassword/src/sdk/service.ts:182-186", + "packages/plugins/openapi/src/api/group.ts:36-43|packages/plugins/openapi/src/api/group.ts:47-56", + "packages/plugins/openapi/src/react/AddOpenApiSource.tsx:90-96|packages/plugins/openapi/src/sdk/openapi-utils.ts:58-67", + "packages/plugins/openapi/src/react/EditOpenApiSource.tsx:101-120|packages/plugins/openapi/src/sdk/credential-status.ts:34-51", + "packages/plugins/openapi/src/sdk/invoke.ts:495-502|packages/plugins/openapi/src/sdk/invoke.ts:506-511", + "packages/plugins/openapi/src/sdk/plugin.ts:1015-1031|packages/plugins/openapi/src/sdk/plugin.ts:1191-1207", + "packages/react/src/components/code-block.tsx:32-76|packages/react/src/components/expandable-code-block.tsx:73-113", + "packages/react/src/pages/connections.tsx:87-206|packages/react/src/pages/secrets.tsx:246-414", + "packages/react/src/pages/connections.tsx:87-102|packages/react/src/pages/policies.tsx:187-202|packages/react/src/pages/secrets.tsx:246-261", + "packages/react/src/pages/connections.tsx:155-185|packages/react/src/pages/policies.tsx:290-318" + ] +} \ No newline at end of file diff --git a/fallow-baselines/health.json b/fallow-baselines/health.json new file mode 100644 index 000000000..c5dc7ab86 --- /dev/null +++ b/fallow-baselines/health.json @@ -0,0 +1,953 @@ +{ + "finding_counts": { + "apps/cli/src/build.ts": { + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + } + }, + "apps/cli/src/daemon-state.ts": { + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "apps/cli/src/main.ts": { + "complexity_critical": { + "count": 2 + }, + "crap_critical": { + "count": 3 + }, + "crap_high": { + "count": 3 + }, + "crap_moderate": { + "count": 9 + } + }, + "apps/cli/src/release.ts": { + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 1 + } + }, + "apps/cli/src/tooling.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + } + }, + "apps/cloud/drizzle.config.ts": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/scripts/migrate-connections.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 2 + }, + "crap_high": { + "count": 2 + } + }, + "apps/cloud/scripts/migrate-mcp-connections.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/api/autumn.ts": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/auth/handlers.ts": { + "crap_high": { + "count": 2 + } + }, + "apps/cloud/src/auth/middleware-live.ts": { + "crap_high": { + "count": 2 + } + }, + "apps/cloud/src/auth/workos.ts": { + "crap_high": { + "count": 1 + } + }, + "apps/cloud/src/mcp-auth.ts": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/mcp-session.ts": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/mcp.ts": { + "crap_critical": { + "count": 2 + }, + "crap_high": { + "count": 6 + }, + "crap_moderate": { + "count": 2 + } + }, + "apps/cloud/src/org/handlers.ts": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/routes/billing.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/routes/billing_.plans.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/routes/org.tsx": { + "crap_high": { + "count": 3 + }, + "crap_moderate": { + "count": 3 + } + }, + "apps/cloud/src/services/db.ts": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/services/telemetry.ts": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/start.ts": { + "crap_high": { + "count": 2 + } + }, + "apps/cloud/src/test-bearer.ts": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/test-worker.ts": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/web/pages/onboarding.tsx": { + "crap_moderate": { + "count": 1 + } + }, + "apps/cloud/src/web/shell.tsx": { + "crap_critical": { + "count": 1 + } + }, + "apps/desktop/src/main.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 3 + }, + "crap_moderate": { + "count": 1 + } + }, + "apps/local/src/serve.ts": { + "crap_high": { + "count": 2 + } + }, + "apps/local/src/server/config-sync.ts": { + "crap_moderate": { + "count": 2 + } + }, + "apps/local/src/server/mcp.ts": { + "crap_high": { + "count": 1 + } + }, + "apps/local/src/server/migrate-connections.ts": { + "complexity_critical": { + "count": 3 + }, + "crap_critical": { + "count": 4 + }, + "crap_high": { + "count": 1 + } + }, + "apps/local/src/web/shell.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + } + }, + "apps/local/vite.config.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + } + }, + "apps/marketing/src/pages/api/detect.ts": { + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 2 + } + }, + "packages/core/cli/src/commands/generate.ts": { + "crap_moderate": { + "count": 1 + } + }, + "packages/core/cli/src/generators/drizzle.ts": { + "complexity_critical": { + "count": 4 + }, + "crap_critical": { + "count": 4 + } + }, + "packages/core/cli/src/utils/get-config.ts": { + "crap_high": { + "count": 1 + } + }, + "packages/core/config/src/write.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + } + }, + "packages/core/env/src/index.ts": { + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/core/execution/src/engine.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 2 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/core/execution/src/tool-invoker.ts": { + "crap_critical": { + "count": 2 + }, + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/core/sdk/src/executor.ts": { + "complexity_critical": { + "count": 1 + }, + "complexity_high": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 5 + } + }, + "packages/core/sdk/src/promise-executor.ts": { + "crap_moderate": { + "count": 3 + } + }, + "packages/core/sdk/src/schema-refs.ts": { + "complexity_moderate": { + "count": 1 + } + }, + "packages/core/sdk/src/schema-types.ts": { + "complexity_critical": { + "count": 1 + }, + "complexity_moderate": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/core/storage-core/src/factory.ts": { + "complexity_critical": { + "count": 6 + }, + "crap_critical": { + "count": 6 + }, + "crap_high": { + "count": 4 + } + }, + "packages/core/storage-core/src/testing/memory.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 2 + } + }, + "packages/core/storage-drizzle/src/adapter.ts": { + "complexity_critical": { + "count": 2 + }, + "crap_critical": { + "count": 2 + }, + "crap_high": { + "count": 6 + }, + "crap_moderate": { + "count": 6 + } + }, + "packages/hosts/mcp/src/server.ts": { + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 3 + } + }, + "packages/kernel/core/src/code-recovery.ts": { + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 3 + } + }, + "packages/kernel/core/src/json-schema.ts": { + "crap_moderate": { + "count": 1 + } + }, + "packages/kernel/core/src/validation.ts": { + "crap_high": { + "count": 1 + } + }, + "packages/kernel/runtime-deno-subprocess/src/deno-subprocess-worker.mjs": { + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/kernel/runtime-deno-subprocess/src/index.ts": { + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 2 + } + }, + "packages/kernel/runtime-dynamic-worker/src/executor.ts": { + "crap_critical": { + "count": 2 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 2 + } + }, + "packages/kernel/runtime-quickjs/src/index.ts": { + "crap_critical": { + "count": 2 + } + }, + "packages/kernel/runtime-secure-exec/src/index.ts": { + "crap_critical": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/file-secrets/src/index.ts": { + "crap_high": { + "count": 1 + } + }, + "packages/plugins/google-discovery/src/react/AddGoogleDiscoverySource.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 2 + } + }, + "packages/plugins/google-discovery/src/react/EditGoogleDiscoverySource.tsx": { + "crap_critical": { + "count": 1 + } + }, + "packages/plugins/google-discovery/src/react/GoogleDiscoverySignInButton.tsx": { + "crap_critical": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/google-discovery/src/sdk/document.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + } + }, + "packages/plugins/google-discovery/src/sdk/invoke.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + } + }, + "packages/plugins/graphql/src/react/AddGraphqlSource.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + } + }, + "packages/plugins/graphql/src/react/EditGraphqlSource.tsx": { + "crap_moderate": { + "count": 2 + } + }, + "packages/plugins/graphql/src/sdk/extract.ts": { + "complexity_high": { + "count": 1 + }, + "crap_high": { + "count": 2 + } + }, + "packages/plugins/graphql/src/sdk/invoke.ts": { + "crap_high": { + "count": 1 + } + }, + "packages/plugins/graphql/src/sdk/plugin.ts": { + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/mcp/src/api/handlers.ts": { + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/mcp/src/react/AddMcpSource.tsx": { + "complexity_critical": { + "count": 3 + }, + "crap_critical": { + "count": 3 + }, + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 3 + } + }, + "packages/plugins/mcp/src/react/EditMcpSource.tsx": { + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/mcp/src/react/McpSignInButton.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + } + }, + "packages/plugins/mcp/src/sdk/plugin.ts": { + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/oauth2/src/http.ts": { + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/oauth2/src/index.ts": { + "crap_moderate": { + "count": 2 + } + }, + "packages/plugins/oauth2/src/react.ts": { + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/onepassword/src/react/OnePasswordSettings.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 2 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/onepassword/src/sdk/service.ts": { + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/openapi/src/react/AddOpenApiSource.tsx": { + "complexity_critical": { + "count": 2 + }, + "crap_critical": { + "count": 3 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 4 + } + }, + "packages/plugins/openapi/src/react/EditOpenApiSource.tsx": { + "complexity_critical": { + "count": 4 + }, + "crap_critical": { + "count": 4 + }, + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 2 + } + }, + "packages/plugins/openapi/src/react/OpenApiSourceSummary.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + } + }, + "packages/plugins/openapi/src/sdk/credential-status.ts": { + "crap_critical": { + "count": 1 + } + }, + "packages/plugins/openapi/src/sdk/invoke.ts": { + "complexity_critical": { + "count": 2 + }, + "complexity_high": { + "count": 2 + }, + "crap_critical": { + "count": 2 + }, + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/openapi/src/sdk/plugin.ts": { + "complexity_moderate": { + "count": 1 + }, + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 4 + } + }, + "packages/plugins/openapi/src/sdk/preview.ts": { + "complexity_high": { + "count": 1 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/workos-vault/src/sdk/client.ts": { + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/workos-vault/src/sdk/plugin.ts": { + "crap_moderate": { + "count": 1 + } + }, + "packages/plugins/workos-vault/src/sdk/secret-store.ts": { + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 2 + } + }, + "packages/react/src/api/optimistic.tsx": { + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/card-stack.tsx": { + "crap_moderate": { + "count": 3 + } + }, + "packages/react/src/components/carousel.tsx": { + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/chart.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 3 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/code-block.tsx": { + "crap_critical": { + "count": 1 + }, + "crap_high": { + "count": 1 + } + }, + "packages/react/src/components/command-palette.tsx": { + "crap_high": { + "count": 1 + } + }, + "packages/react/src/components/copy-button.tsx": { + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/expandable-code-block.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 2 + }, + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/field.tsx": { + "crap_high": { + "count": 1 + } + }, + "packages/react/src/components/form.tsx": { + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/markdown.tsx": { + "crap_moderate": { + "count": 2 + } + }, + "packages/react/src/components/mcp-install-card.tsx": { + "crap_critical": { + "count": 1 + } + }, + "packages/react/src/components/schema-explorer.tsx": { + "complexity_critical": { + "count": 3 + }, + "crap_critical": { + "count": 4 + }, + "crap_high": { + "count": 4 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/sheet.tsx": { + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/sidebar.tsx": { + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/toggle-group.tsx": { + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/components/tool-detail.tsx": { + "crap_critical": { + "count": 1 + }, + "crap_moderate": { + "count": 2 + } + }, + "packages/react/src/components/tool-tree.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + }, + "crap_moderate": { + "count": 6 + } + }, + "packages/react/src/lib/shiki.ts": { + "crap_high": { + "count": 1 + }, + "crap_moderate": { + "count": 2 + } + }, + "packages/react/src/pages/connections.tsx": { + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/pages/policies.tsx": { + "crap_critical": { + "count": 1 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/pages/secrets.tsx": { + "crap_high": { + "count": 2 + }, + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/pages/source-detail.tsx": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + } + }, + "packages/react/src/pages/sources.tsx": { + "crap_moderate": { + "count": 2 + } + }, + "packages/react/src/plugins/headers-list.tsx": { + "crap_moderate": { + "count": 1 + } + }, + "packages/react/src/plugins/secret-header-auth.tsx": { + "crap_critical": { + "count": 2 + }, + "crap_moderate": { + "count": 3 + } + }, + "packages/react/src/plugins/secret-picker.tsx": { + "crap_high": { + "count": 1 + } + }, + "packages/react/src/plugins/source-identity.tsx": { + "crap_high": { + "count": 1 + } + }, + "scripts/clean.ts": { + "complexity_critical": { + "count": 1 + }, + "crap_critical": { + "count": 1 + } + }, + "scripts/publish-packages.ts": { + "crap_high": { + "count": 3 + }, + "crap_moderate": { + "count": 2 + } + } + }, + "runtime_coverage_findings": [], + "target_keys": [] +} \ No newline at end of file