@cat-factory/orchestration 0.264.1 → 0.266.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/dependencies.d.ts +15 -2
- package/dist/container/dependencies.d.ts.map +1 -1
- package/dist/container/execution-service.d.ts.map +1 -1
- package/dist/container/execution-service.js +8 -0
- package/dist/container/execution-service.js.map +1 -1
- package/dist/container/module-shapes.d.ts +12 -1
- package/dist/container/module-shapes.d.ts.map +1 -1
- package/dist/container/modules.d.ts +8 -1
- package/dist/container/modules.d.ts.map +1 -1
- package/dist/container/modules.js +29 -4
- package/dist/container/modules.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/board/BoardService.d.ts +23 -8
- package/dist/modules/board/BoardService.d.ts.map +1 -1
- package/dist/modules/board/BoardService.js +45 -72
- package/dist/modules/board/BoardService.js.map +1 -1
- package/dist/modules/board/blockRemoval.d.ts +39 -0
- package/dist/modules/board/blockRemoval.d.ts.map +1 -0
- package/dist/modules/board/blockRemoval.js +113 -0
- package/dist/modules/board/blockRemoval.js.map +1 -0
- package/dist/modules/board/boardPolicyGuards.d.ts +34 -0
- package/dist/modules/board/boardPolicyGuards.d.ts.map +1 -0
- package/dist/modules/board/boardPolicyGuards.js +31 -0
- package/dist/modules/board/boardPolicyGuards.js.map +1 -0
- package/dist/modules/board/presetPinGuard.d.ts +17 -1
- package/dist/modules/board/presetPinGuard.d.ts.map +1 -1
- package/dist/modules/board/presetPinGuard.js +9 -3
- package/dist/modules/board/presetPinGuard.js.map +1 -1
- package/dist/modules/board/riskPolicySelectionGuard.d.ts +7 -2
- package/dist/modules/board/riskPolicySelectionGuard.d.ts.map +1 -1
- package/dist/modules/board/riskPolicySelectionGuard.js +2 -2
- package/dist/modules/board/riskPolicySelectionGuard.js.map +1 -1
- package/dist/modules/execution/ExecutionService.d.ts +3 -1
- package/dist/modules/execution/ExecutionService.d.ts.map +1 -1
- package/dist/modules/execution/ExecutionService.js +4 -4
- package/dist/modules/execution/ExecutionService.js.map +1 -1
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts +6 -2
- package/dist/modules/execution/ExecutionServiceDependencies.d.ts.map +1 -1
- package/dist/modules/execution/RunLifecycleController.d.ts +9 -2
- package/dist/modules/execution/RunLifecycleController.d.ts.map +1 -1
- package/dist/modules/execution/RunLifecycleController.js +10 -3
- package/dist/modules/execution/RunLifecycleController.js.map +1 -1
- package/dist/modules/execution/RunMergePolicy.d.ts +6 -2
- package/dist/modules/execution/RunMergePolicy.d.ts.map +1 -1
- package/dist/modules/execution/RunMergePolicy.js +1 -1
- package/dist/modules/execution/RunMergePolicy.js.map +1 -1
- package/dist/modules/merge/AccountRiskPolicyService.d.ts +57 -0
- package/dist/modules/merge/AccountRiskPolicyService.d.ts.map +1 -0
- package/dist/modules/merge/AccountRiskPolicyService.js +148 -0
- package/dist/modules/merge/AccountRiskPolicyService.js.map +1 -0
- package/dist/modules/merge/RiskPolicyService.d.ts +116 -10
- package/dist/modules/merge/RiskPolicyService.d.ts.map +1 -1
- package/dist/modules/merge/RiskPolicyService.js +208 -15
- package/dist/modules/merge/RiskPolicyService.js.map +1 -1
- package/dist/modules/merge/WorkspaceRiskPolicyLibrary.d.ts +100 -0
- package/dist/modules/merge/WorkspaceRiskPolicyLibrary.d.ts.map +1 -0
- package/dist/modules/merge/WorkspaceRiskPolicyLibrary.js +156 -0
- package/dist/modules/merge/WorkspaceRiskPolicyLibrary.js.map +1 -0
- package/dist/modules/merge/riskPolicyResolution.d.ts +8 -4
- package/dist/modules/merge/riskPolicyResolution.d.ts.map +1 -1
- package/dist/modules/merge/riskPolicyResolution.js +6 -2
- package/dist/modules/merge/riskPolicyResolution.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AddEpicInput, AddFrameInput, AddModuleInput, AddServiceFromRepoInput, AddTaskInput, BlockEditAuthority, ReparentInput, ResizeBlockInput, UpdateBlockInput } from '@cat-factory/contracts';
|
|
2
2
|
import type { Block, BlockStatus, Position, PreloadedBlocks } from '@cat-factory/kernel';
|
|
3
|
-
import type { BlockRepository, Clock, ExecutionEventPublisher, ExecutionRepository, GitHubRepo, GroupCacheHandle, InitiativeRepository, DocumentRepository, Logger, ModelPresetRepository, RepoProjectionRepository, ResolveRunRepoContext, RiskPolicyRepository, ServiceFragmentDefaultsRepository, ServiceRepository, TaskRepository, TaskTypeRegistry, TaskTypeSuppressionRepository, PromptFragmentSource, WorkspaceMountRepository, WorkspaceRepository } from '@cat-factory/kernel';
|
|
3
|
+
import type { BlockRepository, Clock, ExecutionEventPublisher, ExecutionRepository, GitHubRepo, GroupCacheHandle, InitiativeRepository, DocumentRepository, Logger, ModelPresetRepository, RepoProjectionRepository, ResolveRunRepoContext, AccountRiskPolicyRepository, RiskPolicyRepository, RiskPolicySuppressionRepository, ServiceFragmentDefaultsRepository, ServiceRepository, TaskRepository, TaskTypeRegistry, TaskTypeSuppressionRepository, PromptFragmentSource, WorkspaceMountRepository, WorkspaceRepository } from '@cat-factory/kernel';
|
|
4
4
|
import type { IdGenerator } from '@cat-factory/kernel';
|
|
5
5
|
import type { ReviewFrictionNotificationReader } from './reviewFrictionGuard.js';
|
|
6
6
|
import type { WorkspaceSettingsReader } from './workspaceSettingsReader.js';
|
|
@@ -141,6 +141,13 @@ export interface BoardServiceDependencies {
|
|
|
141
141
|
* {@link PresetPinGuard}.
|
|
142
142
|
*/
|
|
143
143
|
riskPolicyRepository?: RiskPolicyRepository;
|
|
144
|
+
/**
|
|
145
|
+
* The ACCOUNT tier of that same library (ADR 0055) and what this board hides from it, so both
|
|
146
|
+
* guards judge a task against every policy it can actually be filed against. Absent ⇒ nothing is
|
|
147
|
+
* inherited, and both read exactly the board's own rows as they did before the tier existed.
|
|
148
|
+
*/
|
|
149
|
+
accountRiskPolicyRepository?: AccountRiskPolicyRepository;
|
|
150
|
+
riskPolicySuppressionRepository?: RiskPolicySuppressionRepository;
|
|
144
151
|
/**
|
|
145
152
|
* The workspace's model-preset library, read only by the preset-PIN guard: a task's
|
|
146
153
|
* `modelPresetId` decides which model every one of its agent steps runs on, and a dangling id
|
|
@@ -188,6 +195,12 @@ export declare class BoardService {
|
|
|
188
195
|
* (see layoutWrites.ts). Both split their write between a frame's per-board mount override and
|
|
189
196
|
* the shared block row, and `resizeBlock` layers the child translation on top of that.
|
|
190
197
|
*/
|
|
198
|
+
/**
|
|
199
|
+
* The block DELETE sequence (see blockRemoval.ts): the unfinished-work refusal, the home
|
|
200
|
+
* resolution, the side-table cascade and the per-board fan-out, which share one board list and
|
|
201
|
+
* one ORDER.
|
|
202
|
+
*/
|
|
203
|
+
private readonly removal;
|
|
191
204
|
private readonly layout;
|
|
192
205
|
/**
|
|
193
206
|
* The reparent write (see reparentWrite.ts): containment rules, the cross-home subtree
|
|
@@ -225,7 +238,7 @@ export declare class BoardService {
|
|
|
225
238
|
* check at either door alone is a check a caller reaches around by using the other.
|
|
226
239
|
*/
|
|
227
240
|
private readonly presetPins;
|
|
228
|
-
constructor({ workspaceRepository, blockRepository, executionRepository, idGenerator, clock, repoProjectionRepository, repoProjectionCache, serviceRepository, workspaceMountRepository, serviceFragmentDefaultsRepository, initiativeRepository, documentRepository, taskRepository, executionEventPublisher, taskTypeRegistry, taskTypeSuppressionRepository, promptFragmentSource, workspaceSettings, reviewFrictionNotifications, resolveRunRepoContext, riskPolicyRepository, modelPresetRepository, logger, }: BoardServiceDependencies);
|
|
241
|
+
constructor({ workspaceRepository, blockRepository, executionRepository, idGenerator, clock, repoProjectionRepository, repoProjectionCache, serviceRepository, workspaceMountRepository, serviceFragmentDefaultsRepository, initiativeRepository, documentRepository, taskRepository, executionEventPublisher, taskTypeRegistry, taskTypeSuppressionRepository, promptFragmentSource, workspaceSettings, reviewFrictionNotifications, resolveRunRepoContext, riskPolicyRepository, accountRiskPolicyRepository, riskPolicySuppressionRepository, modelPresetRepository, logger, }: BoardServiceDependencies);
|
|
229
242
|
/**
|
|
230
243
|
* Push a board-changed signal for a successful mutation. `originWorkspaceId` MUST be
|
|
231
244
|
* the workspace that physically HOMES the affected block (its `homeWorkspaceId`), not
|
|
@@ -433,12 +446,14 @@ export declare class BoardService {
|
|
|
433
446
|
*/
|
|
434
447
|
reparent(workspaceId: string, id: string, input: ReparentInput, editor: BlockEditAuthority, originConnectionId?: string | null): Promise<Block>;
|
|
435
448
|
/**
|
|
436
|
-
*
|
|
437
|
-
*
|
|
438
|
-
*
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
449
|
+
* Refuse a delete that would discard work in flight, and hand back the board list the refusal
|
|
450
|
+
* was decided on, for the teardown and the remove to reuse (see blockRemoval.ts). A DELETE is
|
|
451
|
+
* three calls and the middle one is irreversible, so this is what makes a 422 change nothing.
|
|
452
|
+
*/
|
|
453
|
+
assertRemovable(workspaceId: string, id: string): Promise<PreloadedBlocks>;
|
|
454
|
+
/**
|
|
455
|
+
* Delete a block and all its descendants, dropping dangling dependencies. Thin delegate to the
|
|
456
|
+
* collaborator that owns the delete sequence (see blockRemoval.ts).
|
|
442
457
|
*/
|
|
443
458
|
removeBlock(workspaceId: string, id: string, opts?: {
|
|
444
459
|
preloaded?: PreloadedBlocks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardService.d.ts","sourceRoot":"","sources":["../../../src/modules/board/BoardService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EAGX,QAAQ,EACR,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EACV,eAAe,EACf,KAAK,EACL,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,EACN,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,iCAAiC,EACjC,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,6BAA6B,EAC7B,oBAAoB,EAEpB,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"BoardService.d.ts","sourceRoot":"","sources":["../../../src/modules/board/BoardService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { assertFound, ValidationError } from '@cat-factory/kernel';
|
|
2
2
|
import { BLOCK_TYPE_LABEL } from '@cat-factory/kernel';
|
|
3
3
|
import { noopLogger, registerServiceForFrame, requireWorkspace } from '@cat-factory/kernel';
|
|
4
|
+
import { createBlockRemoval } from './blockRemoval.js';
|
|
4
5
|
import { createBoardLayoutWrites } from './layoutWrites.js';
|
|
5
6
|
import { createBoardReparentWrite } from './reparentWrite.js';
|
|
6
7
|
import { createMountProjection } from './mountProjection.js';
|
|
7
|
-
import {
|
|
8
|
-
import { canReparent, descendantIds, gridSlot, serviceOf, tasksOf, unfinishedTasksUnder, wouldCreateCycle, } from './board.logic.js';
|
|
8
|
+
import { canReparent, gridSlot, serviceOf, tasksOf, wouldCreateCycle } from './board.logic.js';
|
|
9
9
|
import { ReviewFrictionGuard } from './reviewFrictionGuard.js';
|
|
10
10
|
import { nextFrameSlot, resolveNewServiceFrameDefaults } from './newServiceFrameDefaults.js';
|
|
11
11
|
import { createInternalAnchors } from './internalAnchors.js';
|
|
@@ -14,8 +14,7 @@ import { buildReviewDescription, resolveReviewTaskTarget } from './reviewTaskTar
|
|
|
14
14
|
import { createBlockPatchNarrowing } from './blockPatchNarrowing.js';
|
|
15
15
|
import { applyTaskTypeFieldsPatch } from './taskTypeFieldsPatch.js';
|
|
16
16
|
import { createTaskTypeCreationDefaults } from './taskTypeCreationDefaults.js';
|
|
17
|
-
import {
|
|
18
|
-
import { createRiskPolicySelectionGuard } from './riskPolicySelectionGuard.js';
|
|
17
|
+
import { createBoardPolicyGuards } from './boardPolicyGuards.js';
|
|
19
18
|
import { createSharedServiceMount } from './sharedServiceMount.js';
|
|
20
19
|
import { resolveServiceRepoLinkage } from './serviceRepoLinkage.js';
|
|
21
20
|
/**
|
|
@@ -56,6 +55,12 @@ export class BoardService {
|
|
|
56
55
|
* (see layoutWrites.ts). Both split their write between a frame's per-board mount override and
|
|
57
56
|
* the shared block row, and `resizeBlock` layers the child translation on top of that.
|
|
58
57
|
*/
|
|
58
|
+
/**
|
|
59
|
+
* The block DELETE sequence (see blockRemoval.ts): the unfinished-work refusal, the home
|
|
60
|
+
* resolution, the side-table cascade and the per-board fan-out, which share one board list and
|
|
61
|
+
* one ORDER.
|
|
62
|
+
*/
|
|
63
|
+
removal;
|
|
59
64
|
layout;
|
|
60
65
|
/**
|
|
61
66
|
* The reparent write (see reparentWrite.ts): containment rules, the cross-home subtree
|
|
@@ -93,7 +98,7 @@ export class BoardService {
|
|
|
93
98
|
* check at either door alone is a check a caller reaches around by using the other.
|
|
94
99
|
*/
|
|
95
100
|
presetPins;
|
|
96
|
-
constructor({ workspaceRepository, blockRepository, executionRepository, idGenerator, clock, repoProjectionRepository, repoProjectionCache, serviceRepository, workspaceMountRepository, serviceFragmentDefaultsRepository, initiativeRepository, documentRepository, taskRepository, executionEventPublisher, taskTypeRegistry, taskTypeSuppressionRepository, promptFragmentSource, workspaceSettings, reviewFrictionNotifications, resolveRunRepoContext, riskPolicyRepository, modelPresetRepository, logger, }) {
|
|
101
|
+
constructor({ workspaceRepository, blockRepository, executionRepository, idGenerator, clock, repoProjectionRepository, repoProjectionCache, serviceRepository, workspaceMountRepository, serviceFragmentDefaultsRepository, initiativeRepository, documentRepository, taskRepository, executionEventPublisher, taskTypeRegistry, taskTypeSuppressionRepository, promptFragmentSource, workspaceSettings, reviewFrictionNotifications, resolveRunRepoContext, riskPolicyRepository, accountRiskPolicyRepository, riskPolicySuppressionRepository, modelPresetRepository, logger, }) {
|
|
97
102
|
this.workspaceRepository = workspaceRepository;
|
|
98
103
|
this.blockRepository = blockRepository;
|
|
99
104
|
this.executionRepository = executionRepository;
|
|
@@ -137,8 +142,17 @@ export class BoardService {
|
|
|
137
142
|
taskTypeSuppressionRepository,
|
|
138
143
|
logger: this.log,
|
|
139
144
|
});
|
|
140
|
-
|
|
141
|
-
|
|
145
|
+
// Both guards judge a task against the policies actually available to its board, which since
|
|
146
|
+
// ADR 0055 means the merged library (its own rows plus the account's).
|
|
147
|
+
const policyGuards = createBoardPolicyGuards({
|
|
148
|
+
riskPolicyRepository,
|
|
149
|
+
accountRiskPolicyRepository,
|
|
150
|
+
riskPolicySuppressionRepository,
|
|
151
|
+
workspaceRepository,
|
|
152
|
+
modelPresetRepository,
|
|
153
|
+
});
|
|
154
|
+
this.riskPolicySelection = policyGuards.riskPolicySelection;
|
|
155
|
+
this.presetPins = policyGuards.presetPins;
|
|
142
156
|
// Bound callbacks rather than the service, so the narrowing depends on the two reads it
|
|
143
157
|
// actually uses instead of on everything `BoardService` can do.
|
|
144
158
|
this.patchNarrowing = createBlockPatchNarrowing({
|
|
@@ -155,6 +169,18 @@ export class BoardService {
|
|
|
155
169
|
validatedFields: (taskType, fields) => this.taskTypeDefaults.validatedFields(taskType, fields),
|
|
156
170
|
resolveReviewTarget: (workspaceId, blockId, taskType, fields) => resolveReviewTaskTarget({ resolveRunRepoContext: this.resolveRunRepoContext, logger: this.log }, workspaceId, blockId, taskType, fields),
|
|
157
171
|
};
|
|
172
|
+
this.removal = createBlockRemoval({
|
|
173
|
+
blockRepository,
|
|
174
|
+
executionRepository,
|
|
175
|
+
serviceRepository,
|
|
176
|
+
workspaceMountRepository,
|
|
177
|
+
initiativeRepository,
|
|
178
|
+
documentRepository,
|
|
179
|
+
taskRepository,
|
|
180
|
+
requireWorkspace: (workspaceId) => this.requireWorkspace(workspaceId),
|
|
181
|
+
resolveBlockHomeForRemoval: (workspaceId, id) => this.resolveBlockHomeForRemoval(workspaceId, id),
|
|
182
|
+
emitBoardChanged: (originWorkspaceId, change) => this.emitBoardChanged(originWorkspaceId, change),
|
|
183
|
+
});
|
|
158
184
|
this.layout = createBoardLayoutWrites({
|
|
159
185
|
blockRepository,
|
|
160
186
|
workspaceMountRepository,
|
|
@@ -868,72 +894,19 @@ export class BoardService {
|
|
|
868
894
|
return this.reparentWrite.reparent(workspaceId, id, input, editor, originConnectionId);
|
|
869
895
|
}
|
|
870
896
|
/**
|
|
871
|
-
*
|
|
872
|
-
*
|
|
873
|
-
*
|
|
874
|
-
* path's teardown lists the board immediately before this) so a locally-owned delete
|
|
875
|
-
* doesn't re-list the whole board; it is reused ONLY when it was loaded for the same
|
|
876
|
-
* workspace this block homes to (a mounted shared service homed elsewhere re-lists).
|
|
897
|
+
* Refuse a delete that would discard work in flight, and hand back the board list the refusal
|
|
898
|
+
* was decided on, for the teardown and the remove to reuse (see blockRemoval.ts). A DELETE is
|
|
899
|
+
* three calls and the middle one is irreversible, so this is what makes a 422 change nothing.
|
|
877
900
|
*/
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
// touching another workspace's data.
|
|
888
|
-
const homeWorkspaceId = await this.resolveBlockHomeForRemoval(workspaceId, id);
|
|
889
|
-
// Capture the boards this removal must reach BEFORE we delete the block + drop its service's
|
|
890
|
-
// mounts (after which the block→service→mounts join can't resolve anything). The union of the
|
|
891
|
-
// acting workspace and every workspace mounting the doomed service is then notified post-delete.
|
|
892
|
-
const fanoutTargets = new Set([workspaceId]);
|
|
893
|
-
if (this.workspaceMountRepository) {
|
|
894
|
-
for (const ws of await this.workspaceMountRepository.listWorkspaceIdsMountingBlock(homeWorkspaceId, id)) {
|
|
895
|
-
fanoutTargets.add(ws);
|
|
896
|
-
}
|
|
897
|
-
}
|
|
898
|
-
// Reuse the caller's list only when it was loaded for this block's home (the common
|
|
899
|
-
// locally-owned delete); a mounted service homed elsewhere re-lists against its home.
|
|
900
|
-
const blocks = opts.preloaded && opts.preloaded.workspaceId === homeWorkspaceId
|
|
901
|
-
? opts.preloaded.blocks
|
|
902
|
-
: await this.blockRepository.listByWorkspace(homeWorkspaceId);
|
|
903
|
-
const doomed = descendantIds(blocks, id);
|
|
904
|
-
// A service frame that still has unfinished work must NOT be deleted (that would discard
|
|
905
|
-
// in-flight tasks + their history) — it is archived instead (hidden, restorable with no
|
|
906
|
-
// expiry). Only guard a real, still-present top-level frame: a dangling/already-gone id
|
|
907
|
-
// (idempotent re-delete, a leaf task, a module) falls through to the normal cleanup below.
|
|
908
|
-
const target = blocks.find((b) => b.id === id);
|
|
909
|
-
if (target?.level === 'frame' && target.parentId === null) {
|
|
910
|
-
const unfinished = unfinishedTasksUnder(blocks, id);
|
|
911
|
-
if (unfinished.length > 0) {
|
|
912
|
-
throw new ValidationError(`This service has ${unfinished.length} unfinished task(s); archive it instead of deleting.`);
|
|
913
|
-
}
|
|
914
|
-
}
|
|
915
|
-
await this.executionRepository.deleteByBlock(homeWorkspaceId, id);
|
|
916
|
-
// Every SIDE-TABLE row keyed by a doomed block id — the account-owned service + its mounts,
|
|
917
|
-
// and the initiative entity. Extracted to its own module (see `removal-cascade.ts`): each is
|
|
918
|
-
// an optional, batched reclaim, and this is where the delete path grows, so a future
|
|
919
|
-
// block-keyed table gets a section there rather than another branch in this method.
|
|
920
|
-
await reclaimDoomedEntities({
|
|
921
|
-
...(this.serviceRepository ? { serviceRepository: this.serviceRepository } : {}),
|
|
922
|
-
...(this.workspaceMountRepository
|
|
923
|
-
? { workspaceMountRepository: this.workspaceMountRepository }
|
|
924
|
-
: {}),
|
|
925
|
-
...(this.initiativeRepository ? { initiativeRepository: this.initiativeRepository } : {}),
|
|
926
|
-
...(this.documentRepository ? { documentRepository: this.documentRepository } : {}),
|
|
927
|
-
...(this.taskRepository ? { taskRepository: this.taskRepository } : {}),
|
|
928
|
-
}, { homeWorkspaceId, deletedId: id, blocks, doomed });
|
|
929
|
-
await this.blockRepository.deleteMany(homeWorkspaceId, [...doomed]);
|
|
930
|
-
await pruneDanglingEdges(this.blockRepository, homeWorkspaceId, blocks, doomed);
|
|
931
|
-
// The block + any shared service are now gone, so fan out per captured target (blockId is
|
|
932
|
-
// unresolvable post-delete): every board that showed the block refreshes it away. There is
|
|
933
|
-
// nothing to carry, and a delete CASCADES, so the refresh is the point.
|
|
934
|
-
for (const ws of fanoutTargets) {
|
|
935
|
-
await this.emitBoardChanged(ws, { reason: 'block-removed' });
|
|
936
|
-
}
|
|
901
|
+
assertRemovable(workspaceId, id) {
|
|
902
|
+
return this.removal.assertRemovable(workspaceId, id);
|
|
903
|
+
}
|
|
904
|
+
/**
|
|
905
|
+
* Delete a block and all its descendants, dropping dangling dependencies. Thin delegate to the
|
|
906
|
+
* collaborator that owns the delete sequence (see blockRemoval.ts).
|
|
907
|
+
*/
|
|
908
|
+
removeBlock(workspaceId, id, opts = {}) {
|
|
909
|
+
return this.removal.removeBlock(workspaceId, id, opts);
|
|
937
910
|
}
|
|
938
911
|
/**
|
|
939
912
|
* Archive a service frame: hide it (and its whole subtree) from the board projection while
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardService.js","sourceRoot":"","sources":["../../../src/modules/board/BoardService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BoardService.js","sourceRoot":"","sources":["../../../src/modules/board/BoardService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { BlockRepository, BoardChange, DocumentRepository, ExecutionRepository, InitiativeRepository, PreloadedBlocks, ServiceRepository, TaskRepository, WorkspaceMountRepository } from '@cat-factory/kernel';
|
|
2
|
+
import type { BoardChangeReason } from './board.logic.js';
|
|
3
|
+
/**
|
|
4
|
+
* The block DELETE path, extracted from `BoardService` following the established
|
|
5
|
+
* controller-extraction pattern: one small deps object of bound callbacks, and the service keeps
|
|
6
|
+
* thin delegates. Behaviour-neutral for `removeBlock`.
|
|
7
|
+
*
|
|
8
|
+
* It is a cohesive unit because a delete is not one call. A caller has to REFUSE first, then tear
|
|
9
|
+
* every run under the subtree down (containers, durable drivers, run rows), then remove the blocks
|
|
10
|
+
* and the side-table rows they key: three steps sharing one board list and one home-workspace
|
|
11
|
+
* resolution, whose ORDER is the whole correctness story. `removal-cascade.ts` next door owns the
|
|
12
|
+
* side-table half of the last step; this owns the sequence around it.
|
|
13
|
+
*/
|
|
14
|
+
export interface BlockRemovalDeps {
|
|
15
|
+
blockRepository: BlockRepository;
|
|
16
|
+
executionRepository: ExecutionRepository;
|
|
17
|
+
serviceRepository?: ServiceRepository;
|
|
18
|
+
workspaceMountRepository?: WorkspaceMountRepository;
|
|
19
|
+
initiativeRepository?: InitiativeRepository;
|
|
20
|
+
documentRepository?: DocumentRepository;
|
|
21
|
+
taskRepository?: TaskRepository;
|
|
22
|
+
/** 404s an unknown board before anything is read. */
|
|
23
|
+
requireWorkspace: (workspaceId: string) => Promise<unknown>;
|
|
24
|
+
/**
|
|
25
|
+
* The workspace that HOMES the id, falling back to the acting one. Never throws: a dangling id
|
|
26
|
+
* must not block the cleanup of the rows that DO still exist.
|
|
27
|
+
*/
|
|
28
|
+
resolveBlockHomeForRemoval: (workspaceId: string, id: string) => Promise<string>;
|
|
29
|
+
emitBoardChanged: (originWorkspaceId: string, change: BoardChange & {
|
|
30
|
+
reason: BoardChangeReason;
|
|
31
|
+
}) => Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
export declare function createBlockRemoval(deps: BlockRemovalDeps): {
|
|
34
|
+
assertRemovable: (workspaceId: string, id: string) => Promise<PreloadedBlocks>;
|
|
35
|
+
removeBlock: (workspaceId: string, id: string, opts?: {
|
|
36
|
+
preloaded?: PreloadedBlocks;
|
|
37
|
+
}) => Promise<void>;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=blockRemoval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockRemoval.d.ts","sourceRoot":"","sources":["../../../src/modules/board/blockRemoval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGzD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,eAAe,CAAA;IAChC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IACnD,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,qDAAqD;IACrD,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3D;;;OAGG;IACH,0BAA0B,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAChF,gBAAgB,EAAE,CAChB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,WAAW,GAAG;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,KAChD,OAAO,CAAC,IAAI,CAAC,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB;mCAmBX,MAAM,MAAM,MAAM,KAAG,OAAO,CAAC,eAAe,CAAC;+BAiB1E,MAAM,MACf,MAAM,SACJ;QAAE,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,KACpC,OAAO,CAAC,IAAI,CAAC;EA+DjB"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { ValidationError } from '@cat-factory/kernel';
|
|
2
|
+
import { descendantIds, unfinishedTasksUnder } from './board.logic.js';
|
|
3
|
+
import { pruneDanglingEdges, reclaimDoomedEntities } from './removal-cascade.js';
|
|
4
|
+
export function createBlockRemoval(deps) {
|
|
5
|
+
/**
|
|
6
|
+
* Refuse a delete that would discard work in flight, and hand back the board list the refusal
|
|
7
|
+
* was decided on.
|
|
8
|
+
*
|
|
9
|
+
* Its own entry point because a DELETE is three calls rather than one: the caller tears every run
|
|
10
|
+
* under the subtree down FIRST (killing containers, cancelling durable drivers, deleting the run
|
|
11
|
+
* rows), so a guard that fires only inside {@link removeBlock} fires after the history it exists
|
|
12
|
+
* to protect is already gone, and the 422 then describes a board that no longer matches it.
|
|
13
|
+
* Running the same judgement here is what makes a refused delete change NOTHING.
|
|
14
|
+
*
|
|
15
|
+
* The list comes back so the whole sequence still costs ONE board read: the teardown and the
|
|
16
|
+
* remove both take it as `preloaded` (this loads it for the block's HOME, which is the workspace
|
|
17
|
+
* `removeBlock` reuses it for). Neither step deletes a block, so it is still current when they
|
|
18
|
+
* run.
|
|
19
|
+
*
|
|
20
|
+
* {@link removeBlock} keeps the same guard, and that is not a duplicated rule: it is the layer
|
|
21
|
+
* that can see the subtree it judges, and it is reachable without this preflight.
|
|
22
|
+
*/
|
|
23
|
+
async function assertRemovable(workspaceId, id) {
|
|
24
|
+
await deps.requireWorkspace(workspaceId);
|
|
25
|
+
const homeWorkspaceId = await deps.resolveBlockHomeForRemoval(workspaceId, id);
|
|
26
|
+
const blocks = await deps.blockRepository.listByWorkspace(homeWorkspaceId);
|
|
27
|
+
assertNoUnfinishedWork(blocks, id);
|
|
28
|
+
return { workspaceId: homeWorkspaceId, blocks };
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Delete a block and all its descendants, dropping dangling dependencies.
|
|
32
|
+
*
|
|
33
|
+
* `opts.preloaded` lets the caller hand in a block list it already loaded (the delete path's
|
|
34
|
+
* preflight lists the board immediately before this) so a locally-owned delete doesn't re-list
|
|
35
|
+
* the whole board; it is reused ONLY when it was loaded for the same workspace this block homes
|
|
36
|
+
* to (a mounted shared service homed elsewhere re-lists).
|
|
37
|
+
*/
|
|
38
|
+
async function removeBlock(workspaceId, id, opts = {}) {
|
|
39
|
+
await deps.requireWorkspace(workspaceId);
|
|
40
|
+
// Resolve the block at its home so a shared service's block can be deleted from any board
|
|
41
|
+
// that mounts it (the delete then applies to the one shared copy everywhere). Deletion is
|
|
42
|
+
// best-effort and idempotent: if the block row is already GONE (e.g. a half-deleted service
|
|
43
|
+
// that left a dangling mount/repo-link/execution), we must NOT 404 — a thing not existing
|
|
44
|
+
// can't be allowed to block cleanup of the related entities that do still exist. The resolve
|
|
45
|
+
// never throws; it falls back to this workspace, and every cleanup below is scoped to that
|
|
46
|
+
// home, so we tear down whatever references the id (+ its surviving descendants) without ever
|
|
47
|
+
// touching another workspace's data.
|
|
48
|
+
const homeWorkspaceId = await deps.resolveBlockHomeForRemoval(workspaceId, id);
|
|
49
|
+
// Capture the boards this removal must reach BEFORE we delete the block + drop its service's
|
|
50
|
+
// mounts (after which the block→service→mounts join can't resolve anything). The union of the
|
|
51
|
+
// acting workspace and every workspace mounting the doomed service is then notified post-delete.
|
|
52
|
+
const fanoutTargets = new Set([workspaceId]);
|
|
53
|
+
if (deps.workspaceMountRepository) {
|
|
54
|
+
for (const ws of await deps.workspaceMountRepository.listWorkspaceIdsMountingBlock(homeWorkspaceId, id)) {
|
|
55
|
+
fanoutTargets.add(ws);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Reuse the caller's list only when it was loaded for this block's home (the common
|
|
59
|
+
// locally-owned delete); a mounted service homed elsewhere re-lists against its home.
|
|
60
|
+
const blocks = opts.preloaded && opts.preloaded.workspaceId === homeWorkspaceId
|
|
61
|
+
? opts.preloaded.blocks
|
|
62
|
+
: await deps.blockRepository.listByWorkspace(homeWorkspaceId);
|
|
63
|
+
const doomed = descendantIds(blocks, id);
|
|
64
|
+
assertNoUnfinishedWork(blocks, id);
|
|
65
|
+
await deps.executionRepository.deleteByBlock(homeWorkspaceId, id);
|
|
66
|
+
// Every SIDE-TABLE row keyed by a doomed block id — the account-owned service + its mounts,
|
|
67
|
+
// and the initiative entity. Its own module (see `removal-cascade.ts`): each is an optional,
|
|
68
|
+
// batched reclaim, and that is where the delete path grows, so a future block-keyed table
|
|
69
|
+
// gets a section there rather than another branch in this function.
|
|
70
|
+
await reclaimDoomedEntities({
|
|
71
|
+
...(deps.serviceRepository ? { serviceRepository: deps.serviceRepository } : {}),
|
|
72
|
+
...(deps.workspaceMountRepository
|
|
73
|
+
? { workspaceMountRepository: deps.workspaceMountRepository }
|
|
74
|
+
: {}),
|
|
75
|
+
...(deps.initiativeRepository ? { initiativeRepository: deps.initiativeRepository } : {}),
|
|
76
|
+
...(deps.documentRepository ? { documentRepository: deps.documentRepository } : {}),
|
|
77
|
+
...(deps.taskRepository ? { taskRepository: deps.taskRepository } : {}),
|
|
78
|
+
}, { homeWorkspaceId, deletedId: id, blocks, doomed });
|
|
79
|
+
await deps.blockRepository.deleteMany(homeWorkspaceId, [...doomed]);
|
|
80
|
+
await pruneDanglingEdges(deps.blockRepository, homeWorkspaceId, blocks, doomed);
|
|
81
|
+
// The block + any shared service are now gone, so fan out per captured target (blockId is
|
|
82
|
+
// unresolvable post-delete): every board that showed the block refreshes it away. There is
|
|
83
|
+
// nothing to carry, and a delete CASCADES, so the refresh is the point.
|
|
84
|
+
for (const ws of fanoutTargets) {
|
|
85
|
+
await deps.emitBoardChanged(ws, { reason: 'block-removed' });
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return { assertRemovable, removeBlock };
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Refuse to DELETE a service frame that still has unfinished work: that would discard in-flight
|
|
92
|
+
* tasks and their history, so the frame is archived instead (hidden, restorable with no expiry).
|
|
93
|
+
*
|
|
94
|
+
* Only a real, still-present top-level frame is guarded: a dangling / already-gone id (an
|
|
95
|
+
* idempotent re-delete, a leaf task, a module) falls through to the ordinary cleanup.
|
|
96
|
+
*
|
|
97
|
+
* A free function because it runs TWICE on the delete path and must be the same rule both times:
|
|
98
|
+
* once as the preflight that refuses before anything is torn down, and once inside the remove,
|
|
99
|
+
* which is the layer that can see the subtree it judges.
|
|
100
|
+
*/
|
|
101
|
+
function assertNoUnfinishedWork(blocks, id) {
|
|
102
|
+
const target = blocks.find((b) => b.id === id);
|
|
103
|
+
if (target?.level !== 'frame' || target.parentId !== null)
|
|
104
|
+
return;
|
|
105
|
+
const unfinished = unfinishedTasksUnder(blocks, id);
|
|
106
|
+
if (unfinished.length === 0)
|
|
107
|
+
return;
|
|
108
|
+
// The `reason` is what makes this refusal actionable through a door with no prose to read:
|
|
109
|
+
// `DELETE /api/v1/services/{serviceId}` answers it as a 422, and the caller's next move is to
|
|
110
|
+
// delete those tasks (or archive instead), which it can only choose from the code.
|
|
111
|
+
throw new ValidationError(`This service has ${unfinished.length} unfinished task(s); archive it instead of deleting.`, { reason: 'service_has_unfinished_tasks', unfinishedTasks: unfinished.length });
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=blockRemoval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockRemoval.js","sourceRoot":"","sources":["../../../src/modules/board/blockRemoval.ts"],"names":[],"mappings":"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"}
|