@cat-factory/kernel 0.119.0 → 0.121.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/domain/workspace-cascade.d.ts +30 -0
- package/dist/domain/workspace-cascade.d.ts.map +1 -0
- package/dist/domain/workspace-cascade.js +102 -0
- package/dist/domain/workspace-cascade.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ports/binary-artifacts.d.ts +28 -0
- package/dist/ports/binary-artifacts.d.ts.map +1 -1
- package/dist/ports/binary-artifacts.js +47 -32
- package/dist/ports/binary-artifacts.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every workspace-scoped table cleared by a plain `DELETE ... WHERE workspace_id = ?`
|
|
3
|
+
* on board deletion. Drives BOTH facades' cascade so they can't drift.
|
|
4
|
+
*
|
|
5
|
+
* Deliberately EXCLUDED (handled specially, NOT by this list):
|
|
6
|
+
* - `workspaces` — the root row, deleted LAST after everything it owns.
|
|
7
|
+
* - `workspace_services` — the board↔service mount join, reclaimed by the bespoke
|
|
8
|
+
* two-variant handling (every board's mount of a service this board homes, plus
|
|
9
|
+
* this board's own mounts of services homed elsewhere).
|
|
10
|
+
* - `services` — account-scoped (no `workspace_id`; keyed by frame block), re-homed
|
|
11
|
+
* or reclaimed by the bespoke shared-service handling that must precede `blocks`.
|
|
12
|
+
* - `binary_artifacts` — its rows are only half the story: the backing blob BYTES
|
|
13
|
+
* (R2 / S3 / filesystem) must be deleted through the `BinaryBlobBackend` port at
|
|
14
|
+
* the service layer, not by bare SQL. Deleting the metadata row here would strand
|
|
15
|
+
* the bytes forever (the row is the only handle on the blob key). Reclaimed instead
|
|
16
|
+
* by `WorkspaceService.delete`, which purges rows + bytes together through the
|
|
17
|
+
* `BinaryArtifactStore.deleteByWorkspace` port BEFORE this cascade runs.
|
|
18
|
+
* - Runtime-specific tables that only exist on one facade (e.g. the Cloudflare-only
|
|
19
|
+
* `live_containers` Durable-Object tracking table) are appended by that facade.
|
|
20
|
+
*/
|
|
21
|
+
export declare const WORKSPACE_SCOPED_TABLES: readonly ['agent_runs', 'blocks', 'brainstorm_sessions', 'clarity_reviews', 'consensus_sessions', 'custom_manifest_types', 'doc_interview_sessions', 'document_connections', 'documents', 'environment_connections', 'environment_user_handlers', 'environments', 'github_branches', 'github_check_runs', 'github_commits', 'github_installations', 'github_issues', 'github_pull_requests', 'github_repos', 'incident_enrichment_connections', 'initiatives', 'kaizen_gradings', 'kaizen_verified_combos', 'merge_threshold_presets', 'model_presets', 'notifications', 'observability_connections', 'package_registry_connections', 'pipeline_schedule_runs', 'pipeline_schedules', 'pipelines', 'provider_model_catalog', 'provider_subscription_tokens', 'public_api_keys', 'reference_architectures', 'release_health_configs', 'requirement_reviews', 'runner_pool_connections', 'shared_stacks', 'slack_settings', 'task_connections', 'task_source_settings', 'tasks', 'test_secrets', 'token_usage', 'tracker_settings', 'workspace_fragment_defaults', 'workspace_settings'];
|
|
22
|
+
export type WorkspaceScopedTable = (typeof WORKSPACE_SCOPED_TABLES)[number];
|
|
23
|
+
/**
|
|
24
|
+
* Tables that carry a `workspace_id` column but are NOT in {@link WORKSPACE_SCOPED_TABLES}
|
|
25
|
+
* because they are reclaimed by bespoke handling (or deferred to the blob purge). The
|
|
26
|
+
* cascade-completeness test uses this to distinguish "deliberately special" from "silently
|
|
27
|
+
* forgotten": a new `workspace_id` table must be added to the list above or acknowledged here.
|
|
28
|
+
*/
|
|
29
|
+
export declare const WORKSPACE_CASCADE_SPECIAL_TABLES: readonly ['workspace_services', 'binary_artifacts'];
|
|
30
|
+
//# sourceMappingURL=workspace-cascade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-cascade.d.ts","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,YAClC,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,iCAAiC,EACjC,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,6BAA6B,EAC7B,oBAAoB,CACZ,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,YAAI,oBAAoB,EAAE,kBAAkB,CAAU,CAAA"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Workspace-delete cascade: the single source of truth for every table that is
|
|
3
|
+
// reclaimed by a plain `DELETE ... WHERE workspace_id = ?` when a board is
|
|
4
|
+
// deleted. Both runtime facades' `WorkspaceRepository.delete` drive their cascade
|
|
5
|
+
// from THIS list (D1 builds `DELETE FROM <t> WHERE workspace_id = ?` strings; the
|
|
6
|
+
// Drizzle facade issues the same statement per table), so a new workspace-scoped
|
|
7
|
+
// table cannot silently miss the cascade and orphan forever — a completeness test
|
|
8
|
+
// asserts every table with a `workspace_id` column is either listed here or is one
|
|
9
|
+
// of the deliberately-special cases below.
|
|
10
|
+
//
|
|
11
|
+
// Historically the cascade cleared only 7 tables (blocks/pipelines/agent_runs/…),
|
|
12
|
+
// leaving every other workspace-scoped table (notifications, requirement_reviews,
|
|
13
|
+
// the review/session/settings/connection tables, …) orphaned permanently on a
|
|
14
|
+
// board delete. Listing them here fixes that with one authoritative list.
|
|
15
|
+
//
|
|
16
|
+
// NOTE ON FK ORDER: the schema declares essentially no foreign keys between
|
|
17
|
+
// workspace-scoped tables (Postgres has only a handful of `users` FKs, D1 does not
|
|
18
|
+
// enforce FKs at all), so these deletes have no ordering constraints among
|
|
19
|
+
// themselves and may run in any order. The ONE ordering constraint the cascade
|
|
20
|
+
// still honours lives OUTSIDE this list: the account-owned `services` rows (and the
|
|
21
|
+
// board mounts of them) must be reclaimed BEFORE `blocks` is emptied, because that
|
|
22
|
+
// reclaim reads `blocks` (a service is found via its `frame_block_id`). The facade
|
|
23
|
+
// runs the bespoke service/mount handling first, then this list, then `workspaces`.
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
/**
|
|
26
|
+
* Every workspace-scoped table cleared by a plain `DELETE ... WHERE workspace_id = ?`
|
|
27
|
+
* on board deletion. Drives BOTH facades' cascade so they can't drift.
|
|
28
|
+
*
|
|
29
|
+
* Deliberately EXCLUDED (handled specially, NOT by this list):
|
|
30
|
+
* - `workspaces` — the root row, deleted LAST after everything it owns.
|
|
31
|
+
* - `workspace_services` — the board↔service mount join, reclaimed by the bespoke
|
|
32
|
+
* two-variant handling (every board's mount of a service this board homes, plus
|
|
33
|
+
* this board's own mounts of services homed elsewhere).
|
|
34
|
+
* - `services` — account-scoped (no `workspace_id`; keyed by frame block), re-homed
|
|
35
|
+
* or reclaimed by the bespoke shared-service handling that must precede `blocks`.
|
|
36
|
+
* - `binary_artifacts` — its rows are only half the story: the backing blob BYTES
|
|
37
|
+
* (R2 / S3 / filesystem) must be deleted through the `BinaryBlobBackend` port at
|
|
38
|
+
* the service layer, not by bare SQL. Deleting the metadata row here would strand
|
|
39
|
+
* the bytes forever (the row is the only handle on the blob key). Reclaimed instead
|
|
40
|
+
* by `WorkspaceService.delete`, which purges rows + bytes together through the
|
|
41
|
+
* `BinaryArtifactStore.deleteByWorkspace` port BEFORE this cascade runs.
|
|
42
|
+
* - Runtime-specific tables that only exist on one facade (e.g. the Cloudflare-only
|
|
43
|
+
* `live_containers` Durable-Object tracking table) are appended by that facade.
|
|
44
|
+
*/
|
|
45
|
+
export const WORKSPACE_SCOPED_TABLES = [
|
|
46
|
+
'agent_runs',
|
|
47
|
+
'blocks',
|
|
48
|
+
'brainstorm_sessions',
|
|
49
|
+
'clarity_reviews',
|
|
50
|
+
'consensus_sessions',
|
|
51
|
+
'custom_manifest_types',
|
|
52
|
+
'doc_interview_sessions',
|
|
53
|
+
'document_connections',
|
|
54
|
+
'documents',
|
|
55
|
+
'environment_connections',
|
|
56
|
+
'environment_user_handlers',
|
|
57
|
+
'environments',
|
|
58
|
+
'github_branches',
|
|
59
|
+
'github_check_runs',
|
|
60
|
+
'github_commits',
|
|
61
|
+
'github_installations',
|
|
62
|
+
'github_issues',
|
|
63
|
+
'github_pull_requests',
|
|
64
|
+
'github_repos',
|
|
65
|
+
'incident_enrichment_connections',
|
|
66
|
+
'initiatives',
|
|
67
|
+
'kaizen_gradings',
|
|
68
|
+
'kaizen_verified_combos',
|
|
69
|
+
'merge_threshold_presets',
|
|
70
|
+
'model_presets',
|
|
71
|
+
'notifications',
|
|
72
|
+
'observability_connections',
|
|
73
|
+
'package_registry_connections',
|
|
74
|
+
'pipeline_schedule_runs',
|
|
75
|
+
'pipeline_schedules',
|
|
76
|
+
'pipelines',
|
|
77
|
+
'provider_model_catalog',
|
|
78
|
+
'provider_subscription_tokens',
|
|
79
|
+
'public_api_keys',
|
|
80
|
+
'reference_architectures',
|
|
81
|
+
'release_health_configs',
|
|
82
|
+
'requirement_reviews',
|
|
83
|
+
'runner_pool_connections',
|
|
84
|
+
'shared_stacks',
|
|
85
|
+
'slack_settings',
|
|
86
|
+
'task_connections',
|
|
87
|
+
'task_source_settings',
|
|
88
|
+
'tasks',
|
|
89
|
+
'test_secrets',
|
|
90
|
+
'token_usage',
|
|
91
|
+
'tracker_settings',
|
|
92
|
+
'workspace_fragment_defaults',
|
|
93
|
+
'workspace_settings',
|
|
94
|
+
];
|
|
95
|
+
/**
|
|
96
|
+
* Tables that carry a `workspace_id` column but are NOT in {@link WORKSPACE_SCOPED_TABLES}
|
|
97
|
+
* because they are reclaimed by bespoke handling (or deferred to the blob purge). The
|
|
98
|
+
* cascade-completeness test uses this to distinguish "deliberately special" from "silently
|
|
99
|
+
* forgotten": a new `workspace_id` table must be added to the list above or acknowledged here.
|
|
100
|
+
*/
|
|
101
|
+
export const WORKSPACE_CASCADE_SPECIAL_TABLES = ['workspace_services', 'binary_artifacts'];
|
|
102
|
+
//# sourceMappingURL=workspace-cascade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-cascade.js","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,kFAAkF;AAClF,mFAAmF;AACnF,2CAA2C;AAC3C,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,8EAA8E;AAC9E,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,mFAAmF;AACnF,2EAA2E;AAC3E,+EAA+E;AAC/E,oFAAoF;AACpF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY;IACZ,QAAQ;IACR,qBAAqB;IACrB,iBAAiB;IACjB,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,WAAW;IACX,yBAAyB;IACzB,2BAA2B;IAC3B,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,sBAAsB;IACtB,cAAc;IACd,iCAAiC;IACjC,aAAa;IACb,iBAAiB;IACjB,wBAAwB;IACxB,yBAAyB;IACzB,eAAe;IACf,eAAe;IACf,2BAA2B;IAC3B,8BAA8B;IAC9B,wBAAwB;IACxB,oBAAoB;IACpB,WAAW;IACX,wBAAwB;IACxB,8BAA8B;IAC9B,iBAAiB;IACjB,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,OAAO;IACP,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,6BAA6B;IAC7B,oBAAoB;CACZ,CAAA;AAIV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAU,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,5 +31,6 @@ export { isPrivateV4, decimalV4, mappedV4, decodeIpv4, isCloudMetadataHost, isBl
|
|
|
31
31
|
export { redactSecrets } from './shared/redact-secrets.logic.js';
|
|
32
32
|
export { type RepoScanEntry, type CheckoutFreeRepoReader, joinRepoPath, BudgetedRepoScanner, } from './shared/repo-scan.logic.js';
|
|
33
33
|
export { requireWorkspace } from './workspace-guard.js';
|
|
34
|
+
export { WORKSPACE_SCOPED_TABLES, WORKSPACE_CASCADE_SPECIAL_TABLES, type WorkspaceScopedTable, } from './domain/workspace-cascade.js';
|
|
34
35
|
export { type TaskContextView, renderTaskContext } from './shared/tasks-prompt.logic.js';
|
|
35
36
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -59,5 +59,6 @@ export { isPrivateV4, decimalV4, mappedV4, decodeIpv4, isCloudMetadataHost, isBl
|
|
|
59
59
|
export { redactSecrets } from './shared/redact-secrets.logic.js';
|
|
60
60
|
export { joinRepoPath, BudgetedRepoScanner, } from './shared/repo-scan.logic.js';
|
|
61
61
|
export { requireWorkspace } from './workspace-guard.js';
|
|
62
|
+
export { WORKSPACE_SCOPED_TABLES, WORKSPACE_CASCADE_SPECIAL_TABLES, } from './domain/workspace-cascade.js';
|
|
62
63
|
export { renderTaskContext } from './shared/tasks-prompt.logic.js';
|
|
63
64
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,21 @@ export interface BinaryArtifactStore {
|
|
|
65
65
|
* Drives the configurable per-workspace retention cleanup (default 14 days).
|
|
66
66
|
*/
|
|
67
67
|
pruneOlderThan(workspaceId: string, olderThan: number): Promise<number>;
|
|
68
|
+
/**
|
|
69
|
+
* Board-delete reclaim: delete EVERY artifact in the workspace — BOTH the metadata rows
|
|
70
|
+
* AND their bytes — and return how many were removed. Called from the workspace-delete
|
|
71
|
+
* path (the retention sweeps only ever see LIVE workspaces via `listVisible`, so a deleted
|
|
72
|
+
* workspace's artifacts would otherwise leak the heavy blob bytes forever). Same fail-safe
|
|
73
|
+
* blobs-first ordering as {@link pruneOlderThan}: a blob whose delete throws keeps its
|
|
74
|
+
* metadata row (the only handle on the key) rather than orphaning the bytes.
|
|
75
|
+
*
|
|
76
|
+
* NOTE the asymmetry with {@link pruneOlderThan}'s retry story: the retention sweep revisits
|
|
77
|
+
* a LIVE workspace hourly, so a row it retains is genuinely retried; but a DELETED workspace
|
|
78
|
+
* never reappears in `listVisible`, so a row retained here is NOT auto-retried — it needs an
|
|
79
|
+
* out-of-band reclaim. The composed store therefore logs (via its injected logger) whenever a
|
|
80
|
+
* blob delete fails so the residual leak is surfaced rather than silent.
|
|
81
|
+
*/
|
|
82
|
+
deleteByWorkspace(workspaceId: string): Promise<number>;
|
|
68
83
|
}
|
|
69
84
|
/** Per-runtime metadata persistence (D1 ⇄ Drizzle). Bytes live elsewhere. */
|
|
70
85
|
export interface BinaryArtifactMetadataStore {
|
|
@@ -79,6 +94,10 @@ export interface BinaryArtifactMetadataStore {
|
|
|
79
94
|
listOlderThan(workspaceId: string, olderThan: number): Promise<BinaryArtifactRecord[]>;
|
|
80
95
|
/** Delete metadata rows in the workspace created before `olderThan`; returns the count. */
|
|
81
96
|
deleteOlderThan(workspaceId: string, olderThan: number): Promise<number>;
|
|
97
|
+
/** Every record in the workspace — for the workspace-delete purge. */
|
|
98
|
+
listByWorkspace(workspaceId: string): Promise<BinaryArtifactRecord[]>;
|
|
99
|
+
/** Delete every metadata row in the workspace; returns the count. */
|
|
100
|
+
deleteByWorkspace(workspaceId: string): Promise<number>;
|
|
82
101
|
}
|
|
83
102
|
/**
|
|
84
103
|
* The pluggable blob backend — the "custom adapter interface". Implement this to
|
|
@@ -115,5 +134,14 @@ export declare function createBinaryArtifactStore(deps: {
|
|
|
115
134
|
blob: BinaryBlobBackend;
|
|
116
135
|
idGenerator: IdGenerator;
|
|
117
136
|
clock: Clock;
|
|
137
|
+
/**
|
|
138
|
+
* Optional structural logger for best-effort diagnostics. Used only to SURFACE a partial
|
|
139
|
+
* reclaim (one or more blob deletes failed, so their metadata rows are retained) — otherwise
|
|
140
|
+
* that residual leak would be silent. See {@link BinaryArtifactStore.deleteByWorkspace} for
|
|
141
|
+
* why the workspace-delete path in particular has no auto-retry to fall back on.
|
|
142
|
+
*/
|
|
143
|
+
logger?: {
|
|
144
|
+
warn(obj: Record<string, unknown>, msg?: string): void;
|
|
145
|
+
};
|
|
118
146
|
}): BinaryArtifactStore;
|
|
119
147
|
//# sourceMappingURL=binary-artifacts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-artifacts.d.ts","sourceRoot":"","sources":["../../src/ports/binary-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAuBtD,iFAAiF;AACjF,MAAM,MAAM,yBAAyB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAA;AAE5E,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,WAAW,CAAA;AAE3D,2FAA2F;AAC3F,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,4EAA4E;IAC5E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,EAAE,kBAAkB,CAAA;IACxB,gFAAgF;IAChF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,OAAO,EAAE,yBAAyB,CAAA;IAClC,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,iFAAiF;AACjF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,IAAI,CACR,oBAAoB,EACpB,aAAa,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAC5E,CAAA;IACD,IAAI,EAAE,UAAU,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACrE,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAClF,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IACpE;;;;;OAKG;IACH,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC;QAAE,MAAM,EAAE,oBAAoB,CAAC;QAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAC7E,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAC1F,0GAA0G;IAC1G,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3E;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAClF,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"binary-artifacts.d.ts","sourceRoot":"","sources":["../../src/ports/binary-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,48 @@ async function sha256Hex(bytes) {
|
|
|
27
27
|
* metadata row. Deleting removes the bytes best-effort then the metadata.
|
|
28
28
|
*/
|
|
29
29
|
export function createBinaryArtifactStore(deps) {
|
|
30
|
-
const { metadata, blob, idGenerator, clock } = deps;
|
|
30
|
+
const { metadata, blob, idGenerator, clock, logger } = deps;
|
|
31
|
+
// Shared fail-safe reclaim for a batch of records (drives both `pruneOlderThan` and
|
|
32
|
+
// `deleteByWorkspace`). Delete the BYTES first (best-effort per blob, so one stuck object
|
|
33
|
+
// doesn't strand the rest), then drop the metadata rows. The invariant in both directions:
|
|
34
|
+
// NEVER drop a metadata row whose blob is still present-but-failed-to-delete, because that
|
|
35
|
+
// would orphan the bytes forever (the metadata is the only handle on the key). So a blob
|
|
36
|
+
// delete that throws keeps its metadata row, leaving the pair intact — and the common
|
|
37
|
+
// all-succeeded path still collapses to a single bulk delete. We also never keep a metadata
|
|
38
|
+
// row pointing at already-deleted bytes.
|
|
39
|
+
//
|
|
40
|
+
// Whether the retained pair is genuinely retried depends on the caller: `pruneOlderThan` runs
|
|
41
|
+
// against a LIVE workspace the sweep revisits hourly (real retry), but `deleteByWorkspace`'s
|
|
42
|
+
// workspace never reappears in `listVisible` (no auto-retry — an out-of-band reclaim is
|
|
43
|
+
// needed). Either way a non-empty failure set is a leak worth surfacing, so we log it here
|
|
44
|
+
// rather than swallowing it silently at every call site.
|
|
45
|
+
async function reclaim(records, bulkDelete) {
|
|
46
|
+
const failed = new Set();
|
|
47
|
+
for (const record of records) {
|
|
48
|
+
try {
|
|
49
|
+
await blob.delete(record.storageKey);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Tolerate a backend hiccup on a single object; retain its metadata so a later reclaim
|
|
53
|
+
// retries the blob delete instead of orphaning the bytes.
|
|
54
|
+
failed.add(record.id);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Fast path: every blob went, so a single range delete reclaims all the metadata.
|
|
58
|
+
if (failed.size === 0)
|
|
59
|
+
return bulkDelete();
|
|
60
|
+
logger?.warn({ workspaceId: records[0]?.workspaceId, failed: failed.size, total: records.length }, 'binary-artifact reclaim: some blob deletes failed; their metadata rows are retained (bytes not yet reclaimed)');
|
|
61
|
+
// Otherwise delete only the rows whose bytes are confirmed gone, one at a time, leaving the
|
|
62
|
+
// failed pairs (row + blob) intact for a later reclaim.
|
|
63
|
+
let removed = 0;
|
|
64
|
+
for (const record of records) {
|
|
65
|
+
if (failed.has(record.id))
|
|
66
|
+
continue;
|
|
67
|
+
await metadata.delete(record.workspaceId, record.id);
|
|
68
|
+
removed += 1;
|
|
69
|
+
}
|
|
70
|
+
return removed;
|
|
71
|
+
}
|
|
31
72
|
return {
|
|
32
73
|
async store(input) {
|
|
33
74
|
const id = idGenerator.next('art');
|
|
@@ -83,38 +124,12 @@ export function createBinaryArtifactStore(deps) {
|
|
|
83
124
|
await metadata.delete(workspaceId, id);
|
|
84
125
|
},
|
|
85
126
|
async pruneOlderThan(workspaceId, olderThan) {
|
|
86
|
-
// Delete the BYTES first (best-effort per blob, so one stuck object doesn't strand the
|
|
87
|
-
// rest), then drop the metadata rows. The invariant in both directions: we NEVER drop a
|
|
88
|
-
// metadata row whose blob is still present-but-failed-to-delete, because that would orphan
|
|
89
|
-
// the bytes forever (the metadata is the only handle the next sweep has on the key). So a
|
|
90
|
-
// blob delete that throws keeps its metadata row, leaving the pair intact for the next
|
|
91
|
-
// sweep to retry — and the common all-succeeded path still collapses to a single bulk
|
|
92
|
-
// delete. We also never keep a metadata row pointing at already-deleted bytes.
|
|
93
127
|
const expired = await metadata.listOlderThan(workspaceId, olderThan);
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
catch {
|
|
100
|
-
// Tolerate a backend hiccup on a single object; retain its metadata so the next sweep
|
|
101
|
-
// retries the blob delete instead of orphaning the bytes.
|
|
102
|
-
failed.add(record.id);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
// Fast path: every blob went, so a single range delete reclaims all the metadata.
|
|
106
|
-
if (failed.size === 0)
|
|
107
|
-
return metadata.deleteOlderThan(workspaceId, olderThan);
|
|
108
|
-
// Otherwise delete only the rows whose bytes are confirmed gone, one at a time, leaving
|
|
109
|
-
// the failed pairs (row + blob) for the next sweep.
|
|
110
|
-
let removed = 0;
|
|
111
|
-
for (const record of expired) {
|
|
112
|
-
if (failed.has(record.id))
|
|
113
|
-
continue;
|
|
114
|
-
await metadata.delete(workspaceId, record.id);
|
|
115
|
-
removed += 1;
|
|
116
|
-
}
|
|
117
|
-
return removed;
|
|
128
|
+
return reclaim(expired, () => metadata.deleteOlderThan(workspaceId, olderThan));
|
|
129
|
+
},
|
|
130
|
+
async deleteByWorkspace(workspaceId) {
|
|
131
|
+
const all = await metadata.listByWorkspace(workspaceId);
|
|
132
|
+
return reclaim(all, () => metadata.deleteByWorkspace(workspaceId));
|
|
118
133
|
},
|
|
119
134
|
};
|
|
120
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-artifacts.js","sourceRoot":"","sources":["../../src/ports/binary-artifacts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"binary-artifacts.js","sourceRoot":"","sources":["../../src/ports/binary-artifacts.ts"],"names":[],"mappings":"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"}
|