Add thread audit replay controls

This commit is contained in:
ZacharyZhang-NY committed 2026-05-23 18:48:14 -04:00
1 parent bbf90a1a62
commit 6768d19239
19 files changed
+299 -3

No files matched your search

@@ -0,0 +1,10 @@
export interface AuditReplayRunRecord {
id: string;
orgId: string;
threadId: string;
eventCount: number;
eventDigest: string;
replayJson: string;
createdByEmployeeId: string | null;
createdAt: string;
}
+6
View File
@@ -227,6 +227,12 @@ export interface CreateComplianceExportInput {
requestedByEmployeeId: string;
}
export interface CreateAuditReplayInput {
orgId: string;
threadId: string;
createdByEmployeeId: string;
}
export interface CreateLegalHoldInput {
orgId: string;
entityType: LegalHoldEntityType;
@@ -6,6 +6,7 @@ import type {
BootstrapOnboardingSummary,
CreateAgentInput,
CreateApprovalInput,
CreateAuditReplayInput,
CreateChatSpaceInput,
CreateComplianceExportInput,
CreateLegalHoldInput,
@@ -86,6 +87,7 @@ export interface DesktopApi {
runEvalSuite(input: RunEvalSuiteInput): Promise<DesktopResult<AppSnapshot>>;
setPrBotGate(input: SetPrBotGateInput): Promise<DesktopResult<AppSnapshot>>;
createComplianceExport(input: CreateComplianceExportInput): Promise<DesktopResult<AppSnapshot>>;
createAuditReplay(input: CreateAuditReplayInput): Promise<DesktopResult<AppSnapshot>>;
createLegalHold(input: CreateLegalHoldInput): Promise<DesktopResult<AppSnapshot>>;
setLegalHoldState(input: SetLegalHoldStateInput): Promise<DesktopResult<AppSnapshot>>;
createRetentionFreeze(input: CreateRetentionFreezeInput): Promise<DesktopResult<AppSnapshot>>;
+3
View File
@@ -1,4 +1,5 @@
import type { BoardInterventionRecord as BoardInterventionRecordModel, ChatThreadBoardState as ChatThreadBoardStateModel } from "./board-domain";
import type { AuditReplayRunRecord } from "./audit-domain";
import type { ComplianceExportRecord, LegalHoldRecord, RetentionFreezeRecord } from "./compliance-domain";
import type { AccessDecisionRecord, EmployeeIdentityRecord, RoleGrantRecord, ServiceIdentityRecord } from "./identity-domain";
import type { ApprovalAssignmentRecord, ApprovalRoutingRuleRecord, HiringPolicyRecord, OrgDepartmentRecord } from "./org-governance-domain";
@@ -6,6 +7,7 @@ import type { ChaosDrillRecord, ChaosDrillRunRecord, FeatureFlagRecord, Operatio
import type { ProviderDataPolicy, ProviderExecutionMode } from "./provider-policy-domain";
import type { EvalCaseRecord, EvalRunRecord, EvalSuiteRecord, PrBotGateRecord, SdlcReviewAgentRecord, SdlcReviewRunRecord } from "./sdlc-domain";
export { BOARD_INTERVENTION_ACTION, BOARD_INTERVENTION_MODE, CHAT_THREAD_BOARD_STATE, type BoardInterventionAction, type BoardInterventionMode, type BoardInterventionRecord, type ChatThreadBoardState } from "./board-domain";
export type { AuditReplayRunRecord } from "./audit-domain";
export { COMPLIANCE_EXPORT_STATE, COMPLIANCE_EXPORT_TYPE, type ComplianceExportRecord, type ComplianceExportState, type ComplianceExportType, type ComplianceSubjectType, type LegalHoldEntityType, type LegalHoldRecord, type RetentionFreezeRecord, type RetentionFreezeScopeType } from "./compliance-domain";
export { ACCESS_DECISION, IDENTITY_SOURCE, ROLE_KEY, type AccessDecision, type AccessDecisionRecord, type EmployeeIdentityRecord, type IdentitySource, type PrincipalType, type RoleGrantRecord, type RoleKey, type ServiceIdentityRecord } from "./identity-domain";
export { ROUTE_TO_TYPE, type ApprovalAssignmentRecord, type ApprovalRoutingRuleRecord, type HiringPolicyRecord, type OrgDepartmentRecord, type RouteToType } from "./org-governance-domain";
@@ -477,5 +479,6 @@ export interface AppSnapshot {
orgDepartments: OrgDepartmentRecord[]; hiringPolicies: HiringPolicyRecord[]; approvalRoutingRules: ApprovalRoutingRuleRecord[]; approvalAssignments: ApprovalAssignmentRecord[];
featureFlags: FeatureFlagRecord[]; sloTargets: SloTargetRecord[]; operationalEvents: OperationalEventRecord[]; chaosDrills: ChaosDrillRecord[]; chaosDrillRuns: ChaosDrillRunRecord[];
sdlcReviewAgents: SdlcReviewAgentRecord[]; sdlcReviewRuns: SdlcReviewRunRecord[]; evalSuites: EvalSuiteRecord[]; evalCases: EvalCaseRecord[]; evalRuns: EvalRunRecord[]; prBotGates: PrBotGateRecord[];
auditReplayRuns: AuditReplayRunRecord[];
auditEvents: AuditEventRecord[];
}
+1
View File
@@ -36,6 +36,7 @@ export const IPC_CHANNELS = {
runEvalSuite: "agentcompany:run-eval-suite",
setPrBotGate: "agentcompany:set-pr-bot-gate",
createComplianceExport: "agentcompany:create-compliance-export",
createAuditReplay: "agentcompany:create-audit-replay",
createLegalHold: "agentcompany:create-legal-hold",
setLegalHoldState: "agentcompany:set-legal-hold-state",
createRetentionFreeze: "agentcompany:create-retention-freeze",