@bevel-software/platform-core-backend 0.23.0 → 0.25.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/core/create-core-server.d.ts.map +1 -1
- package/dist/core/create-core-server.js +17 -3
- package/dist/core/create-core-server.js.map +1 -1
- package/dist/core/create-core-services.d.ts +3 -0
- package/dist/core/create-core-services.d.ts.map +1 -1
- package/dist/core/create-core-services.js +25 -1
- package/dist/core/create-core-services.js.map +1 -1
- package/dist/core/lifecycle.d.ts +12 -0
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +10 -0
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core-config.d.ts +16 -0
- package/dist/core-config.d.ts.map +1 -1
- package/dist/core-config.js +17 -0
- package/dist/core-config.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/modules/access/access.routes.d.ts.map +1 -1
- package/dist/modules/access/access.routes.js +4 -1
- package/dist/modules/access/access.routes.js.map +1 -1
- package/dist/modules/access/directory-sync-bot.d.ts.map +1 -1
- package/dist/modules/access/directory-sync-bot.js +7 -3
- package/dist/modules/access/directory-sync-bot.js.map +1 -1
- package/dist/modules/agent-instructions/agent-instructions.routes.d.ts +8 -1
- package/dist/modules/agent-instructions/agent-instructions.routes.d.ts.map +1 -1
- package/dist/modules/agent-instructions/agent-instructions.routes.js +8 -2
- package/dist/modules/agent-instructions/agent-instructions.routes.js.map +1 -1
- package/dist/modules/agent-instructions/compose.d.ts +38 -6
- package/dist/modules/agent-instructions/compose.d.ts.map +1 -1
- package/dist/modules/agent-instructions/compose.js +39 -6
- package/dist/modules/agent-instructions/compose.js.map +1 -1
- package/dist/modules/agent-instructions/index.d.ts +2 -1
- package/dist/modules/agent-instructions/index.d.ts.map +1 -1
- package/dist/modules/agent-instructions/index.js +2 -1
- package/dist/modules/agent-instructions/index.js.map +1 -1
- package/dist/modules/agent-instructions/shared-file-rules.d.ts +115 -0
- package/dist/modules/agent-instructions/shared-file-rules.d.ts.map +1 -0
- package/dist/modules/agent-instructions/shared-file-rules.js +272 -0
- package/dist/modules/agent-instructions/shared-file-rules.js.map +1 -0
- package/dist/modules/audit/agent-audit.service.d.ts.map +1 -1
- package/dist/modules/audit/agent-audit.service.js +4 -2
- package/dist/modules/audit/agent-audit.service.js.map +1 -1
- package/dist/modules/auth/account-erasure.service.d.ts.map +1 -1
- package/dist/modules/auth/account-erasure.service.js +57 -16
- package/dist/modules/auth/account-erasure.service.js.map +1 -1
- package/dist/modules/auth/auth.service.d.ts.map +1 -1
- package/dist/modules/auth/auth.service.js +25 -15
- package/dist/modules/auth/auth.service.js.map +1 -1
- package/dist/modules/code-mode/code-mode.tool.d.ts +20 -2
- package/dist/modules/code-mode/code-mode.tool.d.ts.map +1 -1
- package/dist/modules/code-mode/code-mode.tool.js +66 -35
- package/dist/modules/code-mode/code-mode.tool.js.map +1 -1
- package/dist/modules/database/connection.d.ts +16 -0
- package/dist/modules/database/connection.d.ts.map +1 -1
- package/dist/modules/database/connection.js +117 -0
- package/dist/modules/database/connection.js.map +1 -1
- package/dist/modules/database/core-schema.d.ts +296 -96
- package/dist/modules/database/core-schema.d.ts.map +1 -1
- package/dist/modules/database/core-schema.js +81 -31
- package/dist/modules/database/core-schema.js.map +1 -1
- package/dist/modules/database/migrate.d.ts +95 -1
- package/dist/modules/database/migrate.d.ts.map +1 -1
- package/dist/modules/database/migrate.js +390 -2
- package/dist/modules/database/migrate.js.map +1 -1
- package/dist/modules/kb-fs/locking-filesystem.d.ts +17 -0
- package/dist/modules/kb-fs/locking-filesystem.d.ts.map +1 -1
- package/dist/modules/kb-fs/locking-filesystem.js +29 -0
- package/dist/modules/kb-fs/locking-filesystem.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +8 -0
- package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
- package/dist/modules/mcp/mcp.service.js +38 -8
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/plugins/join-request-records.store.d.ts.map +1 -1
- package/dist/modules/plugins/join-request-records.store.js +7 -4
- package/dist/modules/plugins/join-request-records.store.js.map +1 -1
- package/dist/modules/tool-auth/external-api-key.service.d.ts.map +1 -1
- package/dist/modules/tool-auth/external-api-key.service.js +8 -2
- package/dist/modules/tool-auth/external-api-key.service.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.js +30 -0
- package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.tools.js +42 -31
- package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
- package/dist/modules/tool-registry/description-length.d.ts +80 -0
- package/dist/modules/tool-registry/description-length.d.ts.map +1 -0
- package/dist/modules/tool-registry/description-length.js +108 -0
- package/dist/modules/tool-registry/description-length.js.map +1 -0
- package/dist/modules/workflow/git/git.service.d.ts +25 -0
- package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
- package/dist/modules/workflow/git/git.service.js +40 -1
- package/dist/modules/workflow/git/git.service.js.map +1 -1
- package/dist/modules/workflow/pending-commits.service.d.ts.map +1 -1
- package/dist/modules/workflow/pending-commits.service.js +5 -1
- package/dist/modules/workflow/pending-commits.service.js.map +1 -1
- package/dist/modules/workflow/recovery-bot.d.ts.map +1 -1
- package/dist/modules/workflow/recovery-bot.js +7 -3
- package/dist/modules/workflow/recovery-bot.js.map +1 -1
- package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +1 -1
- package/dist/modules/workflow/review-workflow/review-workflow.service.js +12 -3
- package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +1 -1
- package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
- package/dist/modules/workflow/workflow.service.js +4 -1
- package/dist/modules/workflow/workflow.service.js.map +1 -1
- package/dist/modules/workspace/agent-upload.routes.d.ts +77 -0
- package/dist/modules/workspace/agent-upload.routes.d.ts.map +1 -0
- package/dist/modules/workspace/agent-upload.routes.js +210 -0
- package/dist/modules/workspace/agent-upload.routes.js.map +1 -0
- package/dist/modules/workspace/agent-upload.store.d.ts +284 -0
- package/dist/modules/workspace/agent-upload.store.d.ts.map +1 -0
- package/dist/modules/workspace/agent-upload.store.js +553 -0
- package/dist/modules/workspace/agent-upload.store.js.map +1 -0
- package/dist/modules/workspace/startup/steps/seed-tree.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/seed-tree.js +3 -3
- package/dist/modules/workspace/startup/steps/seed-tree.js.map +1 -1
- package/dist/modules/workspace/startup/steps/template-source.d.ts +40 -0
- package/dist/modules/workspace/startup/steps/template-source.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/template-source.js +46 -4
- package/dist/modules/workspace/startup/steps/template-source.js.map +1 -1
- package/dist/modules/workspace/upload-limits.d.ts +13 -0
- package/dist/modules/workspace/upload-limits.d.ts.map +1 -0
- package/dist/modules/workspace/upload-limits.js +13 -0
- package/dist/modules/workspace/upload-limits.js.map +1 -0
- package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.routes.js +1 -1
- package/dist/modules/workspace/workspace.routes.js.map +1 -1
- package/dist/modules/workspace/workspace.service.d.ts +13 -0
- package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.service.js +61 -33
- package/dist/modules/workspace/workspace.service.js.map +1 -1
- package/dist/modules/workspace/workspace.tools.d.ts +11 -9
- package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.tools.js +570 -134
- package/dist/modules/workspace/workspace.tools.js.map +1 -1
- package/dist/modules/workspace/write-denial.d.ts +0 -6
- package/dist/modules/workspace/write-denial.d.ts.map +1 -1
- package/dist/modules/workspace/write-denial.js +0 -6
- package/dist/modules/workspace/write-denial.js.map +1 -1
- package/dist/modules/workspace/zip-entry-rules.d.ts +114 -0
- package/dist/modules/workspace/zip-entry-rules.d.ts.map +1 -0
- package/dist/modules/workspace/zip-entry-rules.js +154 -0
- package/dist/modules/workspace/zip-entry-rules.js.map +1 -0
- package/dist/shared/column-crypto.d.ts +194 -0
- package/dist/shared/column-crypto.d.ts.map +1 -0
- package/dist/shared/column-crypto.js +144 -0
- package/dist/shared/column-crypto.js.map +1 -0
- package/dist/shared/token-crypto.d.ts.map +1 -1
- package/dist/shared/token-crypto.js +25 -1
- package/dist/shared/token-crypto.js.map +1 -1
- package/dist/tenancy/static-tenant-source.d.ts.map +1 -1
- package/dist/tenancy/static-tenant-source.js +1 -0
- package/dist/tenancy/static-tenant-source.js.map +1 -1
- package/dist/tenancy/tenant-secrets.d.ts +5 -1
- package/dist/tenancy/tenant-secrets.d.ts.map +1 -1
- package/dist/tenancy/tenant-secrets.js +4 -0
- package/dist/tenancy/tenant-secrets.js.map +1 -1
- package/kb-template/AGENTS.md +42 -0
- package/migrations/0016_pii_encryption.sql +20 -0
- package/migrations/meta/0016_snapshot.json +2327 -0
- package/migrations/meta/_journal.json +7 -0
- package/package.json +3 -3
- package/src/core/__tests__/lifecycle.test.ts +71 -4
- package/src/core/create-core-server.ts +21 -3
- package/src/core/create-core-services.ts +27 -1
- package/src/core/lifecycle.ts +19 -0
- package/src/core-config.ts +18 -0
- package/src/index.ts +25 -0
- package/src/modules/access/__tests__/users-db-double.ts +21 -12
- package/src/modules/access/access.routes.ts +4 -1
- package/src/modules/access/directory-sync-bot.ts +7 -3
- package/src/modules/agent-instructions/__tests__/agent-instructions.route.test.ts +8 -4
- package/src/modules/agent-instructions/__tests__/compose.test.ts +19 -10
- package/src/modules/agent-instructions/__tests__/shared-file-rules.test.ts +238 -0
- package/src/modules/agent-instructions/agent-instructions.routes.ts +12 -2
- package/src/modules/agent-instructions/compose.ts +50 -7
- package/src/modules/agent-instructions/index.ts +12 -0
- package/src/modules/agent-instructions/shared-file-rules.ts +314 -0
- package/src/modules/audit/agent-audit.service.ts +4 -2
- package/src/modules/auth/__tests__/account-deactivation.test.ts +2 -1
- package/src/modules/auth/__tests__/account-erasure.approval-gate.test.ts +6 -2
- package/src/modules/auth/__tests__/account.routes.test.ts +6 -3
- package/src/modules/auth/__tests__/auth.service.test.ts +3 -1
- package/src/modules/auth/account-erasure.service.ts +69 -18
- package/src/modules/auth/auth.service.ts +33 -23
- package/src/modules/code-mode/__tests__/chain-runtime.e2e.test.ts +335 -0
- package/src/modules/code-mode/__tests__/code-mode.tool.test.ts +46 -2
- package/src/modules/code-mode/code-mode.tool.ts +80 -34
- package/src/modules/database/__tests__/connection.test.ts +12 -0
- package/src/modules/database/__tests__/pii-backfill.pg.test.ts +780 -0
- package/src/modules/database/connection.ts +117 -0
- package/src/modules/database/core-schema.ts +81 -31
- package/src/modules/database/migrate.ts +540 -2
- package/src/modules/kb-fs/__tests__/locking-filesystem.test.ts +93 -0
- package/src/modules/kb-fs/locking-filesystem.ts +37 -0
- package/src/modules/mcp/__tests__/mcp.e2e.test.ts +4 -3
- package/src/modules/mcp/__tests__/mcp.service.test.ts +47 -7
- package/src/modules/mcp/mcp.service.ts +46 -7
- package/src/modules/plugins/join-request-records.store.ts +7 -4
- package/src/modules/tool-auth/external-api-key.service.ts +8 -2
- package/src/modules/tool-manuals/__tests__/tool-manuals.service.test.ts +151 -0
- package/src/modules/tool-manuals/tool-manuals.service.ts +37 -0
- package/src/modules/tool-manuals/tool-manuals.tools.ts +44 -31
- package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +378 -0
- package/src/modules/tool-registry/description-length.ts +111 -0
- package/src/modules/workflow/git/__tests__/git.service.prFetchFailure.test.ts +170 -0
- package/src/modules/workflow/git/git.service.ts +47 -1
- package/src/modules/workflow/pending-commits.service.ts +5 -1
- package/src/modules/workflow/recovery-bot.ts +7 -3
- package/src/modules/workflow/review-workflow/__tests__/carry-approvals-forward.test.ts +4 -0
- package/src/modules/workflow/review-workflow/__tests__/erase-approver.test.ts +25 -3
- package/src/modules/workflow/review-workflow/review-workflow.service.ts +12 -3
- package/src/modules/workflow/workflow.service.ts +4 -1
- package/src/modules/workspace/__tests__/agent-uploads.test.ts +1604 -0
- package/src/modules/workspace/__tests__/escape-sequences.routes.test.ts +24 -14
- package/src/modules/workspace/__tests__/workspace.service.any-workspace-credentials.test.ts +156 -0
- package/src/modules/workspace/__tests__/workspace.service.replaced-repository.test.ts +77 -1
- package/src/modules/workspace/__tests__/workspace.service.test.ts +57 -0
- package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +39 -36
- package/src/modules/workspace/__tests__/workspace.tools.test.ts +196 -46
- package/src/modules/workspace/agent-upload.routes.ts +214 -0
- package/src/modules/workspace/agent-upload.store.ts +668 -0
- package/src/modules/workspace/startup/steps/__tests__/steps.test.ts +9 -9
- package/src/modules/workspace/startup/steps/seed-tree.ts +3 -6
- package/src/modules/workspace/startup/steps/template-source.ts +53 -5
- package/src/modules/workspace/upload-limits.ts +12 -0
- package/src/modules/workspace/workspace.routes.ts +1 -2
- package/src/modules/workspace/workspace.service.ts +63 -37
- package/src/modules/workspace/workspace.tools.ts +647 -148
- package/src/modules/workspace/write-denial.ts +0 -8
- package/src/modules/workspace/zip-entry-rules.ts +173 -0
- package/src/shared/__tests__/column-crypto.test.ts +217 -0
- package/src/shared/column-crypto.ts +218 -0
- package/src/shared/token-crypto.ts +28 -1
- package/src/tenancy/__tests__/static-tenant-source.test.ts +4 -0
- package/src/tenancy/static-tenant-source.ts +1 -0
- package/src/tenancy/tenant-secrets.ts +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-schema.d.ts","sourceRoot":"","sources":["../../../src/modules/database/core-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core-schema.d.ts","sourceRoot":"","sources":["../../../src/modules/database/core-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,31 @@
|
|
|
9
9
|
* `enterprise-schema.ts`, which imports the FK targets (`users`,
|
|
10
10
|
* `externalApiKeys`) from here. `schema.ts` re-exports both, so existing
|
|
11
11
|
* imports keep working unchanged.
|
|
12
|
+
*
|
|
13
|
+
* PII columns (emails, display names, change-request/comment text) are
|
|
14
|
+
* `encryptedText` — AES-256-GCM ciphertext in the database, transparently
|
|
15
|
+
* decrypted on read (see `shared/column-crypto.ts`). Because the ciphertext is
|
|
16
|
+
* randomized, equality lookups and unique constraints on those columns go
|
|
17
|
+
* through their deterministic `*_bidx` companions (HMAC-SHA256 blind indexes,
|
|
18
|
+
* `blindIndexText`) — never `eq()` an encrypted column directly. A `*_bidx`
|
|
19
|
+
* column is written and compared WITH THE ADDRESS ITSELF; the database handle
|
|
20
|
+
* the statement runs on turns it into the index, under that handle's key.
|
|
12
21
|
*/
|
|
13
22
|
import { sql } from 'drizzle-orm';
|
|
14
23
|
import { boolean, check, index, integer, jsonb, pgTable, primaryKey, text, timestamp, uniqueIndex, uuid } from 'drizzle-orm/pg-core';
|
|
24
|
+
import { blindIndexText, encryptedText } from '../../shared/column-crypto.js';
|
|
15
25
|
export const users = pgTable('users', {
|
|
16
26
|
id: uuid('id').defaultRandom().primaryKey(),
|
|
17
|
-
email:
|
|
18
|
-
|
|
19
|
-
|
|
27
|
+
email: encryptedText('email').notNull(),
|
|
28
|
+
/**
|
|
29
|
+
* Blind index of the lowercased email — carries the uniqueness constraint
|
|
30
|
+
* and every lookup-by-email (login, upsert conflict target), which the
|
|
31
|
+
* randomized `email` ciphertext cannot. Write the email into it on every
|
|
32
|
+
* insert, and compare it with the email.
|
|
33
|
+
*/
|
|
34
|
+
emailBidx: blindIndexText('email_bidx').notNull(),
|
|
35
|
+
name: encryptedText('name').notNull(),
|
|
36
|
+
avatarUrl: encryptedText('avatar_url'),
|
|
20
37
|
/**
|
|
21
38
|
* scrypt hash for password login (see auth/password-hash.ts). NULL for
|
|
22
39
|
* accounts that only ever signed in via SSO — password login refuses them
|
|
@@ -51,7 +68,9 @@ export const users = pgTable('users', {
|
|
|
51
68
|
deactivatedAt: timestamp('deactivated_at'),
|
|
52
69
|
createdAt: timestamp('created_at').defaultNow().notNull(),
|
|
53
70
|
updatedAt: timestamp('updated_at').defaultNow().notNull(),
|
|
54
|
-
})
|
|
71
|
+
}, (t) => ({
|
|
72
|
+
emailBidxUnq: uniqueIndex('users_email_bidx_unq').on(t.emailBidx),
|
|
73
|
+
}));
|
|
55
74
|
/**
|
|
56
75
|
* Per-file owner approvals on a PR. A PR is mergeable-in-Bevel when every
|
|
57
76
|
* touched path has a non-stale approval from its owner. Force-pushes invalidate
|
|
@@ -67,15 +86,18 @@ export const prFileApprovals = pgTable('pr_file_approvals', {
|
|
|
67
86
|
id: uuid('id').defaultRandom().primaryKey(),
|
|
68
87
|
prNumber: integer('pr_number').notNull(),
|
|
69
88
|
path: text('path').notNull(),
|
|
70
|
-
approverEmail:
|
|
71
|
-
|
|
89
|
+
approverEmail: encryptedText('approver_email').notNull(), // lowercased at insert
|
|
90
|
+
/** Blind index of `approver_email` — the uniqueness key and eq() lookup. */
|
|
91
|
+
approverEmailBidx: blindIndexText('approver_email_bidx').notNull(),
|
|
92
|
+
approverName: encryptedText('approver_name').notNull(),
|
|
72
93
|
headSha: text('head_sha').notNull(),
|
|
73
94
|
approvedAt: timestamp('approved_at').defaultNow().notNull(),
|
|
74
95
|
}, (t) => ({
|
|
75
96
|
// Idempotency: approving the same path on the same SHA twice must be a no-op,
|
|
76
|
-
// not a duplicate row. Unique on the (PR, path, approver, headSha) tuple
|
|
77
|
-
|
|
78
|
-
|
|
97
|
+
// not a duplicate row. Unique on the (PR, path, approver, headSha) tuple —
|
|
98
|
+
// via the blind index, because the encrypted email is randomized.
|
|
99
|
+
unq: uniqueIndex('pr_file_approvals_bidx_unq')
|
|
100
|
+
.on(t.prNumber, t.path, t.approverEmailBidx, t.headSha),
|
|
79
101
|
byPr: index('pr_file_approvals_by_pr').on(t.prNumber),
|
|
80
102
|
}));
|
|
81
103
|
/**
|
|
@@ -88,12 +110,15 @@ export const prFileApprovals = pgTable('pr_file_approvals', {
|
|
|
88
110
|
export const prMergeLog = pgTable('pr_merge_log', {
|
|
89
111
|
id: uuid('id').defaultRandom().primaryKey(),
|
|
90
112
|
prNumber: integer('pr_number').notNull(),
|
|
91
|
-
triggeredByEmail:
|
|
92
|
-
|
|
113
|
+
triggeredByEmail: encryptedText('triggered_by_email').notNull(),
|
|
114
|
+
/** Blind index of `triggered_by_email` — GDPR-erasure lookup. */
|
|
115
|
+
triggeredByEmailBidx: blindIndexText('triggered_by_email_bidx').notNull(),
|
|
116
|
+
triggeredByName: encryptedText('triggered_by_name').notNull(),
|
|
93
117
|
headShaAtMerge: text('head_sha_at_merge').notNull(),
|
|
94
118
|
mergeMethod: text('merge_method').notNull(),
|
|
95
119
|
succeeded: boolean('succeeded').notNull(),
|
|
96
|
-
|
|
120
|
+
// Encrypted: merge failure output can quote author identities and CR text.
|
|
121
|
+
error: encryptedText('error'),
|
|
97
122
|
startedAt: timestamp('started_at').defaultNow().notNull(),
|
|
98
123
|
completedAt: timestamp('completed_at'),
|
|
99
124
|
}, (t) => ({
|
|
@@ -116,12 +141,15 @@ export const prMergeLog = pgTable('pr_merge_log', {
|
|
|
116
141
|
export const prComments = pgTable('pr_comments', {
|
|
117
142
|
id: uuid('id').defaultRandom().primaryKey(),
|
|
118
143
|
prNumber: integer('pr_number').notNull(),
|
|
119
|
-
authorEmail:
|
|
120
|
-
|
|
144
|
+
authorEmail: encryptedText('author_email').notNull(),
|
|
145
|
+
/** Blind index of `author_email` — GDPR-erasure lookup. */
|
|
146
|
+
authorEmailBidx: blindIndexText('author_email_bidx').notNull(),
|
|
147
|
+
authorName: encryptedText('author_name').notNull(),
|
|
121
148
|
path: text('path'),
|
|
122
149
|
line: integer('line'),
|
|
123
150
|
headSha: text('head_sha').notNull(),
|
|
124
|
-
|
|
151
|
+
// Encrypted: review conversation exists only in this DB (never on GitHub).
|
|
152
|
+
body: encryptedText('body').notNull(),
|
|
125
153
|
parentId: uuid('parent_id'),
|
|
126
154
|
createdAt: timestamp('created_at').defaultNow().notNull(),
|
|
127
155
|
updatedAt: timestamp('updated_at'),
|
|
@@ -149,20 +177,36 @@ export const changeRequests = pgTable('change_requests', {
|
|
|
149
177
|
number: integer('number').generatedAlwaysAsIdentity(),
|
|
150
178
|
sourceBranch: text('source_branch').notNull(),
|
|
151
179
|
targetBranch: text('target_branch').notNull(),
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
180
|
+
// Encrypted: CR title/body exist only in this DB (the remote sees branches).
|
|
181
|
+
// The DB-level default '' bypasses toDriver, which is fine: the empty string
|
|
182
|
+
// is deliberately stored unencrypted (see encryptPii), so a defaulted row
|
|
183
|
+
// and an app-written empty body hold the identical representation.
|
|
184
|
+
title: encryptedText('title').notNull(),
|
|
185
|
+
body: encryptedText('body').notNull().default(''),
|
|
186
|
+
authorEmail: encryptedText('author_email').notNull(), // lowercased at insert
|
|
187
|
+
/** Blind index of `author_email` — GDPR-erasure lookup. */
|
|
188
|
+
authorEmailBidx: blindIndexText('author_email_bidx').notNull(),
|
|
189
|
+
authorName: encryptedText('author_name').notNull(),
|
|
156
190
|
state: text('state').notNull().default('open'), // 'open' | 'merged' | 'closed'
|
|
157
191
|
mergedSha: text('merged_sha'),
|
|
158
192
|
// The last apply attempt that did not land (null when none, or once a gate
|
|
159
193
|
// input it depended on changed). Persisted rather than only pushed to the
|
|
160
194
|
// clicker so every viewer of the still-open request — its author first —
|
|
161
195
|
// sees the refusal.
|
|
162
|
-
|
|
196
|
+
// Encrypted: the reason can quote identities the way the merge log's error
|
|
197
|
+
// does, and the name is a person's.
|
|
198
|
+
applyFailureReason: encryptedText('apply_failure_reason'),
|
|
163
199
|
applyFailureConflicts: boolean('apply_failure_conflicts'),
|
|
164
200
|
applyFailedAt: timestamp('apply_failed_at'),
|
|
165
|
-
applyFailedByName:
|
|
201
|
+
applyFailedByName: encryptedText('apply_failed_by_name'),
|
|
202
|
+
/**
|
|
203
|
+
* Blind index of the email of the person named above — what account erasure
|
|
204
|
+
* finds their name by. Written and cleared with the name, so a name never
|
|
205
|
+
* stands without it: a refusal recorded before the encryption release kept
|
|
206
|
+
* no address, and its name is taken off at the first start on this release
|
|
207
|
+
* (`clearUnindexedRefusalNames` in `migrate.ts`).
|
|
208
|
+
*/
|
|
209
|
+
applyFailedByEmailBidx: blindIndexText('apply_failed_by_email_bidx'),
|
|
166
210
|
/** What refused the last apply: 'gate' (approvals), 'conflicts' (git), 'error' (anything else). */
|
|
167
211
|
applyFailureKind: text('apply_failure_kind'),
|
|
168
212
|
createdAt: timestamp('created_at').defaultNow().notNull(),
|
|
@@ -260,7 +304,7 @@ export const fileLocks = pgTable('file_locks', {
|
|
|
260
304
|
branch: text('branch').notNull(),
|
|
261
305
|
path: text('path').notNull(),
|
|
262
306
|
holderUserId: uuid('holder_user_id').notNull().references(() => users.id),
|
|
263
|
-
holderName:
|
|
307
|
+
holderName: encryptedText('holder_name').notNull(),
|
|
264
308
|
// How the lock was acquired. 'edit' (the default) is a normal write hold —
|
|
265
309
|
// the holder is editing and the release publishes their bytes.
|
|
266
310
|
// 'coordination' is a pure-mutex hold (see IWorkflowService.acquireLock)
|
|
@@ -320,8 +364,10 @@ export const pendingCommits = pgTable('pending_commits', {
|
|
|
320
364
|
// Author attribution captured at enqueue. The denormalised name/email pair
|
|
321
365
|
// lands on the eventual `git commit --author=` so the commit history shows
|
|
322
366
|
// the human who triggered the save, not the worker.
|
|
323
|
-
authorEmail:
|
|
324
|
-
|
|
367
|
+
authorEmail: encryptedText('author_email').notNull(), // lowercased at insert
|
|
368
|
+
/** Blind index of `author_email` — GDPR-erasure lookup. */
|
|
369
|
+
authorEmailBidx: blindIndexText('author_email_bidx').notNull(),
|
|
370
|
+
authorName: encryptedText('author_name').notNull(),
|
|
325
371
|
queuedAt: timestamp('queued_at').defaultNow().notNull(),
|
|
326
372
|
// `running` is set while the worker is mid-commit so a second worker
|
|
327
373
|
// (e.g. after a restart with another instance still draining) doesn't
|
|
@@ -334,7 +380,8 @@ export const pendingCommits = pgTable('pending_commits', {
|
|
|
334
380
|
// `needs_attention` + feedback notice instead of looping forever.
|
|
335
381
|
recoveryAgentRuns: integer('recovery_agent_runs').notNull().default(0),
|
|
336
382
|
lastAttemptedAt: timestamp('last_attempted_at'),
|
|
337
|
-
|
|
383
|
+
// Encrypted: git/agent failure output can quote author identities and paths.
|
|
384
|
+
lastError: encryptedText('last_error'),
|
|
338
385
|
}, (t) => ({
|
|
339
386
|
// Primary read pattern: drain in queued order, scoped to a workspace.
|
|
340
387
|
byWorkspaceQueued: index('pending_commits_by_workspace_queued').on(t.workspaceId, t.queuedAt),
|
|
@@ -690,13 +737,15 @@ export const githubFacadeCodes = pgTable('github_facade_codes', {
|
|
|
690
737
|
*/
|
|
691
738
|
export const pluginJoinRequests = pgTable('plugin_join_requests', {
|
|
692
739
|
id: uuid('id').defaultRandom().primaryKey(),
|
|
693
|
-
requesterEmail:
|
|
740
|
+
requesterEmail: encryptedText('requester_email').notNull(), // lowercased at insert
|
|
741
|
+
/** Blind index of `requester_email` — the uniqueness key, the by-requester read and the erasure delete. */
|
|
742
|
+
requesterEmailBidx: blindIndexText('requester_email_bidx').notNull(),
|
|
694
743
|
/** Denormalised for the commit/change-request authorship, like `file_locks.holder_name`. */
|
|
695
|
-
requesterName:
|
|
744
|
+
requesterName: encryptedText('requester_name').notNull(),
|
|
696
745
|
pluginKey: text('plugin_key').notNull(),
|
|
697
746
|
status: text('status').notNull().default('pending'),
|
|
698
|
-
/** What the git work said when it refused — shown to the requester verbatim. */
|
|
699
|
-
failureReason:
|
|
747
|
+
/** What the git work said when it refused — shown to the requester verbatim. Encrypted: git quotes identities. */
|
|
748
|
+
failureReason: encryptedText('failure_reason'),
|
|
700
749
|
changeRequestNumber: integer('change_request_number'),
|
|
701
750
|
/**
|
|
702
751
|
* When a process took this row's git work, and the whole of the mutual
|
|
@@ -742,8 +791,9 @@ export const pluginJoinRequests = pgTable('plugin_join_requests', {
|
|
|
742
791
|
}, (t) => ({
|
|
743
792
|
// One request per person per plugin — the DB's rule, not a caller's. Also
|
|
744
793
|
// the index the plugin listing's by-requester read is served from.
|
|
745
|
-
|
|
746
|
-
|
|
794
|
+
// Via the blind index, because the encrypted email is randomized.
|
|
795
|
+
requesterPluginUnq: uniqueIndex('plugin_join_requests_requester_bidx_plugin_unq')
|
|
796
|
+
.on(t.requesterEmailBidx, t.pluginKey),
|
|
747
797
|
// The boot sweep: every row still `pending`, without a full scan.
|
|
748
798
|
byStatus: index('plugin_join_requests_by_status').on(t.status),
|
|
749
799
|
statusCheck: check('plugin_join_requests_status', sql `${t.status} IN ('pending', 'opened', 'failed')`),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-schema.js","sourceRoot":"","sources":["../../../src/modules/database/core-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-schema.js","sourceRoot":"","sources":["../../../src/modules/database/core-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,100 @@ export declare function runCoreMigrations(db: Database, folder: string): Promise
|
|
|
5
5
|
* Apply the ENTERPRISE migration history from `folder`, tracked in
|
|
6
6
|
* `__drizzle_migrations_enterprise`. Run AFTER {@link runCoreMigrations} —
|
|
7
7
|
* enterprise tables FK into core tables.
|
|
8
|
+
*
|
|
9
|
+
* `piiBackfill` is the overlay's own personal data, for the overlay that has
|
|
10
|
+
* sealed columns of its own (`encryptedText` / `blindIndexText` in its
|
|
11
|
+
* schema): the rows written before those columns were sealed are sealed here,
|
|
12
|
+
* right after the history that adds the index columns and under the same
|
|
13
|
+
* lock, exactly as {@link runCoreMigrations} does for core's tables. See
|
|
14
|
+
* {@link runPiiBackfill}.
|
|
8
15
|
*/
|
|
9
|
-
export declare function runEnterpriseMigrations(db: Database, folder: string
|
|
16
|
+
export declare function runEnterpriseMigrations(db: Database, folder: string, opts?: {
|
|
17
|
+
piiBackfill?: PiiBackfillSpec;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
/** A blind-index column and the sealed column whose plaintext it is the index of. */
|
|
20
|
+
export interface PiiBlindIndex {
|
|
21
|
+
/** One of the table's `encrypted` columns. */
|
|
22
|
+
source: string;
|
|
23
|
+
column: string;
|
|
24
|
+
}
|
|
25
|
+
/** One table of personal data, as the backfill works on it: the columns `encryptedText` and `blindIndexText` are declared on. */
|
|
26
|
+
export interface PiiBackfillTable {
|
|
27
|
+
table: string;
|
|
28
|
+
/** Columns that uniquely identify a row for the write-back UPDATE. */
|
|
29
|
+
key: string[];
|
|
30
|
+
/** Columns whose plaintext values get rewritten as ciphertext. */
|
|
31
|
+
encrypted: string[];
|
|
32
|
+
/** Blind-index column(s) to fill, each from the plaintext of its `source`. */
|
|
33
|
+
bidx?: PiiBlindIndex | PiiBlindIndex[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Whose rows a backfill seals, and what closes it. Core's own tables are one
|
|
37
|
+
* such spec ({@link runPiiEncryptionBackfill}); an overlay that seals columns
|
|
38
|
+
* of its own schema writes another and hands it to
|
|
39
|
+
* {@link runEnterpriseMigrations} (or to {@link runPiiBackfill}, for a
|
|
40
|
+
* database it migrates under a lock of its own).
|
|
41
|
+
*/
|
|
42
|
+
export interface PiiBackfillSpec {
|
|
43
|
+
/** Whose tables these are, for the log and the refusals: `core`, `enterprise`, … */
|
|
44
|
+
name: string;
|
|
45
|
+
tables: PiiBackfillTable[];
|
|
46
|
+
/**
|
|
47
|
+
* A blind-index column of one of `tables` that the SQL history adds
|
|
48
|
+
* NULLABLE and `finalize` makes NOT NULL. Its nullability is how a start
|
|
49
|
+
* knows whether this backfill has ever committed here: the sealing, the
|
|
50
|
+
* indexing and `finalize` are one transaction, so nullable means nothing is
|
|
51
|
+
* sealed yet, whatever a value looks like (see `needsSealing`), and NOT
|
|
52
|
+
* NULL means everything is. A spec whose `finalize` leaves it nullable is
|
|
53
|
+
* refused: every later start would take sealed rows for plaintext and seal
|
|
54
|
+
* them again.
|
|
55
|
+
*/
|
|
56
|
+
marker: {
|
|
57
|
+
table: string;
|
|
58
|
+
column: string;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Runs in the same transaction once every row is sealed and indexed, before
|
|
62
|
+
* `finalize`: what has to happen before the constraints can go up (core
|
|
63
|
+
* collapses rows that collide under the normalised index). `first` is true
|
|
64
|
+
* on the first backfill of this database.
|
|
65
|
+
*/
|
|
66
|
+
afterSealing?: (tx: PiiBackfillExecutor, run: {
|
|
67
|
+
first: boolean;
|
|
68
|
+
}) => Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Statements applied last, on every start, in order: `SET NOT NULL` on the
|
|
71
|
+
* index columns, the unique indexes that move onto them. Each must be safe
|
|
72
|
+
* to run again (`IF EXISTS` / `IF NOT EXISTS`; `SET NOT NULL` is).
|
|
73
|
+
*/
|
|
74
|
+
finalize: string[];
|
|
75
|
+
/** What the key is called where the operator sets it, for the refusals. Default: `SECRETS_ENC_KEY`, with its tenant note. */
|
|
76
|
+
keyName?: string;
|
|
77
|
+
}
|
|
78
|
+
/** What the backfill needs from a drizzle client — the db or a transaction. */
|
|
79
|
+
export type PiiBackfillExecutor = Pick<Database, 'execute'>;
|
|
80
|
+
/**
|
|
81
|
+
* Encrypt pre-existing plaintext PII rows, fill the blind-index columns, and
|
|
82
|
+
* apply the constraints migration 0016 deferred. Idempotent; `runCoreMigrations`
|
|
83
|
+
* runs it under the migrations lock right after the history. The handle must
|
|
84
|
+
* hold the knowledge base's key (`createDb(url, { piiKey })`; the composition
|
|
85
|
+
* root's does): one that holds none is refused before anything is read.
|
|
86
|
+
*/
|
|
87
|
+
export declare function runPiiEncryptionBackfill(db: Database): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Seal the rows `spec` names that were written before their columns were
|
|
90
|
+
* sealed, fill their blind indexes, and apply `spec.finalize` — the DATA half
|
|
91
|
+
* of a migration that adds `encryptedText` / `blindIndexText` columns, which
|
|
92
|
+
* SQL cannot do because it holds no key. ONE implementation for every schema
|
|
93
|
+
* on a handle: core's own tables ({@link runPiiEncryptionBackfill}) and an
|
|
94
|
+
* overlay's, so the rules above (one transaction, a first run that trusts no
|
|
95
|
+
* shape, a key that must open what is sealed, columns read as stored, writes
|
|
96
|
+
* that pin what they read) are not rewritten per schema and cannot drift.
|
|
97
|
+
*
|
|
98
|
+
* Idempotent, and to be run on every start under the lock that guards the
|
|
99
|
+
* schema's history: {@link runEnterpriseMigrations} does that for an overlay
|
|
100
|
+
* that passes its spec. The handle must hold the key the rows are sealed
|
|
101
|
+
* with; one that holds none is refused before anything is read.
|
|
102
|
+
*/
|
|
103
|
+
export declare function runPiiBackfill(db: Database, spec: PiiBackfillSpec): Promise<void>;
|
|
10
104
|
//# sourceMappingURL=migrate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/modules/database/migrate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/modules/database/migrate.ts"],"names":[],"mappings":"AAKA,OAAO,EAA4C,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AA0D1F,8FAA8F;AAC9F,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAenF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAO,GAC3C,OAAO,CAAC,IAAI,CAAC,CAiBf;AA+CD,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iIAAiI;AACjI,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,kEAAkE;IAClE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;CACxC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B;;;;;;;;;OASG;IACH,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,GAAG,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF;;;;OAIG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6HAA6H;IAC7H,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAeD,+EAA+E;AAC/E,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAsU5D;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BvF"}
|