daftari 1.30.0 → 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 (310) hide show
  1. package/CHANGELOG.md +176 -0
  2. package/README.md +188 -4
  3. package/dist/access/rbac.d.ts +1 -0
  4. package/dist/access/rbac.d.ts.map +1 -1
  5. package/dist/access/rbac.js +7 -0
  6. package/dist/access/rbac.js.map +1 -1
  7. package/dist/audit/checks/broken_refs.d.ts +1 -1
  8. package/dist/audit/checks/broken_refs.d.ts.map +1 -1
  9. package/dist/audit/checks/broken_refs.js +77 -22
  10. package/dist/audit/checks/broken_refs.js.map +1 -1
  11. package/dist/audit/collect.d.ts +1 -0
  12. package/dist/audit/collect.d.ts.map +1 -1
  13. package/dist/audit/collect.js +22 -2
  14. package/dist/audit/collect.js.map +1 -1
  15. package/dist/audit/index.d.ts.map +1 -1
  16. package/dist/audit/index.js +9 -3
  17. package/dist/audit/index.js.map +1 -1
  18. package/dist/audit/links.d.ts.map +1 -1
  19. package/dist/audit/links.js +9 -3
  20. package/dist/audit/links.js.map +1 -1
  21. package/dist/audit/report.d.ts.map +1 -1
  22. package/dist/audit/report.js +2 -0
  23. package/dist/audit/report.js.map +1 -1
  24. package/dist/audit/types.d.ts +4 -1
  25. package/dist/audit/types.d.ts.map +1 -1
  26. package/dist/audit/types.js.map +1 -1
  27. package/dist/backfill/derive.d.ts.map +1 -1
  28. package/dist/backfill/derive.js +1 -0
  29. package/dist/backfill/derive.js.map +1 -1
  30. package/dist/cli.d.ts.map +1 -1
  31. package/dist/cli.js +24 -0
  32. package/dist/cli.js.map +1 -1
  33. package/dist/consolidate/index.d.ts.map +1 -1
  34. package/dist/consolidate/index.js +10 -12
  35. package/dist/consolidate/index.js.map +1 -1
  36. package/dist/court/precedent.d.ts.map +1 -1
  37. package/dist/court/precedent.js +6 -1
  38. package/dist/court/precedent.js.map +1 -1
  39. package/dist/curation/consumes.d.ts +24 -0
  40. package/dist/curation/consumes.d.ts.map +1 -0
  41. package/dist/curation/consumes.js +122 -0
  42. package/dist/curation/consumes.js.map +1 -0
  43. package/dist/curation/edge-staleness.d.ts +47 -0
  44. package/dist/curation/edge-staleness.d.ts.map +1 -0
  45. package/dist/curation/edge-staleness.js +258 -0
  46. package/dist/curation/edge-staleness.js.map +1 -0
  47. package/dist/curation/edges.d.ts.map +1 -1
  48. package/dist/curation/edges.js +190 -17
  49. package/dist/curation/edges.js.map +1 -1
  50. package/dist/curation/lint.d.ts +6 -1
  51. package/dist/curation/lint.d.ts.map +1 -1
  52. package/dist/curation/lint.js +87 -24
  53. package/dist/curation/lint.js.map +1 -1
  54. package/dist/curation/provenance.d.ts +2 -0
  55. package/dist/curation/provenance.d.ts.map +1 -1
  56. package/dist/curation/provenance.js +2 -0
  57. package/dist/curation/provenance.js.map +1 -1
  58. package/dist/curation/read-log.d.ts +19 -0
  59. package/dist/curation/read-log.d.ts.map +1 -0
  60. package/dist/curation/read-log.js +120 -0
  61. package/dist/curation/read-log.js.map +1 -0
  62. package/dist/curation/review-throughput.d.ts +24 -0
  63. package/dist/curation/review-throughput.d.ts.map +1 -0
  64. package/dist/curation/review-throughput.js +102 -0
  65. package/dist/curation/review-throughput.js.map +1 -0
  66. package/dist/curation/shadow.d.ts +1 -0
  67. package/dist/curation/shadow.d.ts.map +1 -1
  68. package/dist/curation/shadow.js +17 -11
  69. package/dist/curation/shadow.js.map +1 -1
  70. package/dist/curation/staged-actions.d.ts +12 -1
  71. package/dist/curation/staged-actions.d.ts.map +1 -1
  72. package/dist/curation/staged-actions.js +123 -48
  73. package/dist/curation/staged-actions.js.map +1 -1
  74. package/dist/curation/structural.d.ts +16 -0
  75. package/dist/curation/structural.d.ts.map +1 -0
  76. package/dist/curation/structural.js +64 -0
  77. package/dist/curation/structural.js.map +1 -0
  78. package/dist/curation/tension-blast.d.ts +4 -0
  79. package/dist/curation/tension-blast.d.ts.map +1 -1
  80. package/dist/curation/tension-blast.js +9 -0
  81. package/dist/curation/tension-blast.js.map +1 -1
  82. package/dist/curation/tension.d.ts +5 -2
  83. package/dist/curation/tension.d.ts.map +1 -1
  84. package/dist/curation/tension.js +68 -25
  85. package/dist/curation/tension.js.map +1 -1
  86. package/dist/curation/tier0.d.ts +27 -0
  87. package/dist/curation/tier0.d.ts.map +1 -0
  88. package/dist/curation/tier0.js +196 -0
  89. package/dist/curation/tier0.js.map +1 -0
  90. package/dist/curation/tier1.d.ts +30 -0
  91. package/dist/curation/tier1.d.ts.map +1 -0
  92. package/dist/curation/tier1.js +142 -0
  93. package/dist/curation/tier1.js.map +1 -0
  94. package/dist/curation/tier2.d.ts +43 -0
  95. package/dist/curation/tier2.d.ts.map +1 -0
  96. package/dist/curation/tier2.js +182 -0
  97. package/dist/curation/tier2.js.map +1 -0
  98. package/dist/curation/vault-docs.d.ts +5 -1
  99. package/dist/curation/vault-docs.d.ts.map +1 -1
  100. package/dist/curation/vault-docs.js +14 -0
  101. package/dist/curation/vault-docs.js.map +1 -1
  102. package/dist/eval/generate.d.ts.map +1 -1
  103. package/dist/eval/generate.js +38 -5
  104. package/dist/eval/generate.js.map +1 -1
  105. package/dist/eval/index.d.ts +1 -0
  106. package/dist/eval/index.d.ts.map +1 -1
  107. package/dist/eval/index.js +249 -50
  108. package/dist/eval/index.js.map +1 -1
  109. package/dist/eval/llm-openrouter.d.ts.map +1 -1
  110. package/dist/eval/llm-openrouter.js +158 -65
  111. package/dist/eval/llm-openrouter.js.map +1 -1
  112. package/dist/eval/llm.js +1 -1
  113. package/dist/eval/llm.js.map +1 -1
  114. package/dist/eval/prune.d.ts +24 -0
  115. package/dist/eval/prune.d.ts.map +1 -0
  116. package/dist/eval/prune.js +83 -0
  117. package/dist/eval/prune.js.map +1 -0
  118. package/dist/eval/storage.d.ts +3 -0
  119. package/dist/eval/storage.d.ts.map +1 -1
  120. package/dist/eval/storage.js +14 -0
  121. package/dist/eval/storage.js.map +1 -1
  122. package/dist/frontmatter/schema.d.ts.map +1 -1
  123. package/dist/frontmatter/schema.js +19 -1
  124. package/dist/frontmatter/schema.js.map +1 -1
  125. package/dist/frontmatter/types.d.ts +4 -1
  126. package/dist/frontmatter/types.d.ts.map +1 -1
  127. package/dist/frontmatter/types.js +8 -0
  128. package/dist/frontmatter/types.js.map +1 -1
  129. package/dist/import/index.d.ts.map +1 -1
  130. package/dist/import/index.js +44 -9
  131. package/dist/import/index.js.map +1 -1
  132. package/dist/import/langgraph-store.d.ts +53 -0
  133. package/dist/import/langgraph-store.d.ts.map +1 -0
  134. package/dist/import/langgraph-store.js +292 -0
  135. package/dist/import/langgraph-store.js.map +1 -0
  136. package/dist/index.d.ts +5 -0
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +56 -18
  139. package/dist/index.js.map +1 -1
  140. package/dist/interview/index.d.ts +7 -0
  141. package/dist/interview/index.d.ts.map +1 -0
  142. package/dist/interview/index.js +219 -0
  143. package/dist/interview/index.js.map +1 -0
  144. package/dist/interview/questions.d.ts +18 -0
  145. package/dist/interview/questions.d.ts.map +1 -0
  146. package/dist/interview/questions.js +169 -0
  147. package/dist/interview/questions.js.map +1 -0
  148. package/dist/interview/transcript.d.ts +23 -0
  149. package/dist/interview/transcript.d.ts.map +1 -0
  150. package/dist/interview/transcript.js +155 -0
  151. package/dist/interview/transcript.js.map +1 -0
  152. package/dist/lifecycle/lock.d.ts +9 -1
  153. package/dist/lifecycle/lock.d.ts.map +1 -1
  154. package/dist/lifecycle/lock.js +34 -9
  155. package/dist/lifecycle/lock.js.map +1 -1
  156. package/dist/okf/export.d.ts +12 -0
  157. package/dist/okf/export.d.ts.map +1 -0
  158. package/dist/okf/export.js +117 -0
  159. package/dist/okf/export.js.map +1 -0
  160. package/dist/okf/import.d.ts +24 -0
  161. package/dist/okf/import.d.ts.map +1 -0
  162. package/dist/okf/import.js +115 -0
  163. package/dist/okf/import.js.map +1 -0
  164. package/dist/okf/index.d.ts +2 -0
  165. package/dist/okf/index.d.ts.map +1 -0
  166. package/dist/okf/index.js +159 -0
  167. package/dist/okf/index.js.map +1 -0
  168. package/dist/okf/map.d.ts +27 -0
  169. package/dist/okf/map.d.ts.map +1 -0
  170. package/dist/okf/map.js +327 -0
  171. package/dist/okf/map.js.map +1 -0
  172. package/dist/okf/types.d.ts +13 -0
  173. package/dist/okf/types.d.ts.map +1 -0
  174. package/dist/okf/types.js +82 -0
  175. package/dist/okf/types.js.map +1 -0
  176. package/dist/search/coverage.d.ts.map +1 -1
  177. package/dist/search/coverage.js +1 -1
  178. package/dist/search/coverage.js.map +1 -1
  179. package/dist/search/hybrid.d.ts +19 -0
  180. package/dist/search/hybrid.d.ts.map +1 -1
  181. package/dist/search/hybrid.js +60 -15
  182. package/dist/search/hybrid.js.map +1 -1
  183. package/dist/search/reindex.d.ts +4 -0
  184. package/dist/search/reindex.d.ts.map +1 -1
  185. package/dist/search/reindex.js +64 -14
  186. package/dist/search/reindex.js.map +1 -1
  187. package/dist/search/watcher.d.ts +2 -0
  188. package/dist/search/watcher.d.ts.map +1 -1
  189. package/dist/search/watcher.js +29 -27
  190. package/dist/search/watcher.js.map +1 -1
  191. package/dist/serve/index.d.ts +36 -0
  192. package/dist/serve/index.d.ts.map +1 -0
  193. package/dist/serve/index.js +507 -0
  194. package/dist/serve/index.js.map +1 -0
  195. package/dist/server.d.ts +10 -1
  196. package/dist/server.d.ts.map +1 -1
  197. package/dist/server.js +89 -14
  198. package/dist/server.js.map +1 -1
  199. package/dist/sleep/index.d.ts +2 -0
  200. package/dist/sleep/index.d.ts.map +1 -1
  201. package/dist/sleep/index.js +212 -21
  202. package/dist/sleep/index.js.map +1 -1
  203. package/dist/sleep/report.d.ts +3 -0
  204. package/dist/sleep/report.d.ts.map +1 -1
  205. package/dist/sleep/report.js +52 -0
  206. package/dist/sleep/report.js.map +1 -1
  207. package/dist/sleep/tension-scan-state.d.ts +19 -0
  208. package/dist/sleep/tension-scan-state.d.ts.map +1 -0
  209. package/dist/sleep/tension-scan-state.js +0 -0
  210. package/dist/sleep/tension-scan-state.js.map +1 -0
  211. package/dist/sleep/tension-scan.d.ts +44 -0
  212. package/dist/sleep/tension-scan.d.ts.map +1 -0
  213. package/dist/sleep/tension-scan.js +0 -0
  214. package/dist/sleep/tension-scan.js.map +1 -0
  215. package/dist/storage/backend.d.ts +12 -0
  216. package/dist/storage/backend.d.ts.map +1 -0
  217. package/dist/storage/backend.js +231 -0
  218. package/dist/storage/backend.js.map +1 -0
  219. package/dist/storage/backends/fs.d.ts +4 -0
  220. package/dist/storage/backends/fs.d.ts.map +1 -0
  221. package/dist/storage/backends/fs.js +99 -0
  222. package/dist/storage/backends/fs.js.map +1 -0
  223. package/dist/storage/fs-walk.d.ts +5 -0
  224. package/dist/storage/fs-walk.d.ts.map +1 -0
  225. package/dist/storage/fs-walk.js +28 -0
  226. package/dist/storage/fs-walk.js.map +1 -0
  227. package/dist/storage/index-db.d.ts +16 -0
  228. package/dist/storage/index-db.d.ts.map +1 -1
  229. package/dist/storage/index-db.js +95 -5
  230. package/dist/storage/index-db.js.map +1 -1
  231. package/dist/storage/local.d.ts +1 -0
  232. package/dist/storage/local.d.ts.map +1 -1
  233. package/dist/storage/local.js +12 -0
  234. package/dist/storage/local.js.map +1 -1
  235. package/dist/storage/sync.d.ts +25 -0
  236. package/dist/storage/sync.d.ts.map +1 -0
  237. package/dist/storage/sync.js +308 -0
  238. package/dist/storage/sync.js.map +1 -0
  239. package/dist/sync/index.d.ts +2 -0
  240. package/dist/sync/index.d.ts.map +1 -0
  241. package/dist/sync/index.js +136 -0
  242. package/dist/sync/index.js.map +1 -0
  243. package/dist/themes/clustering.d.ts +6 -11
  244. package/dist/themes/clustering.d.ts.map +1 -1
  245. package/dist/themes/clustering.js +76 -84
  246. package/dist/themes/clustering.js.map +1 -1
  247. package/dist/tools/consumes.d.ts +14 -0
  248. package/dist/tools/consumes.d.ts.map +1 -0
  249. package/dist/tools/consumes.js +99 -0
  250. package/dist/tools/consumes.js.map +1 -0
  251. package/dist/tools/curation.d.ts +2 -0
  252. package/dist/tools/curation.d.ts.map +1 -1
  253. package/dist/tools/curation.js +53 -15
  254. package/dist/tools/curation.js.map +1 -1
  255. package/dist/tools/edge-staleness.d.ts +28 -0
  256. package/dist/tools/edge-staleness.d.ts.map +1 -0
  257. package/dist/tools/edge-staleness.js +205 -0
  258. package/dist/tools/edge-staleness.js.map +1 -0
  259. package/dist/tools/edges.d.ts.map +1 -1
  260. package/dist/tools/edges.js +27 -21
  261. package/dist/tools/edges.js.map +1 -1
  262. package/dist/tools/read.d.ts +15 -1
  263. package/dist/tools/read.d.ts.map +1 -1
  264. package/dist/tools/read.js +211 -76
  265. package/dist/tools/read.js.map +1 -1
  266. package/dist/tools/receipt.d.ts.map +1 -1
  267. package/dist/tools/receipt.js +16 -7
  268. package/dist/tools/receipt.js.map +1 -1
  269. package/dist/tools/search.d.ts +1 -0
  270. package/dist/tools/search.d.ts.map +1 -1
  271. package/dist/tools/search.js +147 -5
  272. package/dist/tools/search.js.map +1 -1
  273. package/dist/tools/staged-actions.d.ts +3 -0
  274. package/dist/tools/staged-actions.d.ts.map +1 -1
  275. package/dist/tools/staged-actions.js +225 -22
  276. package/dist/tools/staged-actions.js.map +1 -1
  277. package/dist/tools/themes.d.ts +8 -0
  278. package/dist/tools/themes.d.ts.map +1 -1
  279. package/dist/tools/themes.js +208 -122
  280. package/dist/tools/themes.js.map +1 -1
  281. package/dist/tools/tier1.d.ts +14 -0
  282. package/dist/tools/tier1.d.ts.map +1 -0
  283. package/dist/tools/tier1.js +169 -0
  284. package/dist/tools/tier1.js.map +1 -0
  285. package/dist/tools/tier2.d.ts +27 -0
  286. package/dist/tools/tier2.d.ts.map +1 -0
  287. package/dist/tools/tier2.js +344 -0
  288. package/dist/tools/tier2.js.map +1 -0
  289. package/dist/tools/write.d.ts +9 -1
  290. package/dist/tools/write.d.ts.map +1 -1
  291. package/dist/tools/write.js +596 -174
  292. package/dist/tools/write.js.map +1 -1
  293. package/dist/utils/config.d.ts +52 -0
  294. package/dist/utils/config.d.ts.map +1 -1
  295. package/dist/utils/config.js +394 -24
  296. package/dist/utils/config.js.map +1 -1
  297. package/dist/utils/dates.d.ts +1 -0
  298. package/dist/utils/dates.d.ts.map +1 -1
  299. package/dist/utils/dates.js +5 -0
  300. package/dist/utils/dates.js.map +1 -1
  301. package/dist/utils/run-id.d.ts +3 -0
  302. package/dist/utils/run-id.d.ts.map +1 -0
  303. package/dist/utils/run-id.js +19 -0
  304. package/dist/utils/run-id.js.map +1 -0
  305. package/dist/utils/vault-gitignore.d.ts +1 -1
  306. package/dist/utils/vault-gitignore.d.ts.map +1 -1
  307. package/dist/utils/vault-gitignore.js +4 -1
  308. package/dist/utils/vault-gitignore.js.map +1 -1
  309. package/package.json +21 -1
  310. package/templates/config.yaml +8 -0
@@ -20,6 +20,30 @@ export const EXTENSION_TYPES = ["string", "date", "number", "boolean", "array",
20
20
  // getProvider). Adding a third provider would mean a new id here AND a new
21
21
  // branch in getProvider AND a config-load check if it needs env vars.
22
22
  export const EMBEDDING_PROVIDERS = ["local-minilm", "openai-3-small"];
23
+ // Tool-exposure tiers (#103). The tier picks which tools the ListTools
24
+ // response advertises — every tool the client sees costs the agent context
25
+ // tokens and a decision branch, and most sessions need a fraction of the
26
+ // registry. `include` / `exclude` (#104) fine-tune the tier's set: include
27
+ // first, then exclude, so exclude always wins. Filtering is advertisement
28
+ // only — CallTool accepts any registered tool name regardless of tier, so an
29
+ // agent that cached a name from a prior session keeps working.
30
+ export const TOOL_TIERS = ["core", "standard", "full"];
31
+ // Full exposure by default: the registry is the server's public surface, and
32
+ // hiding tools is an explicit operator choice, never an upgrade surprise.
33
+ // (#103 sketched `standard` as the default, but the registry has doubled
34
+ // since — a lean default would silently strip live deployments.)
35
+ export const TOOLS_DEFAULTS = {
36
+ tier: "full",
37
+ include: [],
38
+ exclude: [],
39
+ };
40
+ // Defaults sized from the langgraph-store demo: 49 notes ⇒ 194 pairwise
41
+ // judgments (~$2 on a frontier judge), so 200 calls covers a ~50-doc pass.
42
+ export const TENSION_SCAN_DEFAULTS = {
43
+ maxLlmCalls: 200,
44
+ maxDocs: 50,
45
+ agent: "agent:sleep-tension-scan",
46
+ };
23
47
  // A config with no roles and no extensions. Returned for a missing or empty
24
48
  // config file — both are valid, not malformed.
25
49
  function emptyConfig() {
@@ -35,6 +59,10 @@ function emptyConfig() {
35
59
  shadowMode: false,
36
60
  shadowModeSet: false,
37
61
  gitDir: undefined,
62
+ tensionScan: { ...TENSION_SCAN_DEFAULTS },
63
+ tools: { ...TOOLS_DEFAULTS, include: [], exclude: [] },
64
+ server: { tokens: [] },
65
+ storage: undefined,
38
66
  };
39
67
  }
40
68
  export function configPath(vaultRoot) {
@@ -78,7 +106,31 @@ function validateRole(name, raw) {
78
106
  }
79
107
  ratify = obj.ratify;
80
108
  }
81
- return ok({ read: read.value, write: write.value, promote, ratify });
109
+ let proposeOnly = false;
110
+ if (obj.propose_only !== undefined) {
111
+ if (typeof obj.propose_only !== "boolean") {
112
+ return err(new Error(`role '${name}' propose_only must be true or false`));
113
+ }
114
+ proposeOnly = obj.propose_only;
115
+ }
116
+ // Contradictory grants fail loud at load: a propose-only role proposes, it
117
+ // does not decide. Allowing both would let vault_ratify's write dispatch be
118
+ // coerced back into a NEW proposal while marking the original ratified.
119
+ if (proposeOnly && ratify) {
120
+ return err(new Error(`role '${name}' cannot set both ratify and propose_only — a ` +
121
+ `propose-only role proposes, it does not decide`));
122
+ }
123
+ if (proposeOnly && promote) {
124
+ return err(new Error(`role '${name}' cannot set both promote and propose_only — promotion ` +
125
+ `is a direct write, which propose-only forbids`));
126
+ }
127
+ return ok({
128
+ read: read.value,
129
+ write: write.value,
130
+ promote,
131
+ ratify,
132
+ ...(proposeOnly ? { proposeOnly } : {}),
133
+ });
82
134
  }
83
135
  // Checks a declared `default` value against its extension type. A default
84
136
  // that cannot hold the declared type is a malformed declaration — config
@@ -114,6 +166,24 @@ function validateDefault(where, type, value, enumValues) {
114
166
  }
115
167
  // Validates one entry of the `schema_extensions` block. A malformed
116
168
  // declaration fails config load — the same loud-failure contract as RBAC.
169
+ // The two guards every config block repeats. `requireMapping` narrows a node
170
+ // to a YAML mapping (the standard `<where> must be a mapping` error);
171
+ // `rejectUnknownKeys` fails loud on a typo'd child key so a misspelled
172
+ // setting can't silently fall back to its default.
173
+ function requireMapping(raw, where) {
174
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
175
+ return err(new Error(`${where} must be a mapping`));
176
+ }
177
+ return ok(raw);
178
+ }
179
+ function rejectUnknownKeys(obj, recognised, prefix, noun = "setting") {
180
+ for (const key of Object.keys(obj)) {
181
+ if (!recognised.includes(key)) {
182
+ return err(new Error(`'${prefix}.${key}' is not a recognised ${noun}`));
183
+ }
184
+ }
185
+ return ok(undefined);
186
+ }
117
187
  function validateExtension(field, raw) {
118
188
  const where = `schema_extensions '${field}'`;
119
189
  // An extension adds a field; it must not reuse a built-in field name —
@@ -121,10 +191,10 @@ function validateExtension(field, raw) {
121
191
  if (BUILTIN_FRONTMATTER_FIELDS.includes(field)) {
122
192
  return err(new Error(`${where} shadows a built-in frontmatter field`));
123
193
  }
124
- if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
125
- return err(new Error(`${where} must be a mapping`));
126
- }
127
- const obj = raw;
194
+ const mapping = requireMapping(raw, where);
195
+ if (!mapping.ok)
196
+ return mapping;
197
+ const obj = mapping.value;
128
198
  const rawType = obj.type;
129
199
  if (typeof rawType !== "string" || !EXTENSION_TYPES.includes(rawType)) {
130
200
  return err(new Error(`${where}: unknown type ${JSON.stringify(rawType)} ` +
@@ -264,15 +334,13 @@ function parseHookList(obj, key) {
264
334
  function validateHooks(raw) {
265
335
  if (raw === undefined)
266
336
  return ok({ preWrite: [], preWriteTransform: [] });
267
- if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
268
- return err(new Error("'hooks' must be a mapping"));
269
- }
270
- const obj = raw;
271
- for (const key of Object.keys(obj)) {
272
- if (!RECOGNISED_HOOK_KEYS.includes(key)) {
273
- return err(new Error(`'hooks.${key}' is not a recognised hook surface`));
274
- }
275
- }
337
+ const mapping = requireMapping(raw, "'hooks'");
338
+ if (!mapping.ok)
339
+ return mapping;
340
+ const obj = mapping.value;
341
+ const known = rejectUnknownKeys(obj, RECOGNISED_HOOK_KEYS, "hooks", "hook surface");
342
+ if (!known.ok)
343
+ return known;
276
344
  const preWrite = parseHookList(obj, "pre_write");
277
345
  if (!preWrite.ok)
278
346
  return preWrite;
@@ -288,18 +356,17 @@ function validateHooks(raw) {
288
356
  function validateBackfillIdentityMap(raw) {
289
357
  if (raw === undefined)
290
358
  return ok({});
291
- if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
292
- return err(new Error("'backfill' must be a mapping"));
293
- }
294
- const block = raw;
295
- const rawMap = block.identity_map;
359
+ const block = requireMapping(raw, "'backfill'");
360
+ if (!block.ok)
361
+ return block;
362
+ const rawMap = block.value.identity_map;
296
363
  if (rawMap === undefined)
297
364
  return ok({});
298
- if (rawMap === null || typeof rawMap !== "object" || Array.isArray(rawMap)) {
299
- return err(new Error("'backfill.identity_map' must be a mapping"));
300
- }
365
+ const map = requireMapping(rawMap, "'backfill.identity_map'");
366
+ if (!map.ok)
367
+ return map;
301
368
  const out = {};
302
- for (const [author, identity] of Object.entries(rawMap)) {
369
+ for (const [author, identity] of Object.entries(map.value)) {
303
370
  if (typeof identity !== "string" || identity.length === 0) {
304
371
  return err(new Error(`'backfill.identity_map.${author}' must be a non-empty string`));
305
372
  }
@@ -307,6 +374,256 @@ function validateBackfillIdentityMap(raw) {
307
374
  }
308
375
  return ok(out);
309
376
  }
377
+ // Parses the optional `tension_scan` block. Missing block ⇒ defaults; a
378
+ // declared key must hold the right shape (positive integers, non-empty
379
+ // agent string) — the same loud-failure contract as every other block. An
380
+ // unrecognised child key fails loud so a typo can't silently leave a budget
381
+ // at its default.
382
+ const RECOGNISED_TENSION_SCAN_KEYS = ["max_llm_calls", "max_docs", "agent"];
383
+ function validateTensionScan(raw) {
384
+ if (raw === undefined)
385
+ return ok({ ...TENSION_SCAN_DEFAULTS });
386
+ const mapping = requireMapping(raw, "'tension_scan'");
387
+ if (!mapping.ok)
388
+ return mapping;
389
+ const obj = mapping.value;
390
+ const known = rejectUnknownKeys(obj, RECOGNISED_TENSION_SCAN_KEYS, "tension_scan");
391
+ if (!known.ok)
392
+ return known;
393
+ const out = { ...TENSION_SCAN_DEFAULTS };
394
+ for (const key of ["max_llm_calls", "max_docs"]) {
395
+ const v = obj[key];
396
+ if (v === undefined)
397
+ continue;
398
+ if (typeof v !== "number" || !Number.isInteger(v) || v <= 0) {
399
+ return err(new Error(`'tension_scan.${key}' must be a positive integer`));
400
+ }
401
+ if (key === "max_llm_calls")
402
+ out.maxLlmCalls = v;
403
+ else
404
+ out.maxDocs = v;
405
+ }
406
+ if (obj.agent !== undefined) {
407
+ if (typeof obj.agent !== "string" || obj.agent.trim().length === 0) {
408
+ return err(new Error("'tension_scan.agent' must be a non-empty string"));
409
+ }
410
+ out.agent = obj.agent.trim();
411
+ }
412
+ return ok(out);
413
+ }
414
+ const RECOGNISED_SERVER_KEYS = ["transport_security", "auth"];
415
+ const RECOGNISED_SERVER_AUTH_KEYS = ["tokens", "oauth"];
416
+ const RECOGNISED_SERVER_TOKEN_KEYS = ["env", "user", "role"];
417
+ const RECOGNISED_OAUTH_KEYS = ["issuer", "audience", "jwks_uri", "subjects"];
418
+ // `server.auth.oauth` (#7). Shape-only validation here; URL parseability and
419
+ // role existence are serve-startup concerns.
420
+ function validateOAuth(raw) {
421
+ const mapping = requireMapping(raw, "'server.auth.oauth'");
422
+ if (!mapping.ok)
423
+ return mapping;
424
+ const obj = mapping.value;
425
+ const known = rejectUnknownKeys(obj, RECOGNISED_OAUTH_KEYS, "server.auth.oauth");
426
+ if (!known.ok)
427
+ return known;
428
+ for (const field of ["issuer", "audience", "jwks_uri"]) {
429
+ if (typeof obj[field] !== "string" || obj[field].trim().length === 0) {
430
+ return err(new Error(`'server.auth.oauth.${field}' must be a non-empty string`));
431
+ }
432
+ }
433
+ // Null prototype: bracket-assigning a subject literally named "__proto__"
434
+ // on a plain object would invoke the inherited setter and silently drop
435
+ // the mapping (and its startup role check) instead of storing it.
436
+ const subjects = Object.create(null);
437
+ if (obj.subjects === null || typeof obj.subjects !== "object" || Array.isArray(obj.subjects)) {
438
+ return err(new Error("'server.auth.oauth.subjects' must be a mapping"));
439
+ }
440
+ for (const [subject, entryRaw] of Object.entries(obj.subjects)) {
441
+ if (entryRaw === null || typeof entryRaw !== "object" || Array.isArray(entryRaw)) {
442
+ return err(new Error(`'server.auth.oauth.subjects.${subject}' must be a mapping`));
443
+ }
444
+ const entry = entryRaw;
445
+ for (const key of Object.keys(entry)) {
446
+ if (key !== "user" && key !== "role") {
447
+ return err(new Error(`'server.auth.oauth.subjects.${subject}.${key}' is not a recognised setting`));
448
+ }
449
+ }
450
+ for (const field of ["user", "role"]) {
451
+ if (typeof entry[field] !== "string" || entry[field].trim().length === 0) {
452
+ return err(new Error(`'server.auth.oauth.subjects.${subject}.${field}' must be a non-empty string`));
453
+ }
454
+ }
455
+ subjects[subject] = {
456
+ user: entry.user.trim(),
457
+ role: entry.role.trim(),
458
+ };
459
+ }
460
+ return ok({
461
+ issuer: obj.issuer.trim(),
462
+ audience: obj.audience.trim(),
463
+ jwksUri: obj.jwks_uri.trim(),
464
+ subjects,
465
+ });
466
+ }
467
+ // `server` block (#5). Malformed shapes fail loud like every block; the
468
+ // things only serve startup can know (env var set? role exists? bind rules?)
469
+ // are validated there, not here.
470
+ function validateServer(raw) {
471
+ if (raw === undefined)
472
+ return ok({ tokens: [] });
473
+ const mapping = requireMapping(raw, "'server'");
474
+ if (!mapping.ok)
475
+ return mapping;
476
+ const obj = mapping.value;
477
+ const known = rejectUnknownKeys(obj, RECOGNISED_SERVER_KEYS, "server");
478
+ if (!known.ok)
479
+ return known;
480
+ const out = { tokens: [] };
481
+ if (obj.transport_security !== undefined) {
482
+ if (obj.transport_security !== "external") {
483
+ return err(new Error(`'server.transport_security' must be "external" when present ` +
484
+ `(got ${JSON.stringify(obj.transport_security)})`));
485
+ }
486
+ out.transportSecurity = "external";
487
+ }
488
+ if (obj.auth !== undefined) {
489
+ const authMapping = requireMapping(obj.auth, "'server.auth'");
490
+ if (!authMapping.ok)
491
+ return authMapping;
492
+ const auth = authMapping.value;
493
+ const authKnown = rejectUnknownKeys(auth, RECOGNISED_SERVER_AUTH_KEYS, "server.auth");
494
+ if (!authKnown.ok)
495
+ return authKnown;
496
+ if (auth.oauth !== undefined) {
497
+ const oauth = validateOAuth(auth.oauth);
498
+ if (!oauth.ok)
499
+ return oauth;
500
+ out.oauth = oauth.value;
501
+ }
502
+ if (auth.tokens !== undefined) {
503
+ if (!Array.isArray(auth.tokens)) {
504
+ return err(new Error("'server.auth.tokens' must be a list"));
505
+ }
506
+ for (let i = 0; i < auth.tokens.length; i++) {
507
+ const entry = requireMapping(auth.tokens[i], `'server.auth.tokens[${i}]'`);
508
+ if (!entry.ok)
509
+ return entry;
510
+ const t = entry.value;
511
+ const tokenKnown = rejectUnknownKeys(t, RECOGNISED_SERVER_TOKEN_KEYS, `server.auth.tokens[${i}]`);
512
+ if (!tokenKnown.ok)
513
+ return tokenKnown;
514
+ for (const field of RECOGNISED_SERVER_TOKEN_KEYS) {
515
+ if (typeof t[field] !== "string" || t[field].trim().length === 0) {
516
+ return err(new Error(`'server.auth.tokens[${i}].${field}' must be a non-empty string`));
517
+ }
518
+ }
519
+ out.tokens.push({
520
+ env: t.env.trim(),
521
+ user: t.user.trim(),
522
+ role: t.role.trim(),
523
+ });
524
+ }
525
+ }
526
+ }
527
+ return ok(out);
528
+ }
529
+ const RECOGNISED_STORAGE_KEYS = [
530
+ "backend",
531
+ "path",
532
+ "bucket",
533
+ "region",
534
+ "endpoint",
535
+ "force_path_style",
536
+ "container",
537
+ "prefix",
538
+ "sync_interval_minutes",
539
+ ];
540
+ const STORAGE_BACKENDS = ["fs", "s3", "azure"];
541
+ // Per-backend required key — the one thing that names the target. Everything
542
+ // only the backend SDK can know (reachability, credentials, permissions)
543
+ // fails at sync time, not here.
544
+ const STORAGE_REQUIRED = {
545
+ fs: "path",
546
+ s3: "bucket",
547
+ azure: "container",
548
+ };
549
+ // `storage` block (#6). Shape-only, like every block: endpoint URL rules are
550
+ // enforced at backend creation, credentials come from the environment.
551
+ function validateStorage(raw) {
552
+ if (raw === undefined)
553
+ return ok(undefined);
554
+ const mapping = requireMapping(raw, "'storage'");
555
+ if (!mapping.ok)
556
+ return mapping;
557
+ const obj = mapping.value;
558
+ const known = rejectUnknownKeys(obj, RECOGNISED_STORAGE_KEYS, "storage");
559
+ if (!known.ok)
560
+ return known;
561
+ const backend = obj.backend;
562
+ if (typeof backend !== "string" || !STORAGE_BACKENDS.includes(backend)) {
563
+ return err(new Error(`'storage.backend' must be one of: ${STORAGE_BACKENDS.join(", ")} — a typo must not silently pick a target`));
564
+ }
565
+ const backendId = backend;
566
+ const required = STORAGE_REQUIRED[backendId];
567
+ if (typeof obj[required] !== "string" || obj[required].trim().length === 0) {
568
+ return err(new Error(`'storage.${required}' is required for the ${backendId} backend`));
569
+ }
570
+ for (const field of ["path", "bucket", "region", "endpoint", "container", "prefix"]) {
571
+ if (obj[field] !== undefined && typeof obj[field] !== "string") {
572
+ return err(new Error(`'storage.${field}' must be a string`));
573
+ }
574
+ }
575
+ if (obj.force_path_style !== undefined && typeof obj.force_path_style !== "boolean") {
576
+ return err(new Error("'storage.force_path_style' must be a boolean"));
577
+ }
578
+ if (obj.sync_interval_minutes !== undefined &&
579
+ (typeof obj.sync_interval_minutes !== "number" ||
580
+ !Number.isFinite(obj.sync_interval_minutes) ||
581
+ obj.sync_interval_minutes <= 0)) {
582
+ return err(new Error("'storage.sync_interval_minutes' must be a positive number"));
583
+ }
584
+ return ok({
585
+ backend: backendId,
586
+ path: obj.path,
587
+ bucket: obj.bucket,
588
+ region: obj.region,
589
+ endpoint: obj.endpoint,
590
+ forcePathStyle: obj.force_path_style,
591
+ container: obj.container,
592
+ prefix: obj.prefix,
593
+ syncIntervalMinutes: obj.sync_interval_minutes,
594
+ });
595
+ }
596
+ const RECOGNISED_TOOLS_KEYS = ["tier", "include", "exclude"];
597
+ function validateTools(raw) {
598
+ if (raw === undefined)
599
+ return ok({ ...TOOLS_DEFAULTS, include: [], exclude: [] });
600
+ const mapping = requireMapping(raw, "'tools'");
601
+ if (!mapping.ok)
602
+ return mapping;
603
+ const obj = mapping.value;
604
+ const known = rejectUnknownKeys(obj, RECOGNISED_TOOLS_KEYS, "tools");
605
+ if (!known.ok)
606
+ return known;
607
+ // An unknown TIER fails loud (same posture as embeddings.provider — a typo
608
+ // must not quietly resolve to a different exposure). Unknown tool NAMES in
609
+ // include/exclude are the server layer's warning, deliberately not an
610
+ // error: a config naming a future tool must keep loading on today's build.
611
+ let tier = TOOLS_DEFAULTS.tier;
612
+ if (obj.tier !== undefined) {
613
+ if (typeof obj.tier !== "string" || !TOOL_TIERS.includes(obj.tier)) {
614
+ return err(new Error(`'tools.tier' must be one of ${TOOL_TIERS.join(", ")} ` +
615
+ `(got ${JSON.stringify(obj.tier)})`));
616
+ }
617
+ tier = obj.tier;
618
+ }
619
+ const include = asStringArray(obj.include, "'tools.include'");
620
+ if (!include.ok)
621
+ return include;
622
+ const exclude = asStringArray(obj.exclude, "'tools.exclude'");
623
+ if (!exclude.ok)
624
+ return exclude;
625
+ return ok({ tier, include: include.value, exclude: exclude.value });
626
+ }
310
627
  function dataHome() {
311
628
  const xdg = process.env.XDG_DATA_HOME;
312
629
  return xdg && xdg.length > 0 ? xdg : join(homedir(), ".local", "share");
@@ -377,6 +694,37 @@ export function loadConfig(vaultRoot) {
377
694
  configCache.set(key, { mtimeMs, result });
378
695
  return result;
379
696
  }
697
+ // A line that reads like prose rather than YAML: not a comment, not a list
698
+ // item, not a plausible `key: value`, at least three words, and carrying
699
+ // natural-language punctuation. The classic producer is a multi-line comment
700
+ // block where one line lost its leading '#' in a copy-paste (#26).
701
+ function looksLikeLostComment(line) {
702
+ const t = line.trim();
703
+ if (t.length === 0 || t.startsWith("#") || t.startsWith("- "))
704
+ return false;
705
+ if (/^[^:\s]+:(\s|$)/.test(t))
706
+ return false; // plausible mapping entry
707
+ if (t.split(/\s+/).length < 3)
708
+ return false;
709
+ return /[()'"]|\.\s|\.$/.test(t);
710
+ }
711
+ // Scans ±3 lines around a YAML parse failure for a comment-shaped line that
712
+ // lost its '#'. `errorLine0` is js-yaml's 0-based mark line; the returned
713
+ // hint uses 1-based numbering to match the parser's own excerpt. Exported
714
+ // for tests.
715
+ export function malformedCommentHint(text, errorLine0) {
716
+ if (errorLine0 === null)
717
+ return null;
718
+ const lines = text.split(/\r?\n/);
719
+ const from = Math.max(0, errorLine0 - 3);
720
+ const to = Math.min(lines.length - 1, errorLine0 + 3);
721
+ for (let i = from; i <= to; i++) {
722
+ if (looksLikeLostComment(lines[i] ?? "")) {
723
+ return `hint: line ${i + 1} may be a malformed comment that lost its '#' prefix`;
724
+ }
725
+ }
726
+ return null;
727
+ }
380
728
  // The full read + parse + validate. Kept as a separate function so loadConfig
381
729
  // can wrap it with the mtime cache without changing any validation logic.
382
730
  function loadConfigUncached(vaultRoot) {
@@ -397,7 +745,13 @@ function loadConfigUncached(vaultRoot) {
397
745
  }
398
746
  catch (e) {
399
747
  const reason = e instanceof Error ? e.message : String(e);
400
- return err(new Error(`malformed config: invalid YAML: ${reason}`));
748
+ // js-yaml's position points at where parsing BROKE, which for a comment
749
+ // line that lost its '#' is the symptom, not the cause (#26). When a
750
+ // line near the failure reads like prose rather than YAML, say so —
751
+ // that one hint is usually the whole diagnosis.
752
+ const mark = e.mark;
753
+ const hint = malformedCommentHint(text, typeof mark?.line === "number" ? mark.line : null);
754
+ return err(new Error(`malformed config: invalid YAML: ${reason}${hint ? `\n${hint}` : ""}`));
401
755
  }
402
756
  if (parsed === null || parsed === undefined) {
403
757
  return ok(emptyConfig());
@@ -439,6 +793,18 @@ function loadConfigUncached(vaultRoot) {
439
793
  const gitDir = resolveGitDir(root.git_dir, vaultRoot);
440
794
  if (!gitDir.ok)
441
795
  return gitDir;
796
+ const tensionScan = validateTensionScan(root.tension_scan);
797
+ if (!tensionScan.ok)
798
+ return err(new Error(`malformed config: ${tensionScan.error.message}`));
799
+ const toolsConfig = validateTools(root.tools);
800
+ if (!toolsConfig.ok)
801
+ return err(new Error(`malformed config: ${toolsConfig.error.message}`));
802
+ const serverConfig = validateServer(root.server);
803
+ if (!serverConfig.ok)
804
+ return err(new Error(`malformed config: ${serverConfig.error.message}`));
805
+ const storageConfig = validateStorage(root.storage);
806
+ if (!storageConfig.ok)
807
+ return err(new Error(`malformed config: ${storageConfig.error.message}`));
442
808
  let watch = true;
443
809
  if (root.watch !== undefined) {
444
810
  if (typeof root.watch !== "boolean") {
@@ -501,6 +867,10 @@ function loadConfigUncached(vaultRoot) {
501
867
  shadowMode,
502
868
  shadowModeSet,
503
869
  gitDir: gitDir.value,
870
+ tensionScan: tensionScan.value,
871
+ tools: toolsConfig.value,
872
+ server: serverConfig.value,
873
+ storage: storageConfig.value,
504
874
  });
505
875
  }
506
876
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAC5E,kEAAkE;AAElE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EACL,0BAA0B,EAE1B,GAAG,EACH,EAAE,GAEH,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAezD,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAejG,yEAAyE;AACzE,sEAAsE;AACtE,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAU,CAAC;AA2D/E,4EAA4E;AAC5E,+CAA+C;AAC/C,SAAS,WAAW;IAClB,OAAO;QACL,KAAK,EAAE,EAAE;QACT,gBAAgB,EAAE,EAAE;QACpB,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE;QAC9C,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,cAAc;QACjC,mBAAmB,EAAE,EAAE;QACvB,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,KAAK;QACpB,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAClD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,iBAAiB,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,KAAiB,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,GAAY;IAC9C,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,qBAAqB,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAE3C,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAE5B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,iCAAiC,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,gCAAgC,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,0EAA0E;AAC1E,yEAAyE;AACzE,gEAAgE;AAChE,SAAS,eAAe,CACtB,KAAa,EACb,IAAmB,EACnB,KAAc,EACd,UAAgC;IAEhC,MAAM,GAAG,GAAG,CAAC,QAAgB,EAAiC,EAAE,CAC9D,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,uBAAuB,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjE,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC5D,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACrF,OAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3F,KAAK,SAAS;YACZ,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACvE,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACtE,OAAO,EAAE,CAAC,KAAiB,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,MAAM;YACT,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBACX,CAAC,CAAC,GAAG,CAAC,oCAAoC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,0EAA0E;AAC1E,SAAS,iBAAiB,CAAC,KAAa,EAAE,GAAY;IACpD,MAAM,KAAK,GAAG,sBAAsB,KAAK,GAAG,CAAC;IAC7C,uEAAuE;IACvE,4EAA4E;IAC5E,IAAK,0BAAgD,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,uCAAuC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAE3C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;IACzB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAE,eAAqC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7F,OAAO,GAAG,CACR,IAAI,KAAK,CACP,GAAG,KAAK,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;YAClD,oBAAoB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACpD,CACF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAwB,CAAC;IAEtC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,oCAAoC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAED,wDAAwD;IACxD,IAAI,UAAgC,CAAC;IACrC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,gDAAgD,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC3C,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,iCAAiC,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,UAAU,GAAG,CAAa,CAAC;IAC7B,CAAC;SAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,wCAAwC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,6EAA6E;IAC7E,IAAI,KAA2B,CAAC;IAChC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,GAAG,CACR,IAAI,KAAK,CAAC,GAAG,KAAK,qEAAqE,CAAC,CACzF,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,QAAQ,CAAC;IACnB,CAAC;SAAM,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,0CAA0C,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,oDAAoD;IACpD,IAAI,OAA2B,CAAC;IAChC,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,6CAA6C,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,+CAA+C,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,4EAA4E;QAC5E,uEAAuE;QACvE,IAAI,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,OAAO,GAAG,CACR,IAAI,KAAK,CACP,GAAG,KAAK,wDAAwD;gBAC9D,iEAAiE,CACpE,CACF,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,YAAwC,CAAC;IAC7C,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,OAAO,CAAC;QAChC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,4EAA4E;IAC5E,sDAAsD;IACtD,IAAI,OAAO,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3F,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,yCAAyC,OAAO,GAAG,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,GAAG,GAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACvD,IAAI,UAAU;QAAE,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC;IACtC,IAAI,KAAK;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IAC7B,IAAI,OAAO;QAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACnC,IAAI,YAAY,KAAK,SAAS;QAAE,GAAG,CAAC,OAAO,GAAG,YAAY,CAAC;IAC3D,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,0EAA0E;AAC1E,+DAA+D;AAC/D,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;QAC3E,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,GAAG,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,6EAA6E;AAC7E,wDAAwD;AACxD,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,qBAAqB,CAAU,CAAC;AAE3E,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,SAAS,aAAa,CACpB,GAA4B,EAC5B,GAAW;IAEX,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,oEAAoE;AACpE,gEAAgE;AAChE,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,cAAc;AACd,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAE,oBAA0C,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/D,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,oCAAoC,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACpE,IAAI,CAAC,iBAAiB,CAAC,EAAE;QAAE,OAAO,iBAAiB,CAAC;IAEpD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,SAAS,2BAA2B,CAAC,GAAY;IAC/C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,KAAK,GAAG,GAA8B,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAClC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAiC,CAAC,EAAE,CAAC;QACnF,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,0BAA0B,MAAM,8BAA8B,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACtC,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,+EAA+E;AAC/E,iFAAiF;AACjF,4EAA4E;AAC5E,+EAA+E;AAC/E,0BAA0B;AAC1B,SAAS,aAAa,CAAC,GAAY,EAAE,SAAiB;IACpD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,SAAS,GACb,GAAG,KAAK,UAAU;QAChB,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1C,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,GAAG,CACR,IAAI,KAAK,CAAC,mEAAmE,SAAS,GAAG,CAAC,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC;AAmBD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;AAExD,2EAA2E;AAC3E,gFAAgF;AAChF,MAAM,UAAU,gBAAgB;IAC9B,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,SAAS;AACT,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,4DAA4D;AAC5D,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,IAAI,OAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sEAAsE;QACtE,oEAAoE;QACpE,OAAO,GAAI,CAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAC/E,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,4EAA4E;IAC5E,oDAAoD;IACpD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC7C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,0EAA0E;AAC1E,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,MAAiC,CAAC;IAE/C,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjF,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAmC,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,qBAAqB,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAE3F,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEjF,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvE,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,qBAAqB,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAE9B,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACvC,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IACxC,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,uEAAuE;IACvE,2EAA2E;IAC3E,uEAAuE;IACvE,2CAA2C;IAC3C,IAAI,iBAAiB,GAAwB,cAAc,CAAC;IAC5D,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,IACE,IAAI,CAAC,UAAU,KAAK,IAAI;YACxB,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;YACnC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAC9B,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAqC,CAAC;QACzD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,CAAE,mBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzE,OAAO,GAAG,CACR,IAAI,KAAK,CACP,iDAAiD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;oBAChF,oBAAoB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACxD,CACF,CAAC;YACJ,CAAC;YACD,iBAAiB,GAAG,KAAK,CAAC,QAA+B,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,KAAK,gBAAgB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC1E,OAAO,GAAG,CACR,IAAI,KAAK,CACP,0FAA0F,CAC3F,CACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;QACR,KAAK;QACL,gBAAgB,EAAE,UAAU,CAAC,KAAK;QAClC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU;QACV,KAAK;QACL,cAAc;QACd,iBAAiB;QACjB,mBAAmB,EAAE,mBAAmB,CAAC,KAAK;QAC9C,UAAU;QACV,aAAa;QACb,MAAM,EAAE,MAAM,CAAC,KAAK;KACrB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ export declare function toSecondISO(d: Date): string;
1
2
  export declare function normalizeIsoDate(s: string): string | null;
2
3
  //# sourceMappingURL=dates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../src/utils/dates.ts"],"names":[],"mappings":"AAQA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOzD"}
1
+ {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../src/utils/dates.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAE3C;AAQD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOzD"}
@@ -1,4 +1,9 @@
1
1
  // Date helpers shared across the frontmatter and index layers.
2
+ // Second-resolution ISO — the shared record timestamp format of the
3
+ // append-only JSONL stores (edges, staged actions, shadow log).
4
+ export function toSecondISO(d) {
5
+ return d.toISOString().replace(/\.\d{3}Z$/, "Z");
6
+ }
2
7
  // Normalizes an ISO-shaped date string to canonical YYYY-MM-DD, or returns null
3
8
  // if it is not an unambiguous, real calendar date. Conservative by design: it
4
9
  // only recovers the missing-zero-pad case (e.g. "2026-3-1" -> "2026-03-01") and
@@ -1 +1 @@
1
- {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../src/utils/dates.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,kFAAkF;AAClF,8EAA8E;AAC9E,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,MAAM,CAAC,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC9E,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,SAAS,YAAY,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzF,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../src/utils/dates.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,oEAAoE;AACpE,gEAAgE;AAChE,MAAM,UAAU,WAAW,CAAC,CAAO;IACjC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,kFAAkF;AAClF,8EAA8E;AAC9E,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,MAAM,CAAC,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC9E,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,SAAS,YAAY,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzF,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Result } from "../frontmatter/types.js";
2
+ export declare function readRunId(args: Record<string, unknown>, tool: string): Result<string | undefined, Error>;
3
+ //# sourceMappingURL=run-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-id.d.ts","sourceRoot":"","sources":["../../src/utils/run-id.ts"],"names":[],"mappings":"AAQA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,CAQnC"}