@cat-factory/node-server 0.202.0 → 0.203.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/container-core-deps.js +5 -0
- package/dist/container-core-deps.js.map +1 -1
- package/dist/db/schema.d.ts +1 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +5 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/db/tables/risk-policies.d.ts +451 -0
- package/dist/db/tables/risk-policies.d.ts.map +1 -0
- package/dist/db/tables/risk-policies.js +69 -0
- package/dist/db/tables/risk-policies.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/repositories/drizzle/account-risk-policies.d.ts +29 -0
- package/dist/repositories/drizzle/account-risk-policies.d.ts.map +1 -0
- package/dist/repositories/drizzle/account-risk-policies.js +199 -0
- package/dist/repositories/drizzle/account-risk-policies.js.map +1 -0
- package/dist/repositories/drizzle.d.ts +4 -1
- package/dist/repositories/drizzle.d.ts.map +1 -1
- package/dist/repositories/drizzle.js +6 -0
- package/dist/repositories/drizzle.js.map +1 -1
- package/drizzle/20260812082846_cuddly_the_initiative/migration.sql +35 -0
- package/drizzle/20260812082846_cuddly_the_initiative/snapshot.json +21838 -0
- package/package.json +20 -20
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { and, eq, inArray } from 'drizzle-orm';
|
|
2
|
+
import { accountRiskPolicies, riskPolicySuppressions } from '../../db/schema.js';
|
|
3
|
+
/**
|
|
4
|
+
* Chunk size for the batched `IN` read, matching the D1 mirror. Postgres would take far more bound
|
|
5
|
+
* parameters, but the two facades chunk identically so a conformance assertion over a large id set
|
|
6
|
+
* exercises the same code path on both.
|
|
7
|
+
*/
|
|
8
|
+
const ID_CHUNK = 90;
|
|
9
|
+
/**
|
|
10
|
+
* A stored account row → the domain policy. Byte-for-byte the reading `D1AccountRiskPolicyRepository`
|
|
11
|
+
* applies, including the defensive JSON reads (each empty value is that field's identity) and the
|
|
12
|
+
* NARROWED `autonomy`: a stored value the closed vocabulary no longer carries reads as `attended`,
|
|
13
|
+
* the posture that stops for a person, never as a licence this row cannot be shown to have granted.
|
|
14
|
+
*/
|
|
15
|
+
function rowToPolicy(row) {
|
|
16
|
+
return {
|
|
17
|
+
id: row.id,
|
|
18
|
+
name: row.name,
|
|
19
|
+
maxComplexity: row.max_complexity,
|
|
20
|
+
maxRisk: row.max_risk,
|
|
21
|
+
maxImpact: row.max_impact,
|
|
22
|
+
ciMaxAttempts: row.ci_max_attempts,
|
|
23
|
+
maxRequirementIterations: row.max_requirement_iterations,
|
|
24
|
+
maxRequirementConcernAllowed: row.max_requirement_concern_allowed,
|
|
25
|
+
maxTesterQualityIterations: row.max_tester_quality_iterations,
|
|
26
|
+
releaseWatchWindowMinutes: row.release_watch_window_minutes,
|
|
27
|
+
releaseMaxAttempts: row.release_max_attempts,
|
|
28
|
+
humanReviewGraceMinutes: row.human_review_grace_minutes,
|
|
29
|
+
judgeMinScore: row.judge_min_score,
|
|
30
|
+
judgeMaxBounces: row.judge_max_bounces,
|
|
31
|
+
autoMergeEnabled: row.auto_merge_enabled === 1,
|
|
32
|
+
forkDecision: row.fork_decision
|
|
33
|
+
? JSON.parse(row.fork_decision)
|
|
34
|
+
: null,
|
|
35
|
+
classRules: row.class_rules
|
|
36
|
+
? JSON.parse(row.class_rules)
|
|
37
|
+
: {},
|
|
38
|
+
classRulesByRole: row.class_rules_by_role
|
|
39
|
+
? JSON.parse(row.class_rules_by_role)
|
|
40
|
+
: {},
|
|
41
|
+
dryRunRoles: row.dry_run_roles
|
|
42
|
+
? JSON.parse(row.dry_run_roles)
|
|
43
|
+
: [],
|
|
44
|
+
submissionClassesByRole: row.submission_classes_by_role
|
|
45
|
+
? JSON.parse(row.submission_classes_by_role)
|
|
46
|
+
: {},
|
|
47
|
+
autonomy: row.autonomy === 'unattended' ? 'unattended' : 'attended',
|
|
48
|
+
minAutoAnswerConfidence: row.min_auto_answer_confidence,
|
|
49
|
+
...(row.version != null ? { version: row.version } : {}),
|
|
50
|
+
createdAt: row.created_at,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* ACCOUNT-tier risk policies over Postgres (the Drizzle mirror of the Worker's
|
|
55
|
+
* `D1AccountRiskPolicyRepository`, migration 0092). Behaviourally identical, so the cross-runtime
|
|
56
|
+
* conformance suite asserts the same tier merge on both facades.
|
|
57
|
+
*
|
|
58
|
+
* No default-promotion machinery, unlike the workspace-tier repository: an account row holds no
|
|
59
|
+
* per-scope default claim, so there is no cross-row invariant and every write is a plain upsert. See
|
|
60
|
+
* ADR 0055.
|
|
61
|
+
*/
|
|
62
|
+
export class DrizzleAccountRiskPolicyRepository {
|
|
63
|
+
db;
|
|
64
|
+
constructor(db) {
|
|
65
|
+
this.db = db;
|
|
66
|
+
}
|
|
67
|
+
async get(accountId, id) {
|
|
68
|
+
const rows = await this.db
|
|
69
|
+
.select()
|
|
70
|
+
.from(accountRiskPolicies)
|
|
71
|
+
.where(and(eq(accountRiskPolicies.account_id, accountId), eq(accountRiskPolicies.id, id)))
|
|
72
|
+
.limit(1);
|
|
73
|
+
return rows[0] ? rowToPolicy(rows[0]) : null;
|
|
74
|
+
}
|
|
75
|
+
async list(accountId) {
|
|
76
|
+
const rows = await this.db
|
|
77
|
+
.select()
|
|
78
|
+
.from(accountRiskPolicies)
|
|
79
|
+
.where(eq(accountRiskPolicies.account_id, accountId))
|
|
80
|
+
.orderBy(accountRiskPolicies.created_at);
|
|
81
|
+
return rows.map(rowToPolicy);
|
|
82
|
+
}
|
|
83
|
+
async listByIds(accountId, ids) {
|
|
84
|
+
const wanted = [...new Set(ids)].filter(Boolean);
|
|
85
|
+
// An empty set is a no-op rather than a dropped predicate, which would answer the whole tier to
|
|
86
|
+
// a caller that asked about nothing.
|
|
87
|
+
if (wanted.length === 0)
|
|
88
|
+
return [];
|
|
89
|
+
const rows = [];
|
|
90
|
+
for (let i = 0; i < wanted.length; i += ID_CHUNK) {
|
|
91
|
+
const chunk = wanted.slice(i, i + ID_CHUNK);
|
|
92
|
+
rows.push(...(await this.db
|
|
93
|
+
.select()
|
|
94
|
+
.from(accountRiskPolicies)
|
|
95
|
+
.where(and(eq(accountRiskPolicies.account_id, accountId), inArray(accountRiskPolicies.id, chunk)))
|
|
96
|
+
.orderBy(accountRiskPolicies.created_at)));
|
|
97
|
+
}
|
|
98
|
+
return rows.map(rowToPolicy);
|
|
99
|
+
}
|
|
100
|
+
async upsert(accountId, policy) {
|
|
101
|
+
const values = {
|
|
102
|
+
account_id: accountId,
|
|
103
|
+
id: policy.id,
|
|
104
|
+
name: policy.name,
|
|
105
|
+
max_complexity: policy.maxComplexity,
|
|
106
|
+
max_risk: policy.maxRisk,
|
|
107
|
+
max_impact: policy.maxImpact,
|
|
108
|
+
ci_max_attempts: policy.ciMaxAttempts,
|
|
109
|
+
max_requirement_iterations: policy.maxRequirementIterations,
|
|
110
|
+
max_requirement_concern_allowed: policy.maxRequirementConcernAllowed,
|
|
111
|
+
max_tester_quality_iterations: policy.maxTesterQualityIterations,
|
|
112
|
+
release_watch_window_minutes: policy.releaseWatchWindowMinutes,
|
|
113
|
+
release_max_attempts: policy.releaseMaxAttempts,
|
|
114
|
+
human_review_grace_minutes: policy.humanReviewGraceMinutes,
|
|
115
|
+
judge_min_score: policy.judgeMinScore,
|
|
116
|
+
judge_max_bounces: policy.judgeMaxBounces,
|
|
117
|
+
auto_merge_enabled: policy.autoMergeEnabled ? 1 : 0,
|
|
118
|
+
fork_decision: policy.forkDecision ? JSON.stringify(policy.forkDecision) : null,
|
|
119
|
+
class_rules: JSON.stringify(policy.classRules ?? {}),
|
|
120
|
+
class_rules_by_role: JSON.stringify(policy.classRulesByRole ?? {}),
|
|
121
|
+
dry_run_roles: JSON.stringify(policy.dryRunRoles ?? []),
|
|
122
|
+
submission_classes_by_role: JSON.stringify(policy.submissionClassesByRole ?? {}),
|
|
123
|
+
version: policy.version ?? null,
|
|
124
|
+
autonomy: policy.autonomy,
|
|
125
|
+
min_auto_answer_confidence: policy.minAutoAnswerConfidence,
|
|
126
|
+
created_at: policy.createdAt,
|
|
127
|
+
};
|
|
128
|
+
await this.db
|
|
129
|
+
.insert(accountRiskPolicies)
|
|
130
|
+
.values(values)
|
|
131
|
+
.onConflictDoUpdate({
|
|
132
|
+
target: [accountRiskPolicies.account_id, accountRiskPolicies.id],
|
|
133
|
+
// Every editable column is projected. The one this mirrors had a silent gap for exactly this
|
|
134
|
+
// reason (the judge pair was on the INSERT and missing from the update), which an in-memory
|
|
135
|
+
// unit test cannot see: an edit simply left the stored value untouched.
|
|
136
|
+
set: {
|
|
137
|
+
name: values.name,
|
|
138
|
+
max_complexity: values.max_complexity,
|
|
139
|
+
max_risk: values.max_risk,
|
|
140
|
+
max_impact: values.max_impact,
|
|
141
|
+
ci_max_attempts: values.ci_max_attempts,
|
|
142
|
+
max_requirement_iterations: values.max_requirement_iterations,
|
|
143
|
+
max_requirement_concern_allowed: values.max_requirement_concern_allowed,
|
|
144
|
+
max_tester_quality_iterations: values.max_tester_quality_iterations,
|
|
145
|
+
release_watch_window_minutes: values.release_watch_window_minutes,
|
|
146
|
+
release_max_attempts: values.release_max_attempts,
|
|
147
|
+
human_review_grace_minutes: values.human_review_grace_minutes,
|
|
148
|
+
judge_min_score: values.judge_min_score,
|
|
149
|
+
judge_max_bounces: values.judge_max_bounces,
|
|
150
|
+
auto_merge_enabled: values.auto_merge_enabled,
|
|
151
|
+
fork_decision: values.fork_decision,
|
|
152
|
+
class_rules: values.class_rules,
|
|
153
|
+
class_rules_by_role: values.class_rules_by_role,
|
|
154
|
+
dry_run_roles: values.dry_run_roles,
|
|
155
|
+
submission_classes_by_role: values.submission_classes_by_role,
|
|
156
|
+
version: values.version,
|
|
157
|
+
autonomy: values.autonomy,
|
|
158
|
+
min_auto_answer_confidence: values.min_auto_answer_confidence,
|
|
159
|
+
},
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
async remove(accountId, id) {
|
|
163
|
+
await this.db
|
|
164
|
+
.delete(accountRiskPolicies)
|
|
165
|
+
.where(and(eq(accountRiskPolicies.account_id, accountId), eq(accountRiskPolicies.id, id)));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/** Which inherited policies a board HIDES (the Drizzle mirror of migration 0092's suppressions). */
|
|
169
|
+
export class DrizzleRiskPolicySuppressionRepository {
|
|
170
|
+
db;
|
|
171
|
+
constructor(db) {
|
|
172
|
+
this.db = db;
|
|
173
|
+
}
|
|
174
|
+
async list(workspaceId) {
|
|
175
|
+
const rows = await this.db
|
|
176
|
+
.select({ policyId: riskPolicySuppressions.policy_id })
|
|
177
|
+
.from(riskPolicySuppressions)
|
|
178
|
+
.where(eq(riskPolicySuppressions.workspace_id, workspaceId))
|
|
179
|
+
.orderBy(riskPolicySuppressions.created_at);
|
|
180
|
+
return rows.map((row) => row.policyId);
|
|
181
|
+
}
|
|
182
|
+
async add(workspaceId, policyId, at) {
|
|
183
|
+
// FIRST write wins, mirroring the D1 `DO NOTHING`: hiding an already-hidden policy is the same
|
|
184
|
+
// state, so a retry keeps the original timestamp and the editor's ordering is stable across a
|
|
185
|
+
// double-click. Targeted on the primary key alone, never a bare ignore.
|
|
186
|
+
await this.db
|
|
187
|
+
.insert(riskPolicySuppressions)
|
|
188
|
+
.values({ workspace_id: workspaceId, policy_id: policyId, created_at: at })
|
|
189
|
+
.onConflictDoNothing({
|
|
190
|
+
target: [riskPolicySuppressions.workspace_id, riskPolicySuppressions.policy_id],
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
async remove(workspaceId, policyId) {
|
|
194
|
+
await this.db
|
|
195
|
+
.delete(riskPolicySuppressions)
|
|
196
|
+
.where(and(eq(riskPolicySuppressions.workspace_id, workspaceId), eq(riskPolicySuppressions.policy_id, policyId)));
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=account-risk-policies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-risk-policies.js","sourceRoot":"","sources":["../../../src/repositories/drizzle/account-risk-policies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountInvitationRepository, AccountRepository, AccountSettingsRepository, AgentContextSnapshotRepository, AgentPromptRepository, AgentRunRepository, AgentSearchQueryRepository, AgentToolCallRepository, BinaryArtifactMetadataStore, BlockRepository, BrainstormSessionRepository, CapabilityCredentialRepository, McpOAuthGrantRepository, ClarityReviewRepository, Clock, ConsensusGroupRepository, ConsensusSessionRepository, DocInterviewRepository, EmailConnectionRepository, ExecutionRepository, GateOutcomeRepository, IncidentEnrichmentConnectionRepository, InitiativeRepository, KaizenGradingRepository, KaizenVerifiedComboRepository, LlmCallMetricRepository, MembershipRepository, MergeTrackRecordRepository, ModelPresetRepository, ObservabilityConnectionRepository, PackageRegistryConnectionRepository, AuditEventRepository, AuthAttemptRepository, MachineNodeRepository, PasswordResetTokenRepository, PipelineRepository, PipelineScheduleRepository, PlatformMetricsRepository, ProvisioningLogRepository, ReleaseHealthConfigRepository, ReportsRepository, RequirementReviewRepository, RiskPolicyRepository, ServiceFragmentDefaultsRepository, ServiceRepository, SpendRollupRepository, SharedStackRepository, SubscriptionQuotaCycleRepository, TestSecretsRepository, TokenUsageRepository, TrackerSettingsRepository, UserRepository, TutorialProgressRepository, UserSettingsRepository, ValidationConfigRepository, TaskTypeSuppressionRepository, WorkspaceAgentSettingsRepository, WorkspaceMemberRepository, WorkspaceMountRepository, WorkspaceRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
1
|
+
import type { AccountInvitationRepository, AccountRepository, AccountSettingsRepository, AgentContextSnapshotRepository, AgentPromptRepository, AgentRunRepository, AgentSearchQueryRepository, AgentToolCallRepository, BinaryArtifactMetadataStore, BlockRepository, BrainstormSessionRepository, CapabilityCredentialRepository, McpOAuthGrantRepository, ClarityReviewRepository, Clock, ConsensusGroupRepository, ConsensusSessionRepository, DocInterviewRepository, EmailConnectionRepository, ExecutionRepository, GateOutcomeRepository, IncidentEnrichmentConnectionRepository, InitiativeRepository, KaizenGradingRepository, KaizenVerifiedComboRepository, LlmCallMetricRepository, MembershipRepository, MergeTrackRecordRepository, ModelPresetRepository, ObservabilityConnectionRepository, PackageRegistryConnectionRepository, AuditEventRepository, AuthAttemptRepository, MachineNodeRepository, PasswordResetTokenRepository, PipelineRepository, PipelineScheduleRepository, PlatformMetricsRepository, ProvisioningLogRepository, ReleaseHealthConfigRepository, ReportsRepository, RequirementReviewRepository, AccountRiskPolicyRepository, RiskPolicyRepository, RiskPolicySuppressionRepository, ServiceFragmentDefaultsRepository, ServiceRepository, SpendRollupRepository, SharedStackRepository, SubscriptionQuotaCycleRepository, TestSecretsRepository, TokenUsageRepository, TrackerSettingsRepository, UserRepository, TutorialProgressRepository, UserSettingsRepository, ValidationConfigRepository, TaskTypeSuppressionRepository, WorkspaceAgentSettingsRepository, WorkspaceMemberRepository, WorkspaceMountRepository, WorkspaceRepository, WorkspaceSettingsRepository } from '@cat-factory/kernel';
|
|
2
2
|
import type { DrizzleDb } from '../db/client.js';
|
|
3
3
|
export interface CoreRepositories {
|
|
4
4
|
workspaceRepository: WorkspaceRepository;
|
|
@@ -45,6 +45,8 @@ export interface CoreRepositories {
|
|
|
45
45
|
brainstormSessionRepository: BrainstormSessionRepository;
|
|
46
46
|
initiativeRepository: InitiativeRepository;
|
|
47
47
|
riskPolicyRepository: RiskPolicyRepository;
|
|
48
|
+
accountRiskPolicyRepository: AccountRiskPolicyRepository;
|
|
49
|
+
riskPolicySuppressionRepository: RiskPolicySuppressionRepository;
|
|
48
50
|
mergeTrackRecordRepository: MergeTrackRecordRepository;
|
|
49
51
|
sharedStackRepository: SharedStackRepository;
|
|
50
52
|
workspaceSettingsRepository: WorkspaceSettingsRepository;
|
|
@@ -67,6 +69,7 @@ export declare function createDrizzleRepositories(db: DrizzleDb, clock: Clock):
|
|
|
67
69
|
export { DrizzleServiceRepository, DrizzleWorkspaceMemberRepository, DrizzleWorkspaceRepository, } from './drizzle/board.js';
|
|
68
70
|
export { DrizzleAccountSettingsRepository, DrizzleLocalSettingsRepository, DrizzleWorkspaceSettingsRepository, } from './drizzle/settings.js';
|
|
69
71
|
export { DrizzleClarityReviewRepository, DrizzleDocInterviewRepository, DrizzleRequirementReviewRepository, } from './drizzle/reviews.js';
|
|
72
|
+
export { DrizzleAccountRiskPolicyRepository, DrizzleRiskPolicySuppressionRepository, } from './drizzle/account-risk-policies.js';
|
|
70
73
|
export { createDrizzleSandboxDeps } from './drizzle/sandbox.js';
|
|
71
74
|
export { DrizzleTestSecretsRepository } from './drizzle/connections.js';
|
|
72
75
|
export { DrizzleValidationConfigRepository } from './drizzle/connections.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle.d.ts","sourceRoot":"","sources":["../../src/repositories/drizzle.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,EACzB,8BAA8B,EAC9B,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,sCAAsC,EACtC,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,iCAAiC,EACjC,mCAAmC,EACnC,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,iCAAiC,EACjC,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,EAChC,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,gCAAgC,EAChC,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"drizzle.d.ts","sourceRoot":"","sources":["../../src/repositories/drizzle.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ import { DrizzleAccountSettingsRepository, DrizzleAgentPromptRepository, Drizzle
|
|
|
14
14
|
import { DrizzleBrainstormSessionRepository, DrizzleClarityReviewRepository, DrizzleConsensusGroupRepository, DrizzleConsensusSessionRepository, DrizzleDocInterviewRepository, DrizzleRequirementReviewRepository, } from './drizzle/reviews.js';
|
|
15
15
|
import { DrizzleKaizenGradingRepository, DrizzleKaizenVerifiedComboRepository, } from './drizzle/kaizen.js';
|
|
16
16
|
import { DrizzleInitiativeRepository, DrizzleRiskPolicyRepository, DrizzleSharedStackRepository, } from './drizzle/initiatives.js';
|
|
17
|
+
import { DrizzleAccountRiskPolicyRepository, DrizzleRiskPolicySuppressionRepository, } from './drizzle/account-risk-policies.js';
|
|
17
18
|
import { DrizzleMergeTrackRecordRepository } from './drizzle/mergeTrackRecord.js';
|
|
18
19
|
import { DrizzleIncidentEnrichmentConnectionRepository, DrizzleObservabilityConnectionRepository, DrizzlePackageRegistryConnectionRepository, DrizzleReleaseHealthConfigRepository, DrizzleValidationConfigRepository, DrizzleSubscriptionQuotaCycleRepository, DrizzleTestSecretsRepository, DrizzleCapabilityCredentialRepository, DrizzleMcpOAuthGrantRepository, } from './drizzle/connections.js';
|
|
19
20
|
/** Build the Drizzle/Postgres-backed core repositories. */
|
|
@@ -63,6 +64,8 @@ export function createDrizzleRepositories(db, clock) {
|
|
|
63
64
|
brainstormSessionRepository: new DrizzleBrainstormSessionRepository(db),
|
|
64
65
|
initiativeRepository: new DrizzleInitiativeRepository(db),
|
|
65
66
|
riskPolicyRepository: new DrizzleRiskPolicyRepository(db),
|
|
67
|
+
accountRiskPolicyRepository: new DrizzleAccountRiskPolicyRepository(db),
|
|
68
|
+
riskPolicySuppressionRepository: new DrizzleRiskPolicySuppressionRepository(db),
|
|
66
69
|
mergeTrackRecordRepository: new DrizzleMergeTrackRecordRepository(db),
|
|
67
70
|
sharedStackRepository: new DrizzleSharedStackRepository(db),
|
|
68
71
|
workspaceSettingsRepository: new DrizzleWorkspaceSettingsRepository(db),
|
|
@@ -85,6 +88,9 @@ export function createDrizzleRepositories(db, clock) {
|
|
|
85
88
|
export { DrizzleServiceRepository, DrizzleWorkspaceMemberRepository, DrizzleWorkspaceRepository, } from './drizzle/board.js';
|
|
86
89
|
export { DrizzleAccountSettingsRepository, DrizzleLocalSettingsRepository, DrizzleWorkspaceSettingsRepository, } from './drizzle/settings.js';
|
|
87
90
|
export { DrizzleClarityReviewRepository, DrizzleDocInterviewRepository, DrizzleRequirementReviewRepository, } from './drizzle/reviews.js';
|
|
91
|
+
// The account tier of the risk-policy library (ADR 0055) + a board's suppressions. Re-exported so
|
|
92
|
+
// the conformance harness can author an account policy against the real store.
|
|
93
|
+
export { DrizzleAccountRiskPolicyRepository, DrizzleRiskPolicySuppressionRepository, } from './drizzle/account-risk-policies.js';
|
|
88
94
|
export { createDrizzleSandboxDeps } from './drizzle/sandbox.js';
|
|
89
95
|
export { DrizzleTestSecretsRepository } from './drizzle/connections.js';
|
|
90
96
|
export { DrizzleValidationConfigRepository } from './drizzle/connections.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../../src/repositories/drizzle.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,oFAAoF;AACpF,gFAAgF;AAChF,4EAA4E;AAC5E,uEAAuE;
|
|
1
|
+
{"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../../src/repositories/drizzle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
CREATE TABLE "account_risk_policies" (
|
|
2
|
+
"account_id" text,
|
|
3
|
+
"id" text,
|
|
4
|
+
"name" text NOT NULL,
|
|
5
|
+
"max_complexity" double precision NOT NULL,
|
|
6
|
+
"max_risk" double precision NOT NULL,
|
|
7
|
+
"max_impact" double precision NOT NULL,
|
|
8
|
+
"ci_max_attempts" integer NOT NULL,
|
|
9
|
+
"max_requirement_iterations" integer DEFAULT 3 NOT NULL,
|
|
10
|
+
"max_requirement_concern_allowed" text DEFAULT 'none' NOT NULL,
|
|
11
|
+
"max_tester_quality_iterations" integer DEFAULT 3 NOT NULL,
|
|
12
|
+
"release_watch_window_minutes" integer DEFAULT 30 NOT NULL,
|
|
13
|
+
"release_max_attempts" integer DEFAULT 1 NOT NULL,
|
|
14
|
+
"human_review_grace_minutes" integer DEFAULT 10 NOT NULL,
|
|
15
|
+
"judge_min_score" double precision DEFAULT 0.7 NOT NULL,
|
|
16
|
+
"judge_max_bounces" integer DEFAULT 1 NOT NULL,
|
|
17
|
+
"auto_merge_enabled" integer DEFAULT 1 NOT NULL,
|
|
18
|
+
"fork_decision" text,
|
|
19
|
+
"class_rules" text DEFAULT '{}' NOT NULL,
|
|
20
|
+
"class_rules_by_role" text DEFAULT '{}' NOT NULL,
|
|
21
|
+
"dry_run_roles" text DEFAULT '[]' NOT NULL,
|
|
22
|
+
"submission_classes_by_role" text DEFAULT '{}' NOT NULL,
|
|
23
|
+
"version" integer,
|
|
24
|
+
"autonomy" text DEFAULT 'attended' NOT NULL,
|
|
25
|
+
"min_auto_answer_confidence" double precision DEFAULT 0.8 NOT NULL,
|
|
26
|
+
"created_at" bigint NOT NULL,
|
|
27
|
+
CONSTRAINT "account_risk_policies_pkey" PRIMARY KEY("account_id","id")
|
|
28
|
+
);
|
|
29
|
+
--> statement-breakpoint
|
|
30
|
+
CREATE TABLE "risk_policy_suppressions" (
|
|
31
|
+
"workspace_id" text,
|
|
32
|
+
"policy_id" text,
|
|
33
|
+
"created_at" bigint NOT NULL,
|
|
34
|
+
CONSTRAINT "risk_policy_suppressions_pkey" PRIMARY KEY("workspace_id","policy_id")
|
|
35
|
+
);
|