@okfit/mcp 0.3.0 → 0.3.1
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/README.md +3 -1
- package/index.d.ts +2 -2
- package/package.json +4 -4
- package/tools/validateBundle.js +7 -3
- package/version.js +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,9 @@ Model Context Protocol server for [okfit](https://github.com/spencerbeggs/okfit)
|
|
|
9
9
|
`@okfit/mcp` speaks MCP over stdio for one OKF bundle. It is read-only: no
|
|
10
10
|
tool or resource ever writes to the bundle, the config, or anywhere else.
|
|
11
11
|
`validate_bundle` spawns read-only `git log`/`git show` calls for one lint
|
|
12
|
-
(`generated-at-drift`)
|
|
12
|
+
(`generated-at-drift`), and only for a concept that records no
|
|
13
|
+
`generated.body_sha256` — a bundle stamped with digests needs no git at
|
|
14
|
+
all; a read is not a write, and the promise stands. Six
|
|
13
15
|
tools cover orientation, discovery, and validation; the bundle index plus
|
|
14
16
|
one resource per concept expose the bundle's own markdown to a client's
|
|
15
17
|
@-mention UI.
|
package/index.d.ts
CHANGED
|
@@ -553,7 +553,7 @@ export declare const OkfitToolkit: Toolkit.Toolkit<{
|
|
|
553
553
|
}>;
|
|
554
554
|
readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
|
|
555
555
|
readonly failureMode: "error";
|
|
556
|
-
}, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("@effected/git").Git | import("@okfit/profiles").GitHistory | import("effect/Path").Path | import("@effected/xdg").Xdg>;
|
|
556
|
+
}, import("@effected/xdg").AppDirs | import("effect/Crypto").Crypto | import("effect/FileSystem").FileSystem | import("@effected/git").Git | import("@okfit/profiles").GitHistory | import("effect/Path").Path | import("@effected/xdg").Xdg>;
|
|
557
557
|
}>;
|
|
558
558
|
/**
|
|
559
559
|
* The handler layer. `projectRoot` is closed over from the bin (N-21);
|
|
@@ -719,7 +719,7 @@ export declare const ToolsLayer: (projectRoot: string) => import("effect/Layer")
|
|
|
719
719
|
}>;
|
|
720
720
|
readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
|
|
721
721
|
readonly failureMode: "error";
|
|
722
|
-
}, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("@effected/git").Git | import("@okfit/profiles").GitHistory | import("effect/Path").Path | import("@effected/xdg").Xdg>;
|
|
722
|
+
}, import("@effected/xdg").AppDirs | import("effect/Crypto").Crypto | import("effect/FileSystem").FileSystem | import("@effected/git").Git | import("@okfit/profiles").GitHistory | import("effect/Path").Path | import("@effected/xdg").Xdg>;
|
|
723
723
|
}>, never, never>;
|
|
724
724
|
//#endregion
|
|
725
725
|
//#region src/version.d.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@okfit/mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Model Context Protocol server for okfit: query and understand Open Knowledge Format (OKF) bundles from an agent.",
|
|
6
6
|
"keywords": [
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"@effect/platform-node": "4.0.0-rc.112",
|
|
48
48
|
"@effected/git": "^0.12.0",
|
|
49
49
|
"@effected/xdg": "^0.4.1",
|
|
50
|
-
"@okfit/core": "0.
|
|
51
|
-
"@okfit/engine": "0.
|
|
52
|
-
"@okfit/profiles": "0.
|
|
50
|
+
"@okfit/core": "0.3.0",
|
|
51
|
+
"@okfit/engine": "0.2.0",
|
|
52
|
+
"@okfit/profiles": "0.3.0",
|
|
53
53
|
"effect": "4.0.0-rc.112"
|
|
54
54
|
},
|
|
55
55
|
"engines": {
|
package/tools/validateBundle.js
CHANGED
|
@@ -3,7 +3,7 @@ import { resolveConfigOnly } from "../internal/toolContext.js";
|
|
|
3
3
|
import { ValidateBundleParams } from "../schema/tools.js";
|
|
4
4
|
import { resolveNow } from "../internal/resolveNow.js";
|
|
5
5
|
import { MCP_VERSION } from "../version.js";
|
|
6
|
-
import { Effect, FileSystem, Option, Path } from "effect";
|
|
6
|
+
import { Crypto, Effect, FileSystem, Option, Path } from "effect";
|
|
7
7
|
import { OKF_SPEC_VERSION } from "@okfit/core";
|
|
8
8
|
import { Tool } from "effect/unstable/ai";
|
|
9
9
|
import { JsonEnvelope, collect, forDiagnostics, json, run } from "@okfit/engine";
|
|
@@ -25,7 +25,10 @@ const DESCRIPTION = "Runs the same conformance and lint checks as `okfit validat
|
|
|
25
25
|
* GitHistory` so it can run `Provenance.lint`'s `generated-at-drift`
|
|
26
26
|
* check (S-8, S-16). Both are provided by `server.ts`'s `ServerLayer`,
|
|
27
27
|
* which needs only `ChildProcessSpawner` to build them — already
|
|
28
|
-
* supplied by `@okfit/engine`'s `OkfitPlatform` (S-16).
|
|
28
|
+
* supplied by `@okfit/engine`'s `OkfitPlatform` (S-16). `Crypto` joined the
|
|
29
|
+
* same channel for issue #19's body-digest tier of `Provenance.lint`, and
|
|
30
|
+
* is provided the same way -- `OkfitPlatform`'s `NodeServices.layer` bundles
|
|
31
|
+
* it alongside `FileSystem`/`Path`.
|
|
29
32
|
*
|
|
30
33
|
* @public
|
|
31
34
|
*/
|
|
@@ -40,7 +43,8 @@ const validateBundle = Tool.make("validate_bundle", {
|
|
|
40
43
|
AppDirs,
|
|
41
44
|
Xdg,
|
|
42
45
|
Git,
|
|
43
|
-
GitHistory
|
|
46
|
+
GitHistory,
|
|
47
|
+
Crypto.Crypto
|
|
44
48
|
]
|
|
45
49
|
}).annotate(Tool.Title, "Validate the bundle").annotate(Tool.Readonly, true).annotate(Tool.Idempotent, true).annotate(Tool.OpenWorld, false);
|
|
46
50
|
/**
|