@principles/core 1.154.0 → 1.156.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/runtime-v2/__tests__/architecture-regression.test.js +10 -0
- package/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/build-l2-principle-reader.test.d.ts +2 -0
- package/dist/runtime-v2/__tests__/build-l2-principle-reader.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/build-l2-principle-reader.test.js +200 -0
- package/dist/runtime-v2/__tests__/build-l2-principle-reader.test.js.map +1 -0
- package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +16 -0
- package/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js +2 -0
- package/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +13 -0
- package/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +1 -0
- package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/approval-completion-service.test.d.ts +21 -0
- package/dist/runtime-v2/activation/__tests__/approval-completion-service.test.d.ts.map +1 -0
- package/dist/runtime-v2/activation/__tests__/approval-completion-service.test.js +363 -0
- package/dist/runtime-v2/activation/__tests__/approval-completion-service.test.js.map +1 -0
- package/dist/runtime-v2/activation/__tests__/approval-queue.test.js +13 -0
- package/dist/runtime-v2/activation/__tests__/approval-queue.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/edit-then-approve.test.d.ts +20 -0
- package/dist/runtime-v2/activation/__tests__/edit-then-approve.test.d.ts.map +1 -0
- package/dist/runtime-v2/activation/__tests__/edit-then-approve.test.js +145 -0
- package/dist/runtime-v2/activation/__tests__/edit-then-approve.test.js.map +1 -0
- package/dist/runtime-v2/activation/__tests__/production-gate-deps.test.d.ts +15 -0
- package/dist/runtime-v2/activation/__tests__/production-gate-deps.test.d.ts.map +1 -0
- package/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js +249 -0
- package/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js.map +1 -0
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +22 -2
- package/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
- package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.d.ts +35 -0
- package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.d.ts.map +1 -0
- package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +511 -0
- package/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -0
- package/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
- package/dist/runtime-v2/activation/activation-dispatcher.js +79 -0
- package/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
- package/dist/runtime-v2/activation/activation-types.d.ts +48 -3
- package/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
- package/dist/runtime-v2/activation/activation-types.js +6 -0
- package/dist/runtime-v2/activation/activation-types.js.map +1 -1
- package/dist/runtime-v2/activation/approval-completion-service.d.ts +50 -0
- package/dist/runtime-v2/activation/approval-completion-service.d.ts.map +1 -0
- package/dist/runtime-v2/activation/approval-completion-service.js +160 -0
- package/dist/runtime-v2/activation/approval-completion-service.js.map +1 -0
- package/dist/runtime-v2/activation/approval-queue.d.ts +7 -1
- package/dist/runtime-v2/activation/approval-queue.d.ts.map +1 -1
- package/dist/runtime-v2/activation/approval-queue.js +14 -0
- package/dist/runtime-v2/activation/approval-queue.js.map +1 -1
- package/dist/runtime-v2/activation/index.d.ts +5 -2
- package/dist/runtime-v2/activation/index.d.ts.map +1 -1
- package/dist/runtime-v2/activation/index.js +8 -1
- package/dist/runtime-v2/activation/index.js.map +1 -1
- package/dist/runtime-v2/activation/memory-activation-state-store.d.ts +2 -2
- package/dist/runtime-v2/activation/memory-activation-state-store.d.ts.map +1 -1
- package/dist/runtime-v2/activation/memory-activation-state-store.js +4 -4
- package/dist/runtime-v2/activation/memory-activation-state-store.js.map +1 -1
- package/dist/runtime-v2/activation/memory-approval-store.d.ts +2 -1
- package/dist/runtime-v2/activation/memory-approval-store.d.ts.map +1 -1
- package/dist/runtime-v2/activation/memory-approval-store.js +18 -0
- package/dist/runtime-v2/activation/memory-approval-store.js.map +1 -1
- package/dist/runtime-v2/activation/production-gate-deps.d.ts +32 -0
- package/dist/runtime-v2/activation/production-gate-deps.d.ts.map +1 -0
- package/dist/runtime-v2/activation/production-gate-deps.js +179 -0
- package/dist/runtime-v2/activation/production-gate-deps.js.map +1 -0
- package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts +2 -2
- package/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
- package/dist/runtime-v2/activation/sqlite-activation-state-store.js +10 -14
- package/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
- package/dist/runtime-v2/activation/sqlite-approval-store.d.ts +2 -1
- package/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
- package/dist/runtime-v2/activation/sqlite-approval-store.js +24 -0
- package/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
- package/dist/runtime-v2/build-l2-principle-reader.d.ts +49 -0
- package/dist/runtime-v2/build-l2-principle-reader.d.ts.map +1 -0
- package/dist/runtime-v2/build-l2-principle-reader.js +70 -0
- package/dist/runtime-v2/build-l2-principle-reader.js.map +1 -0
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +2 -0
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js +6 -0
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +5 -3
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +6 -1
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts +27 -0
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +129 -2
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/proven-channel-baseline.d.ts.map +1 -1
- package/dist/runtime-v2/proven-channel-baseline.js +13 -0
- package/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
- package/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/dist/runtime-v2/store/sqlite-connection.js +12 -0
- package/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activation-dispatcher.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/activation-dispatcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"activation-dispatcher.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/activation-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,16 @@ export type ActivationActor = {
|
|
|
15
15
|
kind: 'human';
|
|
16
16
|
userId: string;
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Rollout activation decision from the rollout reviewer.
|
|
20
|
+
* - 'auto_activate': low-risk channel, activate directly
|
|
21
|
+
* - 'require_approval': enqueue for owner approval
|
|
22
|
+
* - 'reject': refuse activation
|
|
23
|
+
* - 'approved': approval already granted externally (ApprovalCompletionService).
|
|
24
|
+
* Bypasses the approval queue check and activates directly. This is the
|
|
25
|
+
* post-approval dispatch path for high-risk channels.
|
|
26
|
+
*/
|
|
27
|
+
export type RolloutActivationDecision = 'auto_activate' | 'require_approval' | 'reject' | 'approved';
|
|
19
28
|
export interface DispatchInput {
|
|
20
29
|
artifactId: string;
|
|
21
30
|
channel: InternalizationChannel;
|
|
@@ -25,6 +34,13 @@ export interface DispatchInput {
|
|
|
25
34
|
now: string;
|
|
26
35
|
confirm: boolean;
|
|
27
36
|
confidence?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Required when rolloutDecision === 'approved'.
|
|
39
|
+
* The dispatcher independently verifies this approval record exists,
|
|
40
|
+
* is in 'approved' status, and matches the artifactId + channel.
|
|
41
|
+
* This prevents callers from bypassing the owner approval boundary.
|
|
42
|
+
*/
|
|
43
|
+
approvalId?: string;
|
|
28
44
|
}
|
|
29
45
|
export type ActivationDecision = {
|
|
30
46
|
decision: 'would_activate';
|
|
@@ -50,6 +66,7 @@ export type ActivationDecision = {
|
|
|
50
66
|
} | {
|
|
51
67
|
decision: 'refused';
|
|
52
68
|
reason: string;
|
|
69
|
+
nextAction?: string;
|
|
53
70
|
riskLevel?: ActivationRiskLevel;
|
|
54
71
|
channel?: InternalizationChannel;
|
|
55
72
|
} | {
|
|
@@ -85,8 +102,8 @@ export interface ActivationStatusRecord {
|
|
|
85
102
|
export interface ActivationStateReadModel {
|
|
86
103
|
getActivationStatus(idempotencyKey: string): Promise<ActivationStatusRecord | null>;
|
|
87
104
|
recordActivation(record: ActivationStatusRecord): Promise<void>;
|
|
88
|
-
listPromptActivations(): Promise<ActivationStatusRecord[]>;
|
|
89
|
-
listCodeToolHookActivations(): Promise<ActivationStatusRecord[]>;
|
|
105
|
+
listPromptActivations(includeDeactivated?: boolean): Promise<ActivationStatusRecord[]>;
|
|
106
|
+
listCodeToolHookActivations(includeDeactivated?: boolean): Promise<ActivationStatusRecord[]>;
|
|
90
107
|
listAllActivations(): Promise<ActivationStatusRecord[]>;
|
|
91
108
|
deactivateActivation(activationId: string, deactivatedAt: string): Promise<boolean>;
|
|
92
109
|
}
|
|
@@ -131,6 +148,12 @@ export interface ApprovalRecord {
|
|
|
131
148
|
confidenceExplanation?: string;
|
|
132
149
|
effectDescription?: string;
|
|
133
150
|
rejectionEffect?: string;
|
|
151
|
+
/** Story A (PRI-408): Edit tracking — when owner edits the principle/rule before approving */
|
|
152
|
+
editedAt?: string;
|
|
153
|
+
editedBy?: string;
|
|
154
|
+
editReason?: string;
|
|
155
|
+
/** The previous artifactId before the edit (for lineage tracking) */
|
|
156
|
+
previousArtifactId?: string;
|
|
134
157
|
}
|
|
135
158
|
export type ConfidenceLabel = 'high' | 'medium' | 'low';
|
|
136
159
|
export declare function mapConfidenceToLabel(confidence: number | undefined): ConfidenceLabel;
|
|
@@ -200,7 +223,29 @@ export interface ApprovalQueueStore {
|
|
|
200
223
|
ok: false;
|
|
201
224
|
error: 'not_found' | 'not_approved';
|
|
202
225
|
}>;
|
|
226
|
+
/**
|
|
227
|
+
* Story A (PRI-408): Edit a pending approval's artifact to a new version.
|
|
228
|
+
* Updates artifactId, records edit metadata, keeps status as pending.
|
|
229
|
+
* The caller is responsible for creating the new artifact and performing
|
|
230
|
+
* schema validation + sandbox replay BEFORE calling this method.
|
|
231
|
+
* Returns error if the approval is not in 'pending' status.
|
|
232
|
+
*/
|
|
233
|
+
edit(input: ApprovalEditInput): Promise<ApprovalDecisionResult>;
|
|
234
|
+
}
|
|
235
|
+
export interface ApprovalEditInput {
|
|
236
|
+
approvalId: string;
|
|
237
|
+
editedBy: string;
|
|
238
|
+
newArtifactId: string;
|
|
239
|
+
editReason: string;
|
|
240
|
+
now: string;
|
|
241
|
+
}
|
|
242
|
+
export interface ArtifactLineageIdentity {
|
|
243
|
+
artifactId: string;
|
|
244
|
+
sourceTaskId: string;
|
|
245
|
+
sourcePrincipleId?: string;
|
|
246
|
+
lineageArtifactIds: string[];
|
|
203
247
|
}
|
|
248
|
+
export declare function isArtifactRevisionOf(candidate: ArtifactLineageIdentity, original: ArtifactLineageIdentity): boolean;
|
|
204
249
|
export declare function makeIdempotencyKey(artifactId: string, channel: InternalizationChannel): string;
|
|
205
250
|
export declare function isLowRiskChannel(channel: InternalizationChannel): boolean;
|
|
206
251
|
export declare function getChannelRiskLevel(channel: InternalizationChannel): ActivationRiskLevel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activation-types.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/activation-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAEtI,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;AAEnF,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEzE,eAAO,MAAM,iBAAiB,EAAE,SAAS,sBAAsB,EAAyC,CAAC;AAEzG,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAItE,CAAC;AAEX,eAAO,MAAM,mCAAmC,OAAO,CAAC;AAExD,eAAO,MAAM,wBAAwB,EAAE,SAAS,sBAAsB,EAAuB,CAAC;AAE9F,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,gBAAgB,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG,kBAAkB,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"activation-types.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/activation-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,12 @@ export function mapConfidenceToLabel(confidence) {
|
|
|
15
15
|
return 'medium';
|
|
16
16
|
return 'low';
|
|
17
17
|
}
|
|
18
|
+
export function isArtifactRevisionOf(candidate, original) {
|
|
19
|
+
const referencesOriginal = candidate.lineageArtifactIds.includes(original.artifactId);
|
|
20
|
+
const samePrinciple = Boolean(candidate.sourcePrincipleId)
|
|
21
|
+
&& candidate.sourcePrincipleId === original.sourcePrincipleId;
|
|
22
|
+
return candidate.sourceTaskId === original.sourceTaskId || referencesOriginal || samePrinciple;
|
|
23
|
+
}
|
|
18
24
|
export function makeIdempotencyKey(artifactId, channel) {
|
|
19
25
|
return `${artifactId}::${channel}`;
|
|
20
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activation-types.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/activation-types.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,iBAAiB,GAAsC,CAAC,QAAQ,EAAE,eAAe,CAAU,CAAC;AAEzG,MAAM,CAAC,MAAM,qBAAqB,GAAkD;IAClF,KAAK,EAAE,QAAQ;IACf,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,UAAU;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AAExD,MAAM,CAAC,MAAM,wBAAwB,GAAsC,CAAC,OAAO,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"activation-types.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/activation-types.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,iBAAiB,GAAsC,CAAC,QAAQ,EAAE,eAAe,CAAU,CAAC;AAEzG,MAAM,CAAC,MAAM,qBAAqB,GAAkD;IAClF,KAAK,EAAE,QAAQ;IACf,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,UAAU;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AAExD,MAAM,CAAC,MAAM,wBAAwB,GAAsC,CAAC,OAAO,CAAU,CAAC;AA+I9F,MAAM,UAAU,oBAAoB,CAAC,UAA8B;IACjE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IACrE,IAAI,UAAU,IAAI,GAAG;QAAE,OAAO,MAAM,CAAC;IACrC,IAAI,UAAU,IAAI,GAAG;QAAE,OAAO,QAAQ,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC;AAwFD,MAAM,UAAU,oBAAoB,CAAC,SAAkC,EAAE,QAAiC;IACxG,MAAM,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtF,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC;WACrD,SAAS,CAAC,iBAAiB,KAAK,QAAQ,CAAC,iBAAiB,CAAC;IAChE,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY,IAAI,kBAAkB,IAAI,aAAa,CAAC;AACjG,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,OAA+B;IACpF,OAAO,GAAG,UAAU,KAAK,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAA+B;IAC9D,OAAO,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA+B;IACjE,IAAI,gBAAgB,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Approval Completion Service — Story A (PRI-408)
|
|
3
|
+
*
|
|
4
|
+
* Formal production service that orchestrates activation AFTER an owner
|
|
5
|
+
* approves an approval record. Replaces the demo "approve → direct writer"
|
|
6
|
+
* pattern with a structured, idempotent, validated completion path.
|
|
7
|
+
*
|
|
8
|
+
* Product Contract B requirements:
|
|
9
|
+
* - Reads the approved approval record
|
|
10
|
+
* - Validates artifact/version/channel consistency
|
|
11
|
+
* - Prevents unapproved, rejected, or expired records from activating
|
|
12
|
+
* - Idempotent activation (duplicate submissions = no duplicate activation)
|
|
13
|
+
* - Calls the ActivationDispatcher with rolloutDecision='approved'
|
|
14
|
+
* - Records activation state (via dispatcher)
|
|
15
|
+
* - Returns structured decision/reason/nextAction
|
|
16
|
+
*
|
|
17
|
+
* ERR checklist:
|
|
18
|
+
* - ERR-001: Approval record fields validated at runtime, not via `as`
|
|
19
|
+
* - ERR-002: Every failure path carries reason + nextAction
|
|
20
|
+
* - ERR-009: Required fields fail loud when missing
|
|
21
|
+
* - ERR-015: Idempotency state distinguished from current dispatch state
|
|
22
|
+
* - ERR-025: Production-path service, not demo helper
|
|
23
|
+
*/
|
|
24
|
+
import type { ActivationActor, ActivationDecision, ActivationStateReadModel, ApprovalQueueStore } from './activation-types.js';
|
|
25
|
+
import type { ActivationDispatcher } from './activation-dispatcher.js';
|
|
26
|
+
export interface ApprovalCompletionInput {
|
|
27
|
+
approvalId: string;
|
|
28
|
+
actor: ActivationActor;
|
|
29
|
+
now: string;
|
|
30
|
+
}
|
|
31
|
+
export type ApprovalCompletionResult = {
|
|
32
|
+
ok: true;
|
|
33
|
+
decision: ActivationDecision;
|
|
34
|
+
activationId?: string;
|
|
35
|
+
approvalId: string;
|
|
36
|
+
} | {
|
|
37
|
+
ok: false;
|
|
38
|
+
error: 'not_found' | 'not_approved' | 'already_activated';
|
|
39
|
+
reason: string;
|
|
40
|
+
nextAction: string;
|
|
41
|
+
approvalId: string;
|
|
42
|
+
};
|
|
43
|
+
export declare class ApprovalCompletionService {
|
|
44
|
+
private readonly approvalStore;
|
|
45
|
+
private readonly dispatcher;
|
|
46
|
+
private readonly stateReadModel;
|
|
47
|
+
constructor(approvalStore: ApprovalQueueStore, dispatcher: ActivationDispatcher, stateReadModel: ActivationStateReadModel);
|
|
48
|
+
completeApproval(input: ApprovalCompletionInput): Promise<ApprovalCompletionResult>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=approval-completion-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-completion-service.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/approval-completion-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAEnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,eAAe,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,wBAAwB,GAChC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,mBAAmB,CAAC;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,aAAa,EAAE,kBAAkB,EACjC,UAAU,EAAE,oBAAoB,EAChC,cAAc,EAAE,wBAAwB;IAGrD,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAkI1F"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Approval Completion Service — Story A (PRI-408)
|
|
3
|
+
*
|
|
4
|
+
* Formal production service that orchestrates activation AFTER an owner
|
|
5
|
+
* approves an approval record. Replaces the demo "approve → direct writer"
|
|
6
|
+
* pattern with a structured, idempotent, validated completion path.
|
|
7
|
+
*
|
|
8
|
+
* Product Contract B requirements:
|
|
9
|
+
* - Reads the approved approval record
|
|
10
|
+
* - Validates artifact/version/channel consistency
|
|
11
|
+
* - Prevents unapproved, rejected, or expired records from activating
|
|
12
|
+
* - Idempotent activation (duplicate submissions = no duplicate activation)
|
|
13
|
+
* - Calls the ActivationDispatcher with rolloutDecision='approved'
|
|
14
|
+
* - Records activation state (via dispatcher)
|
|
15
|
+
* - Returns structured decision/reason/nextAction
|
|
16
|
+
*
|
|
17
|
+
* ERR checklist:
|
|
18
|
+
* - ERR-001: Approval record fields validated at runtime, not via `as`
|
|
19
|
+
* - ERR-002: Every failure path carries reason + nextAction
|
|
20
|
+
* - ERR-009: Required fields fail loud when missing
|
|
21
|
+
* - ERR-015: Idempotency state distinguished from current dispatch state
|
|
22
|
+
* - ERR-025: Production-path service, not demo helper
|
|
23
|
+
*/
|
|
24
|
+
import { makeIdempotencyKey } from './activation-types.js';
|
|
25
|
+
export class ApprovalCompletionService {
|
|
26
|
+
approvalStore;
|
|
27
|
+
dispatcher;
|
|
28
|
+
stateReadModel;
|
|
29
|
+
constructor(approvalStore, dispatcher, stateReadModel) {
|
|
30
|
+
this.approvalStore = approvalStore;
|
|
31
|
+
this.dispatcher = dispatcher;
|
|
32
|
+
this.stateReadModel = stateReadModel;
|
|
33
|
+
}
|
|
34
|
+
async completeApproval(input) {
|
|
35
|
+
// 1. Read the approval record
|
|
36
|
+
let record;
|
|
37
|
+
try {
|
|
38
|
+
record = await this.approvalStore.getById(input.approvalId);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return {
|
|
42
|
+
ok: false,
|
|
43
|
+
error: 'not_found',
|
|
44
|
+
reason: 'approval_record_read_failed',
|
|
45
|
+
nextAction: 'check_approval_store_or_retry',
|
|
46
|
+
approvalId: input.approvalId,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (!record) {
|
|
50
|
+
return {
|
|
51
|
+
ok: false,
|
|
52
|
+
error: 'not_found',
|
|
53
|
+
reason: `approval record ${input.approvalId} not found`,
|
|
54
|
+
nextAction: 'verify_approval_id_or_check_store',
|
|
55
|
+
approvalId: input.approvalId,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// 2. Validate the approval is in 'approved' status
|
|
59
|
+
if (record.status !== 'approved') {
|
|
60
|
+
return {
|
|
61
|
+
ok: false,
|
|
62
|
+
error: 'not_approved',
|
|
63
|
+
reason: `approval status is ${record.status}, expected approved`,
|
|
64
|
+
nextAction: record.status === 'pending'
|
|
65
|
+
? 'owner_must_approve_before_completion'
|
|
66
|
+
: record.status === 'rejected'
|
|
67
|
+
? 'rejected_approvals_cannot_be_activated'
|
|
68
|
+
: 'check_approval_status',
|
|
69
|
+
approvalId: input.approvalId,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
// 2b. Validate required fields before generating idempotency key (EP-01)
|
|
73
|
+
if (!record.artifactId || typeof record.artifactId !== 'string') {
|
|
74
|
+
return {
|
|
75
|
+
ok: false,
|
|
76
|
+
error: 'not_approved',
|
|
77
|
+
reason: 'approval record has missing or invalid artifactId',
|
|
78
|
+
nextAction: 'check_artifact_store_integrity',
|
|
79
|
+
approvalId: input.approvalId,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (!record.channel || typeof record.channel !== 'string') {
|
|
83
|
+
return {
|
|
84
|
+
ok: false,
|
|
85
|
+
error: 'not_approved',
|
|
86
|
+
reason: 'approval record has missing or invalid channel',
|
|
87
|
+
nextAction: 'check_approval_store_integrity',
|
|
88
|
+
approvalId: input.approvalId,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// 3. Check idempotency — has this already been activated?
|
|
92
|
+
const idempotencyKey = makeIdempotencyKey(record.artifactId, record.channel);
|
|
93
|
+
let existingActivation;
|
|
94
|
+
try {
|
|
95
|
+
existingActivation = await this.stateReadModel.getActivationStatus(idempotencyKey);
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
// If state read fails, proceed to dispatch — the dispatcher will
|
|
99
|
+
// also check idempotency and handle errors. Log the failure for
|
|
100
|
+
// observability (ERR-002: graceful degradation must include a reason).
|
|
101
|
+
const readErr = err instanceof Error ? err.message : String(err);
|
|
102
|
+
console.warn(`[ApprovalCompletionService] idempotency state read failed for key ${idempotencyKey}: ${readErr}; proceeding to dispatch`);
|
|
103
|
+
existingActivation = null;
|
|
104
|
+
}
|
|
105
|
+
if (existingActivation) {
|
|
106
|
+
return {
|
|
107
|
+
ok: true,
|
|
108
|
+
decision: {
|
|
109
|
+
decision: 'already_activated',
|
|
110
|
+
activationId: existingActivation.activationId,
|
|
111
|
+
action: existingActivation.action,
|
|
112
|
+
targetRef: existingActivation.targetRef,
|
|
113
|
+
},
|
|
114
|
+
activationId: existingActivation.activationId,
|
|
115
|
+
approvalId: input.approvalId,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
// 4. Dispatch with 'approved' — the dispatcher independently verifies
|
|
119
|
+
// the approval record via approvalId (security boundary, P1 #3 fix).
|
|
120
|
+
let dispatchDecision;
|
|
121
|
+
try {
|
|
122
|
+
dispatchDecision = await this.dispatcher.dispatch({
|
|
123
|
+
artifactId: record.artifactId,
|
|
124
|
+
channel: record.channel,
|
|
125
|
+
rolloutDecision: 'approved',
|
|
126
|
+
approvalId: input.approvalId,
|
|
127
|
+
actor: input.actor,
|
|
128
|
+
now: input.now,
|
|
129
|
+
confirm: true,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
134
|
+
return {
|
|
135
|
+
ok: false,
|
|
136
|
+
error: 'not_approved',
|
|
137
|
+
reason: `dispatch_failed: ${message}`,
|
|
138
|
+
nextAction: 'check_dispatcher_writers_and_artifact_store',
|
|
139
|
+
approvalId: input.approvalId,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
// 5. Return structured result
|
|
143
|
+
if (dispatchDecision.decision === 'activated' || dispatchDecision.decision === 'already_activated') {
|
|
144
|
+
return {
|
|
145
|
+
ok: true,
|
|
146
|
+
decision: dispatchDecision,
|
|
147
|
+
activationId: dispatchDecision.activationId,
|
|
148
|
+
approvalId: input.approvalId,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
// The dispatch returned a non-activation decision (refused, invalid_artifact, etc.)
|
|
152
|
+
// This is not a service-level failure — the caller gets the dispatch decision.
|
|
153
|
+
return {
|
|
154
|
+
ok: true,
|
|
155
|
+
decision: dispatchDecision,
|
|
156
|
+
approvalId: input.approvalId,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=approval-completion-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-completion-service.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/approval-completion-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { InternalizationChannel } from '../internalization/peer-runner-contracts.js';
|
|
2
|
-
import type { ApprovalDecisionResult, ApprovalEnqueueInput, ApprovalFilter, ApprovalListFilter, ApprovalQueueStore, ApprovalRecord, ApprovalStats } from './activation-types.js';
|
|
2
|
+
import type { ApprovalDecisionResult, ApprovalEditInput, ApprovalEnqueueInput, ApprovalFilter, ApprovalListFilter, ApprovalQueueStore, ApprovalRecord, ApprovalStats } from './activation-types.js';
|
|
3
3
|
export declare function decideAutoPromotion(channel: InternalizationChannel, confidence: number | undefined): boolean;
|
|
4
4
|
export declare class ApprovalQueue {
|
|
5
5
|
private readonly store;
|
|
@@ -17,5 +17,11 @@ export declare class ApprovalQueue {
|
|
|
17
17
|
ok: false;
|
|
18
18
|
error: 'not_found' | 'not_approved';
|
|
19
19
|
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Story A (PRI-408): Edit a pending approval's artifact to a new version.
|
|
22
|
+
* The caller must create the new artifact and perform schema validation +
|
|
23
|
+
* sandbox replay BEFORE calling this method.
|
|
24
|
+
*/
|
|
25
|
+
edit(input: ApprovalEditInput): Promise<ApprovalDecisionResult>;
|
|
20
26
|
}
|
|
21
27
|
//# sourceMappingURL=approval-queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-queue.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/approval-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACd,MAAM,uBAAuB,CAAC;AAM/B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAK5G;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,kBAAkB;IAEhD,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAI1E,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAI3D,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI/D,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAS9F,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAS9F,OAAO,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI/D,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAIvC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"approval-queue.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/approval-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACd,MAAM,uBAAuB,CAAC;AAM/B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAK5G;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,kBAAkB;IAEhD,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAI1E,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAI3D,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI/D,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAS9F,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAS9F,OAAO,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI/D,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAIvC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CAAA;KAAE,CAAC;IAIpH;;;;OAIG;IACG,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAQtE"}
|
|
@@ -49,5 +49,19 @@ export class ApprovalQueue {
|
|
|
49
49
|
async resetToPending(approvalId) {
|
|
50
50
|
return this.store.resetToPending(approvalId);
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Story A (PRI-408): Edit a pending approval's artifact to a new version.
|
|
54
|
+
* The caller must create the new artifact and perform schema validation +
|
|
55
|
+
* sandbox replay BEFORE calling this method.
|
|
56
|
+
*/
|
|
57
|
+
async edit(input) {
|
|
58
|
+
const existing = await this.store.getById(input.approvalId);
|
|
59
|
+
if (!existing)
|
|
60
|
+
return { ok: false, error: 'not_found' };
|
|
61
|
+
if (existing.status !== 'pending') {
|
|
62
|
+
return { ok: false, error: 'already_decided', status: existing.status };
|
|
63
|
+
}
|
|
64
|
+
return this.store.edit(input);
|
|
65
|
+
}
|
|
52
66
|
}
|
|
53
67
|
//# sourceMappingURL=approval-queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-queue.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/approval-queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"approval-queue.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/approval-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type { ActivationRiskLevel, ActivationActor, RolloutActivationDecision, DispatchInput, ActivationDecision, PIArtifactSnapshot, ActivationArtifactReadModel, ActivationStatusRecord, ActivationStateReadModel, WriterInput, WriterResult, CanActivateResult, ChannelWriter, InternalizationChannel, PIArtifactKind, PIArtifactValidationStatus, ApprovalStatus, ApprovalRecord, ApprovalEnqueueInput, ApprovalFilter, ApprovalDecisionResult, ApprovalQueueStore, ConfidenceLabel, ApprovalWithContext, ApprovalListFilter, ApprovalStats, ApprovalListResult, } from './activation-types.js';
|
|
2
|
-
export { LOW_RISK_CHANNELS, HIGH_RISK_CHANNEL_MAP, makeIdempotencyKey, isLowRiskChannel, getChannelRiskLevel, AUTO_PROMOTION_CONFIDENCE_THRESHOLD, AUTO_PROMOTABLE_CHANNELS, mapConfidenceToLabel, } from './activation-types.js';
|
|
1
|
+
export type { ActivationRiskLevel, ActivationActor, RolloutActivationDecision, DispatchInput, ActivationDecision, PIArtifactSnapshot, ActivationArtifactReadModel, ActivationStatusRecord, ActivationStateReadModel, WriterInput, WriterResult, CanActivateResult, ChannelWriter, InternalizationChannel, PIArtifactKind, PIArtifactValidationStatus, ApprovalStatus, ApprovalRecord, ApprovalEnqueueInput, ApprovalFilter, ApprovalDecisionResult, ApprovalQueueStore, ConfidenceLabel, ApprovalWithContext, ApprovalListFilter, ArtifactLineageIdentity, ApprovalStats, ApprovalListResult, } from './activation-types.js';
|
|
2
|
+
export { isArtifactRevisionOf, LOW_RISK_CHANNELS, HIGH_RISK_CHANNEL_MAP, makeIdempotencyKey, isLowRiskChannel, getChannelRiskLevel, AUTO_PROMOTION_CONFIDENCE_THRESHOLD, AUTO_PROMOTABLE_CHANNELS, mapConfidenceToLabel, } from './activation-types.js';
|
|
3
3
|
export { ActivationDispatcher } from './activation-dispatcher.js';
|
|
4
4
|
export type { DispatcherConfig } from './activation-dispatcher.js';
|
|
5
5
|
export { PromptWriter, DeferArchiveWriter, extractPrincipleId, } from './low-risk-writers.js';
|
|
@@ -10,6 +10,9 @@ export { MemoryApprovalQueueStore } from './memory-approval-store.js';
|
|
|
10
10
|
export { SqliteApprovalQueueStore } from './sqlite-approval-store.js';
|
|
11
11
|
export { RuleHostWriter } from './writers/rule-host-writer.js';
|
|
12
12
|
export type { RuleHostWriterConfig } from './writers/rule-host-writer.js';
|
|
13
|
+
export { createProductionGateDeps } from './production-gate-deps.js';
|
|
14
|
+
export { ApprovalCompletionService } from './approval-completion-service.js';
|
|
15
|
+
export type { ApprovalCompletionInput, ApprovalCompletionResult } from './approval-completion-service.js';
|
|
13
16
|
export { RUNTIME_V2_PRINCIPLE_BUDGET, isRecord as isArtifactRecord, filterPromptActivations, resolvePrincipleFromArtifact, trimToBudget, renderPrinciplesToDirectives, } from './prompt-activation-reader-contract.js';
|
|
14
17
|
export type { ActivatedPrinciple, PromptActivationReaderResult, } from './prompt-activation-reader-contract.js';
|
|
15
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mCAAmC,EACnC,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mCAAmC,EACnC,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAIrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE1G,OAAO,EACL,2BAA2B,EAC3B,QAAQ,IAAI,gBAAgB,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,YAAY,EACZ,4BAA4B,GAC7B,MAAM,wCAAwC,CAAC;AAEhD,YAAY,EACV,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,wCAAwC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { LOW_RISK_CHANNELS, HIGH_RISK_CHANNEL_MAP, makeIdempotencyKey, isLowRiskChannel, getChannelRiskLevel, AUTO_PROMOTION_CONFIDENCE_THRESHOLD, AUTO_PROMOTABLE_CHANNELS, mapConfidenceToLabel, } from './activation-types.js';
|
|
1
|
+
export { isArtifactRevisionOf, LOW_RISK_CHANNELS, HIGH_RISK_CHANNEL_MAP, makeIdempotencyKey, isLowRiskChannel, getChannelRiskLevel, AUTO_PROMOTION_CONFIDENCE_THRESHOLD, AUTO_PROMOTABLE_CHANNELS, mapConfidenceToLabel, } from './activation-types.js';
|
|
2
2
|
export { ActivationDispatcher } from './activation-dispatcher.js';
|
|
3
3
|
export { PromptWriter, DeferArchiveWriter, extractPrincipleId, } from './low-risk-writers.js';
|
|
4
4
|
export { MemoryActivationStateStore, MemoryArtifactReadModel, } from './memory-activation-state-store.js';
|
|
@@ -7,5 +7,12 @@ export { ApprovalQueue, decideAutoPromotion } from './approval-queue.js';
|
|
|
7
7
|
export { MemoryApprovalQueueStore } from './memory-approval-store.js';
|
|
8
8
|
export { SqliteApprovalQueueStore } from './sqlite-approval-store.js';
|
|
9
9
|
export { RuleHostWriter } from './writers/rule-host-writer.js';
|
|
10
|
+
// Story A (PRI-408): Production gate deps factory — canonical vm-based rule
|
|
11
|
+
// compilation for RuleHostWriter gateDeps. Available to all packages that
|
|
12
|
+
// depend on @principles/core (pd-cli, pd-console, plugin).
|
|
13
|
+
export { createProductionGateDeps } from './production-gate-deps.js';
|
|
14
|
+
// Story A (PRI-408): Formal approval-completion production service.
|
|
15
|
+
// Replaces demo "approve → direct writer" with structured, idempotent path.
|
|
16
|
+
export { ApprovalCompletionService } from './approval-completion-service.js';
|
|
10
17
|
export { RUNTIME_V2_PRINCIPLE_BUDGET, isRecord as isArtifactRecord, filterPromptActivations, resolvePrincipleFromArtifact, trimToBudget, renderPrinciplesToDirectives, } from './prompt-activation-reader-contract.js';
|
|
11
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mCAAmC,EACnC,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,4EAA4E;AAC5E,0EAA0E;AAC1E,2DAA2D;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,oEAAoE;AACpE,4EAA4E;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,OAAO,EACL,2BAA2B,EAC3B,QAAQ,IAAI,gBAAgB,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,YAAY,EACZ,4BAA4B,GAC7B,MAAM,wCAAwC,CAAC"}
|
|
@@ -3,8 +3,8 @@ export declare class MemoryActivationStateStore implements ActivationStateReadMo
|
|
|
3
3
|
private readonly activations;
|
|
4
4
|
getActivationStatus(idempotencyKey: string): Promise<ActivationStatusRecord | null>;
|
|
5
5
|
recordActivation(record: ActivationStatusRecord): Promise<void>;
|
|
6
|
-
listPromptActivations(): Promise<ActivationStatusRecord[]>;
|
|
7
|
-
listCodeToolHookActivations(): Promise<ActivationStatusRecord[]>;
|
|
6
|
+
listPromptActivations(includeDeactivated?: boolean): Promise<ActivationStatusRecord[]>;
|
|
7
|
+
listCodeToolHookActivations(includeDeactivated?: boolean): Promise<ActivationStatusRecord[]>;
|
|
8
8
|
listAllActivations(): Promise<ActivationStatusRecord[]>;
|
|
9
9
|
deactivateActivation(activationId: string, deactivatedAt: string): Promise<boolean>;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-activation-state-store.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/memory-activation-state-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAE/I,qBAAa,0BAA2B,YAAW,wBAAwB;IACzE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6C;IAEnE,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAInF,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,qBAAqB,
|
|
1
|
+
{"version":3,"file":"memory-activation-state-store.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/memory-activation-state-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAE/I,qBAAa,0BAA2B,YAAW,wBAAwB;IACzE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6C;IAEnE,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAInF,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,qBAAqB,CAAC,kBAAkB,UAAQ,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAUpF,2BAA2B,CAAC,kBAAkB,UAAQ,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAU1F,kBAAkB,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAQvD,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAS1F;AAED,qBAAa,uBAAwB,YAAW,2BAA2B;IACzE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IAEnE,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIzC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CAG9E"}
|
|
@@ -6,19 +6,19 @@ export class MemoryActivationStateStore {
|
|
|
6
6
|
async recordActivation(record) {
|
|
7
7
|
this.activations.set(record.idempotencyKey, record);
|
|
8
8
|
}
|
|
9
|
-
async listPromptActivations() {
|
|
9
|
+
async listPromptActivations(includeDeactivated = false) {
|
|
10
10
|
const result = [];
|
|
11
11
|
for (const record of this.activations.values()) {
|
|
12
|
-
if (record.channel === 'prompt' && record.deactivatedAt === null) {
|
|
12
|
+
if (record.channel === 'prompt' && (includeDeactivated || record.deactivatedAt === null)) {
|
|
13
13
|
result.push(record);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
return result.sort((a, b) => a.activatedAt.localeCompare(b.activatedAt));
|
|
17
17
|
}
|
|
18
|
-
async listCodeToolHookActivations() {
|
|
18
|
+
async listCodeToolHookActivations(includeDeactivated = false) {
|
|
19
19
|
const result = [];
|
|
20
20
|
for (const record of this.activations.values()) {
|
|
21
|
-
if (record.channel === 'code_tool_hook' && record.deactivatedAt === null) {
|
|
21
|
+
if (record.channel === 'code_tool_hook' && (includeDeactivated || record.deactivatedAt === null)) {
|
|
22
22
|
result.push(record);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-activation-state-store.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/memory-activation-state-store.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,0BAA0B;IACpB,WAAW,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEzE,KAAK,CAAC,mBAAmB,CAAC,cAAsB;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAA8B;QACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"memory-activation-state-store.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/memory-activation-state-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ApprovalDecisionResult, ApprovalEnqueueInput, ApprovalFilter, ApprovalListFilter, ApprovalQueueStore, ApprovalRecord, ApprovalStats } from './activation-types.js';
|
|
1
|
+
import type { ApprovalDecisionResult, ApprovalEditInput, ApprovalEnqueueInput, ApprovalFilter, ApprovalListFilter, ApprovalQueueStore, ApprovalRecord, ApprovalStats } from './activation-types.js';
|
|
2
2
|
export declare class MemoryApprovalQueueStore implements ApprovalQueueStore {
|
|
3
3
|
private readonly records;
|
|
4
4
|
enqueue(input: ApprovalEnqueueInput, now: string): Promise<ApprovalRecord>;
|
|
@@ -14,5 +14,6 @@ export declare class MemoryApprovalQueueStore implements ApprovalQueueStore {
|
|
|
14
14
|
ok: false;
|
|
15
15
|
error: 'not_found' | 'not_approved';
|
|
16
16
|
}>;
|
|
17
|
+
edit(input: ApprovalEditInput): Promise<ApprovalDecisionResult>;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=memory-approval-store.d.ts.map
|