@the-40-thieves/obsidian-tc-shared 1.31.7 → 1.32.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 (69) hide show
  1. package/dist/config/auth-acl.schema.d.ts +37 -0
  2. package/dist/config/auth-acl.schema.d.ts.map +1 -1
  3. package/dist/config/auth-acl.schema.js +184 -18
  4. package/dist/config/auth-acl.schema.js.map +1 -1
  5. package/dist/config/network.schema.d.ts +5 -0
  6. package/dist/config/network.schema.d.ts.map +1 -0
  7. package/dist/config/network.schema.js +25 -0
  8. package/dist/config/network.schema.js.map +1 -0
  9. package/dist/config/observability.schema.d.ts +36 -0
  10. package/dist/config/observability.schema.d.ts.map +1 -1
  11. package/dist/config/observability.schema.js +141 -10
  12. package/dist/config/observability.schema.js.map +1 -1
  13. package/dist/config/path-glob.d.ts +17 -0
  14. package/dist/config/path-glob.d.ts.map +1 -0
  15. package/dist/config/path-glob.js +118 -0
  16. package/dist/config/path-glob.js.map +1 -0
  17. package/dist/config/provenance.schema.d.ts +21 -0
  18. package/dist/config/provenance.schema.d.ts.map +1 -0
  19. package/dist/config/provenance.schema.js +72 -0
  20. package/dist/config/provenance.schema.js.map +1 -0
  21. package/dist/config/reranker.schema.d.ts +4 -0
  22. package/dist/config/reranker.schema.d.ts.map +1 -1
  23. package/dist/config/reranker.schema.js +7 -0
  24. package/dist/config/reranker.schema.js.map +1 -1
  25. package/dist/config/retrieval.schema.d.ts +10 -2
  26. package/dist/config/retrieval.schema.d.ts.map +1 -1
  27. package/dist/config/retrieval.schema.js +53 -60
  28. package/dist/config/retrieval.schema.js.map +1 -1
  29. package/dist/config/runtime.schema.d.ts +15 -0
  30. package/dist/config/runtime.schema.d.ts.map +1 -1
  31. package/dist/config/runtime.schema.js +37 -0
  32. package/dist/config/runtime.schema.js.map +1 -1
  33. package/dist/config/server.schema.d.ts +328 -4
  34. package/dist/config/server.schema.d.ts.map +1 -1
  35. package/dist/config/server.schema.js +70 -4
  36. package/dist/config/server.schema.js.map +1 -1
  37. package/dist/config/tools.schema.d.ts +21 -0
  38. package/dist/config/tools.schema.d.ts.map +1 -1
  39. package/dist/config/tools.schema.js +38 -12
  40. package/dist/config/tools.schema.js.map +1 -1
  41. package/dist/config/vault.schema.d.ts +41 -0
  42. package/dist/config/vault.schema.d.ts.map +1 -1
  43. package/dist/config/vault.schema.js +57 -2
  44. package/dist/config/vault.schema.js.map +1 -1
  45. package/dist/config/wiki-judge.schema.d.ts +20 -0
  46. package/dist/config/wiki-judge.schema.d.ts.map +1 -0
  47. package/dist/config/wiki-judge.schema.js +88 -0
  48. package/dist/config/wiki-judge.schema.js.map +1 -0
  49. package/dist/config.schema.d.ts +6 -5
  50. package/dist/config.schema.d.ts.map +1 -1
  51. package/dist/config.schema.js +4 -3
  52. package/dist/config.schema.js.map +1 -1
  53. package/dist/errors.d.ts +2 -1
  54. package/dist/errors.d.ts.map +1 -1
  55. package/dist/errors.js +4 -2
  56. package/dist/errors.js.map +1 -1
  57. package/dist/net-host.d.ts +44 -0
  58. package/dist/net-host.d.ts.map +1 -1
  59. package/dist/net-host.js +249 -0
  60. package/dist/net-host.js.map +1 -1
  61. package/dist/schemas/primitives.d.ts +31 -0
  62. package/dist/schemas/primitives.d.ts.map +1 -1
  63. package/dist/schemas/primitives.js +54 -0
  64. package/dist/schemas/primitives.js.map +1 -1
  65. package/dist/scopes.d.ts +1 -0
  66. package/dist/scopes.d.ts.map +1 -1
  67. package/dist/scopes.js +10 -0
  68. package/dist/scopes.js.map +1 -1
  69. package/package.json +1 -1
@@ -10,13 +10,16 @@ import { isLoopbackHost } from "../net-host";
10
10
  import { AclConfigSchema, AuthConfigSchema } from "./auth-acl.schema";
11
11
  import { GatewayConfigSchema } from "./gateway.schema";
12
12
  import { EmbeddingsConfigSchema, IndexingConfigSchema } from "./indexing-embeddings.schema";
13
+ import { NetworkConfigSchema } from "./network.schema";
13
14
  import { EgressConfigSchema, MaintenanceConfigSchema, ObservabilityConfigSchema, PensieveConfigSchema, PlaneConfigSchema, PlurConfigSchema, ReadwiseConfigSchema, SchedulerConfigSchema, SnapshotsConfigSchema, TelemetryConfigSchema, WatchConfigSchema, } from "./observability.schema";
14
15
  import { PersonasConfigSchema } from "./personas.schema";
16
+ import { ProvenanceConfigSchema } from "./provenance.schema";
15
17
  import { RerankerConfigSchema } from "./reranker.schema";
16
18
  import { ExperientialConfigSchema, RankingConfigSchema, RetrievalConfigSchema, } from "./retrieval.schema";
17
19
  import { GovernorConfigSchema, SessionsConfigSchema, ThrottleConfigSchema, TransportsConfigSchema, WritesConfigSchema, } from "./runtime.schema";
18
- import { BootstrapConfigSchema, ToolFacadeConfigSchema, ToolVisibilityConfigSchema, } from "./tools.schema";
20
+ import { BootstrapConfigSchema, ToolFacadeConfigSchema, ToolsConfigSchema, ToolVisibilityConfigSchema, } from "./tools.schema";
19
21
  import { VaultConfigSchema } from "./vault.schema";
22
+ import { WikiJudgeConfigSchema } from "./wiki-judge.schema";
20
23
  export const ServerConfigObject = z.object({
21
24
  // THE-526: a named security posture. "hardened" fills in the least-privilege field set
22
25
  // (strictReadDefault, requireCas, snapshots, HTTP off) before validation, with any explicitly-set
@@ -26,11 +29,11 @@ export const ServerConfigObject = z.object({
26
29
  securityProfile: z
27
30
  .enum(["hardened", "trusted-local"])
28
31
  .optional()
29
- .describe("Named security posture applied before validation. 'hardened' sets the least-privilege defaults (strictReadDefault, requireCas, snapshots on, HTTP off); explicit fields override it. 'trusted-local' (the default) keeps the permissive single-user posture."),
32
+ .describe("Named security posture applied before validation. 'hardened' sets the least-privilege defaults (strictReadDefault, requireCas, snapshots on, HTTP off, auth.requireJti on); explicit fields override it. 'trusted-local' (the default) keeps the permissive single-user posture."),
30
33
  cacheDir: z
31
34
  .string()
32
35
  .default(".obsidian-tc")
33
- .describe('Directory holding the derived index and caches. Everything in it is regenerable — deleting it forces a full reindex, it is never the source of truth. This default only applies when `embeddings.provider` is not "local" — a config file must set `cacheDir` explicitly when the embeddings provider is "local" (the default provider), or config load fails naming `cacheDir`; the bare `obsidian-tc <vault>` form (no config file) sets it for you.'),
36
+ .describe('Directory holding the derived index and caches. `cache.db`, `experiential.db` and the other index files are regenerable — deleting them forces a full reindex — EXCEPT `auth.db` and `auth-keys/`, the auth registry: revocations, key retirements and signing-key files that CANNOT be regenerated and must be backed up (delete only `cache.db*`, never the whole directory, when resetting the index). This default only applies when `embeddings.provider` is not "local" — a config file must set `cacheDir` explicitly when the embeddings provider is "local" (the default provider), or config load fails naming `cacheDir`; the bare `obsidian-tc <vault>` form (no config file) sets it for you.'),
34
37
  // THE-935 (GH #878): the first config surface over db/pragmas.ts — no `db` block existed before
35
38
  // this, so it is introduced here, beside cacheDir, rather than nested under it.
36
39
  db: z
@@ -43,7 +46,7 @@ export const ServerConfigObject = z.object({
43
46
  .describe("Milliseconds SQLite's busy handler retries a write before giving up, applied FIRST on every connection so it covers even the WAL-conversion window. Raising it is SYMPTOM TREATMENT, not a fix: a rising obsidian_tc_sql_lock_wait_seconds tail past this value is the direct evidence the writers genuinely overlap that long, and the fix is splitting the shared database per vault, not raising this further. Easy to miss: stdio MCP spawns ONE SERVER PROCESS PER CLIENT, and every process opens the SAME cache.db, so the concurrent client count is load-bearing for how much contention this has to absorb — one operator measured `server_health` degraded (write_failures, last_write_error 'timed out') at 17 concurrent stdio processes on one cache.db, and ok again at 5 (GH #878)."),
44
47
  })
45
48
  .prefault({})
46
- .describe("SQLite connection tuning, applied on every cache.db and experiential.db open."),
49
+ .describe("SQLite connection tuning, applied on every cache.db, experiential.db and ratelimit.db open."),
47
50
  vaults: z
48
51
  .array(VaultConfigSchema)
49
52
  .min(1)
@@ -66,6 +69,7 @@ export const ServerConfigObject = z.object({
66
69
  // ABSENT preserves today's behaviour exactly: falls through to OBSIDIAN_TC_GATEWAY_URL /
67
70
  // OBSIDIAN_TC_GATEWAY_TOKEN, then to every generative seam degrading gracefully.
68
71
  gateway: GatewayConfigSchema.optional().describe("Inference gateway connection. ABSENT falls through to OBSIDIAN_TC_GATEWAY_URL / OBSIDIAN_TC_GATEWAY_TOKEN, preserving today's behaviour exactly."),
72
+ network: NetworkConfigSchema.prefault({}).describe("Connection policy shared by every outbound provider client: which plain-http hosts may be named. https:// and loopback need no entry."),
69
73
  indexing: IndexingConfigSchema.describe("Index-on-write concurrency and backpressure."),
70
74
  retrieval: RetrievalConfigSchema.prefault({}).describe("Retrieval fusion and graph densification."),
71
75
  ranking: RankingConfigSchema.prefault({}).describe("Post-fusion ranking overlays."),
@@ -75,10 +79,22 @@ export const ServerConfigObject = z.object({
75
79
  writes: WritesConfigSchema.describe("Write-safety policy."),
76
80
  toolVisibility: ToolVisibilityConfigSchema.optional().describe("Static tool-surface scoping. Absent means allow all."),
77
81
  toolFacade: ToolFacadeConfigSchema.prefault({}).describe("Which tool surface tools/list advertises."),
82
+ tools: ToolsConfigSchema.describe("Per-call defaults for tool behaviour, such as response_format."),
78
83
  // THE-647 item 2: named scope+vault+visibility bundles a JWT `persona` claim resolves to.
79
84
  // Absent (the default) means no persona claim can ever resolve — see auth/persona.ts, which
80
85
  // fails closed rather than falling back to the token's own (wider) scopes.
81
86
  personas: PersonasConfigSchema.optional().describe("Named persona bundles ({vaults, scopes, toolVisibility?}) a JWT's `persona` claim resolves to. Absent means no personas are configured — any token carrying a `persona` claim is refused."),
87
+ // show_file_in_obsidian's OS-handler fallback. Inline rather than a leaf export: the facade's
88
+ // export surface is pinned (check:facade-parity), and nothing outside this object reads it.
89
+ uri: z
90
+ .object({
91
+ allowOsLaunch: z
92
+ .boolean()
93
+ .default(false)
94
+ .describe("Let `show_file_in_obsidian` hand an obsidian:// URI to this machine's OS URI handler (xdg-open, open, rundll32) when no live Obsidian session answers through the companion plugin. Off by default and honoured ONLY for the local stdio transport: over HTTP the tool refuses regardless of this flag, because the launch happens on the server host, not the caller's machine. The URI is always built from a vault-relative path that passed the read ACL; no caller-supplied URI is ever launched."),
95
+ })
96
+ .prefault({})
97
+ .describe("Host-side URI launching."),
82
98
  bootstrap: BootstrapConfigSchema.describe("session_bootstrap context routing table."),
83
99
  throttle: ThrottleConfigSchema.describe("Per-scope-class rate limits and write concurrency."),
84
100
  observability: ObservabilityConfigSchema.prefault({}).describe("Metrics, traces and event export."),
@@ -86,8 +102,10 @@ export const ServerConfigObject = z.object({
86
102
  scheduler: SchedulerConfigSchema.describe("Shared background scheduler tuning."),
87
103
  watch: WatchConfigSchema.describe("Filesystem watch that reindexes notes changed outside."),
88
104
  snapshots: SnapshotsConfigSchema.describe("Point-in-time note snapshot policy."),
105
+ provenance: ProvenanceConfigSchema.describe("Signed write provenance: one hash-chained, signed record per committed mutating tool call."),
89
106
  plane: PlaneConfigSchema.describe("Ambient sleep-time consolidation jobs."),
90
107
  egress: EgressConfigSchema.describe("Paths withheld from the inference gateway and the embedding provider — a different question from auth.acl.readPaths, which governs read visibility."),
108
+ wikiJudge: WikiJudgeConfigSchema.describe("LLM judge for ambiguous wiki page matches (find_existing_page, lint_wiki). Uses the gateway judge role or, with provider typesafe, TypeSafe Jev; sends only readable notes outside egress.excludePaths and Obsidian's Excluded files."),
91
109
  sessions: SessionsConfigSchema.describe("Whether the server opens workspace sessions itself, and how long one stays open."),
92
110
  // THE-1125: opt-in, anonymous, off-by-default usage telemetry. See TelemetryConfigSchema's own
93
111
  // comment (observability.schema.ts) for the full contract — enabled requires endpoint (refused
@@ -138,6 +156,54 @@ export const ServerConfigSchema = ServerConfigObject.superRefine((cfg, ctx) => {
138
156
  message: `refusing to expose an unauthenticated server: transports.http.enabled is true with host "${http.host}" (non-loopback) while auth.mode is "none". Set auth.mode to "jwt" (with jwtSecret) or bind transports.http.host to a loopback address (127.0.0.1, ::1, localhost).`,
139
157
  });
140
158
  }
159
+ // `oidc` mode: the trust anchor is the `auth.oidc` block and nothing else. An `oidc` block under
160
+ // any other mode would LOOK like protection while none applies (mode none admits everyone), so it
161
+ // is refused; and jwt-mode key/issuer keys beside an oidc block would leave two answers to "who
162
+ // issues tokens here", so they are refused too. `jwtSecret` is allowed (it also keys the HITL
163
+ // elicit codec) but never verifies an oidc bearer.
164
+ if (cfg.auth.mode === "oidc") {
165
+ const a = cfg.auth;
166
+ if (a.oidc === undefined) {
167
+ ctx.addIssue({
168
+ code: z.ZodIssueCode.custom,
169
+ path: ["auth", "oidc"],
170
+ message: "auth.mode is 'oidc' but auth.oidc is not set: configure at least auth.oidc.issuer and auth.oidc.audience.",
171
+ });
172
+ }
173
+ const conflicting = [
174
+ ["jwks", a.jwks],
175
+ ["jwksFile", a.jwksFile],
176
+ ["jwksUri", a.jwksUri],
177
+ ["algorithms", a.algorithms],
178
+ ["issuer", a.issuer],
179
+ ["audience", a.audience],
180
+ ]
181
+ .filter(([, v]) => v !== undefined)
182
+ .map(([k]) => k);
183
+ for (const key of conflicting) {
184
+ ctx.addIssue({
185
+ code: z.ZodIssueCode.custom,
186
+ path: ["auth", key],
187
+ message: `auth.${key} is a jwt-mode setting and is ignored under auth.mode 'oidc': set the equivalent under auth.oidc instead (auth.oidc.${key === "algorithms" ? "allowedAlgs" : key}).`,
188
+ });
189
+ }
190
+ if (a.oidc !== undefined &&
191
+ a.authorizationServers !== undefined &&
192
+ (a.authorizationServers.length !== 1 || a.authorizationServers[0] !== a.oidc.issuer)) {
193
+ ctx.addIssue({
194
+ code: z.ZodIssueCode.custom,
195
+ path: ["auth", "authorizationServers"],
196
+ message: "under auth.mode 'oidc' the advertised authorization server is auth.oidc.issuer; auth.authorizationServers must be omitted or contain exactly that issuer.",
197
+ });
198
+ }
199
+ }
200
+ else if (cfg.auth.oidc !== undefined) {
201
+ ctx.addIssue({
202
+ code: z.ZodIssueCode.custom,
203
+ path: ["auth", "oidc"],
204
+ message: `auth.oidc is set but auth.mode is "${cfg.auth.mode}": nothing would verify tokens against it. Set auth.mode to "oidc", or remove auth.oidc.`,
205
+ });
206
+ }
141
207
  // THE-456 (audit #3): a remote or JWKS-verified deployment MUST bind the token audience — warn-only
142
208
  // was insufficient. Without an audience, a token an issuer minted for a DIFFERENT service is accepted
143
209
  // here (confused deputy). The verifier treats the PRM `resource` as the audience when set, so an
@@ -1 +1 @@
1
- {"version":3,"file":"server.schema.js","sourceRoot":"","sources":["../../src/config/server.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.schema.js","sourceRoot":"","sources":["../../src/config/server.schema.ts"],"names":[],"mappings":"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"}
@@ -20,12 +20,33 @@ export declare const ToolFacadeConfigSchema: z.ZodObject<{
20
20
  flat: "flat";
21
21
  triad: "triad";
22
22
  }>>>;
23
+ explainAutoMode: z.ZodDefault<z.ZodBoolean>;
23
24
  profile: z.ZodDefault<z.ZodEnum<{
24
25
  core: "core";
25
26
  full: "full";
26
27
  }>>;
27
28
  }, z.core.$strip>;
28
29
  export type ToolFacadeConfig = z.infer<typeof ToolFacadeConfigSchema>;
30
+ export declare const ResponseFormatSchema: z.ZodEnum<{
31
+ concise: "concise";
32
+ detailed: "detailed";
33
+ }>;
34
+ export type ResponseFormat = z.infer<typeof ResponseFormatSchema>;
35
+ export declare const ToolDefaultsConfigSchema: z.ZodPrefault<z.ZodObject<{
36
+ responseFormat: z.ZodDefault<z.ZodEnum<{
37
+ concise: "concise";
38
+ detailed: "detailed";
39
+ }>>;
40
+ }, z.core.$strip>>;
41
+ export declare const ToolsConfigSchema: z.ZodPrefault<z.ZodObject<{
42
+ defaults: z.ZodPrefault<z.ZodObject<{
43
+ responseFormat: z.ZodDefault<z.ZodEnum<{
44
+ concise: "concise";
45
+ detailed: "detailed";
46
+ }>>;
47
+ }, z.core.$strip>>;
48
+ }, z.core.$strip>>;
49
+ export type ToolsConfig = z.infer<typeof ToolsConfigSchema>;
29
50
  export declare const BootstrapDomainSchema: z.ZodObject<{
30
51
  name: z.ZodString;
31
52
  signals: z.ZodArray<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.schema.d.ts","sourceRoot":"","sources":["../../src/config/tools.schema.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,0BAA0B;;;;;;;iBAiCrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAe9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;iBAoCjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAQtE,eAAO,MAAM,qBAAqB;;;;iBAYhC,CAAC;AACH,eAAO,MAAM,oBAAoB,UAShC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;kBAwBnB,CAAC;AAChB,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"tools.schema.d.ts","sourceRoot":"","sources":["../../src/config/tools.schema.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,0BAA0B;;;;;;;iBAqCrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAe9E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;iBA6CjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAOtE,eAAO,MAAM,oBAAoB;;;EAI9B,CAAC;AACJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;kBAMtB,CAAC;AAChB,eAAO,MAAM,iBAAiB;;;;;;;kBAMf,CAAC;AAChB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAS5D,eAAO,MAAM,qBAAqB;;;;iBAYhC,CAAC;AACH,eAAO,MAAM,oBAAoB,UAShC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;kBAwBnB,CAAC;AAChB,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -35,11 +35,11 @@ export const ToolVisibilityConfigSchema = z.object({
35
35
  hiddenTags: z
36
36
  .array(z.string())
37
37
  .default([])
38
- .describe("Tags whose tools are hidden from tools/list but remain callable."),
38
+ .describe("Tags whose tools are hidden from tools/list but remain callable. Tags come from the tool-tag vocabulary (for example `destructive`, `bulk`, `external-network`, `domain:git`); see Tool tags in the docs."),
39
39
  disabledTags: z
40
40
  .array(z.string())
41
41
  .default([])
42
- .describe("Tags whose tools are hidden and rejected at dispatch."),
42
+ .describe("Tags whose tools are hidden and rejected at dispatch. Same tag vocabulary as hiddenTags."),
43
43
  requireReadOnly: z
44
44
  .boolean()
45
45
  .default(false)
@@ -48,32 +48,39 @@ export const ToolVisibilityConfigSchema = z.object({
48
48
  // Tool-surface facade (THE-219 consolidation). Which surface tools/list advertises: "triad" (the
49
49
  // default) exposes three meta-tools (find/describe/call_capability); "flat" advertises the full
50
50
  // tool surface (back-compat); "domain" advertises ~a dozen domain meta-tools (landed under THE-275,
51
- // which was itself cancelled — see facade.ts's note); "auto" (THE-1123) picks one of the three
52
- // PER CONNECTING CLIENT from its observed MCP `clientInfo.name`, merging `autoClients` below over
53
- // a built-in table. Every registered tool stays callable by name regardless of mode, so nothing is
54
- // removed in any of the four.
51
+ // which was itself cancelled — see facade.ts's note); "auto" (THE-1123) is DEPRECATED: it
52
+ // now resolves to "triad" for every client (an `autoClients` entry still overrides) and is slated
53
+ // for removal in the next major; set an explicit mode. Every registered tool stays callable by name
54
+ // regardless of mode, so nothing is removed in any of the four.
55
55
  //
56
56
  // The "triad" default is a DECISION, not an accident, and re-litigating it has a specific bar:
57
57
  // docs/adr/0006-the-default-surface-is-the-triad.md. Short version — 3 advertised tools is already
58
58
  // leaner than every comparable server (market range 6-15), and switching to "domain" wants an
59
59
  // eval that measures tool-SELECTION accuracy, which does not exist yet. "auto" does not relitigate
60
- // that default: every client it cannot place by name still gets "triad".
60
+ // that default: "auto" never leaves "triad" unless an operator's own `autoClients` says so.
61
61
  export const ToolFacadeConfigSchema = z.object({
62
62
  mode: z
63
63
  .enum(["triad", "domain", "flat", "auto"])
64
64
  .default("triad")
65
- .describe("Which surface tools/list advertises: `triad` exposes three meta-tools (find/describe/call_capability), `domain` about a dozen domain meta-tools, `flat` the full tool surface, `auto` picks one of the three per connecting client from its observed clientInfo.name (see `autoClients`). Every registered tool stays callable by name in every mode."),
65
+ .describe("Which surface tools/list advertises: `triad` exposes three meta-tools (find/describe/call_capability), `domain` about a dozen domain meta-tools, `flat` the full tool surface, `auto` is deprecated: it resolves to `triad` for every client (unless `autoClients` overrides) and will be removed in the next major version, so set an explicit mode (recommended: `triad`). Every registered tool stays callable by name in every mode."),
66
66
  // THE-1123 (part a): only consulted when `mode` is "auto". A client's observed `clientInfo.name`
67
67
  // is matched against these keys as a case-insensitive SUBSTRING, in this map's own key order,
68
68
  // BEFORE the server's built-in table (mcp/facade-auto.ts) — so a key here for a name the built-in
69
69
  // table also matches overrides it. First match wins; a client that matches nothing here or in the
70
- // built-in table gets "triad". The built-in table itself is PROVISIONAL, not a measurement (see
71
- // mcp/facade-auto.ts's module comment) — this field is how an operator corrects it without a code
72
- // change while that measurement is pending.
70
+ // built-in table gets "triad". Deprecated along with "auto" itself.
73
71
  autoClients: z
74
72
  .record(z.string().min(1), z.enum(["triad", "domain", "flat"]))
75
73
  .optional()
76
- .describe('Only used when mode is "auto". Maps a case-insensitive substring of the connecting client\'s clientInfo.name to a facade mode; checked in this object\'s own key order, before the server\'s built-in table, so an entry here overrides the same substring there. Absent clientInfo.name (most callers today) always falls back to "triad".'),
74
+ .describe('Deprecated, only used when mode is "auto". Maps a case-insensitive substring of the connecting client\'s clientInfo.name to a facade mode; checked in this object\'s own key order, before the server\'s built-in table, so an entry here overrides the same substring there. Absent clientInfo.name (most callers today) always falls back to "triad".'),
75
+ // Pure observability over `mode: "auto"` — never changes which mode a client gets. When true, each
76
+ // auto resolution writes one structured `toolFacade.explain` JSON line to stderr and
77
+ // server_health's `toolFacade.explanation` returns the calling client's explanation (signals
78
+ // consulted, the rule that fired, the mode chosen). Server-level like the rest of `toolFacade`:
79
+ // the facade decision is per connecting client, not per vault.
80
+ explainAutoMode: z
81
+ .boolean()
82
+ .default(false)
83
+ .describe('Only meaningful when mode is "auto". Explain the auto-mode decision without changing it: one structured `toolFacade.explain` log line per resolution (client name, matched rule, chosen mode) and `server_health`\'s `toolFacade.explanation` for the calling client. Default false.'),
77
84
  // Deployment-level and orthogonal to `mode` above: `mode` picks what a given SESSION is
78
85
  // advertised, `profile` picks which tools are VISIBLE and CALLABLE at all, resolved once
79
86
  // when the registry is built. Registration itself is profile-invariant — every tool is always
@@ -89,6 +96,25 @@ export const ToolFacadeConfigSchema = z.object({
89
96
  .default("full")
90
97
  .describe('Which tools are visible/callable for this process — registration itself is unaffected (every tool is always registered). "full" (the default) leaves every tool visible/callable, unchanged from today. "core" is an opt-in, smaller curated surface. Orthogonal to `mode`: `mode` picks what a session is ADVERTISED, `profile` picks what is CALLABLE. A tool `core` hides answers describe_capability/call_capability with a `capability_hidden` error rather than a silent failure.'),
91
98
  });
99
+ // Tool response shaping (GH #1027). `response_format` is a per-call parameter on the tools that
100
+ // return more than an acknowledgement: "detailed" is the full payload every tool has always
101
+ // returned, "concise" trims it to the high-signal fields. The per-call parameter (or its legacy
102
+ // `verbosity` alias) wins; this block is only the operator's default for a call that names neither.
103
+ // The shipped default is "detailed", so a config that predates this block behaves byte-for-byte as
104
+ // before. Errors are never trimmed, and a warning or safety signal survives "concise".
105
+ export const ResponseFormatSchema = z
106
+ .enum(["concise", "detailed"])
107
+ .describe('How much a tool returns: "detailed" is the full payload, "concise" only the high-signal fields (write acks shrink to vault, path and content_hash; errors and safety warnings are never trimmed).');
108
+ export const ToolDefaultsConfigSchema = z
109
+ .object({
110
+ responseFormat: ResponseFormatSchema.default("detailed").describe('Default response_format for a tool call that sets neither `response_format` nor the legacy `verbosity` alias. Shipped default "detailed" (unchanged output); set "concise" once to cut the output of every tool that supports response_format, without each agent passing the parameter. It is also the only selector for MCP resources/read, which takes no parameters (concise returns the note body without its frontmatter).'),
111
+ })
112
+ .prefault({});
113
+ export const ToolsConfigSchema = z
114
+ .object({
115
+ defaults: ToolDefaultsConfigSchema.describe("Defaults applied to tool calls that do not set the parameter themselves."),
116
+ })
117
+ .prefault({});
92
118
  // Session-bootstrap routing (THE-101). Server-level, not per-vault: the routing table is a
93
119
  // judgment value supplied by config, never baked into the public tree. session_bootstrap triages
94
120
  // the opening message to lightweight | standard | deep and reads the resolved context notes. A
@@ -1 +1 @@
1
- {"version":3,"file":"tools.schema.js","sourceRoot":"","sources":["../../src/config/tools.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.schema.js","sourceRoot":"","sources":["../../src/config/tools.schema.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,27 @@ export declare const VaultMemoryDefenseConfigSchema: z.ZodObject<{
29
29
  }>>;
30
30
  pii: z.ZodDefault<z.ZodBoolean>;
31
31
  }, z.core.$strip>;
32
+ export declare const VaultReflectConfigSchema: z.ZodObject<{
33
+ citationStyle: z.ZodOptional<z.ZodEnum<{
34
+ numeric: "numeric";
35
+ wikilink: "wikilink";
36
+ }>>;
37
+ detail: z.ZodOptional<z.ZodEnum<{
38
+ concise: "concise";
39
+ standard: "standard";
40
+ thorough: "thorough";
41
+ }>>;
42
+ }, z.core.$strip>;
43
+ /** Per-vault index controls. Merged with Obsidian's own Excluded files list (`userIgnoreFilters`). */
44
+ export declare const VaultIndexConfigSchema: z.ZodObject<{
45
+ excludePaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
46
+ }, z.core.$strip>;
47
+ /** The folder a vault's LLM wiki lives in (draft_wiki_page / commit_wiki_page read its SCHEMA.md)
48
+ * and, optionally, where its immutable raw sources live. */
49
+ export declare const VaultWikiConfigSchema: z.ZodObject<{
50
+ folder: z.ZodString;
51
+ rawFolder: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$strip>;
32
53
  export declare const VaultConfigSchema: z.ZodObject<{
33
54
  id: z.ZodString;
34
55
  name: z.ZodOptional<z.ZodString>;
@@ -86,10 +107,30 @@ export declare const VaultConfigSchema: z.ZodObject<{
86
107
  }>>;
87
108
  pii: z.ZodDefault<z.ZodBoolean>;
88
109
  }, z.core.$strip>>;
110
+ reflect: z.ZodOptional<z.ZodObject<{
111
+ citationStyle: z.ZodOptional<z.ZodEnum<{
112
+ numeric: "numeric";
113
+ wikilink: "wikilink";
114
+ }>>;
115
+ detail: z.ZodOptional<z.ZodEnum<{
116
+ concise: "concise";
117
+ standard: "standard";
118
+ thorough: "thorough";
119
+ }>>;
120
+ }, z.core.$strip>>;
121
+ wiki: z.ZodOptional<z.ZodObject<{
122
+ folder: z.ZodString;
123
+ rawFolder: z.ZodOptional<z.ZodString>;
124
+ }, z.core.$strip>>;
125
+ index: z.ZodOptional<z.ZodObject<{
126
+ excludePaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
127
+ }, z.core.$strip>>;
89
128
  }, z.core.$strip>;
90
129
  export type VaultConfig = z.infer<typeof VaultConfigSchema>;
91
130
  /** GH #994: a vault's fully-defaulted memoryDefense config. */
92
131
  export type VaultMemoryDefenseConfig = z.infer<typeof VaultMemoryDefenseConfigSchema>;
132
+ /** A vault's `reflect` defaults (both keys optional). */
133
+ export type VaultReflectConfig = z.infer<typeof VaultReflectConfigSchema>;
93
134
  /** The pre-parse shape (defaulted fields optional) — what VaultRegistry accepts, so a raw
94
135
  * `{ id, path }` (kind/name/acl defaulted at use) is valid without a full schema parse. */
95
136
  export type VaultConfigInput = z.input<typeof VaultConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"vault.schema.d.ts","sourceRoot":"","sources":["../../src/config/vault.schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,wBAAwB;;;;;iBA6BnC,CAAC;AAMH,eAAO,MAAM,wBAAwB;;;;iBAenC,CAAC;AAMH,eAAO,MAAM,yBAAyB;;;iBAapC,CAAC;AASH,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAO9C,eAAO,MAAM,uBAAuB;;iBAQlC,CAAC;AAOH,eAAO,MAAM,0BAA0B;;iBAQrC,CAAC;AASH,eAAO,MAAM,8BAA8B;;;;;;;iBAazC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0E5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,+DAA+D;AAC/D,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF;4FAC4F;AAC5F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,oDAAoD;AACpD,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"vault.schema.d.ts","sourceRoot":"","sources":["../../src/config/vault.schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,wBAAwB;;;;;iBA6BnC,CAAC;AAMH,eAAO,MAAM,wBAAwB;;;;iBAenC,CAAC;AAMH,eAAO,MAAM,yBAAyB;;;iBAapC,CAAC;AASH,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAO9C,eAAO,MAAM,uBAAuB;;iBAQlC,CAAC;AAOH,eAAO,MAAM,0BAA0B;;iBAQrC,CAAC;AASH,eAAO,MAAM,8BAA8B;;;;;;;iBAazC,CAAC;AAKH,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAanC,CAAC;AAEH,sGAAsG;AACtG,eAAO,MAAM,sBAAsB;;iBAOjC,CAAC;AAqBH;6DAC6D;AAC7D,eAAO,MAAM,qBAAqB;;;iBAqB9B,CAAC;AAEL,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmF5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,+DAA+D;AAC/D,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,yDAAyD;AACzD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E;4FAC4F;AAC5F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,oDAAoD;AACpD,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC"}
@@ -1,12 +1,14 @@
1
1
  // WP1.2: extracted from ../config.schema.ts (which stays a compatibility facade re-exporting
2
- // these same symbol names). Leaf schema — imports Zod and the sibling auth-acl leaf (for the
3
- // per-vault ACL override); no other shared scalars needed here.
2
+ // these same symbol names). Leaf schema — imports Zod, the shared Windows-name classifier and the
3
+ // sibling auth-acl leaf (for the per-vault ACL override).
4
4
  //
5
5
  // Import direction is non-negotiable: this file must never import config.schema.ts or any
6
6
  // other non-sibling schema module. AclConfigSchema comes from the sibling leaf
7
7
  // ./auth-acl.schema, never re-derived through the facade — that would be a cycle.
8
8
  import { z } from "zod";
9
+ import { windowsNameProblem } from "../schemas/primitives";
9
10
  import { AclConfigSchema } from "./auth-acl.schema";
11
+ import { indexExclusionEntry } from "./path-glob";
10
12
  // Per-vault plugin-bridge timeouts (M4 / THE-180, G2.2 §3.1 + §6). Inner fields
11
13
  // carry defaults; the whole block is optional so a vault that predates M4
12
14
  // validates unchanged (consumers read `vault.bridges?.x ?? <default>`).
@@ -117,6 +119,56 @@ export const VaultMemoryDefenseConfigSchema = z.object({
117
119
  .default(false)
118
120
  .describe('Also scan for PII: US SSN shape and Luhn-valid 13-19 digit numbers with a known card-issuer prefix. Emails and phone numbers are never flagged. Has no effect when mode is "off".'),
119
121
  });
122
+ // Per-vault defaults for the `reflect` tool's style arguments. Deliberately NO schema defaults: an
123
+ // unset key must stay distinguishable from an explicit one, because reflect resolves call argument
124
+ // > this block > the shipped default (numeric / concise), and only an absent value falls through.
125
+ export const VaultReflectConfigSchema = z.object({
126
+ citationStyle: z
127
+ .enum(["numeric", "wikilink"])
128
+ .optional()
129
+ .describe('Default `citation_style` for reflect on this vault when the call omits it. "numeric" keeps the [n] markers; "wikilink" renders each [n] as [[path]] in the answer and in a persisted note. Unset means numeric.'),
130
+ detail: z
131
+ .enum(["concise", "standard", "thorough"])
132
+ .optional()
133
+ .describe("Default `detail` for reflect on this vault when the call omits it: how much the synthesis says. Unset means concise."),
134
+ });
135
+ /** Per-vault index controls. Merged with Obsidian's own Excluded files list (`userIgnoreFilters`). */
136
+ export const VaultIndexConfigSchema = z.object({
137
+ excludePaths: z
138
+ .array(indexExclusionEntry())
139
+ .default([])
140
+ .describe("Extra entries merged with the Excluded files list Obsidian keeps in `.obsidian/app.json` (Settings -> Files & links -> Excluded files). Same dialect as Obsidian: an entry is a case-insensitive path prefix (`Archive/` is a folder, `Notes/todo.md` a file), and an entry written `/regex/` is a case-insensitive regular expression tested against the vault-relative path. In a path entry a backslash is read as a separator (`Archive\\` is `Archive/`); a `/regex/` entry is left exactly as written. A matching note is left out of the search index (no chunks, no embeddings, no search results, no graph edges) but stays a normal vault file: links to it resolve and read_note still works. This is NOT `egress.excludePaths`, which only withholds text from model providers."),
141
+ });
142
+ // One or more `/`-separated segments, none of them `.` or `..`, empty, or holding a backslash,
143
+ // colon or NUL: so no `""`, `.`, `/`, `/abs`, `C:\x`, `a/../b` or trailing slash. Rejected, never
144
+ // reinterpreted: a value that quietly became "the whole vault" would turn every note into wiki.
145
+ const folderPath = () => z
146
+ .string()
147
+ .max(512)
148
+ .regex(/^(?:(?!\.{1,2}(?:\/|$))[^/\\:\0]*[^/\\:\0 .])(?:\/(?!\.{1,2}(?:\/|$))[^/\\:\0]*[^/\\:\0 .])*$/, "must be a folder path inside the vault: no leading or trailing slash, no `.` or `..` segment, no backslash or colon, and no segment ending in a space or dot")
149
+ .refine((path) => path.split("/").every((segment) => windowsNameProblem(segment) !== "trailing_dot_or_space"), { message: "folder path segments must not end in a space or dot (Windows strips them)" });
150
+ const foldKey = (p) => p.normalize("NFC").toLowerCase();
151
+ /** The folder a vault's LLM wiki lives in (draft_wiki_page / commit_wiki_page read its SCHEMA.md)
152
+ * and, optionally, where its immutable raw sources live. */
153
+ export const VaultWikiConfigSchema = z
154
+ .object({
155
+ folder: folderPath().describe("Vault-relative folder that holds this vault's LLM wiki, written `wiki` or `notes/wiki` (no leading or trailing slash; `.`, `/`, an absolute path, `..`, and segments ending in a space or dot are rejected). A `SCHEMA.md` in it declares the page types, the frontmatter each type requires and the allowed property vocabulary; draft_wiki_page proposes pages in this folder and commit_wiki_page only writes new pages inside it. Creating a page there needs no confirmation (a new page has no snapshot: delete_note removes it; restore_note undoes patches and overwrites). Absent means the vault has no wiki folder: draft_wiki_page then applies no schema and commit_wiki_page refuses."),
156
+ rawFolder: folderPath()
157
+ .optional()
158
+ .describe("Vault-relative folder of this vault's raw sources, the inputs the wiki is built from (same rules as `folder`). Default: a `raw` folder BESIDE the wiki folder (`wiki` gives `raw`, `notes/wiki` gives `notes/raw`); there is none when that would overlap the wiki folder. It must not be, contain or sit inside `folder`. Its files are IMMUTABLE: no tool writes, renames or deletes anything in it (add sources outside the server, for example with Obsidian or a web clipper); reads follow the normal read ACL. draft_wiki_page `source` ingests one of its notes."),
159
+ })
160
+ .superRefine((w, ctx) => {
161
+ if (w.rawFolder === undefined)
162
+ return;
163
+ const a = foldKey(w.folder);
164
+ const b = foldKey(w.rawFolder);
165
+ if (a === b || a.startsWith(`${b}/`) || b.startsWith(`${a}/`))
166
+ ctx.addIssue({
167
+ code: "custom",
168
+ path: ["rawFolder"],
169
+ message: "must not be, contain or sit inside wiki.folder",
170
+ });
171
+ });
120
172
  export const VaultConfigSchema = z.object({
121
173
  id: z
122
174
  .string()
@@ -171,5 +223,8 @@ export const VaultConfigSchema = z.object({
171
223
  memory: VaultMemoryConfigSchema.optional().describe("Per-vault memory-entity materialization settings."),
172
224
  workspace: VaultWorkspaceConfigSchema.optional().describe("Per-vault workspace session-trace settings."),
173
225
  memoryDefense: VaultMemoryDefenseConfigSchema.optional().describe('Per-vault memory write scan (GH #994). Absent means mode "off" — no behaviour change.'),
226
+ reflect: VaultReflectConfigSchema.optional().describe("Per-vault defaults for the reflect tool's citation_style and detail arguments. A call argument beats this; absent means the shipped defaults (numeric, concise)."),
227
+ wiki: VaultWikiConfigSchema.optional().describe("Per-vault LLM wiki settings (the wiki folder and its SCHEMA.md). Absent means no wiki folder."),
228
+ index: VaultIndexConfigSchema.optional().describe("Per-vault index controls. Absent means only the Excluded files list in the vault's own `.obsidian/app.json` applies."),
174
229
  });
175
230
  //# sourceMappingURL=vault.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vault.schema.js","sourceRoot":"","sources":["../../src/config/vault.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.schema.js","sourceRoot":"","sources":["../../src/config/vault.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ export declare const WikiJudgeConfigSchema: z.ZodPrefault<z.ZodObject<{
3
+ enabled: z.ZodDefault<z.ZodBoolean>;
4
+ lintEnabled: z.ZodDefault<z.ZodBoolean>;
5
+ provider: z.ZodDefault<z.ZodEnum<{
6
+ gateway: "gateway";
7
+ typesafe: "typesafe";
8
+ }>>;
9
+ model: z.ZodOptional<z.ZodString>;
10
+ threshold: z.ZodOptional<z.ZodNumber>;
11
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
12
+ baseUrl: z.ZodDefault<z.ZodString>;
13
+ plainHttpHosts: z.ZodDefault<z.ZodArray<z.ZodString>>;
14
+ allowPlainHttp: z.ZodDefault<z.ZodBoolean>;
15
+ maxCallsPerRequest: z.ZodDefault<z.ZodNumber>;
16
+ maxCallsPerDay: z.ZodDefault<z.ZodNumber>;
17
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
18
+ maxNoteChars: z.ZodDefault<z.ZodNumber>;
19
+ }, z.core.$strip>>;
20
+ //# sourceMappingURL=wiki-judge.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-judge.schema.d.ts","sourceRoot":"","sources":["../../src/config/wiki-judge.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;kBAoGnB,CAAC"}