@devflow-tools/delivery-line 0.18.10 → 0.18.12
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/artifacts/artifact-contract.d.ts +28 -0
- package/dist/artifacts/artifact-contract.d.ts.map +1 -0
- package/dist/artifacts/artifact-contract.js +54 -0
- package/dist/artifacts/artifact-contract.js.map +1 -0
- package/dist/artifacts/git-artifact-store.d.ts +5 -0
- package/dist/artifacts/git-artifact-store.d.ts.map +1 -1
- package/dist/artifacts/git-artifact-store.js +27 -4
- package/dist/artifacts/git-artifact-store.js.map +1 -1
- package/dist/composition.d.ts.map +1 -1
- package/dist/composition.js +2 -0
- package/dist/composition.js.map +1 -1
- package/dist/domain/state-machine.d.ts.map +1 -1
- package/dist/domain/state-machine.js +13 -1
- package/dist/domain/state-machine.js.map +1 -1
- package/dist/domain/types.d.ts +22 -7
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/domain/types.js.map +1 -1
- package/dist/facade/delivery-line-facade.d.ts +12 -1
- package/dist/facade/delivery-line-facade.d.ts.map +1 -1
- package/dist/facade/delivery-line-facade.js +130 -23
- package/dist/facade/delivery-line-facade.js.map +1 -1
- 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/index.d.ts +15 -1
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/runtime/change-authority.d.ts +15 -0
- package/dist/runtime/change-authority.d.ts.map +1 -0
- package/dist/runtime/change-authority.js +23 -0
- package/dist/runtime/change-authority.js.map +1 -0
- package/dist/runtime/context-binder.d.ts +13 -1
- package/dist/runtime/context-binder.d.ts.map +1 -1
- package/dist/runtime/context-binder.js +37 -5
- package/dist/runtime/context-binder.js.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-authority.js","sourceRoot":"","sources":["../../src/runtime/change-authority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,MAAM,OAAO,yBAAyB;IACpC,KAAK,CAAC,OAAO,CAAC,KAAuI;QACnJ,MAAM,GAAG,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,iBAAiB,WAAW,CAAC,CAAC,CAAC;YACxF,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAC/F,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAAE,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,EAAE,8CAA8C,CAAC,CAAC;YACjL,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,iBAAiB;gBAAE,MAAM,KAAK,CAAC;YACpD,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,EAAE,yDAAyD,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type ContextRole = 'clarifier' | 'designer' | 'planner' | 'implementer' | 'reviewer';
|
|
1
|
+
export type ContextRole = 'clarifier' | 'designer' | 'planner' | 'implementer' | 'verifier' | 'reviewer';
|
|
2
2
|
export interface ContextSourceRef {
|
|
3
3
|
channel: 'code' | 'memory' | 'knowledge';
|
|
4
4
|
stableRef: string;
|
|
@@ -10,6 +10,7 @@ export interface ContextGap {
|
|
|
10
10
|
reason: string;
|
|
11
11
|
resolver: string;
|
|
12
12
|
}
|
|
13
|
+
export type ContextChannelStatus = 'authoritative' | 'degraded' | 'unavailable';
|
|
13
14
|
export interface DeliveryContextReceipt {
|
|
14
15
|
receiptId: string;
|
|
15
16
|
receiptHash: string;
|
|
@@ -19,6 +20,12 @@ export interface DeliveryContextReceipt {
|
|
|
19
20
|
permissionSnapshotHash: string;
|
|
20
21
|
artifactHashes: string[];
|
|
21
22
|
blocking: boolean;
|
|
23
|
+
channelStatus: Record<'code' | 'memory' | 'knowledge', ContextChannelStatus>;
|
|
24
|
+
attribution: {
|
|
25
|
+
selected: string[];
|
|
26
|
+
consumed: string[];
|
|
27
|
+
verified: string[];
|
|
28
|
+
};
|
|
22
29
|
createdAt: number;
|
|
23
30
|
}
|
|
24
31
|
export interface ContextRetrievalResult {
|
|
@@ -27,6 +34,11 @@ export interface ContextRetrievalResult {
|
|
|
27
34
|
contextHash: string;
|
|
28
35
|
sourceRefs?: ContextSourceRef[];
|
|
29
36
|
gaps?: ContextGap[];
|
|
37
|
+
attribution?: {
|
|
38
|
+
selected?: string[];
|
|
39
|
+
consumed?: string[];
|
|
40
|
+
verified?: string[];
|
|
41
|
+
};
|
|
30
42
|
};
|
|
31
43
|
}
|
|
32
44
|
export interface ContextRetrievalPort {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-binder.d.ts","sourceRoot":"","sources":["../../src/runtime/context-binder.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"context-binder.d.ts","sourceRoot":"","sources":["../../src/runtime/context-binder.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;AACzG,MAAM,WAAW,gBAAgB;IAAG,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAC1I,MAAM,WAAW,UAAU;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACjF,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,UAAU,GAAG,aAAa,CAAC;AAChF,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC7E,WAAW,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CAC5L;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,WAAW,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,oBAAoB;IAEtD,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAqCvE"}
|
|
@@ -9,18 +9,50 @@ export class ContextBinder {
|
|
|
9
9
|
const result = await this.retrieval.retrieve({ ...input.retrieval, role: input.role });
|
|
10
10
|
const sourceRefs = result.receipt.sourceRefs ?? [];
|
|
11
11
|
const gaps = result.receipt.gaps ?? [];
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
const requiredChannels = requiredChannelsFor(input.role);
|
|
13
|
+
const missingRequired = requiredChannels.filter(channel => !sourceRefs.some(source => source.channel === channel));
|
|
14
|
+
const failedRequired = requiredChannels.filter(channel => gaps.some(gap => gap.channel === channel && (gap.resolver === 'required' || /producer_exception|stale|unavailable/i.test(gap.reason))));
|
|
15
|
+
if (missingRequired.length > 0 || failedRequired.length > 0 || gaps.some(gap => gap.resolver === 'required')) {
|
|
16
|
+
const channels = [...new Set([...missingRequired, ...failedRequired])].join(', ');
|
|
17
|
+
throw new DeliveryLineError('REQUIRED_CONTEXT_MISSING', `required context evidence is missing or unavailable: ${channels || 'unknown'}`);
|
|
18
|
+
}
|
|
15
19
|
const payload = { receiptId: result.receipt.receiptId, contextHash: result.receipt.contextHash, sourceRefs, gaps };
|
|
20
|
+
const channels = ['code', 'memory', 'knowledge'];
|
|
21
|
+
const channelStatus = Object.fromEntries(channels.map(channel => {
|
|
22
|
+
const hasSource = sourceRefs.some(source => source.channel === channel);
|
|
23
|
+
const channelGaps = gaps.filter(gap => gap.channel === channel);
|
|
24
|
+
const hasProducerException = channelGaps.some(gap => /producer_exception/i.test(gap.reason));
|
|
25
|
+
return [channel, hasSource ? 'authoritative' : hasProducerException ? 'unavailable' : channelGaps.length > 0 ? 'degraded' : 'unavailable'];
|
|
26
|
+
}));
|
|
27
|
+
const selected = result.receipt.attribution?.selected ?? sourceRefs.map(source => source.stableRef);
|
|
28
|
+
const consumed = result.receipt.attribution?.consumed ?? [];
|
|
29
|
+
const verified = result.receipt.attribution?.verified ?? [];
|
|
30
|
+
const attributionIncomplete = ['planner', 'implementer', 'verifier', 'reviewer'].includes(input.role)
|
|
31
|
+
&& selected.length > 0 && consumed.length === 0;
|
|
32
|
+
if (attributionIncomplete)
|
|
33
|
+
throw new DeliveryLineError('REQUIRED_CONTEXT_MISSING', 'context sources were selected but none were consumed or verified');
|
|
34
|
+
const receiptBody = { ...payload, channelStatus, attribution: { selected, consumed, verified } };
|
|
16
35
|
return {
|
|
17
36
|
...payload,
|
|
18
|
-
receiptHash: createHash('sha256').update(JSON.stringify(
|
|
37
|
+
receiptHash: createHash('sha256').update(JSON.stringify(receiptBody)).digest('hex'),
|
|
19
38
|
permissionSnapshotHash: createHash('sha256').update('delivery-context-permission-v1').digest('hex'),
|
|
20
39
|
artifactHashes: [],
|
|
21
|
-
blocking:
|
|
40
|
+
blocking: requiredChannels.some(channel => channelStatus[channel] !== 'authoritative') || attributionIncomplete,
|
|
41
|
+
channelStatus,
|
|
42
|
+
attribution: { selected, consumed, verified },
|
|
22
43
|
createdAt: Date.now(),
|
|
23
44
|
};
|
|
24
45
|
}
|
|
25
46
|
}
|
|
47
|
+
function requiredChannelsFor(role) {
|
|
48
|
+
if (role === 'clarifier')
|
|
49
|
+
return [];
|
|
50
|
+
if (role === 'planner')
|
|
51
|
+
return ['code', 'memory', 'knowledge'];
|
|
52
|
+
if (role === 'reviewer')
|
|
53
|
+
return ['code', 'knowledge'];
|
|
54
|
+
if (role === 'verifier')
|
|
55
|
+
return ['code'];
|
|
56
|
+
return ['code'];
|
|
57
|
+
}
|
|
26
58
|
//# sourceMappingURL=context-binder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-binder.js","sourceRoot":"","sources":["../../src/runtime/context-binder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"context-binder.js","sourceRoot":"","sources":["../../src/runtime/context-binder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/delivery-line",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.12",
|
|
4
4
|
"description": "Auditable, host-neutral delivery orchestration from requirements to verified integration artifacts.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"vitest": "^2.0.0"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@devflow-tools/sdk": "0.18.
|
|
33
|
-
"@devflow-tools/workflow-engine": "0.18.
|
|
32
|
+
"@devflow-tools/sdk": "0.18.12",
|
|
33
|
+
"@devflow-tools/workflow-engine": "0.18.12"
|
|
34
34
|
},
|
|
35
35
|
"files": [
|
|
36
36
|
"dist",
|
|
@@ -40,5 +40,6 @@
|
|
|
40
40
|
"private": false,
|
|
41
41
|
"publishConfig": {
|
|
42
42
|
"access": "public"
|
|
43
|
-
}
|
|
43
|
+
},
|
|
44
|
+
"gitHead": "4bef753de830e4e881bd150c9b090ab0953139c1"
|
|
44
45
|
}
|