Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"worktree:setup": "node scripts/worktree.mjs setup",
"cloudflare:token": "node scripts/refresh-cloudflare-tunnel-token.mjs",
"prepare": "simple-git-hooks",
"lint": "pnpm --filter @sentry/junior lint && pnpm --filter @sentry/junior-memory lint && pnpm ast-grep:lint && pnpm package:lint",
"lint": "pnpm --filter @sentry/junior lint && pnpm --filter @sentry/junior-memory lint && pnpm ast-grep:lint && node scripts/checks.mjs && pnpm package:lint",
"lint:fix": "pnpm --filter @sentry/junior lint:fix",
"ast-grep:lint": "ast-grep scan",
"lint-staged": "lint-staged",
Expand Down
31 changes: 31 additions & 0 deletions scripts/checks.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/usr/bin/env node
import { runPublicApiDocsCheck } from "./lib/checks/public-api-docs.mjs";

const checks = [
{
name: "public-api-docs",
run: runPublicApiDocsCheck,
},
];

let failed = false;

for (const check of checks) {
const result = check.run();

if (result.ok) {
console.log(`${check.name}: OK - ${result.summary}`);
continue;
}

failed = true;
console.error(`${check.name}: failed`);

for (const detail of result.details ?? []) {
console.error(` ${detail}`);
}
}

if (failed) {
process.exit(1);
}
137 changes: 137 additions & 0 deletions scripts/lib/checks/public-api-docs-baseline.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
[
"packages/junior-dashboard/src/app.ts:JuniorDashboardOptions:InterfaceDeclaration",
"packages/junior-dashboard/src/index.ts:JuniorDashboardPluginOptions:InterfaceDeclaration",
"packages/junior-dashboard/src/nitro.ts:JuniorDashboardNitroOptions:InterfaceDeclaration",
"packages/junior-memory/src/store.ts:ArchiveMemoryInput:TypeAliasDeclaration",
"packages/junior-memory/src/store.ts:CreateMemoryInput:TypeAliasDeclaration",
"packages/junior-memory/src/store.ts:ListMemoriesInput:TypeAliasDeclaration",
"packages/junior-memory/src/store.ts:MemoryDb:TypeAliasDeclaration",
"packages/junior-memory/src/store.ts:MemoryEmbeddingProvider:InterfaceDeclaration",
"packages/junior-memory/src/store.ts:MemoryRecord:TypeAliasDeclaration",
"packages/junior-memory/src/store.ts:MemoryStoreOptions:InterfaceDeclaration",
"packages/junior-memory/src/store.ts:SearchMemoriesInput:TypeAliasDeclaration",
"packages/junior-memory/src/types.ts:MemoryRuntimeContext:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:Destination:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:InvocationContext:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:LocalDestination:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:LocalInvocationContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/context.ts:LocalRequester:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:LocalSource:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:PluginContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/context.ts:PluginEmbedder:InterfaceDeclaration",
"packages/junior-plugin-api/src/context.ts:PluginLogger:InterfaceDeclaration",
"packages/junior-plugin-api/src/context.ts:PluginMetadata:InterfaceDeclaration",
"packages/junior-plugin-api/src/context.ts:PluginModel:InterfaceDeclaration",
"packages/junior-plugin-api/src/context.ts:Requester:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:SlackDestination:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:SlackInvocationContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/context.ts:SlackRequester:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:SlackSource:TypeAliasDeclaration",
"packages/junior-plugin-api/src/context.ts:Source:TypeAliasDeclaration",
"packages/junior-plugin-api/src/credentials.ts:EgressHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/credentials.ts:EgressResponseHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/credentials.ts:IssueCredentialHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/credentials.ts:PluginCredentialActor:TypeAliasDeclaration",
"packages/junior-plugin-api/src/credentials.ts:PluginCredentialResult:TypeAliasDeclaration",
"packages/junior-plugin-api/src/credentials.ts:PluginCredentialSubject:TypeAliasDeclaration",
"packages/junior-plugin-api/src/credentials.ts:PluginEgressResponse:InterfaceDeclaration",
"packages/junior-plugin-api/src/credentials.ts:PluginGrantAccess:TypeAliasDeclaration",
"packages/junior-plugin-api/src/credentials.ts:PluginResolvedCredentialUser:InterfaceDeclaration",
"packages/junior-plugin-api/src/credentials.ts:PluginStoredTokens:InterfaceDeclaration",
"packages/junior-plugin-api/src/credentials.ts:PluginTokenStore:InterfaceDeclaration",
"packages/junior-plugin-api/src/credentials.ts:PluginUserTokenSlot:InterfaceDeclaration",
"packages/junior-plugin-api/src/credentials.ts:ResolveOAuthAccountHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/dispatch.ts:Dispatch:InterfaceDeclaration",
"packages/junior-plugin-api/src/dispatch.ts:DispatchOptions:TypeAliasDeclaration",
"packages/junior-plugin-api/src/dispatch.ts:DispatchResult:InterfaceDeclaration",
"packages/junior-plugin-api/src/hooks.ts:PluginHooks:InterfaceDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginCredentials:TypeAliasDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginEnvVarDeclaration:InterfaceDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginManifest:InterfaceDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginMcpConfig:InterfaceDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginNpmRuntimeDependency:InterfaceDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginOAuthBearerCredentials:InterfaceDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginOAuthConfig:InterfaceDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginRuntimeDependency:TypeAliasDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginRuntimePostinstallCommand:InterfaceDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginSystemRuntimeDependency:InterfaceDeclaration",
"packages/junior-plugin-api/src/manifest.ts:PluginSystemRuntimeDependencyFromUrl:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:HeartbeatHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:HeartbeatResult:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:OperationalReportHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginConversationStatus:TypeAliasDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginConversationSummary:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginConversations:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginOperationalField:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginOperationalMetric:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginOperationalRecord:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginOperationalRecordSet:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginOperationalReport:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginOperationalReportContent:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginOperationalTone:TypeAliasDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginRoute:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginRouteHandler:TypeAliasDeclaration",
"packages/junior-plugin-api/src/operations.ts:PluginRouteMethod:TypeAliasDeclaration",
"packages/junior-plugin-api/src/operations.ts:RouteRegistrationHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:SlackConversationLink:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:SlackConversationLinkHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:StorageMigrationContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/operations.ts:StorageMigrationResult:InterfaceDeclaration",
"packages/junior-plugin-api/src/registration.ts:PluginRegistration:InterfaceDeclaration",
"packages/junior-plugin-api/src/registration.ts:PluginRegistrationInput:TypeAliasDeclaration",
"packages/junior-plugin-api/src/state.ts:PluginReadState:InterfaceDeclaration",
"packages/junior-plugin-api/src/state.ts:PluginState:InterfaceDeclaration",
"packages/junior-plugin-api/src/tools.ts:BeforeToolExecuteHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/tools.ts:PluginDecision:InterfaceDeclaration",
"packages/junior-plugin-api/src/tools.ts:PluginEnv:InterfaceDeclaration",
"packages/junior-plugin-api/src/tools.ts:PluginSandbox:InterfaceDeclaration",
"packages/junior-plugin-api/src/tools.ts:PluginToolDefinition:InterfaceDeclaration",
"packages/junior-plugin-api/src/tools.ts:PluginToolExecute:TypeAliasDeclaration",
"packages/junior-plugin-api/src/tools.ts:PluginToolExecuteOptions:InterfaceDeclaration",
"packages/junior-plugin-api/src/tools.ts:SandboxPrepareHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/tools.ts:SlackToolRegistrationHookContext:InterfaceDeclaration",
"packages/junior-plugin-api/src/tools.ts:ToolRegistrationHookContext:TypeAliasDeclaration",
"packages/junior-scheduler/src/schedule-tools.ts:SchedulerToolContext:InterfaceDeclaration",
"packages/junior-scheduler/src/store.ts:SchedulerDb:TypeAliasDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledCalendarFrequency:TypeAliasDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledLocalTime:InterfaceDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledRun:InterfaceDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledRunStatus:TypeAliasDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledTask:InterfaceDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledTaskConversationAccess:InterfaceDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledTaskExecutionActor:InterfaceDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledTaskPrincipal:InterfaceDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledTaskRecurrence:InterfaceDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledTaskSchedule:InterfaceDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledTaskSpec:InterfaceDeclaration",
"packages/junior-scheduler/src/types.ts:ScheduledTaskStatus:TypeAliasDeclaration",
"packages/junior/src/app.ts:JuniorAppOptions:InterfaceDeclaration",
"packages/junior/src/nitro.ts:JuniorNitroOptions:InterfaceDeclaration",
"packages/junior/src/nitro.ts:JuniorNitroPluginSource:TypeAliasDeclaration",
"packages/junior/src/nitro.ts:JuniorPluginModuleReference:InterfaceDeclaration",
"packages/junior/src/plugins.ts:JuniorPluginInput:TypeAliasDeclaration",
"packages/junior/src/plugins.ts:JuniorPluginSetOptions:InterfaceDeclaration",
"packages/junior/src/reporting.ts:HealthReport:InterfaceDeclaration",
"packages/junior/src/reporting.ts:JuniorReporting:InterfaceDeclaration",
"packages/junior/src/reporting.ts:PluginOperationalReportFeed:InterfaceDeclaration",
"packages/junior/src/reporting.ts:PluginPackageContentItemReport:InterfaceDeclaration",
"packages/junior/src/reporting.ts:PluginPackageContentReport:InterfaceDeclaration",
"packages/junior/src/reporting.ts:PluginReport:InterfaceDeclaration",
"packages/junior/src/reporting.ts:RuntimeInfoReport:InterfaceDeclaration",
"packages/junior/src/reporting.ts:SkillReport:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:ConversationFeed:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:ConversationReport:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:ConversationReportStatus:TypeAliasDeclaration",
"packages/junior/src/reporting/conversations.ts:ConversationRunReport:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:ConversationStatsItem:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:ConversationStatsReport:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:ConversationSummaryReport:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:ConversationSurface:TypeAliasDeclaration",
"packages/junior/src/reporting/conversations.ts:ConversationUsage:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:RequesterIdentity:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:TranscriptMessage:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:TranscriptPart:InterfaceDeclaration",
"packages/junior/src/reporting/conversations.ts:TranscriptPartType:TypeAliasDeclaration",
"packages/junior/src/reporting/conversations.ts:TranscriptRole:TypeAliasDeclaration",
"packages/junior/src/vercel.ts:JuniorVercelConfigOptions:InterfaceDeclaration"
]
Loading
Loading