@devflow-tools/mcp-server 0.17.8 → 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.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/dist/command-registry.json +5 -5
  3. package/dist/domain-tool-registry.d.ts +3 -0
  4. package/dist/domain-tool-registry.d.ts.map +1 -0
  5. package/dist/domain-tool-registry.js +24 -0
  6. package/dist/domain-tool-registry.js.map +1 -0
  7. package/dist/enforcer/constitutional.js +1 -1
  8. package/dist/enforcer/constitutional.js.map +1 -1
  9. package/dist/enforcer/index.d.ts +2 -2
  10. package/dist/enforcer/index.d.ts.map +1 -1
  11. package/dist/enforcer/index.js +140 -49
  12. package/dist/enforcer/index.js.map +1 -1
  13. package/dist/enforcer/rule-engine.d.ts +1 -1
  14. package/dist/enforcer/rule-engine.d.ts.map +1 -1
  15. package/dist/enforcer/rule-engine.js +1 -1
  16. package/dist/enforcer/rule-engine.js.map +1 -1
  17. package/dist/index.js +8 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/resources.d.ts +1 -1
  20. package/dist/resources.d.ts.map +1 -1
  21. package/dist/retrieval-composition.d.ts +73 -0
  22. package/dist/retrieval-composition.d.ts.map +1 -0
  23. package/dist/retrieval-composition.js +611 -0
  24. package/dist/retrieval-composition.js.map +1 -0
  25. package/dist/runtime-composition.d.ts +42 -0
  26. package/dist/runtime-composition.d.ts.map +1 -0
  27. package/dist/runtime-composition.js +93 -0
  28. package/dist/runtime-composition.js.map +1 -0
  29. package/dist/sampling-evidence-reranker.d.ts +4 -0
  30. package/dist/sampling-evidence-reranker.d.ts.map +1 -0
  31. package/dist/sampling-evidence-reranker.js +82 -0
  32. package/dist/sampling-evidence-reranker.js.map +1 -0
  33. package/dist/semantic-sampling-resolver.d.ts +7 -6
  34. package/dist/semantic-sampling-resolver.d.ts.map +1 -1
  35. package/dist/semantic-sampling-resolver.js +191 -71
  36. package/dist/semantic-sampling-resolver.js.map +1 -1
  37. package/dist/server.d.ts +2 -1
  38. package/dist/server.d.ts.map +1 -1
  39. package/dist/server.js +15 -6
  40. package/dist/server.js.map +1 -1
  41. package/dist/task-evidence-service.d.ts +24 -0
  42. package/dist/task-evidence-service.d.ts.map +1 -0
  43. package/dist/task-evidence-service.js +202 -0
  44. package/dist/task-evidence-service.js.map +1 -0
  45. package/dist/tool-contracts.d.ts +26 -7
  46. package/dist/tool-contracts.d.ts.map +1 -1
  47. package/dist/tool-contracts.js +27 -6
  48. package/dist/tool-contracts.js.map +1 -1
  49. package/dist/tool-profile.d.ts +1 -0
  50. package/dist/tool-profile.d.ts.map +1 -1
  51. package/dist/tool-profile.js +13 -2
  52. package/dist/tool-profile.js.map +1 -1
  53. package/dist/tools.d.ts +11 -2
  54. package/dist/tools.d.ts.map +1 -1
  55. package/dist/tools.js +295 -335
  56. package/dist/tools.js.map +1 -1
  57. 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.
@@ -19,7 +19,7 @@
19
19
  "WebFetch"
20
20
  ],
21
21
  "source": "core",
22
- "sourceVersion": "0.17.7",
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.17.7",
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.17.7",
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.17.7",
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.17.7",
106
+ "sourceVersion": "0.18.0",
107
107
  "requiresContext": true,
108
108
  "evidenceMode": "mixed",
109
109
  "skillPath": "skills/devflow:workflow/SKILL.md",
@@ -0,0 +1,3 @@
1
+ import { type DomainToolRegistryV1 } from '@devflow-tools/sdk';
2
+ export declare function createDomainToolRegistry(activeSkill?: string): DomainToolRegistryV1;
3
+ //# sourceMappingURL=domain-tool-registry.d.ts.map
@@ -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/sdk";
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,oBAAoB,CAAC;AAE5D,+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"}
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"}
@@ -1,5 +1,5 @@
1
1
  import type { MCPContext, EnforceResult } from "./types.js";
2
- import { type TaskSemanticFrameV2, type IDataProvider } from "@devflow-tools/sdk";
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 semanticAuthorityAllowsMutation(frame: TaskSemanticFrameV2 | null): boolean;
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,EAQL,KAAK,mBAAmB,EAGxB,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAI5B,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,CAiDf;AAiFD,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,CAqPD;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,OAAO,CAE1F;AAwBD,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"}
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"}
@@ -1,4 +1,5 @@
1
- import { getLocalHmacSecret, appendTaskRuntimeBoundaryForTask, canonicalToolFieldManifest, validateActionLease, validateCanonicalActionBinding, assertTaskSemanticFrameV2, resolveSemanticResolutionMode, } from "@devflow-tools/sdk";
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: envelope?.canonicalNextAction?.tool,
112
- canonicalAction: envelope?.canonicalNextAction,
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
- appendTaskRuntimeBoundaryForTask({
145
- projectRoot: receipt.projectRoot,
146
- sessionId: receipt.sessionId,
147
- turnId,
148
- kind: succeeded ? 'action.succeeded' : 'action.failed',
149
- payload: {
150
- receiptId: attempt.toolUseId ?? attempt.id,
151
- reasonCode: succeeded ? 'canonical_action_succeeded' : `canonical_action_${attempt.status}`,
152
- tool: attempt.tool,
153
- },
154
- dedupeKey: `${attempt.toolUseId ?? attempt.tool}:${succeeded ? 'succeeded' : attempt.status}`,
155
- producer: 'devflow-mcp-server',
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: 'task.runtime.shadow_mismatch',
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
- authority: 'legacy',
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 (resolveSemanticResolutionMode(projectRoot) === 'project'
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 semantic = turnId ? loadLatestSemanticFrame(projectRoot, canonicalSessionId, turnId) : null;
345
- if (!semanticAuthorityAllowsMutation(semantic)) {
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, state: semantic?.state ?? 'missing',
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: lease.taskSpecHash,
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 semanticAuthorityAllowsMutation(frame) {
550
- return frame?.state === 'resolved' && frame.mutationPermission === 'explicitly_authorized';
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 { type IDataProvider } from "@devflow-tools/sdk";
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,EAA4B,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIlF,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
+ {"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,4 +1,4 @@
1
- import { seedDefaultEnforcerRules } from "@devflow-tools/sdk";
1
+ import { seedDefaultEnforcerRules } from "@devflow-tools/database";
2
2
  const rateCounters = new Map();
3
3
  export async function loadRules(provider) {
4
4
  await seedDefaultEnforcerRules(provider);
@@ -1 +1 @@
1
- {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/enforcer/rule-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/enforcer/rule-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8C,CAAC;AAE3E,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAuB;IACrD,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,OAAO,CAAC,KAAc,EAAE,IAAY;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAU,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACtD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC9D,OAAQ,OAAmC,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc,EAAE,SAAoB,EAAE,EAAE,KAAK,GAAG,CAAC;IAC5E,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,KAAK;YAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;SAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC,EAAE,CAAC;YACpE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,IAAU,EAAE,QAAgB;IAC/C,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/C,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3G,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAU,EAAE,GAAe;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5B,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACnD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,cAAc,CACnD,CAAC;IAEF,cAAc;IACd,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAEtE,wBAAwB;IACxB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QACjE,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClE,OAAO,IAAI,CAAC,MAAM,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,OAAO;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IAClF,CAAC;IAED,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mBAAmB;IACnB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC;YAC5C,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IAC/D,CAAC;IAED,OAAO,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,GAAe;IACxD,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,EAAE,cAAc,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,IAAI,YAA8B,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,QAAQ,KAAK,MAAM;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnD,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,IAAI,CAAC;IAChE,CAAC;IACD,IAAI,YAAY;QAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAClE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC"}
package/dist/index.js CHANGED
@@ -8,7 +8,14 @@ console.info = console.error.bind(console);
8
8
  console.debug = console.error.bind(console);
9
9
  async function main() {
10
10
  const projectRoot = process.env.DEVFLOW_PROJECT_ROOT || process.cwd();
11
- await startServer({ mode: "stdio", projectRoot });
11
+ const toolsIndex = process.argv.indexOf("--tools");
12
+ const toolsValue = toolsIndex >= 0 ? process.argv[toolsIndex + 1] : undefined;
13
+ if (toolsIndex >= 0 && !toolsValue?.trim())
14
+ throw new Error("MCP_TOOL_SURFACE_EMPTY");
15
+ const allowedToolNames = toolsValue
16
+ ? new Set(toolsValue.split(",").map(value => value.trim()).filter(Boolean))
17
+ : undefined;
18
+ await startServer({ mode: "stdio", projectRoot, allowedToolNames });
12
19
  }
13
20
  main().catch((err) => {
14
21
  console.error("MCP Server error:", err);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,4EAA4E;AAC5E,4EAA4E;AAC5E,8CAA8C;AAC9C,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE5C,KAAK,UAAU,IAAI;IACjB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtE,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,4EAA4E;AAC5E,4EAA4E;AAC5E,8CAA8C;AAC9C,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE5C,KAAK,UAAU,IAAI;IACjB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACtF,MAAM,gBAAgB,GAAG,UAAU;QACjC,CAAC,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}