@the-40-thieves/obsidian-tc-shared 1.21.0 → 1.23.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 (39) hide show
  1. package/dist/config/gateway.schema.d.ts +7 -0
  2. package/dist/config/gateway.schema.d.ts.map +1 -0
  3. package/dist/config/gateway.schema.js +21 -0
  4. package/dist/config/gateway.schema.js.map +1 -0
  5. package/dist/config/indexing-embeddings.schema.d.ts +1 -0
  6. package/dist/config/indexing-embeddings.schema.d.ts.map +1 -1
  7. package/dist/config/indexing-embeddings.schema.js +24 -0
  8. package/dist/config/indexing-embeddings.schema.js.map +1 -1
  9. package/dist/config/observability.schema.d.ts +6 -0
  10. package/dist/config/observability.schema.d.ts.map +1 -1
  11. package/dist/config/observability.schema.js +41 -5
  12. package/dist/config/observability.schema.js.map +1 -1
  13. package/dist/config/personas.schema.d.ts +28 -0
  14. package/dist/config/personas.schema.d.ts.map +1 -0
  15. package/dist/config/personas.schema.js +27 -0
  16. package/dist/config/personas.schema.js.map +1 -0
  17. package/dist/config/reranker.schema.d.ts +2 -0
  18. package/dist/config/reranker.schema.d.ts.map +1 -1
  19. package/dist/config/reranker.schema.js +19 -1
  20. package/dist/config/reranker.schema.js.map +1 -1
  21. package/dist/config/retrieval.schema.d.ts +27 -0
  22. package/dist/config/retrieval.schema.d.ts.map +1 -1
  23. package/dist/config/retrieval.schema.js +211 -9
  24. package/dist/config/retrieval.schema.js.map +1 -1
  25. package/dist/config/server.schema.d.ts +104 -0
  26. package/dist/config/server.schema.d.ts.map +1 -1
  27. package/dist/config/server.schema.js +20 -1
  28. package/dist/config/server.schema.js.map +1 -1
  29. package/dist/config.schema.d.ts +5 -3
  30. package/dist/config.schema.d.ts.map +1 -1
  31. package/dist/config.schema.js +4 -2
  32. package/dist/config.schema.js.map +1 -1
  33. package/dist/errors.d.ts +2 -1
  34. package/dist/errors.d.ts.map +1 -1
  35. package/dist/errors.js +7 -1
  36. package/dist/errors.js.map +1 -1
  37. package/dist/result.d.ts +4 -0
  38. package/dist/result.d.ts.map +1 -1
  39. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ export declare const GatewayConfigSchema: z.ZodObject<{
3
+ baseUrl: z.ZodOptional<z.ZodURL>;
4
+ token: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strip>;
6
+ export type GatewayConfig = z.infer<typeof GatewayConfigSchema>;
7
+ //# sourceMappingURL=gateway.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.schema.d.ts","sourceRoot":"","sources":["../../src/config/gateway.schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;iBAe9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ // THE-832: root-level connection config for the inference gateway (W-GATEWAY-CLIENT). Previously
2
+ // reachable ONLY via OBSIDIAN_TC_GATEWAY_URL / OBSIDIAN_TC_GATEWAY_TOKEN. A reporter running this
3
+ // as a local patch in production hit a real failure mode env-only config cannot avoid: their host
4
+ // app rewrites its own MCP server config on restart and drops env keys it did not author, silently
5
+ // reverting the gateway URL and leaving every generative seam (extract/synthesize/judge, rerank)
6
+ // unavailable with no error. The config file is a channel that rewrite does not touch. Leaf schema
7
+ // — imports Zod only.
8
+ import { z } from "zod";
9
+ export const GatewayConfigSchema = z.object({
10
+ // z.url(), not z.string().url() — the latter is deprecated in Zod 4 (see reranker.schema.ts).
11
+ baseUrl: z
12
+ .url()
13
+ .optional()
14
+ .describe("Inference gateway base URL. Takes precedence over the OBSIDIAN_TC_GATEWAY_URL environment variable when both are set — set this when a host application rewrites its own env block on restart, which would otherwise silently drop the env var and degrade every generative seam with no error. Absent falls through to the env var, then to graceful degradation."),
15
+ token: z
16
+ .string()
17
+ .min(1)
18
+ .optional()
19
+ .describe("Bearer token (LiteLLM master/virtual key) for the gateway. Secret — never logged, and takes precedence over the OBSIDIAN_TC_GATEWAY_TOKEN environment variable when both are set."),
20
+ });
21
+ //# sourceMappingURL=gateway.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.schema.js","sourceRoot":"","sources":["../../src/config/gateway.schema.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,kGAAkG;AAClG,kGAAkG;AAClG,mGAAmG;AACnG,iGAAiG;AACjG,mGAAmG;AACnG,sBAAsB;AACtB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,8FAA8F;IAC9F,OAAO,EAAE,CAAC;SACP,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CACP,oWAAoW,CACrW;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,mLAAmL,CACpL;CACJ,CAAC,CAAC"}
@@ -38,6 +38,7 @@ export declare const IndexingConfigSchema: z.ZodPrefault<z.ZodObject<{
38
38
  writeConcurrencyPerVault: z.ZodDefault<z.ZodNumber>;
39
39
  queueMax: z.ZodDefault<z.ZodNumber>;
40
40
  streamingWalk: z.ZodDefault<z.ZodBoolean>;
41
+ chunkTokens: z.ZodDefault<z.ZodNumber>;
41
42
  }, z.core.$strip>>;
42
43
  export type IndexingConfig = z.infer<typeof IndexingConfigSchema>;
43
44
  //# sourceMappingURL=indexing-embeddings.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexing-embeddings.schema.d.ts","sourceRoot":"","sources":["../../src/config/indexing-embeddings.schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqMjC,CAAC;AAOH,eAAO,MAAM,oBAAoB;;;;;kBAoClB,CAAC;AAChB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"indexing-embeddings.schema.d.ts","sourceRoot":"","sources":["../../src/config/indexing-embeddings.schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqMjC,CAAC;AAOH,eAAO,MAAM,oBAAoB;;;;;;kBA8DlB,CAAC;AAChB,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -204,6 +204,30 @@ export const IndexingConfigSchema = z
204
204
  .boolean()
205
205
  .default(false)
206
206
  .describe("Walk the vault lazily per-directory (walkVaultStream) instead of materializing the full sorted file list before indexing starts. Lower peak memory on large vaults; index output is unchanged either way."),
207
+ /** THE-424: the chunker's token budget. `ChunkOptions.maxTokens` has always existed and
208
+ * `chunkNote(body)` has always been called with NO options, so the budget was pinned at the
209
+ * 512 default and the only way to change it was to edit chunk.ts. Same shape as
210
+ * experiential.activationDecay before THE-644 item 3: a knob with no handle. Additive,
211
+ * defaulted to the existing 512, and threaded to its consumer in the same change.
212
+ *
213
+ * UNLIKE every other representation axis, changing this DOES require a re-embed. The
214
+ * fingerprint comment in search/representation.ts explains that a fingerprint change is
215
+ * normally free because `vec_chunks` refills from the already-stored `chunk_embeddings`
216
+ * rows — that holds because no other axis moves `provider.id` OR the chunk boundaries. This
217
+ * one moves the boundaries: different budget means different chunk ids, different content
218
+ * hashes, and stored vectors that describe text no chunk contains any more. Budget a full
219
+ * re-index, and prefer a fresh cacheDir over mutating a live one.
220
+ *
221
+ * Bounded [64, 8192]: below ~64 a chunk cannot carry a heading breadcrumb plus a sentence,
222
+ * and 8192 is bge-m3's context ceiling — past it the tail is silently truncated by the
223
+ * provider rather than by us, which is the failure mode hardest to see from the index. */
224
+ chunkTokens: z
225
+ .number()
226
+ .int()
227
+ .min(64)
228
+ .max(8192)
229
+ .default(512)
230
+ .describe("Chunker token budget: a note section over this many estimated tokens is sub-split on paragraph boundaries. Participates in the representation fingerprint, and unlike the other axes a change here requires a full re-index — different budget means different chunk boundaries, so stored vectors no longer describe any chunk that exists."),
207
231
  })
208
232
  .prefault({});
209
233
  //# sourceMappingURL=indexing-embeddings.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexing-embeddings.schema.js","sourceRoot":"","sources":["../../src/config/indexing-embeddings.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexing-embeddings.schema.js","sourceRoot":"","sources":["../../src/config/indexing-embeddings.schema.ts"],"names":[],"mappings":"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"}
@@ -53,4 +53,10 @@ export declare const PlurConfigSchema: z.ZodObject<{
53
53
  timeoutMs: z.ZodDefault<z.ZodNumber>;
54
54
  command: z.ZodOptional<z.ZodArray<z.ZodString>>;
55
55
  }, z.core.$strip>;
56
+ export declare const ReadwiseConfigSchema: z.ZodObject<{
57
+ token: z.ZodOptional<z.ZodString>;
58
+ }, z.core.$strip>;
59
+ export declare const PensieveConfigSchema: z.ZodObject<{
60
+ baseUrl: z.ZodOptional<z.ZodString>;
61
+ }, z.core.$strip>;
56
62
  //# sourceMappingURL=observability.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observability.schema.d.ts","sourceRoot":"","sources":["../../src/config/observability.schema.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;iBA8EpC,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;kBAgBnB,CAAC;AAGhB,eAAO,MAAM,uBAAuB;;;;;;;;kBAoErB,CAAC;AAOhB,eAAO,MAAM,iBAAiB;;;kBAiBf,CAAC;AAWhB,eAAO,MAAM,qBAAqB;;kBAWnB,CAAC;AAIhB,eAAO,MAAM,iBAAiB;;;;;;kBAuCf,CAAC;AAUhB,eAAO,MAAM,gBAAgB;;;;;;iBAgC3B,CAAC"}
1
+ {"version":3,"file":"observability.schema.d.ts","sourceRoot":"","sources":["../../src/config/observability.schema.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;iBA8EpC,CAAC;AAGH,eAAO,MAAM,qBAAqB;;;kBAgBnB,CAAC;AAGhB,eAAO,MAAM,uBAAuB;;;;;;;;kBAoErB,CAAC;AAOhB,eAAO,MAAM,iBAAiB;;;kBAiBf,CAAC;AAWhB,eAAO,MAAM,qBAAqB;;kBAWnB,CAAC;AAgBhB,eAAO,MAAM,iBAAiB;;;;;;kBAuCf,CAAC;AAUhB,eAAO,MAAM,gBAAgB;;;;;;iBAgC3B,CAAC;AAOH,eAAO,MAAM,oBAAoB;;iBAO/B,CAAC;AASH,eAAO,MAAM,oBAAoB;;iBAO/B,CAAC"}
@@ -197,13 +197,25 @@ export const SchedulerConfigSchema = z
197
197
  })
198
198
  .prefault({});
199
199
  // THE-296 — ambient sleep-time consolidation (synthesis + audit jobs). Fully defaulted; only
200
- // meaningful when the inference gateway (roles) is configured cli gates on both.
200
+ // meaningful when the inference gateway (roles) is configured. THE-822: `enabled: false` gates the
201
+ // scheduled pass AND the per-index-write contradiction enqueue AND the contradiction/synthesis/
202
+ // audit job handlers — every plane-scoped consumer of roles in plane-wiring.ts. It does NOT gate
203
+ // `roles` itself, which stays live for other tools (e.g. reflect) regardless of this flag.
204
+ //
205
+ // THE-825 / GH #786: default flipped true -> false. With ANY inference gateway configured, a
206
+ // fresh install ran ambient synthesis/audit/contradiction-judging LLM calls across the WHOLE vault
207
+ // unless the operator already knew to turn this off -- and a gateway is commonly configured for an
208
+ // unrelated feature (e.g. reflect), which is not consent to unattended whole-vault model calls over
209
+ // private content. Ambient consolidation is now opt-in. Because the failure mode of this flip is
210
+ // silent (the plane just stops), server-runtime.ts's boot path (plane-opt-in-notice.ts) emits a
211
+ // loud, actionable stderr line whenever a gateway IS configured and `plane.enabled` was left
212
+ // unset in the raw config -- but never when it was set explicitly, including an explicit `false`.
201
213
  export const PlaneConfigSchema = z
202
214
  .object({
203
215
  enabled: z
204
216
  .boolean()
205
- .default(true)
206
- .describe("Run ambient sleep-time consolidation (synthesis and audit jobs). Only meaningful when the inference gateway roles are configured."),
217
+ .default(false)
218
+ .describe("Run ambient sleep-time consolidation (synthesis and audit jobs). Only meaningful when the inference gateway roles are configured. Opt-in (THE-825): a deployment with a gateway configured and this key unset gets a boot-time notice explaining how to turn it on."),
207
219
  intervalMinutes: z
208
220
  .number()
209
221
  .int()
@@ -226,8 +238,8 @@ export const PlaneConfigSchema = z
226
238
  .number()
227
239
  .int()
228
240
  .positive()
229
- .default(60000)
230
- .describe("Aggregate character cap on a consolidation job's WHOLE gateway request (system prompt + user message). Not a per-item cap: the synthesis job already truncated each chunk to 1000 chars and still built a 169,258-char prompt from 200 of them, which the serving window rejected as ContextWindowExceeded. Sized in characters, not tokens, because no tokenizer is available on this side. The default is conservative on purpose — the model behind a gateway role is swappable at the gateway, and the server does not advertise its max_model_len through the LiteLLM /v1/models passthrough, so this side cannot discover the real ceiling. Measured on a real vault at 3.294 chars/token, 60000 is ~18.2k tokens; dense content (code, CJK) runs nearer 2.5 chars/token, giving ~24k. Both leave room for the model's own output inside a 32768 window. Raise it when the role points at a larger serving window."),
241
+ .default(45535)
242
+ .describe("Aggregate character cap on a consolidation job's WHOLE gateway request (system prompt + user message). Not a per-item cap: the synthesis job already truncated each chunk to 1000 chars and still built a 169,258-char prompt from 200 of them, which the serving window rejected as ContextWindowExceeded. Sized in characters, not tokens, because no tokenizer is available on this side. The default is conservative on purpose — the model behind a gateway role is swappable at the gateway, and the server does not advertise its max_model_len through the LiteLLM /v1/models passthrough, so this side cannot discover the real ceiling. THE-891 item 7: sized so every vault shape keeps the SAME ~14,554-token output reserve inside a 32768-token window, not just prose-like ones derived from the worst-case density this job documents (code/CJK, ~2.5 chars/token): (32768 - 14554) x 2.5 = 45535 chars. A prose-dense vault (measured on a real vault at 3.294 chars/token) gets MORE reserve than this, never less. Raise it when the role points at a larger serving window."),
231
243
  })
232
244
  .prefault({});
233
245
  // plur read-API proxy config (M5 / THE-181, G2.1 Domain 24). GLOBAL, not per-vault:
@@ -265,4 +277,28 @@ export const PlurConfigSchema = z.object({
265
277
  .optional()
266
278
  .describe('argv prefix for shelling out to a local plur CLI instead of the HTTP endpoint, e.g. ["plur"]. Takes precedence over `endpoint`.'),
267
279
  });
280
+ // THE-650: the Readwise adapter for `obsidian-tc import-highlights` — the first producer of the
281
+ // source-agnostic highlight-import format (capture/highlight-import.ts). Same shape and same
282
+ // degradation contract as PlurConfigSchema just above: a bare token, ABSENT by default, and its
283
+ // absence is meaningful — `import-highlights` no-ops with NO network call rather than failing,
284
+ // so a deployment that never configures Readwise never notices this feature exists.
285
+ export const ReadwiseConfigSchema = z.object({
286
+ token: z
287
+ .string()
288
+ .optional()
289
+ .describe("Readwise access token (readwise.io/access_token), used as `Authorization: Token <token>` against the classic v2 export API. Secret — never logged or placed in an error/audit payload. Absent means `import-highlights` no-ops with NO network call."),
290
+ });
291
+ // THE-175: the Pensieve adapter for `obsidian-tc import-ambient` — the first producer of the
292
+ // source-agnostic ambient-capture format (capture/ambient-import.ts). Same shape and same
293
+ // degradation contract as ReadwiseConfigSchema just above: a bare base URL, ABSENT by default, and
294
+ // its absence is meaningful — `import-ambient` no-ops with NO network call rather than failing.
295
+ // A URL rather than a fixed localhost port because Pensieve instances run on remote machines
296
+ // reached over tailscale, not necessarily the box obsidian-tc itself runs on — which machine an
297
+ // observation came from is a separate, per-invocation `--machine` label, not part of this config.
298
+ export const PensieveConfigSchema = z.object({
299
+ baseUrl: z
300
+ .string()
301
+ .optional()
302
+ .describe("Base URL of a Pensieve instance (e.g. http://100.x.x.x:8839, its default port), queried at `/api/search`. Pensieve's API has no auth — access control is expected at the network layer (tailscale). Absent means `import-ambient` no-ops with NO network call."),
303
+ });
268
304
  //# sourceMappingURL=observability.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observability.schema.js","sourceRoot":"","sources":["../../src/config/observability.schema.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,2FAA2F;AAC3F,EAAE;AACF,oFAAoF;AACpF,mFAAmF;AACnF,gGAAgG;AAChG,6FAA6F;AAC7F,cAAc;AACd,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,wFAAwF;AACxF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,sGAAsG;IACtG,sGAAsG;IACtG,gDAAgD;IAChD,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,6EAA6E,CAAC;QAC1F,OAAO,EAAE,CAAC;aACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aAC9B,QAAQ,CAAC,EAAE,CAAC;aACZ,QAAQ,CACP,iFAAiF,CAClF;KACJ,CAAC;SACD,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,6BAA6B,CAAC;IAC1C,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACvF,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,KAAK,CAAC;aACV,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,0CAA0C,CAAC;QACvD,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,OAAO,CAAC,WAAW,CAAC;aACpB,QAAQ,CACP,0FAA0F,CAC3F;KACJ,CAAC;SACD,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QAC3F,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,+EAA+E,CAAC;QAC5F,WAAW,EAAE,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aAC9B,QAAQ,CAAC,EAAE,CAAC;aACZ,QAAQ,CAAC,6DAA6D,CAAC;KAC3E,CAAC;SACD,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,4BAA4B,CAAC;IACzC,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,6FAA6F;QAC7F,6FAA6F;QAC7F,8EAA8E;QAC9E,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CACP,6HAA6H,CAC9H;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,OAAO,CAAC,EAAE,CAAC;aACX,QAAQ,CACP,wYAAwY,CACzY;KACJ,CAAC;SACD,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,yDAAyD,CAAC;CACvE,CAAC,CAAC;AACH,8FAA8F;AAC9F,mGAAmG;AACnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,4MAA4M,CAC7M;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,IAAI,CAAC;SACT,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,qEAAqE,CAAC;CACnF,CAAC;KACD,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChB,6FAA6F;AAC7F,4FAA4F;AAC5F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,+HAA+H,CAChI;IACH,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,qCAAqC,CAAC;IAClD,4FAA4F;IAC5F,sFAAsF;IACtF,yBAAyB,EAAE,CAAC;SACzB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CACP,oUAAoU,CACrU;IACH,wFAAwF;IACxF,6FAA6F;IAC7F,0DAA0D;IAC1D,6FAA6F;IAC7F,8FAA8F;IAC9F,8FAA8F;IAC9F,6FAA6F;IAC7F,2FAA2F;IAC3F,4FAA4F;IAC5F,0FAA0F;IAC1F,4FAA4F;IAC5F,wBAAwB,EAAE,CAAC;SACxB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,2fAA2f,CAC5f;IACH,qBAAqB,EAAE,CAAC;SACrB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACP,qQAAqQ,CACtQ;IACH,uBAAuB,EAAE,CAAC;SACvB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CACP,0bAA0b,CAC3b;IACH,uBAAuB,EAAE,CAAC;SACvB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CACP,8MAA8M,CAC/M;CACJ,CAAC;KACD,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEhB,mGAAmG;AACnG,kGAAkG;AAClG,kGAAkG;AAClG,oGAAoG;AACpG,4CAA4C;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,4jBAA4jB,CAC7jB;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CACP,qRAAqR,CACtR;CACJ,CAAC;KACD,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEhB,6FAA6F;AAC7F,4FAA4F;AAC5F,+FAA+F;AAC/F,iGAAiG;AACjG,gGAAgG;AAChG,iEAAiE;AACjE,EAAE;AACF,kGAAkG;AAClG,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,oeAAoe,CACre;CACJ,CAAC;KACD,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEhB,6FAA6F;AAC7F,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,mIAAmI,CACpI;IACH,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,uCAAuC,CAAC;IACpD,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CACP,uwBAAuwB,CACxwB;IACH,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CACP,6jCAA6jC,CAC9jC;IACH,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,03BAA03B,CAC33B;CACJ,CAAC;KACD,QAAQ,CAAC,EAAE,CAAC,CAAC;AAEhB,oFAAoF;AACpF,kFAAkF;AAClF,yEAAyE;AACzE,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,qFAAqF;AACrF,wBAAwB;AACxB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CACP,qIAAqI,CACtI;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,8IAA8I,CAC/I;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACvF,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,qCAAqC,CAAC;IAClD,0FAA0F;IAC1F,4FAA4F;IAC5F,wEAAwE;IACxE,iFAAiF;IACjF,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,iIAAiI,CAClI;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"observability.schema.js","sourceRoot":"","sources":["../../src/config/observability.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ export declare const PersonaConfigSchema: z.ZodObject<{
3
+ vaults: z.ZodArray<z.ZodString>;
4
+ scopes: z.ZodArray<z.ZodString>;
5
+ toolVisibility: z.ZodOptional<z.ZodObject<{
6
+ allowed: z.ZodOptional<z.ZodArray<z.ZodString>>;
7
+ hidden: z.ZodDefault<z.ZodArray<z.ZodString>>;
8
+ disabled: z.ZodDefault<z.ZodArray<z.ZodString>>;
9
+ hiddenTags: z.ZodDefault<z.ZodArray<z.ZodString>>;
10
+ disabledTags: z.ZodDefault<z.ZodArray<z.ZodString>>;
11
+ requireReadOnly: z.ZodDefault<z.ZodBoolean>;
12
+ }, z.core.$strip>>;
13
+ }, z.core.$strip>;
14
+ export type PersonaConfig = z.infer<typeof PersonaConfigSchema>;
15
+ export declare const PersonasConfigSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
16
+ vaults: z.ZodArray<z.ZodString>;
17
+ scopes: z.ZodArray<z.ZodString>;
18
+ toolVisibility: z.ZodOptional<z.ZodObject<{
19
+ allowed: z.ZodOptional<z.ZodArray<z.ZodString>>;
20
+ hidden: z.ZodDefault<z.ZodArray<z.ZodString>>;
21
+ disabled: z.ZodDefault<z.ZodArray<z.ZodString>>;
22
+ hiddenTags: z.ZodDefault<z.ZodArray<z.ZodString>>;
23
+ disabledTags: z.ZodDefault<z.ZodArray<z.ZodString>>;
24
+ requireReadOnly: z.ZodDefault<z.ZodBoolean>;
25
+ }, z.core.$strip>>;
26
+ }, z.core.$strip>>;
27
+ export type PersonasConfig = z.infer<typeof PersonasConfigSchema>;
28
+ //# sourceMappingURL=personas.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personas.schema.d.ts","sourceRoot":"","sources":["../../src/config/personas.schema.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;iBAgB9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAKhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;kBAA4C,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ // THE-647 item 2: named persona bundles for multi-agent HTTP deployments. Leaf schema — imports
2
+ // only tools.schema.ts (its own leaf, same precedent as vault.schema.ts importing
3
+ // auth-acl.schema.ts's AclConfigSchema); must never import config.schema.ts or server.schema.ts.
4
+ //
5
+ // A persona composes three mechanisms that already exist independently rather than inventing a
6
+ // fourth: THE-267 vault binding (`vaultBound` on CallerContext), the JWT scope grant
7
+ // (`grantedScopes`), and THE-219 tool-visibility scoping (`ToolVisibilityConfig`). It is
8
+ // server-operator CONFIG — who gets issued a JWT carrying which `persona` claim — never a
9
+ // caller-visible tool or a runtime-mutable resource; see auth/persona.ts for the resolution.
10
+ import { z } from "zod";
11
+ import { ToolVisibilityConfigSchema } from "./tools.schema";
12
+ export const PersonaConfigSchema = z.object({
13
+ vaults: z
14
+ .array(z.string())
15
+ .min(1)
16
+ .describe("Vault ids this persona may be bound to. A token's own `vault` claim (when present) must name one of these; absent, the first entry is the default. Resolution FAILS CLOSED on a vault outside this set — never widened to 'any configured vault'."),
17
+ scopes: z
18
+ .array(z.string())
19
+ .min(1)
20
+ .describe("The scopes a token carrying this persona is granted — REPLACES whatever scopes the token itself carries, never unioned with them, so a persona claim can only narrow or redirect a grant, never widen it beyond what the operator configured here."),
21
+ toolVisibility: ToolVisibilityConfigSchema.optional().describe("Optional per-persona tool-visibility mask, composed with the server's static `toolVisibility` at the same disabled > hidden > scope_denied > listed chokepoint (THE-645 item 2's existence-oracle constraint still holds). Can only narrow what the static config already allows, never restore a tool the static config hid or disabled."),
22
+ });
23
+ // A name -> bundle map. Wired into ServerConfigObject as `.optional()` — absent (the default)
24
+ // means no persona claim can ever resolve; see auth/persona.ts, which fails closed on an
25
+ // unrecognised name rather than falling back to the token's own (wider) scopes.
26
+ export const PersonasConfigSchema = z.record(z.string(), PersonaConfigSchema);
27
+ //# sourceMappingURL=personas.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personas.schema.js","sourceRoot":"","sources":["../../src/config/personas.schema.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,kFAAkF;AAClF,iGAAiG;AACjG,EAAE;AACF,+FAA+F;AAC/F,qFAAqF;AACrF,yFAAyF;AACzF,0FAA0F;AAC1F,6FAA6F;AAC7F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,mPAAmP,CACpP;IACH,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,oPAAoP,CACrP;IACH,cAAc,EAAE,0BAA0B,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC5D,2UAA2U,CAC5U;CACF,CAAC,CAAC;AAGH,8FAA8F;AAC9F,yFAAyF;AACzF,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC"}
@@ -7,6 +7,8 @@ export declare const RerankerConfigSchema: z.ZodObject<{
7
7
  apiKeyEnv: z.ZodOptional<z.ZodString>;
8
8
  timeoutMs: z.ZodOptional<z.ZodNumber>;
9
9
  modulePath: z.ZodOptional<z.ZodString>;
10
+ localModelPath: z.ZodOptional<z.ZodString>;
11
+ localModulePath: z.ZodOptional<z.ZodString>;
10
12
  }, z.core.$strip>;
11
13
  export type RerankerConfig = z.infer<typeof RerankerConfigSchema>;
12
14
  //# sourceMappingURL=reranker.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reranker.schema.d.ts","sourceRoot":"","sources":["../../src/config/reranker.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;iBAqD/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"reranker.schema.d.ts","sourceRoot":"","sources":["../../src/config/reranker.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;;iBA2E/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -6,7 +6,7 @@ export const RerankerConfigSchema = z.object({
6
6
  provider: z
7
7
  .string()
8
8
  .min(1)
9
- .describe("Reranker backend name, resolved against the provider registry at startup. Built-ins: cohere-compatible (any Cohere-format /rerank endpoint), model-tier (the BGE cross-encoder, configured via embeddings.modelTier.full), gateway (the inference gateway passthrough), and the profile-gated module."),
9
+ .describe("Reranker backend name, resolved against the provider registry at startup. Built-ins: cohere-compatible (any Cohere-format /rerank endpoint), model-tier (the BGE cross-encoder, configured via embeddings.modelTier.full), gateway (the inference gateway passthrough), local (THE-705: a bundled, fully offline cross-encoder — no gateway or Python service required; requires the optional @the-40-thieves/obsidian-tc-reranker-local package), and the profile-gated module."),
10
10
  // Optional at the schema level because "required" is not uniform across entries: cohere-compatible
11
11
  // genuinely needs one and throws its own actionable boot error when it is absent; model-tier
12
12
  // ignores it entirely (its model comes from embeddings.modelTier.full.model) and throws its own
@@ -41,5 +41,23 @@ export const RerankerConfigSchema = z.object({
41
41
  .min(1)
42
42
  .optional()
43
43
  .describe("Module exporting createReranker, for provider 'module'. Resolved against the config file's directory. Refused under the hardened security profile. The factory may be sync or async (an async factory is awaited). It must return a function: (query, documents, topN) => Promise<RerankHit[]>. Validated at load time, before first use."),
44
+ // THE-705. Only read by provider "local" — ignored, and refused at boot if set, by every other
45
+ // entry (same "declared but not consumed by this backend" contract as model, baseUrl, apiKey,
46
+ // apiKeyEnv, timeoutMs above).
47
+ localModelPath: z
48
+ .string()
49
+ .min(1)
50
+ .optional()
51
+ .describe("Absolute path to the local cross-encoder model directory for provider 'local' (containing <model-id>/config.json, tokenizer.json, onnx/model_int8.onnx — see @the-40-thieves/obsidian-tc-reranker-local's README). Defaults to that package's own models/ directory, populated by its `bun run fetch-model` script. Ignored — and refused at boot if set — by every other provider."),
52
+ // THE-705 round 2: route (i) of provider "local"'s resolution ladder (registry.ts's
53
+ // resolveLocalRerankerModule) — the escape hatch for every deployment shape the bare package
54
+ // specifier and the source-checkout default don't cover (an npm-installed server pointed at a
55
+ // reranker-local checkout elsewhere, a container image vendoring the built package at a fixed
56
+ // path, ...). Only read by provider "local".
57
+ localModulePath: z
58
+ .string()
59
+ .min(1)
60
+ .optional()
61
+ .describe("Explicit path to @the-40-thieves/obsidian-tc-reranker-local's BUILT module entry (its dist/index.js), for provider 'local'. Absolute, or resolved against the config file's directory (same convention as modulePath). Tried FIRST, before the bare package specifier and the source-checkout default — see that package's README for when you need this. Ignored by every other provider."),
44
62
  });
45
63
  //# sourceMappingURL=reranker.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reranker.schema.js","sourceRoot":"","sources":["../../src/config/reranker.schema.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,mGAAmG;AACnG,uEAAuE;AACvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,uSAAuS,CACxS;IACH,mGAAmG;IACnG,6FAA6F;IAC7F,gGAAgG;IAChG,iGAAiG;IACjG,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,iTAAiT,CAClT;IACH,qEAAqE;IACrE,OAAO,EAAE,CAAC;SACP,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CACP,kTAAkT,CACnT;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,6JAA6J,CAC9J;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,kIAAkI,CACnI;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,2IAA2I,CAC5I;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,2UAA2U,CAC5U;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"reranker.schema.js","sourceRoot":"","sources":["../../src/config/reranker.schema.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,mGAAmG;AACnG,uEAAuE;AACvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,kdAAkd,CACnd;IACH,mGAAmG;IACnG,6FAA6F;IAC7F,gGAAgG;IAChG,iGAAiG;IACjG,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,iTAAiT,CAClT;IACH,qEAAqE;IACrE,OAAO,EAAE,CAAC;SACP,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CACP,kTAAkT,CACnT;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,6JAA6J,CAC9J;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,kIAAkI,CACnI;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,2IAA2I,CAC5I;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,2UAA2U,CAC5U;IACH,+FAA+F;IAC/F,8FAA8F;IAC9F,+BAA+B;IAC/B,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,qXAAqX,CACtX;IACH,oFAAoF;IACpF,6FAA6F;IAC7F,8FAA8F;IAC9F,8FAA8F;IAC9F,6CAA6C;IAC7C,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,4XAA4X,CAC7X;CACJ,CAAC,CAAC"}
@@ -6,6 +6,15 @@ export declare const RetrievalConfigSchema: z.ZodObject<{
6
6
  sparse: z.ZodDefault<z.ZodBoolean>;
7
7
  colbert: z.ZodDefault<z.ZodBoolean>;
8
8
  gatedRerank: z.ZodDefault<z.ZodBoolean>;
9
+ gatedRerankHardness: z.ZodPrefault<z.ZodObject<{
10
+ mode: z.ZodDefault<z.ZodEnum<{
11
+ cosine: "cosine";
12
+ zMargin: "zMargin";
13
+ }>>;
14
+ hardTop1: z.ZodDefault<z.ZodNumber>;
15
+ hardZ: z.ZodDefault<z.ZodNumber>;
16
+ pool: z.ZodDefault<z.ZodNumber>;
17
+ }, z.core.$strip>>;
9
18
  graphStream: z.ZodPrefault<z.ZodObject<{
10
19
  enabled: z.ZodDefault<z.ZodBoolean>;
11
20
  expansionSeeds: z.ZodDefault<z.ZodNumber>;
@@ -32,6 +41,15 @@ export declare const RetrievalConfigSchema: z.ZodObject<{
32
41
  maxEntries: z.ZodDefault<z.ZodNumber>;
33
42
  ttlSeconds: z.ZodDefault<z.ZodNumber>;
34
43
  }, z.core.$strip>>;
44
+ summaries: z.ZodPrefault<z.ZodObject<{
45
+ enabled: z.ZodDefault<z.ZodBoolean>;
46
+ model: z.ZodOptional<z.ZodString>;
47
+ maxConcurrency: z.ZodDefault<z.ZodNumber>;
48
+ clusters: z.ZodPrefault<z.ZodObject<{
49
+ enabled: z.ZodDefault<z.ZodBoolean>;
50
+ maxConcurrency: z.ZodDefault<z.ZodNumber>;
51
+ }, z.core.$strip>>;
52
+ }, z.core.$strip>>;
35
53
  }, z.core.$strip>;
36
54
  /** Metadata-prior (authority-boost) rule: add `boost` to the fused score of a result whose note
37
55
  * frontmatter[field] === value. Ported from the retired KMS/vault-sync hardcoded prior
@@ -61,8 +79,10 @@ export declare const ExperientialConfigSchema: z.ZodObject<{
61
79
  logRetrievals: z.ZodDefault<z.ZodBoolean>;
62
80
  captureEpisodes: z.ZodDefault<z.ZodBoolean>;
63
81
  captureContent: z.ZodDefault<z.ZodBoolean>;
82
+ captureRetentionDays: z.ZodDefault<z.ZodNumber>;
64
83
  activationDecay: z.ZodDefault<z.ZodNumber>;
65
84
  activationRerank: z.ZodDefault<z.ZodBoolean>;
85
+ citationPreferences: z.ZodDefault<z.ZodBoolean>;
66
86
  citationInfer: z.ZodPrefault<z.ZodObject<{
67
87
  enabled: z.ZodDefault<z.ZodBoolean>;
68
88
  transcriptIndex: z.ZodOptional<z.ZodString>;
@@ -73,5 +93,12 @@ export declare const ExperientialConfigSchema: z.ZodObject<{
73
93
  intervalHours: z.ZodDefault<z.ZodNumber>;
74
94
  maxQueries: z.ZodDefault<z.ZodNumber>;
75
95
  }, z.core.$strip>>;
96
+ proactive: z.ZodPrefault<z.ZodObject<{
97
+ enabled: z.ZodDefault<z.ZodBoolean>;
98
+ minScore: z.ZodDefault<z.ZodNumber>;
99
+ topK: z.ZodDefault<z.ZodNumber>;
100
+ maxPerSession: z.ZodDefault<z.ZodNumber>;
101
+ dismissalPenalty: z.ZodDefault<z.ZodNumber>;
102
+ }, z.core.$strip>>;
76
103
  }, z.core.$strip>;
77
104
  //# sourceMappingURL=retrieval.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.schema.d.ts","sourceRoot":"","sources":["../../src/config/retrieval.schema.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oFAAoF;AACpF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqPhC,CAAC;AAEH;;;;0DAI0D;AAC1D,eAAO,MAAM,uBAAuB;;;;iBAQlC,CAAC;AAEH;yEACyE;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;;;iBA+B9B,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;iBAqKnC,CAAC"}
1
+ {"version":3,"file":"retrieval.schema.d.ts","sourceRoot":"","sources":["../../src/config/retrieval.schema.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oFAAoF;AACpF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0WhC,CAAC;AAEH;;;;0DAI0D;AAC1D,eAAO,MAAM,uBAAuB;;;;iBAQlC,CAAC;AAEH;yEACyE;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;;;iBA+B9B,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;iBA8RnC,CAAC"}