@okfit/mcp 0.6.1 → 0.6.3

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/index.d.ts CHANGED
@@ -3,8 +3,8 @@ import { FileSystem, Layer, Path, Schema, Stdio } from "effect";
3
3
  import { AppDirs, Xdg } from "@effected/xdg";
4
4
  import { LoadedConcept } from "@okfit/core";
5
5
  import { Distribution } from "@okfit/engine";
6
- import { ChildProcessSpawner } from "effect/unstable/process";
7
- import { Toolkit } from "effect/unstable/ai";
6
+ import { ChildProcessSpawner } from "effect/process";
7
+ import { Toolkit } from "effect/ai";
8
8
  //#region src/errors.d.ts
9
9
  declare const ConfigError_base: Schema.Class<ConfigError, Schema.TaggedStruct<"ConfigError", {
10
10
  readonly message: Schema.String;
@@ -87,7 +87,7 @@ export type McpToolError = typeof McpToolError.Type;
87
87
  * Amends N-19 and contract §6.1 (Ruling, task C4): a `McpServer.resource`
88
88
  * URI **template** routes a `McpSchema.param` through a single path
89
89
  * segment only — `FindMyWay`'s parametric matcher stops a param at the
90
- * next `/` (`.repos/effect/packages/effect/src/unstable/http/FindMyWay/internal/router.ts:355-360`),
90
+ * next `/` (`.repos/effect/packages/effect/src/http/FindMyWay/internal/router.ts:460-463`),
91
91
  * and every non-root OKF concept id nests under a type directory (D-12),
92
92
  * e.g. `metrics/revenue`. A templated `okf://concept/{id}` therefore never
93
93
  * routes a real bundle id. Static per-concept resources sidestep the
@@ -107,7 +107,7 @@ export type McpToolError = typeof McpToolError.Type;
107
107
  *
108
108
  * `content` builds the full `ReadResourceResult` itself, `mimeType`
109
109
  * included, rather than returning a bare string: verified against source
110
- * (`resolveResourceContent`, `unstable/ai/McpServer.ts:2324-2343`), a bare
110
+ * (`resolveResourceContent`, `ai/McpServer.ts:2556-2576`), a bare
111
111
  * string is wrapped as `{ contents: [{ uri, text }] }` with no `mimeType`
112
112
  * at all — the declared `mimeType` option only documents the resource in
113
113
  * `resources/list`, it is never merged into a `resources/read` response.
@@ -135,7 +135,7 @@ export declare const ConceptResources: (projectRoot: string) => Layer.Layer<neve
135
135
  *
136
136
  * `content` builds the full `ReadResourceResult` itself, `mimeType`
137
137
  * included, rather than returning a bare string: verified against source
138
- * (`resolveResourceContent`, `unstable/ai/McpServer.ts:2324-2343`), a bare
138
+ * (`resolveResourceContent`, `ai/McpServer.ts:2556-2576`), a bare
139
139
  * string is wrapped as `{ contents: [{ uri, text }] }` with no `mimeType`
140
140
  * at all — the declared `mimeType` option only documents the resource in
141
141
  * `resources/list`, it is never merged into a `resources/read` response.
@@ -409,7 +409,7 @@ export declare const ServerLayer: (projectRoot: string, options?: ServerOptions)
409
409
  * @public
410
410
  */
411
411
  export declare const OkfitToolkit: Toolkit.Toolkit<{
412
- readonly concept_neighbors: import("effect/unstable/ai/Tool").Tool<"concept_neighbors", {
412
+ readonly concept_neighbors: import("effect/ai/Tool").Tool<"concept_neighbors", {
413
413
  readonly parameters: import("effect/Schema").Struct<{
414
414
  readonly id: import("effect/Schema").String;
415
415
  }>;
@@ -444,8 +444,8 @@ export declare const OkfitToolkit: Toolkit.Toolkit<{
444
444
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
445
445
  readonly failureMode: "error";
446
446
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
447
- readonly describe_vocabulary: import("effect/unstable/ai/Tool").Tool<"describe_vocabulary", {
448
- readonly parameters: import("effect/unstable/ai/Tool").EmptyParams;
447
+ readonly describe_vocabulary: import("effect/ai/Tool").Tool<"describe_vocabulary", {
448
+ readonly parameters: import("effect/ai/Tool").EmptyParams;
449
449
  readonly success: import("effect/Schema").Struct<{
450
450
  readonly project_root: import("effect/Schema").String;
451
451
  readonly bundle_root: import("effect/Schema").String;
@@ -477,7 +477,7 @@ export declare const OkfitToolkit: Toolkit.Toolkit<{
477
477
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
478
478
  readonly failureMode: "error";
479
479
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
480
- readonly get_concept: import("effect/unstable/ai/Tool").Tool<"get_concept", {
480
+ readonly get_concept: import("effect/ai/Tool").Tool<"get_concept", {
481
481
  readonly parameters: import("effect/Schema").Struct<{
482
482
  readonly id: import("effect/Schema").String;
483
483
  }>;
@@ -501,7 +501,7 @@ export declare const OkfitToolkit: Toolkit.Toolkit<{
501
501
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
502
502
  readonly failureMode: "error";
503
503
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
504
- readonly list_concepts: import("effect/unstable/ai/Tool").Tool<"list_concepts", {
504
+ readonly list_concepts: import("effect/ai/Tool").Tool<"list_concepts", {
505
505
  readonly parameters: import("effect/Schema").Struct<{
506
506
  readonly type: import("effect/Schema").optionalKey<import("effect/Schema").String>;
507
507
  readonly tags: import("effect/Schema").optionalKey<import("effect/Schema").$Array<import("effect/Schema").String>>;
@@ -524,7 +524,7 @@ export declare const OkfitToolkit: Toolkit.Toolkit<{
524
524
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
525
525
  readonly failureMode: "error";
526
526
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
527
- readonly stale_report: import("effect/unstable/ai/Tool").Tool<"stale_report", {
527
+ readonly stale_report: import("effect/ai/Tool").Tool<"stale_report", {
528
528
  readonly parameters: import("effect/Schema").Struct<{
529
529
  readonly now: import("effect/Schema").optionalKey<import("effect/Schema").String>;
530
530
  }>;
@@ -547,7 +547,7 @@ export declare const OkfitToolkit: Toolkit.Toolkit<{
547
547
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
548
548
  readonly failureMode: "error";
549
549
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
550
- readonly validate_bundle: import("effect/unstable/ai/Tool").Tool<"validate_bundle", {
550
+ readonly validate_bundle: import("effect/ai/Tool").Tool<"validate_bundle", {
551
551
  readonly parameters: import("effect/Schema").Struct<{
552
552
  readonly now: import("effect/Schema").optionalKey<import("effect/Schema").String>;
553
553
  readonly documents: import("effect/Schema").optionalKey<import("effect/Schema").$Array<import("effect/Schema").Struct<{
@@ -598,8 +598,8 @@ export declare const OkfitToolkit: Toolkit.Toolkit<{
598
598
  *
599
599
  * @public
600
600
  */
601
- export declare const ToolsLayer: (projectRoot: string, distribution?: Distribution) => import("effect/Layer").Layer<import("effect/unstable/ai/Tool").HandlersFor<{
602
- readonly concept_neighbors: import("effect/unstable/ai/Tool").Tool<"concept_neighbors", {
601
+ export declare const ToolsLayer: (projectRoot: string, distribution?: Distribution) => import("effect/Layer").Layer<import("effect/ai/Tool").HandlersFor<{
602
+ readonly concept_neighbors: import("effect/ai/Tool").Tool<"concept_neighbors", {
603
603
  readonly parameters: import("effect/Schema").Struct<{
604
604
  readonly id: import("effect/Schema").String;
605
605
  }>;
@@ -634,8 +634,8 @@ export declare const ToolsLayer: (projectRoot: string, distribution?: Distributi
634
634
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
635
635
  readonly failureMode: "error";
636
636
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
637
- readonly describe_vocabulary: import("effect/unstable/ai/Tool").Tool<"describe_vocabulary", {
638
- readonly parameters: import("effect/unstable/ai/Tool").EmptyParams;
637
+ readonly describe_vocabulary: import("effect/ai/Tool").Tool<"describe_vocabulary", {
638
+ readonly parameters: import("effect/ai/Tool").EmptyParams;
639
639
  readonly success: import("effect/Schema").Struct<{
640
640
  readonly project_root: import("effect/Schema").String;
641
641
  readonly bundle_root: import("effect/Schema").String;
@@ -667,7 +667,7 @@ export declare const ToolsLayer: (projectRoot: string, distribution?: Distributi
667
667
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
668
668
  readonly failureMode: "error";
669
669
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
670
- readonly get_concept: import("effect/unstable/ai/Tool").Tool<"get_concept", {
670
+ readonly get_concept: import("effect/ai/Tool").Tool<"get_concept", {
671
671
  readonly parameters: import("effect/Schema").Struct<{
672
672
  readonly id: import("effect/Schema").String;
673
673
  }>;
@@ -691,7 +691,7 @@ export declare const ToolsLayer: (projectRoot: string, distribution?: Distributi
691
691
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
692
692
  readonly failureMode: "error";
693
693
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
694
- readonly list_concepts: import("effect/unstable/ai/Tool").Tool<"list_concepts", {
694
+ readonly list_concepts: import("effect/ai/Tool").Tool<"list_concepts", {
695
695
  readonly parameters: import("effect/Schema").Struct<{
696
696
  readonly type: import("effect/Schema").optionalKey<import("effect/Schema").String>;
697
697
  readonly tags: import("effect/Schema").optionalKey<import("effect/Schema").$Array<import("effect/Schema").String>>;
@@ -714,7 +714,7 @@ export declare const ToolsLayer: (projectRoot: string, distribution?: Distributi
714
714
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
715
715
  readonly failureMode: "error";
716
716
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
717
- readonly stale_report: import("effect/unstable/ai/Tool").Tool<"stale_report", {
717
+ readonly stale_report: import("effect/ai/Tool").Tool<"stale_report", {
718
718
  readonly parameters: import("effect/Schema").Struct<{
719
719
  readonly now: import("effect/Schema").optionalKey<import("effect/Schema").String>;
720
720
  }>;
@@ -737,7 +737,7 @@ export declare const ToolsLayer: (projectRoot: string, distribution?: Distributi
737
737
  readonly failure: import("effect/Schema").Union<readonly [typeof ConfigError, typeof BundleNotFound, typeof ConceptNotFound, typeof UnknownVocabulary, typeof InvalidArgument]>;
738
738
  readonly failureMode: "error";
739
739
  }, import("@effected/xdg").AppDirs | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("@effected/xdg").Xdg>;
740
- readonly validate_bundle: import("effect/unstable/ai/Tool").Tool<"validate_bundle", {
740
+ readonly validate_bundle: import("effect/ai/Tool").Tool<"validate_bundle", {
741
741
  readonly parameters: import("effect/Schema").Struct<{
742
742
  readonly now: import("effect/Schema").optionalKey<import("effect/Schema").String>;
743
743
  readonly documents: import("effect/Schema").optionalKey<import("effect/Schema").$Array<import("effect/Schema").Struct<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@okfit/mcp",
3
- "version": "0.6.1",
3
+ "version": "0.6.3",
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": [
@@ -44,15 +44,23 @@
44
44
  "okfit-mcp": "bin/okfit-mcp.js"
45
45
  },
46
46
  "dependencies": {
47
- "@effect/platform-node": "4.0.0-rc.117",
48
- "@effected/engine": "^0.1.0",
49
- "@effected/git": "^0.17.0",
50
- "@effected/mcp": "^0.2.0",
51
- "@effected/xdg": "^0.7.0",
52
- "@okfit/core": "0.8.0",
53
- "@okfit/engine": "0.9.0",
54
- "@okfit/profiles": "0.8.0",
55
- "effect": "4.0.0-rc.117"
47
+ "@effect/platform-node": "4.0.0-rc.118",
48
+ "@effected/config-file": "^0.13.0",
49
+ "@effected/engine": "^0.2.0",
50
+ "@effected/git": "^0.18.1",
51
+ "@effected/glob": "^0.9.0",
52
+ "@effected/jsonc": "^0.14.0",
53
+ "@effected/markdown": "^0.14.0",
54
+ "@effected/mcp": "^0.3.0",
55
+ "@effected/schemastore": "^0.17.0",
56
+ "@effected/toml": "^0.10.0",
57
+ "@effected/walker": "^0.13.0",
58
+ "@effected/xdg": "^0.8.0",
59
+ "@effected/yaml": "^0.18.0",
60
+ "@okfit/core": "0.8.2",
61
+ "@okfit/engine": "0.9.2",
62
+ "@okfit/profiles": "0.8.1",
63
+ "effect": "4.0.0-rc.118"
56
64
  },
57
65
  "engines": {
58
66
  "node": ">=24.11.0"
@@ -1,7 +1,7 @@
1
1
  import { loadToolContext } from "../internal/toolContext.js";
2
2
  import { Effect, FileSystem, Layer, Path } from "effect";
3
3
  import { Derive } from "@okfit/core";
4
- import { McpSchema, McpServer } from "effect/unstable/ai";
4
+ import { McpSchema, McpServer } from "effect/ai";
5
5
 
6
6
  //#region src/resources/conceptResource.ts
7
7
  /**
@@ -11,7 +11,7 @@ import { McpSchema, McpServer } from "effect/unstable/ai";
11
11
  * Amends N-19 and contract §6.1 (Ruling, task C4): a `McpServer.resource`
12
12
  * URI **template** routes a `McpSchema.param` through a single path
13
13
  * segment only — `FindMyWay`'s parametric matcher stops a param at the
14
- * next `/` (`.repos/effect/packages/effect/src/unstable/http/FindMyWay/internal/router.ts:355-360`),
14
+ * next `/` (`.repos/effect/packages/effect/src/http/FindMyWay/internal/router.ts:460-463`),
15
15
  * and every non-root OKF concept id nests under a type directory (D-12),
16
16
  * e.g. `metrics/revenue`. A templated `okf://concept/{id}` therefore never
17
17
  * routes a real bundle id. Static per-concept resources sidestep the
@@ -31,7 +31,7 @@ import { McpSchema, McpServer } from "effect/unstable/ai";
31
31
  *
32
32
  * `content` builds the full `ReadResourceResult` itself, `mimeType`
33
33
  * included, rather than returning a bare string: verified against source
34
- * (`resolveResourceContent`, `unstable/ai/McpServer.ts:2324-2343`), a bare
34
+ * (`resolveResourceContent`, `ai/McpServer.ts:2556-2576`), a bare
35
35
  * string is wrapped as `{ contents: [{ uri, text }] }` with no `mimeType`
36
36
  * at all — the declared `mimeType` option only documents the resource in
37
37
  * `resources/list`, it is never merged into a `resources/read` response.
@@ -1,6 +1,6 @@
1
1
  import { loadToolContext } from "../internal/toolContext.js";
2
2
  import { Effect, FileSystem, Path } from "effect";
3
- import { McpSchema, McpServer } from "effect/unstable/ai";
3
+ import { McpSchema, McpServer } from "effect/ai";
4
4
 
5
5
  //#region src/resources/indexResource.ts
6
6
  /**
@@ -21,7 +21,7 @@ import { McpSchema, McpServer } from "effect/unstable/ai";
21
21
  *
22
22
  * `content` builds the full `ReadResourceResult` itself, `mimeType`
23
23
  * included, rather than returning a bare string: verified against source
24
- * (`resolveResourceContent`, `unstable/ai/McpServer.ts:2324-2343`), a bare
24
+ * (`resolveResourceContent`, `ai/McpServer.ts:2556-2576`), a bare
25
25
  * string is wrapped as `{ contents: [{ uri, text }] }` with no `mimeType`
26
26
  * at all — the declared `mimeType` option only documents the resource in
27
27
  * `resources/list`, it is never merged into a `resources/read` response.
package/server.js CHANGED
@@ -4,7 +4,7 @@ import { MCP_VERSION } from "./version.js";
4
4
  import { OkfitToolkit, ToolsLayer } from "./toolkit.js";
5
5
  import { McpStdio, McpToolkit } from "@effected/mcp";
6
6
  import { Layer } from "effect";
7
- import { McpProtocol } from "effect/unstable/ai";
7
+ import { McpProtocol } from "effect/ai";
8
8
  import { Git } from "@effected/git";
9
9
  import { GitHistory } from "@okfit/profiles";
10
10
 
package/toolkit.js CHANGED
@@ -4,7 +4,7 @@ import { getConcept, handleGetConcept } from "./tools/getConcept.js";
4
4
  import { handleListConcepts, listConcepts } from "./tools/listConcepts.js";
5
5
  import { handleStaleReport, staleReport } from "./tools/staleReport.js";
6
6
  import { handleValidateBundle, validateBundle } from "./tools/validateBundle.js";
7
- import { Toolkit } from "effect/unstable/ai";
7
+ import { Toolkit } from "effect/ai";
8
8
 
9
9
  //#region src/toolkit.ts
10
10
  /**
@@ -5,7 +5,7 @@ import { ConceptNeighborsSuccess } from "../schema/tools.js";
5
5
  import { ToolFailure } from "@effected/mcp";
6
6
  import { Effect, FileSystem, Option, Path, Schema } from "effect";
7
7
  import { ConceptId, Graph } from "@okfit/core";
8
- import { Tool } from "effect/unstable/ai";
8
+ import { Tool } from "effect/ai";
9
9
  import { AppDirs, Xdg } from "@effected/xdg";
10
10
 
11
11
  //#region src/tools/conceptNeighbors.ts
@@ -2,7 +2,7 @@ import { McpToolError } from "../errors.js";
2
2
  import { resolveConfigOnly } from "../internal/toolContext.js";
3
3
  import { DescribeVocabularySuccess } from "../schema/tools.js";
4
4
  import { Effect, FileSystem, Option, Path } from "effect";
5
- import { Tool } from "effect/unstable/ai";
5
+ import { Tool } from "effect/ai";
6
6
  import { contextEnvelope } from "@okfit/engine";
7
7
  import { AppDirs, Xdg } from "@effected/xdg";
8
8
 
@@ -13,7 +13,7 @@ const DESCRIPTION = "Returns this project's resolved okfit configuration: the pr
13
13
  * needs (`resolveConfigOnly` -> `resolveProjectConfig`/`provideConfig`);
14
14
  * without it `Tool.HandlerServices` infers `never` and the handler record
15
15
  * passed to `Toolkit.toLayer` fails to typecheck against `HandlersFrom`
16
- * (verified against `.repos/effect/packages/effect/src/unstable/ai/Tool.ts`
16
+ * (verified against `.repos/effect/packages/effect/src/ai/Tool.ts`
17
17
  * `dependencies`/`HandlerServices`; not spelled out in the brief's snippet).
18
18
  *
19
19
  * `parameters` is `Tool.EmptyParams`, not the brief's `Schema.Struct({})`:
@@ -22,7 +22,7 @@ const DESCRIPTION = "Returns this project's resolved okfit configuration: the pr
22
22
  * its JSON Schema, reproduced in isolation against a minimal tool and
23
23
  * confirmed fixed by switching to `Tool.EmptyParams` — the same schema
24
24
  * Effect's own MCP conformance fixtures use for parameterless tools
25
- * (`.repos/effect/packages/effect/test/unstable/ai/McpServer/McpConformance/McpConformanceFixtures.ts:29`).
25
+ * (`.repos/effect/packages/effect/test/ai/McpServer/McpConformance/McpConformanceFixtures.ts:38`).
26
26
  *
27
27
  * @public
28
28
  */
@@ -4,7 +4,7 @@ import { GetConceptSuccess } from "../schema/tools.js";
4
4
  import { ToolFailure } from "@effected/mcp";
5
5
  import { Effect, FileSystem, Option, Path, Schema } from "effect";
6
6
  import { ConceptId, Derive, Graph } from "@okfit/core";
7
- import { Tool } from "effect/unstable/ai";
7
+ import { Tool } from "effect/ai";
8
8
  import { AppDirs, Xdg } from "@effected/xdg";
9
9
 
10
10
  //#region src/tools/getConcept.ts
@@ -5,7 +5,7 @@ import { ListConceptsParams, ListConceptsSuccess } from "../schema/tools.js";
5
5
  import { ToolFailure } from "@effected/mcp";
6
6
  import { Effect, FileSystem, Path } from "effect";
7
7
  import { Derive } from "@okfit/core";
8
- import { Tool } from "effect/unstable/ai";
8
+ import { Tool } from "effect/ai";
9
9
  import { AppDirs, Xdg } from "@effected/xdg";
10
10
 
11
11
  //#region src/tools/listConcepts.ts
@@ -5,7 +5,7 @@ import { StaleReportParams, StaleReportSuccess } from "../schema/tools.js";
5
5
  import { resolveNow } from "../internal/resolveNow.js";
6
6
  import { DateTime, Effect, FileSystem, Path } from "effect";
7
7
  import { Derive } from "@okfit/core";
8
- import { Tool } from "effect/unstable/ai";
8
+ import { Tool } from "effect/ai";
9
9
  import { AppDirs, Xdg } from "@effected/xdg";
10
10
 
11
11
  //#region src/tools/staleReport.ts
@@ -6,7 +6,7 @@ import { MCP_VERSION } from "../version.js";
6
6
  import { ToolFailure } from "@effected/mcp";
7
7
  import { Crypto, Effect, FileSystem, Option, Path } from "effect";
8
8
  import { OKF_SPEC_VERSION } from "@okfit/core";
9
- import { Tool } from "effect/unstable/ai";
9
+ import { Tool } from "effect/ai";
10
10
  import { DocumentPathError, JsonEnvelope, collect, forDiagnostics, json, provideDocuments, run } from "@okfit/engine";
11
11
  import { Git } from "@effected/git";
12
12
  import { GitHistory } from "@okfit/profiles";
package/version.js CHANGED
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @public
7
7
  */
8
- const MCP_VERSION = "0.6.1";
8
+ const MCP_VERSION = "0.6.3";
9
9
 
10
10
  //#endregion
11
11
  export { MCP_VERSION };