@devflow-tools/mcp-server 0.17.7 → 0.18.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/LICENSE +21 -0
- package/README.md +2 -2
- package/dist/command-registry.json +5 -5
- package/dist/domain-tool-registry.d.ts +3 -0
- package/dist/domain-tool-registry.d.ts.map +1 -0
- package/dist/domain-tool-registry.js +24 -0
- package/dist/domain-tool-registry.js.map +1 -0
- package/dist/enforcer/constitutional.js +1 -1
- package/dist/enforcer/constitutional.js.map +1 -1
- package/dist/enforcer/index.d.ts +2 -2
- package/dist/enforcer/index.d.ts.map +1 -1
- package/dist/enforcer/index.js +140 -49
- package/dist/enforcer/index.js.map +1 -1
- package/dist/enforcer/rule-engine.d.ts +1 -1
- package/dist/enforcer/rule-engine.d.ts.map +1 -1
- package/dist/enforcer/rule-engine.js +1 -1
- package/dist/enforcer/rule-engine.js.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/resources.d.ts +1 -1
- package/dist/resources.d.ts.map +1 -1
- package/dist/retrieval-composition.d.ts +73 -0
- package/dist/retrieval-composition.d.ts.map +1 -0
- package/dist/retrieval-composition.js +611 -0
- package/dist/retrieval-composition.js.map +1 -0
- package/dist/runtime-composition.d.ts +42 -0
- package/dist/runtime-composition.d.ts.map +1 -0
- package/dist/runtime-composition.js +93 -0
- package/dist/runtime-composition.js.map +1 -0
- package/dist/sampling-evidence-reranker.d.ts +4 -0
- package/dist/sampling-evidence-reranker.d.ts.map +1 -0
- package/dist/sampling-evidence-reranker.js +82 -0
- package/dist/sampling-evidence-reranker.js.map +1 -0
- package/dist/semantic-sampling-resolver.d.ts +7 -6
- package/dist/semantic-sampling-resolver.d.ts.map +1 -1
- package/dist/semantic-sampling-resolver.js +191 -71
- package/dist/semantic-sampling-resolver.js.map +1 -1
- package/dist/server.d.ts +2 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +15 -6
- package/dist/server.js.map +1 -1
- package/dist/task-evidence-service.d.ts +24 -0
- package/dist/task-evidence-service.d.ts.map +1 -0
- package/dist/task-evidence-service.js +202 -0
- package/dist/task-evidence-service.js.map +1 -0
- package/dist/tool-contracts.d.ts +26 -7
- package/dist/tool-contracts.d.ts.map +1 -1
- package/dist/tool-contracts.js +27 -6
- package/dist/tool-contracts.js.map +1 -1
- package/dist/tool-profile.d.ts +1 -0
- package/dist/tool-profile.d.ts.map +1 -1
- package/dist/tool-profile.js +13 -2
- package/dist/tool-profile.js.map +1 -1
- package/dist/tools.d.ts +11 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +295 -335
- package/dist/tools.js.map +1 -1
- package/package.json +34 -11
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 shilongfeicool
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @devflow-tools/mcp-server
|
|
2
2
|
|
|
3
|
-
> 通过 Model Context Protocol 暴露上下文、符号、依赖图、工作流、记忆和知识查询。(v0.17.
|
|
3
|
+
> 通过 Model Context Protocol 暴露上下文、符号、依赖图、工作流、记忆和知识查询。(v0.17.8)
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@devflow-tools/mcp-server)
|
|
6
6
|
|
|
@@ -31,7 +31,7 @@ binary `devflow-mcp`;工具包括 `get_project_context`、`search_symbol`、`g
|
|
|
31
31
|
|
|
32
32
|
## 版本与兼容性
|
|
33
33
|
|
|
34
|
-
- 当前包版本:`0.17.
|
|
34
|
+
- 当前包版本:`0.17.8`
|
|
35
35
|
- Node.js:未在 package manifest 声明更高版本时,使用 Node.js 18+;原生 SQLite/Playwright 能力请按对应依赖安装
|
|
36
36
|
- workspace 内部包应使用同一 DevFlow minor/patch 版本,避免类型和数据库 schema 不一致
|
|
37
37
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"WebFetch"
|
|
20
20
|
],
|
|
21
21
|
"source": "core",
|
|
22
|
-
"sourceVersion": "0.
|
|
22
|
+
"sourceVersion": "0.18.0",
|
|
23
23
|
"requiresContext": true,
|
|
24
24
|
"evidenceMode": "mixed",
|
|
25
25
|
"skillPath": "skills/devflow:context/SKILL.md",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"Explore"
|
|
45
45
|
],
|
|
46
46
|
"source": "core",
|
|
47
|
-
"sourceVersion": "0.
|
|
47
|
+
"sourceVersion": "0.18.0",
|
|
48
48
|
"requiresContext": true,
|
|
49
49
|
"evidenceMode": "mixed",
|
|
50
50
|
"skillPath": "skills/devflow:graph/SKILL.md",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"WebFetch"
|
|
64
64
|
],
|
|
65
65
|
"source": "core",
|
|
66
|
-
"sourceVersion": "0.
|
|
66
|
+
"sourceVersion": "0.18.0",
|
|
67
67
|
"requiresContext": true,
|
|
68
68
|
"evidenceMode": "mixed",
|
|
69
69
|
"skillPath": "skills/devflow:knowledge/SKILL.md",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"Explore"
|
|
88
88
|
],
|
|
89
89
|
"source": "core",
|
|
90
|
-
"sourceVersion": "0.
|
|
90
|
+
"sourceVersion": "0.18.0",
|
|
91
91
|
"requiresContext": true,
|
|
92
92
|
"evidenceMode": "mixed",
|
|
93
93
|
"skillPath": "skills/devflow:memory/SKILL.md",
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
],
|
|
104
104
|
"blockedNative": [],
|
|
105
105
|
"source": "core",
|
|
106
|
-
"sourceVersion": "0.
|
|
106
|
+
"sourceVersion": "0.18.0",
|
|
107
107
|
"requiresContext": true,
|
|
108
108
|
"evidenceMode": "mixed",
|
|
109
109
|
"skillPath": "skills/devflow:workflow/SKILL.md",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-tool-registry.d.ts","sourceRoot":"","sources":["../src/domain-tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAoBlF,wBAAgB,wBAAwB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAInF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { stableRuntimeHash } from '@devflow-tools/sdk';
|
|
2
|
+
const REACT_TOOLS = [
|
|
3
|
+
{
|
|
4
|
+
tool: 'react_new_component', activeSkills: ['devflow:react'], operations: ['create'], intents: ['feature'],
|
|
5
|
+
objectKinds: ['component', 'page'], targetState: 'either', requiredCapabilities: [], requiredInputs: ['componentName'],
|
|
6
|
+
verification: [{ kind: 'formatter', required: true, mode: 'check' }, { kind: 'typecheck', required: true, mode: 'check' }], registryPriority: 20,
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
tool: 'react_refactor_component', activeSkills: ['devflow:react'], operations: ['modify'], intents: ['refactor', 'feature'],
|
|
10
|
+
objectKinds: ['component', 'page'], targetState: 'existing', requiredCapabilities: [], requiredInputs: ['filePath'],
|
|
11
|
+
verification: [{ kind: 'typecheck', required: true, mode: 'check' }, { kind: 'test', required: false, mode: 'check' }], registryPriority: 10,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
tool: 'react_audit_performance', activeSkills: ['devflow:react'], operations: ['analyze'], intents: ['performance'],
|
|
15
|
+
objectKinds: ['performance'], targetState: 'either', requiredCapabilities: [], requiredInputs: ['projectRoot'],
|
|
16
|
+
verification: [], registryPriority: 30,
|
|
17
|
+
},
|
|
18
|
+
];
|
|
19
|
+
export function createDomainToolRegistry(activeSkill) {
|
|
20
|
+
const tools = activeSkill === 'devflow:react' ? REACT_TOOLS : [];
|
|
21
|
+
const body = { schemaVersion: 'domain-tool-registry.v1', version: 'mcp-domain-registry.v1', tools };
|
|
22
|
+
return { ...body, registryHash: stableRuntimeHash(body) };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=domain-tool-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-tool-registry.js","sourceRoot":"","sources":["../src/domain-tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6B,MAAM,oBAAoB,CAAC;AAElF,MAAM,WAAW,GAAkC;IACjD;QACE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC;QAC1G,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,eAAe,CAAC;QACtH,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE;KACjJ;IACD;QACE,IAAI,EAAE,0BAA0B,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QAC3H,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,UAAU,CAAC;QACnH,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE;KAC7I;IACD;QACE,IAAI,EAAE,yBAAyB,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC;QACnH,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,aAAa,CAAC;QAC9G,YAAY,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE;KACvC;CACF,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,WAAoB;IAC3D,MAAM,KAAK,GAAG,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,EAAE,aAAa,EAAE,yBAAkC,EAAE,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC;IAC7G,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_ENFORCER_RULES } from "@devflow-tools/
|
|
1
|
+
import { DEFAULT_ENFORCER_RULES } from "@devflow-tools/database";
|
|
2
2
|
/** @deprecated Defaults are seeded into SQLite; runtime evaluation reads the database only. */
|
|
3
3
|
export const CONSTITUTIONAL_RULES = DEFAULT_ENFORCER_RULES.filter((rule) => rule.gate === 1);
|
|
4
4
|
//# sourceMappingURL=constitutional.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constitutional.js","sourceRoot":"","sources":["../../src/enforcer/constitutional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"constitutional.js","sourceRoot":"","sources":["../../src/enforcer/constitutional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,+FAA+F;AAC/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC"}
|
package/dist/enforcer/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MCPContext, EnforceResult } from "./types.js";
|
|
2
|
-
import { type
|
|
2
|
+
import { type ActionAuthority, type IDataProvider } from "@devflow-tools/sdk";
|
|
3
3
|
import { issueReceipt } from "./receipt.js";
|
|
4
4
|
export declare function parseJwtPayload(token: string): Record<string, unknown> | null;
|
|
5
5
|
export type { MCPContext, EnforceResult };
|
|
@@ -14,6 +14,6 @@ export declare function enforce(toolName: string, args: Record<string, unknown>,
|
|
|
14
14
|
receipt?: ReturnType<typeof issueReceipt>;
|
|
15
15
|
resolvedArgs?: Record<string, unknown>;
|
|
16
16
|
}>;
|
|
17
|
-
export declare function
|
|
17
|
+
export declare function actionAuthorityAllowsMutation(authority: ActionAuthority | null): boolean;
|
|
18
18
|
export declare function validateWorkerContextBinding(toolName: string, args: Record<string, unknown>, sessionId?: string, executionId?: string, projectRoot?: string): string | null;
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enforcer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enforcer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAML,KAAK,eAAe,EAIpB,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAQ5C,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAU7E;AAED,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAsE3D,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC,CAoDf;AA0LD,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,IAAI,CAAC,CAyBf;AA4DD,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAQhE;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC;IACT,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,CAAC,CA+PD;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAExF;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,SAAqB,EAC9B,WAAW,SAAkC,EAC7C,WAAW,SAAuB,GACjC,MAAM,GAAG,IAAI,CAmBf"}
|
package/dist/enforcer/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { getLocalHmacSecret,
|
|
1
|
+
import { getLocalHmacSecret, canonicalToolFieldManifest, validateActionLease, validateCanonicalActionBinding, stableRuntimeHash, } from "@devflow-tools/sdk";
|
|
2
|
+
import { ActionLeaseService, TaskEventStore, TaskKernel, } from '@devflow-tools/task-runtime';
|
|
2
3
|
import { openGlobalDevFlowDatabase } from '@devflow-tools/database';
|
|
3
4
|
import { loadRules, evaluateAll } from "./rule-engine.js";
|
|
4
5
|
import { hashArgs, appendAuditEntry } from "./audit-chain.js";
|
|
@@ -6,7 +7,7 @@ import { issueReceipt } from "./receipt.js";
|
|
|
6
7
|
import { createHash } from "node:crypto";
|
|
7
8
|
import { existsSync, readFileSync } from 'node:fs';
|
|
8
9
|
import { resolve } from 'node:path';
|
|
9
|
-
import { emitSemanticControlLog } from '@devflow-tools/telemetry';
|
|
10
|
+
import { emitSemanticControlLog, SemanticRuntimeEventProjector } from '@devflow-tools/telemetry';
|
|
10
11
|
const CONTEXT_RECEIPT_TTL_MS = 30 * 60 * 1000;
|
|
11
12
|
export function parseJwtPayload(token) {
|
|
12
13
|
try {
|
|
@@ -98,6 +99,9 @@ export async function recordEnforcementOutcome(toolName, args, result, provider)
|
|
|
98
99
|
: undefined);
|
|
99
100
|
const issuedAt = Date.now();
|
|
100
101
|
const envelope = findTaskContextEnvelope(result);
|
|
102
|
+
const canonicalAction = envelope?.canonicalNextAction
|
|
103
|
+
? bindCanonicalActionLease(envelope.canonicalNextAction, envelope)
|
|
104
|
+
: undefined;
|
|
101
105
|
await provider.contextReceiptPut({
|
|
102
106
|
projectRoot: getProjectRoot(args),
|
|
103
107
|
sessionId,
|
|
@@ -108,8 +112,8 @@ export async function recordEnforcementOutcome(toolName, args, result, provider)
|
|
|
108
112
|
expiresAt: envelope?.receipt.expiresAt ?? issuedAt + CONTEXT_RECEIPT_TTL_MS,
|
|
109
113
|
selectedFiles: envelope?.code.files.map(file => file.path) ?? [],
|
|
110
114
|
memoryIds: envelope?.memory.entries.map(entry => entry.id) ?? [],
|
|
111
|
-
canonicalNextAction:
|
|
112
|
-
canonicalAction
|
|
115
|
+
canonicalNextAction: canonicalAction?.tool,
|
|
116
|
+
canonicalAction,
|
|
113
117
|
actionAttempts: [],
|
|
114
118
|
requestId: envelope?.receipt.requestId ?? envelope?.request.requestId,
|
|
115
119
|
});
|
|
@@ -141,23 +145,30 @@ function appendRuntimeActionBoundary(receipt, attempt) {
|
|
|
141
145
|
return;
|
|
142
146
|
try {
|
|
143
147
|
const succeeded = attempt.status === 'succeeded';
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
148
|
+
const active = loadActiveTaskBinding(receipt.projectRoot, receipt.sessionId, turnId);
|
|
149
|
+
if (!active)
|
|
150
|
+
throw new Error('TASK_AGGREGATE_BINDING_MISSING');
|
|
151
|
+
const database = openGlobalDevFlowDatabase(undefined, { busyTimeoutMs: 250 });
|
|
152
|
+
try {
|
|
153
|
+
new TaskKernel(new TaskEventStore(database), new SemanticRuntimeEventProjector()).dispatch({
|
|
154
|
+
definition: active.definition,
|
|
155
|
+
kind: succeeded ? 'action_completed' : 'action_failed',
|
|
156
|
+
payload: {
|
|
157
|
+
receiptId: attempt.toolUseId ?? attempt.id,
|
|
158
|
+
reasonCode: succeeded ? 'canonical_action_succeeded' : `canonical_action_${attempt.status}`,
|
|
159
|
+
tool: attempt.tool,
|
|
160
|
+
},
|
|
161
|
+
idempotencyKey: `mcp-action:${attempt.toolUseId ?? attempt.id}:${attempt.status}`,
|
|
162
|
+
producer: 'devflow-mcp-server',
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
finally {
|
|
166
|
+
database.close();
|
|
167
|
+
}
|
|
157
168
|
}
|
|
158
169
|
catch (error) {
|
|
159
170
|
emitSemanticControlLog({
|
|
160
|
-
event: '
|
|
171
|
+
event: 'hook.runtime.degraded',
|
|
161
172
|
identity: {
|
|
162
173
|
projectRoot: receipt.projectRoot,
|
|
163
174
|
sessionId: receipt.sessionId,
|
|
@@ -170,7 +181,7 @@ function appendRuntimeActionBoundary(receipt, attempt) {
|
|
|
170
181
|
data: {
|
|
171
182
|
stage: attempt.status === 'succeeded' ? 'action.succeeded' : 'action.failed',
|
|
172
183
|
reason: error instanceof Error ? error.message : String(error),
|
|
173
|
-
|
|
184
|
+
tool: 'task_kernel',
|
|
174
185
|
},
|
|
175
186
|
});
|
|
176
187
|
}
|
|
@@ -209,6 +220,101 @@ function findTaskContextEnvelope(value, depth = 0) {
|
|
|
209
220
|
}
|
|
210
221
|
return undefined;
|
|
211
222
|
}
|
|
223
|
+
function bindCanonicalActionLease(action, envelope) {
|
|
224
|
+
if (action.actionLease || !action.required || !action.binding.turnId)
|
|
225
|
+
return action;
|
|
226
|
+
if (!action.binding.domainActionPlanHash)
|
|
227
|
+
return action;
|
|
228
|
+
const active = loadActiveTaskBinding(action.binding.projectRoot, action.binding.sessionId, action.binding.turnId);
|
|
229
|
+
if (!active)
|
|
230
|
+
return action;
|
|
231
|
+
if (action.binding.queryPlanHash
|
|
232
|
+
&& action.binding.queryPlanHash !== active.context.plan.planHash)
|
|
233
|
+
return action;
|
|
234
|
+
const targets = (action.binding.operationTargets ?? []).map(target => ({
|
|
235
|
+
identityId: `target:${stableRuntimeHash({ path: target.path }).slice(0, 24)}`,
|
|
236
|
+
...target,
|
|
237
|
+
}));
|
|
238
|
+
if (targets.length === 0)
|
|
239
|
+
return action;
|
|
240
|
+
const strongEvidenceRefs = envelope.code.files.flatMap(file => {
|
|
241
|
+
const freshness = file.freshness;
|
|
242
|
+
if (file.artifactRole !== 'operation_target'
|
|
243
|
+
|| !freshness?.exists || !freshness.indexed || !freshness.current)
|
|
244
|
+
return [];
|
|
245
|
+
return [`code:${stableRuntimeHash({
|
|
246
|
+
path: file.path,
|
|
247
|
+
hash: freshness.currentHash ?? freshness.indexedHash ?? '',
|
|
248
|
+
}).slice(0, 32)}`];
|
|
249
|
+
});
|
|
250
|
+
if (strongEvidenceRefs.length === 0)
|
|
251
|
+
return action;
|
|
252
|
+
const lease = new ActionLeaseService().issue({
|
|
253
|
+
taskSpecHash: active.taskSpecHash,
|
|
254
|
+
taskDefinitionHash: active.definition.definitionHash,
|
|
255
|
+
actionAuthorityHash: active.context.actionAuthority.authorityHash,
|
|
256
|
+
channelPlanHash: active.context.plan.planHash,
|
|
257
|
+
domainActionPlanHash: action.binding.domainActionPlanHash,
|
|
258
|
+
strongEvidenceRefs,
|
|
259
|
+
fencingToken: active.snapshot.lastEventSequence + 1,
|
|
260
|
+
action,
|
|
261
|
+
manifest: canonicalToolFieldManifest(action),
|
|
262
|
+
projectRoot: action.binding.projectRoot,
|
|
263
|
+
targets,
|
|
264
|
+
});
|
|
265
|
+
const database = openGlobalDevFlowDatabase(undefined, { busyTimeoutMs: 250 });
|
|
266
|
+
try {
|
|
267
|
+
new TaskKernel(new TaskEventStore(database), new SemanticRuntimeEventProjector()).dispatch({
|
|
268
|
+
definition: active.definition,
|
|
269
|
+
kind: 'action_lease_issued',
|
|
270
|
+
payload: {
|
|
271
|
+
leaseId: lease.leaseId,
|
|
272
|
+
leaseHash: lease.leaseHash,
|
|
273
|
+
domainActionPlanHash: lease.domainActionPlanHash,
|
|
274
|
+
fencingToken: lease.fencingToken,
|
|
275
|
+
strongEvidenceRefs: lease.strongEvidenceRefs,
|
|
276
|
+
},
|
|
277
|
+
idempotencyKey: `action-lease:${lease.leaseId}`,
|
|
278
|
+
producer: 'mcp-enforcer',
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
finally {
|
|
282
|
+
database.close();
|
|
283
|
+
}
|
|
284
|
+
return { ...action, actionLease: lease };
|
|
285
|
+
}
|
|
286
|
+
function loadActiveTaskBinding(projectRoot, sessionId, turnId) {
|
|
287
|
+
if (!turnId)
|
|
288
|
+
return null;
|
|
289
|
+
const database = openGlobalDevFlowDatabase(undefined, { busyTimeoutMs: 250 });
|
|
290
|
+
try {
|
|
291
|
+
const artifact = database.listLatestTaskIntentArtifacts(projectRoot, sessionId)
|
|
292
|
+
.find(candidate => candidate.turnId === turnId);
|
|
293
|
+
if (!artifact)
|
|
294
|
+
return null;
|
|
295
|
+
const revision = artifact.version;
|
|
296
|
+
const snapshot = database.getTaskAggregateSnapshot(projectRoot, sessionId, turnId, revision);
|
|
297
|
+
if (!snapshot)
|
|
298
|
+
return null;
|
|
299
|
+
const definition = database.getTaskDefinitionV2(snapshot.taskDefinitionHash);
|
|
300
|
+
const context = database.getSemanticExecutionContext(projectRoot, sessionId, turnId, revision);
|
|
301
|
+
if (!definition || !context
|
|
302
|
+
|| context.taskDefinitionHash !== definition.definitionHash
|
|
303
|
+
|| snapshot.semanticContextHash !== context.contextHash
|
|
304
|
+
|| snapshot.semanticFactsHash !== context.facts.factsHash
|
|
305
|
+
|| snapshot.channelPlanHash !== context.plan.planHash)
|
|
306
|
+
return null;
|
|
307
|
+
return {
|
|
308
|
+
definition,
|
|
309
|
+
snapshot,
|
|
310
|
+
context,
|
|
311
|
+
taskSpecHash: artifact.artifactHash || definition.definitionHash,
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
finally {
|
|
315
|
+
database.close();
|
|
316
|
+
}
|
|
317
|
+
}
|
|
212
318
|
function isTaskContextEnvelope(value) {
|
|
213
319
|
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
214
320
|
return false;
|
|
@@ -338,11 +444,11 @@ export async function enforce(toolName, args, provider) {
|
|
|
338
444
|
}
|
|
339
445
|
if (contextReady && contextReceipt?.canonicalAction?.tool === toolName) {
|
|
340
446
|
const operationMode = contextReceipt.canonicalAction.binding.operationMode ?? 'unknown';
|
|
341
|
-
if (
|
|
342
|
-
&& ['create', 'modify', 'delete', 'debug', 'format'].includes(operationMode)) {
|
|
447
|
+
if (['create', 'modify', 'delete', 'debug', 'format'].includes(operationMode)) {
|
|
343
448
|
const turnId = contextReceipt.canonicalAction.binding.turnId;
|
|
344
|
-
const
|
|
345
|
-
|
|
449
|
+
const active = loadActiveTaskBinding(projectRoot, canonicalSessionId, turnId);
|
|
450
|
+
const authority = active?.context.actionAuthority ?? null;
|
|
451
|
+
if (!actionAuthorityAllowsMutation(authority)) {
|
|
346
452
|
const message = 'DevFlow semantic authority is unresolved or does not explicitly authorize this mutation.';
|
|
347
453
|
const rule = {
|
|
348
454
|
id: 'C007-SEMANTIC-AUTHORITY', name: 'Semantic authority', gate: 1,
|
|
@@ -355,8 +461,7 @@ export async function enforce(toolName, args, provider) {
|
|
|
355
461
|
identity: { projectRoot, sessionId: canonicalSessionId, executionId, turnId,
|
|
356
462
|
requestId: contextReceipt.requestId },
|
|
357
463
|
level: 'warn', timestamp: Date.now(),
|
|
358
|
-
data: { toolName,
|
|
359
|
-
mutationPermission: semantic?.mutationPermission ?? 'missing', reason: 'project_gate_rejected' },
|
|
464
|
+
data: { toolName, mutation: authority?.mutation ?? 'missing', reason: 'project_gate_rejected' },
|
|
360
465
|
});
|
|
361
466
|
return { result: { allowed: false, rule, message } };
|
|
362
467
|
}
|
|
@@ -364,11 +469,14 @@ export async function enforce(toolName, args, provider) {
|
|
|
364
469
|
const lease = contextReceipt.canonicalAction.actionLease;
|
|
365
470
|
const canonicalArgs = { ...contextReceipt.canonicalAction.input, ...args };
|
|
366
471
|
if (lease) {
|
|
472
|
+
const active = loadActiveTaskBinding(projectRoot, canonicalSessionId, contextReceipt.canonicalAction.binding.turnId);
|
|
367
473
|
const leaseValidation = validateActionLease({
|
|
368
474
|
lease,
|
|
369
475
|
manifest: canonicalToolFieldManifest(contextReceipt.canonicalAction),
|
|
370
476
|
authenticated: Boolean(args._devflow_token),
|
|
371
|
-
activeTaskSpecHash:
|
|
477
|
+
activeTaskSpecHash: active?.taskSpecHash ?? '',
|
|
478
|
+
activeActionAuthorityHash: active?.context.actionAuthority.authorityHash ?? '',
|
|
479
|
+
activeDomainActionPlanHash: contextReceipt.canonicalAction.binding.domainActionPlanHash ?? '',
|
|
372
480
|
projectRoot,
|
|
373
481
|
toolName,
|
|
374
482
|
operationMode: contextReceipt.canonicalAction.binding.operationMode ?? 'unknown',
|
|
@@ -383,6 +491,10 @@ export async function enforce(toolName, args, provider) {
|
|
|
383
491
|
...(exists ? { contentHash: createHash('sha256').update(readFileSync(path)).digest('hex') } : {}),
|
|
384
492
|
};
|
|
385
493
|
}),
|
|
494
|
+
...(active ? {
|
|
495
|
+
activeTaskDefinitionHash: active.definition.definitionHash,
|
|
496
|
+
activeChannelPlanHash: active.context.plan.planHash,
|
|
497
|
+
} : {}),
|
|
386
498
|
});
|
|
387
499
|
if (!leaseValidation.valid) {
|
|
388
500
|
const message = `DevFlow Action Lease rejected the canonical action: ${leaseValidation.reason}. Refresh context before retrying.`;
|
|
@@ -546,29 +658,8 @@ export async function enforce(toolName, args, provider) {
|
|
|
546
658
|
const receipt = issueReceipt(toolName, args, secret);
|
|
547
659
|
return { result: { allowed: true }, receipt, resolvedArgs };
|
|
548
660
|
}
|
|
549
|
-
export function
|
|
550
|
-
return
|
|
551
|
-
}
|
|
552
|
-
function loadLatestSemanticFrame(projectRoot, sessionId, turnId) {
|
|
553
|
-
const database = openGlobalDevFlowDatabase(undefined, { busyTimeoutMs: 100 });
|
|
554
|
-
try {
|
|
555
|
-
const record = database.getLatestSemanticResolution(projectRoot, sessionId, turnId);
|
|
556
|
-
if (!record)
|
|
557
|
-
return null;
|
|
558
|
-
const artifact = database.getTaskIntentArtifact(record.artifactHash);
|
|
559
|
-
if (!artifact)
|
|
560
|
-
return null;
|
|
561
|
-
try {
|
|
562
|
-
assertTaskSemanticFrameV2(record.frame, artifact.normalizedPrompt);
|
|
563
|
-
return record.frame;
|
|
564
|
-
}
|
|
565
|
-
catch {
|
|
566
|
-
return null;
|
|
567
|
-
}
|
|
568
|
-
}
|
|
569
|
-
finally {
|
|
570
|
-
database.close();
|
|
571
|
-
}
|
|
661
|
+
export function actionAuthorityAllowsMutation(authority) {
|
|
662
|
+
return authority?.mutation === 'authorized';
|
|
572
663
|
}
|
|
573
664
|
export function validateWorkerContextBinding(toolName, args, sessionId = getSessionId(args), executionId = getExecutionId(args, sessionId), projectRoot = getProjectRoot(args)) {
|
|
574
665
|
const workerId = args._devflow_worker_id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enforcer/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enforcer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Rule, Decision, MCPContext } from "./types.js";
|
|
2
|
-
import {
|
|
2
|
+
import type { IDataProvider } from "@devflow-tools/sdk";
|
|
3
3
|
export declare function loadRules(provider: IDataProvider): Promise<Rule[]>;
|
|
4
4
|
export declare function evaluateRule(rule: Rule, ctx: MCPContext): Decision;
|
|
5
5
|
export declare function evaluateAll(rules: Rule[], ctx: MCPContext): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/enforcer/rule-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAiB,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,
|
|
1
|
+
{"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/enforcer/rule-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAiB,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAGxE;AA8BD,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,GAAG,QAAQ,CAuElE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,CAc/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/enforcer/rule-engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/enforcer/rule-engine.ts"],"names":[],"mappings":"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"}
|