onto-mcp 0.4.13 → 0.4.14

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.
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { RECONSTRUCT_DOMAIN_ID_GRAMMAR_DESCRIPTION, RECONSTRUCT_DOMAIN_ID_PATTERN, } from "../core-runtime/reconstruct/domain-id.js";
3
+ import { PerCallLlmOverrideSchema } from "../core-runtime/discovery/settings-chain.js";
3
4
  const ReviewModeSchema = z.enum(["core-axis", "full"]);
4
5
  const ReviewTargetScopeKindSchema = z.enum(["file", "directory", "bundle"]);
5
6
  const ReviewExecutionRouteSchema = z.enum([
@@ -29,10 +30,21 @@ const OntoReviewToolInputBaseSchema = z.object({
29
30
  confirmValueAlignment: z.boolean().optional(),
30
31
  prepareOnly: z.boolean().optional(),
31
32
  returnRunningAfterMs: z.number().int().min(0).optional(),
33
+ // Per-call LLM override: ephemeral settings-`llm` overlay applied to every
34
+ // review dispatch seat (all actors + units) for this invocation. Omit → settings
35
+ // unchanged (default-off, byte-identical). See tool-schemas import.
36
+ llmOverride: PerCallLlmOverrideSchema.optional(),
32
37
  }).strict();
33
- export const OntoReviewToolInputSchema = OntoReviewToolInputBaseSchema.refine((input) => !(input.domain && input.noDomain), {
38
+ // A provider switch needs an explicit model (the switched-in provider has no
39
+ // default model to inherit); `auth` stays optional — the model-switcher
40
+ // normalizer defaults it per provider, matching settings behavior.
41
+ const requireModelWhenOverrideProvider = (input) => !(input.llmOverride?.provider && !input.llmOverride.model);
42
+ const overrideModelRefineMessage = "llmOverride.model is required when llmOverride.provider is set (a provider switch needs an explicit model).";
43
+ export const OntoReviewToolInputSchema = OntoReviewToolInputBaseSchema
44
+ .refine((input) => !(input.domain && input.noDomain), {
34
45
  message: "Use either domain or noDomain, not both.",
35
- });
46
+ })
47
+ .refine(requireModelWhenOverrideProvider, { message: overrideModelRefineMessage });
36
48
  export const OntoPrepareReviewToolInputSchema = OntoReviewToolInputBaseSchema.extend({
37
49
  prepareOnly: z.literal(true).default(true),
38
50
  }).refine((input) => !(input.domain && input.noDomain), {
@@ -90,15 +102,20 @@ export const OntoReconstructToolInputSchema = OntoObserveSourceToolInputSchema.e
90
102
  resumeMode: z.enum(["fresh", "reuse_existing_authored_artifacts"]).optional(),
91
103
  semanticAuthorRealization: z.enum(["direct_call"]).default("direct_call"),
92
104
  confirmationProviderRealization: z.enum(["direct_call"]).default("direct_call"),
93
- // Optional reasoning-effort pin applied to both reconstruct actors (live only).
94
- llmEffort: z.string().min(1).optional(),
95
105
  // Opt-in per-stage answer-support JUDGE overrides (live only). judgeLlmEffort
96
106
  // runs the judge at a different effort; judgeModel swaps the judge MODEL on the
97
107
  // semantic author's provider. An unsupported judgeModel degrades to the author
98
108
  // model (INV-MODEL-1); the judge otherwise inherits the semantic-author config.
99
109
  judgeLlmEffort: z.string().min(1).optional(),
100
110
  judgeModel: z.string().min(1).optional(),
101
- }).strict();
111
+ // Per-call LLM override: ephemeral settings-`llm` overlay applied to the
112
+ // reconstruct actor seats (semantic_author, confirmation_provider,
113
+ // semantic_map_synthesize, dispatch_fallback) for this invocation. The judge
114
+ // keeps its own judgeModel/judgeLlmEffort knobs. Omit → settings unchanged.
115
+ llmOverride: PerCallLlmOverrideSchema.optional(),
116
+ }).strict().refine(requireModelWhenOverrideProvider, {
117
+ message: overrideModelRefineMessage,
118
+ });
102
119
  export const OntoReconstructSessionInputSchema = z.object({
103
120
  sessionRoot: z.string().min(1),
104
121
  projectRoot: z.string().min(1).optional(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "onto-mcp",
3
- "version": "0.4.13",
3
+ "version": "0.4.14",
4
4
  "description": "MCP-native ontology review runtime with context-isolated lenses and controlled deliberation",
5
5
  "homepage": "https://github.com/kangminlee-maker/onto-mcp#readme",
6
6
  "bugs": {