crewly 1.20.20 → 1.20.22

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 (181) hide show
  1. package/config/roles/generalist/prompt.md +8 -2
  2. package/config/roles/team-leader/prompt.md +2 -1
  3. package/config/skills/agent/core/wiki-query/SKILL.md +11 -0
  4. package/config/skills/agent/core/wiki-query/execute.sh +22 -3
  5. package/config/skills/orchestrator/wiki-ingest/SKILL.md +19 -0
  6. package/config/skills/orchestrator/wiki-ingest/execute.sh +36 -1
  7. package/config/skills/team-leader/wiki-review-proposals/SKILL.md +35 -0
  8. package/config/skills/team-leader/wiki-review-proposals/execute.sh +40 -0
  9. package/config/skills/team-leader/wiki-supersede/SKILL.md +38 -0
  10. package/config/skills/team-leader/wiki-supersede/execute.sh +44 -0
  11. package/dist/backend/backend/src/constants.d.ts +39 -0
  12. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  13. package/dist/backend/backend/src/constants.js +37 -0
  14. package/dist/backend/backend/src/constants.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts +29 -0
  16. package/dist/backend/backend/src/controllers/wiki/wiki.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js +196 -4
  18. package/dist/backend/backend/src/controllers/wiki/wiki.controller.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/wiki/wiki.routes.d.ts.map +1 -1
  20. package/dist/backend/backend/src/controllers/wiki/wiki.routes.js +9 -1
  21. package/dist/backend/backend/src/controllers/wiki/wiki.routes.js.map +1 -1
  22. package/dist/backend/backend/src/index.d.ts.map +1 -1
  23. package/dist/backend/backend/src/index.js +3 -0
  24. package/dist/backend/backend/src/index.js.map +1 -1
  25. package/dist/backend/backend/src/services/memory/memory.service.d.ts +2 -0
  26. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  27. package/dist/backend/backend/src/services/memory/memory.service.js +16 -4
  28. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  29. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts +3 -1
  30. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +14 -3
  32. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts +0 -10
  34. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/slack/slack-initializer.js +21 -0
  36. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  37. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +3 -1
  38. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +26 -9
  40. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  41. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +22 -1
  42. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  43. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +69 -7
  44. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  45. package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts +9 -0
  46. package/dist/backend/backend/src/services/wiki/schema-loader.service.d.ts.map +1 -1
  47. package/dist/backend/backend/src/services/wiki/schema-loader.service.js +40 -1
  48. package/dist/backend/backend/src/services/wiki/schema-loader.service.js.map +1 -1
  49. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts +32 -0
  50. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.d.ts.map +1 -1
  51. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js +63 -1
  52. package/dist/backend/backend/src/services/wiki/wiki-bookkeep.service.js.map +1 -1
  53. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.d.ts +2 -0
  54. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js +9 -2
  56. package/dist/backend/backend/src/services/wiki/wiki-cleanup.service.js.map +1 -1
  57. package/dist/backend/backend/src/services/wiki/wiki-curation.service.d.ts +106 -0
  58. package/dist/backend/backend/src/services/wiki/wiki-curation.service.d.ts.map +1 -0
  59. package/dist/backend/backend/src/services/wiki/wiki-curation.service.js +211 -0
  60. package/dist/backend/backend/src/services/wiki/wiki-curation.service.js.map +1 -0
  61. package/dist/backend/backend/src/services/wiki/wiki-history.service.d.ts +63 -0
  62. package/dist/backend/backend/src/services/wiki/wiki-history.service.d.ts.map +1 -0
  63. package/dist/backend/backend/src/services/wiki/wiki-history.service.js +124 -0
  64. package/dist/backend/backend/src/services/wiki/wiki-history.service.js.map +1 -0
  65. package/dist/backend/backend/src/services/wiki/wiki-index.service.d.ts +119 -0
  66. package/dist/backend/backend/src/services/wiki/wiki-index.service.d.ts.map +1 -0
  67. package/dist/backend/backend/src/services/wiki/wiki-index.service.js +263 -0
  68. package/dist/backend/backend/src/services/wiki/wiki-index.service.js.map +1 -0
  69. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +66 -11
  70. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  71. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js +162 -44
  72. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  73. package/dist/backend/backend/src/services/wiki/wiki-lint.service.d.ts +31 -0
  74. package/dist/backend/backend/src/services/wiki/wiki-lint.service.d.ts.map +1 -1
  75. package/dist/backend/backend/src/services/wiki/wiki-lint.service.js +69 -0
  76. package/dist/backend/backend/src/services/wiki/wiki-lint.service.js.map +1 -1
  77. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.d.ts +29 -0
  78. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.d.ts.map +1 -0
  79. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js +55 -0
  80. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js.map +1 -0
  81. package/dist/backend/backend/src/services/wiki/wiki-page.d.ts +101 -0
  82. package/dist/backend/backend/src/services/wiki/wiki-page.d.ts.map +1 -0
  83. package/dist/backend/backend/src/services/wiki/wiki-page.js +130 -0
  84. package/dist/backend/backend/src/services/wiki/wiki-page.js.map +1 -0
  85. package/dist/backend/backend/src/services/wiki/wiki-policy.d.ts +35 -0
  86. package/dist/backend/backend/src/services/wiki/wiki-policy.d.ts.map +1 -0
  87. package/dist/backend/backend/src/services/wiki/wiki-policy.js +44 -0
  88. package/dist/backend/backend/src/services/wiki/wiki-policy.js.map +1 -0
  89. package/dist/backend/backend/src/services/wiki/wiki-process.service.d.ts.map +1 -1
  90. package/dist/backend/backend/src/services/wiki/wiki-process.service.js +5 -2
  91. package/dist/backend/backend/src/services/wiki/wiki-process.service.js.map +1 -1
  92. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts +57 -13
  93. package/dist/backend/backend/src/services/wiki/wiki-query.service.d.ts.map +1 -1
  94. package/dist/backend/backend/src/services/wiki/wiki-query.service.js +91 -54
  95. package/dist/backend/backend/src/services/wiki/wiki-query.service.js.map +1 -1
  96. package/dist/backend/backend/src/services/wiki/wiki-redaction.d.ts +74 -0
  97. package/dist/backend/backend/src/services/wiki/wiki-redaction.d.ts.map +1 -0
  98. package/dist/backend/backend/src/services/wiki/wiki-redaction.js +94 -0
  99. package/dist/backend/backend/src/services/wiki/wiki-redaction.js.map +1 -0
  100. package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts +12 -3
  101. package/dist/backend/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -1
  102. package/dist/backend/backend/src/services/wiki/wiki-search.service.js +19 -9
  103. package/dist/backend/backend/src/services/wiki/wiki-search.service.js.map +1 -1
  104. package/dist/backend/backend/src/services/wiki/wiki-usage.service.d.ts +96 -0
  105. package/dist/backend/backend/src/services/wiki/wiki-usage.service.d.ts.map +1 -0
  106. package/dist/backend/backend/src/services/wiki/wiki-usage.service.js +147 -0
  107. package/dist/backend/backend/src/services/wiki/wiki-usage.service.js.map +1 -0
  108. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.d.ts +25 -0
  109. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.d.ts.map +1 -0
  110. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.js +52 -0
  111. package/dist/backend/backend/src/services/wiki/wiki-vault-walk.js.map +1 -0
  112. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts +19 -1
  113. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.d.ts.map +1 -1
  114. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js +47 -6
  115. package/dist/backend/backend/src/services/wiki/wiki-workitem-bridge.service.js.map +1 -1
  116. package/dist/backend/backend/src/services/wiki/wiki.types.d.ts +24 -0
  117. package/dist/backend/backend/src/services/wiki/wiki.types.d.ts.map +1 -1
  118. package/dist/backend/build-info.json +2 -2
  119. package/dist/cli/backend/src/constants.d.ts +39 -0
  120. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  121. package/dist/cli/backend/src/constants.js +37 -0
  122. package/dist/cli/backend/src/constants.js.map +1 -1
  123. package/dist/cli/backend/src/services/memory/memory.service.d.ts +2 -0
  124. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  125. package/dist/cli/backend/src/services/memory/memory.service.js +16 -4
  126. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  127. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts +3 -1
  128. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  129. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +14 -3
  130. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  131. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +3 -1
  132. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  133. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +26 -9
  134. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  135. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +22 -1
  136. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  137. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +69 -7
  138. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  139. package/dist/cli/backend/src/services/wiki/schema-loader.service.d.ts +9 -0
  140. package/dist/cli/backend/src/services/wiki/schema-loader.service.d.ts.map +1 -1
  141. package/dist/cli/backend/src/services/wiki/schema-loader.service.js +40 -1
  142. package/dist/cli/backend/src/services/wiki/schema-loader.service.js.map +1 -1
  143. package/dist/cli/backend/src/services/wiki/wiki-history.service.d.ts +63 -0
  144. package/dist/cli/backend/src/services/wiki/wiki-history.service.d.ts.map +1 -0
  145. package/dist/cli/backend/src/services/wiki/wiki-history.service.js +124 -0
  146. package/dist/cli/backend/src/services/wiki/wiki-history.service.js.map +1 -0
  147. package/dist/cli/backend/src/services/wiki/wiki-index.service.d.ts +119 -0
  148. package/dist/cli/backend/src/services/wiki/wiki-index.service.d.ts.map +1 -0
  149. package/dist/cli/backend/src/services/wiki/wiki-index.service.js +263 -0
  150. package/dist/cli/backend/src/services/wiki/wiki-index.service.js.map +1 -0
  151. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts +66 -11
  152. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  153. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js +162 -44
  154. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  155. package/dist/cli/backend/src/services/wiki/wiki-page.d.ts +101 -0
  156. package/dist/cli/backend/src/services/wiki/wiki-page.d.ts.map +1 -0
  157. package/dist/cli/backend/src/services/wiki/wiki-page.js +130 -0
  158. package/dist/cli/backend/src/services/wiki/wiki-page.js.map +1 -0
  159. package/dist/cli/backend/src/services/wiki/wiki-policy.d.ts +35 -0
  160. package/dist/cli/backend/src/services/wiki/wiki-policy.d.ts.map +1 -0
  161. package/dist/cli/backend/src/services/wiki/wiki-policy.js +44 -0
  162. package/dist/cli/backend/src/services/wiki/wiki-policy.js.map +1 -0
  163. package/dist/cli/backend/src/services/wiki/wiki-redaction.d.ts +74 -0
  164. package/dist/cli/backend/src/services/wiki/wiki-redaction.d.ts.map +1 -0
  165. package/dist/cli/backend/src/services/wiki/wiki-redaction.js +94 -0
  166. package/dist/cli/backend/src/services/wiki/wiki-redaction.js.map +1 -0
  167. package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts +12 -3
  168. package/dist/cli/backend/src/services/wiki/wiki-search.service.d.ts.map +1 -1
  169. package/dist/cli/backend/src/services/wiki/wiki-search.service.js +19 -9
  170. package/dist/cli/backend/src/services/wiki/wiki-search.service.js.map +1 -1
  171. package/dist/cli/backend/src/services/wiki/wiki-usage.service.d.ts +96 -0
  172. package/dist/cli/backend/src/services/wiki/wiki-usage.service.d.ts.map +1 -0
  173. package/dist/cli/backend/src/services/wiki/wiki-usage.service.js +147 -0
  174. package/dist/cli/backend/src/services/wiki/wiki-usage.service.js.map +1 -0
  175. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.d.ts +25 -0
  176. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.d.ts.map +1 -0
  177. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.js +52 -0
  178. package/dist/cli/backend/src/services/wiki/wiki-vault-walk.js.map +1 -0
  179. package/dist/cli/backend/src/services/wiki/wiki.types.d.ts +24 -0
  180. package/dist/cli/backend/src/services/wiki/wiki.types.d.ts.map +1 -1
  181. package/package.json +1 -1
@@ -22,6 +22,8 @@ import * as fs from 'fs/promises';
22
22
  import * as path from 'path';
23
23
  import { existsSync } from 'fs';
24
24
  import { overlayRootFor } from './wiki-overlay.resolver.js';
25
+ import { parsePage, isVisibleTo } from './wiki-page.js';
26
+ import { WIKI_KB_CONSTANTS } from '../../constants.js';
25
27
  /** Cap on how many .md files are inspected per search. */
26
28
  export const WIKI_SEARCH_MAX_FILES = 500;
27
29
  /** Cap on how many results returned to the caller. */
@@ -113,7 +115,7 @@ export class WikiSearchService {
113
115
  if ('ok' in v)
114
116
  return v;
115
117
  const refs = (await this.collectDocs(vaultPath)).map((r) => ({ vaultPath, ...r }));
116
- const { hits, truncated } = await this._searchCorpus(refs, v.query);
118
+ const { hits, truncated } = await this._searchCorpus(refs, v.query, input);
117
119
  return { ok: true, vaultPath, query: v.query, hits, truncated };
118
120
  }
119
121
  /**
@@ -140,7 +142,7 @@ export class WikiSearchService {
140
142
  if (refs.length >= WIKI_SEARCH_MAX_FILES)
141
143
  break;
142
144
  }
143
- const { hits, truncated } = await this._searchCorpus(refs, v.query);
145
+ const { hits, truncated } = await this._searchCorpus(refs, v.query, input);
144
146
  for (const h of hits) {
145
147
  if (h.vaultPath)
146
148
  h.vaultLabel = labelByPath.get(h.vaultPath);
@@ -159,12 +161,12 @@ export class WikiSearchService {
159
161
  * @param query - Raw query string (validated/normalised here).
160
162
  * @returns BM25-ranked hits, or an empty array for an invalid/empty query.
161
163
  */
162
- async searchCorpus(vaultPath, docs, query) {
164
+ async searchCorpus(vaultPath, docs, query, filters = {}) {
163
165
  const v = this.validateQuery(query);
164
166
  if ('ok' in v)
165
167
  return [];
166
168
  const refs = docs.map((d) => ({ vaultPath, ...d }));
167
- const { hits } = await this._searchCorpus(refs, v.query);
169
+ const { hits } = await this._searchCorpus(refs, v.query, filters);
168
170
  return hits;
169
171
  }
170
172
  /**
@@ -172,15 +174,18 @@ export class WikiSearchService {
172
174
  * Builds the combined corpus statistics, scores, ranks, and attaches snippets
173
175
  * for the top results. Each hit carries its owning `vaultPath`.
174
176
  */
175
- async _searchCorpus(docRefs, query) {
177
+ async _searchCorpus(docRefs, query, filters = {}) {
176
178
  const queryTerms = Array.from(new Set(tokenize(query)));
177
179
  const needleLower = query.toLowerCase();
178
- const truncatedFiles = docRefs.length >= WIKI_SEARCH_MAX_FILES;
179
- const slice = docRefs.slice(0, WIKI_SEARCH_MAX_FILES);
180
+ const proposedPrefix = `${WIKI_KB_CONSTANTS.PROPOSED_DIR}/`;
181
+ const eligible = filters.includeProposed ? docRefs : docRefs.filter((r) => !r.relativePath.startsWith(proposedPrefix));
182
+ const truncatedFiles = eligible.length >= WIKI_SEARCH_MAX_FILES;
183
+ const slice = eligible.slice(0, WIKI_SEARCH_MAX_FILES);
180
184
  // Pass 1: read + tokenise each doc, accumulate query-term frequencies + length.
185
+ // Superseded pages and pages the viewer may not see are dropped here.
181
186
  const docs = [];
182
187
  for (const ref of slice) {
183
- const doc = await this.statDoc(ref, queryTerms);
188
+ const doc = await this.statDoc(ref, queryTerms, filters);
184
189
  if (doc)
185
190
  docs.push(doc);
186
191
  }
@@ -297,7 +302,7 @@ export class WikiSearchService {
297
302
  * tokens are folded in (weighted) so title relevance contributes to BM25.
298
303
  * Returns null only on unreadable/oversize files with no filename match.
299
304
  */
300
- async statDoc(ref, queryTerms) {
305
+ async statDoc(ref, queryTerms, filters = {}) {
301
306
  const { vaultPath, relativePath, absPath } = ref;
302
307
  const filenameMatch = queryTerms.some((t) => relativePath.toLowerCase().includes(t));
303
308
  // Filename/title tokens, folded in with a weight.
@@ -320,6 +325,11 @@ export class WikiSearchService {
320
325
  const stat = await fs.stat(absPath);
321
326
  if (stat.size <= WIKI_SEARCH_MAX_FILE_BYTES) {
322
327
  content = await fs.readFile(absPath, 'utf8');
328
+ const { frontmatter } = parsePage(content);
329
+ if (frontmatter.superseded_by && !filters.includeSuperseded)
330
+ return null;
331
+ if (!isVisibleTo(frontmatter, filters.viewerRole))
332
+ return null;
323
333
  }
324
334
  }
325
335
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-search.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-search.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,0DAA0D;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,sDAAsD;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AACnD,gEAAgE;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAChD,mEAAmE;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,GAAG,IAAI,CAAC;AAErD,mEAAmE;AACnE,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,8DAA8D;AAC9D,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB,8EAA8E;AAC9E,MAAM,qBAAqB,GAAG,CAAC,CAAC;AA6EhC;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,GAAG,GACP,KAAK,CAAC,KAAK,CAAC,yDAAyD,CAAC,IAAI,EAAE,CAAC;IAC/E,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,2EAA2E;AAC3E,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,QAAgB,EAAE,SAAiB;IACvD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAC,QAAQ,GAA6B,IAAI,CAAC;IAEzD,0BAA0B;IAC1B,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,uBAAuB;IACvB,MAAM,CAAC,aAAa;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,oEAAoE;IAC5D,aAAa,CAAC,GAAW;QAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;QAChH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;YAChD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,4BAA4B,aAAa,EAAE,CAAC;QACrH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,KAAsB;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oBAAoB,SAAS,EAAE,EAAE,CAAC;QAC1F,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAExB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,KAA2B;QAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,IAAI,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QAExB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC/D,IAAI,KAAK,CAAC,KAAK;gBAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/D,KAAK,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,MAAM,IAAI,qBAAqB;oBAAE,MAAM;YAClD,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,qBAAqB;gBAAE,MAAM;QAClD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,SAAS;gBAAE,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAChB,SAAiB,EACjB,IAAsD,EACtD,KAAa;QAEb,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,IAAI,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAa,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CACzB,OAAiB,EACjB,KAAa;QAEb,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAExC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,IAAI,qBAAqB,CAAC;QAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAEtD,gFAAgF;QAChF,MAAM,IAAI,GAAgB,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,GAAG;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;QAE5E,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE9D,iEAAiE;QACjE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;oBAAE,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;aAC1E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE9B,gFAAgF;QAChF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnB,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,CAAC,GAAG,CAAC,aAAa;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAClD,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,GAAG,uBAAuB,CAAC;QACjE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAErD,yEAAyE;QACzE,MAAM,IAAI,GAAoB,EAAE,CAAC;QACjC,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC;YACjC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAChG,IAAI,CAAC,IAAI,CAAC;gBACR,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,UAAU;gBACV,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI;gBACtC,QAAQ;gBACR,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,IAAI,gBAAgB,EAAE,CAAC;IACjE,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,WAAW,CAAC,SAAiB;QACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,GAAG,GAAqD,EAAE,CAAC;QAEjE,MAAM,GAAG,GAAG,CAAC,YAAoB,EAAE,OAAe,EAAQ,EAAE;YAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;gBAAE,OAAO;YACnC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,IAAI,GAAG,CAAC,MAAM,IAAI,qBAAqB;gBAAE,OAAO,GAAG,CAAC;YACpD,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YACzC,KAAK,MAAM,GAAG,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,IAAI,GAAG,CAAC,MAAM,IAAI,qBAAqB;oBAAE,OAAO,GAAG,CAAC;gBACpD,GAAG,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,MAAM,CAAC,IAAY;QAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;YAChD,IAAI,GAAG,CAAC,MAAM,IAAI,qBAAqB;gBAAE,OAAO;YAChD,IAAI,OAA8B,CAAC;YACnC,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,GAAG,CAAC,MAAM,IAAI,qBAAqB;oBAAE,OAAO;gBAChD,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,UAAoB;QACrD,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QACjD,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAErF,kDAAkD;QAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,CAAC,MAAgB,EAAE,MAAc,EAAQ,EAAE;YACvD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,MAAM,CAAC;gBACjB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,IAAI,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QAEzC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,IAAI,0BAA0B,EAAE,CAAC;gBAC5C,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;QACD,IAAI,OAAO;YAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzC,mEAAmE;QACnE,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACzG,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC/E,CAAC;IAED;;OAEG;IACK,SAAS,CACf,GAAc,EACd,UAAoB,EACpB,GAAwB,EACxB,KAAa;QAEb,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC;gBAAE,SAAS;YACtB,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;YACzE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CACzB,OAAe,EACf,UAAoB,EACpB,WAAmB;QAEnB,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QACzC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,OAAO,GACX,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;gBACb,IAAI,QAAQ,CAAC,MAAM,GAAG,iCAAiC,EAAE,CAAC;oBACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC"}
1
+ {"version":3,"file":"wiki-search.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-search.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * WikiUsageService — the retrieval ledger.
3
+ *
4
+ * Every query against a vault appends one JSONL line: who asked, what,
5
+ * which pages were read, and whether it was a miss (nothing relevant).
6
+ * This is the only honest signal for "is the knowledge base alive":
7
+ * pages nobody reads and questions nobody could answer both come out of
8
+ * it, and the bookkeeping report turns them into work.
9
+ *
10
+ * @module services/wiki/wiki-usage.service
11
+ */
12
+ /** One retrieval event. */
13
+ export interface WikiUsageEvent {
14
+ at: string;
15
+ /** `wiki-query` | `recall` | `search` | `page` */
16
+ via: string;
17
+ agent: string;
18
+ query: string;
19
+ /** Vault-relative pages returned/read. */
20
+ hits: string[];
21
+ /** True when nothing relevant came back — a capture gap. */
22
+ miss: boolean;
23
+ }
24
+ /** Aggregate over a window. */
25
+ export interface WikiUsageReport {
26
+ windowDays: number;
27
+ queries: number;
28
+ misses: number;
29
+ /** Distinct pages read at least once in the window. */
30
+ pagesRead: number;
31
+ /** Most-read pages, descending. */
32
+ topPages: Array<{
33
+ path: string;
34
+ reads: number;
35
+ }>;
36
+ /** Queries that found nothing (deduped, most recent first). */
37
+ missedQueries: string[];
38
+ /** Agents that queried, with counts. */
39
+ byAgent: Array<{
40
+ agent: string;
41
+ queries: number;
42
+ }>;
43
+ }
44
+ /**
45
+ * Appends and summarises `llm-curated/usage.jsonl` per vault.
46
+ */
47
+ export declare class WikiUsageService {
48
+ private readonly now;
49
+ private static instance;
50
+ private readonly logger;
51
+ constructor(now?: () => Date);
52
+ static getInstance(): WikiUsageService;
53
+ /** Test-only reset. */
54
+ static _resetForTesting(): void;
55
+ /**
56
+ * Ledger path for a vault.
57
+ *
58
+ * @param vaultPath - Vault root
59
+ * @returns `<vault>/llm-curated/usage.jsonl`
60
+ */
61
+ ledgerPath(vaultPath: string): string;
62
+ /**
63
+ * Append one event. Never throws (a ledger failure must not fail a query).
64
+ *
65
+ * @param vaultPath - Vault root
66
+ * @param event - Event fields (`at` is filled in)
67
+ */
68
+ record(vaultPath: string, event: Omit<WikiUsageEvent, 'at'>): Promise<void>;
69
+ /**
70
+ * Read events in the last N days.
71
+ *
72
+ * @param vaultPath - Vault root
73
+ * @param windowDays - Window (default {@link WIKI_KB_CONSTANTS.USAGE_WINDOW_DAYS})
74
+ * @returns Events, oldest first
75
+ */
76
+ events(vaultPath: string, windowDays?: number): Promise<WikiUsageEvent[]>;
77
+ /**
78
+ * Summarise the window: read counts, misses, unread work.
79
+ *
80
+ * @param vaultPath - Vault root
81
+ * @param windowDays - Window
82
+ * @returns Report
83
+ */
84
+ report(vaultPath: string, windowDays?: number): Promise<WikiUsageReport>;
85
+ /**
86
+ * Pages never read in the window (given the full page list).
87
+ *
88
+ * @param vaultPath - Vault root
89
+ * @param allPages - Vault-relative page paths
90
+ * @param windowDays - Window
91
+ * @returns Unread pages
92
+ */
93
+ unreadPages(vaultPath: string, allPages: string[], windowDays?: number): Promise<string[]>;
94
+ private rotateIfLarge;
95
+ }
96
+ //# sourceMappingURL=wiki-usage.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-usage.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-usage.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,2BAA2B;AAC3B,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC;CACf;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,+DAA+D;IAC/D,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,wCAAwC;IACxC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAEZ,GAAG,GAAE,MAAM,IAAuB;IAI/D,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAKtC,uBAAuB;IACvB,MAAM,CAAC,gBAAgB,IAAI,IAAI;IAI/B;;;;;OAKG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIrC;;;;;OAKG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjF;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,MAA4C,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqBpH;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,MAA4C,GAAG,OAAO,CAAC,eAAe,CAAC;IAqBnH;;;;;;;OAOG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,MAA4C,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAMvH,aAAa;CAO5B"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * WikiUsageService — the retrieval ledger.
3
+ *
4
+ * Every query against a vault appends one JSONL line: who asked, what,
5
+ * which pages were read, and whether it was a miss (nothing relevant).
6
+ * This is the only honest signal for "is the knowledge base alive":
7
+ * pages nobody reads and questions nobody could answer both come out of
8
+ * it, and the bookkeeping report turns them into work.
9
+ *
10
+ * @module services/wiki/wiki-usage.service
11
+ */
12
+ import * as path from 'path';
13
+ import * as fs from 'fs/promises';
14
+ import { LoggerService } from '../core/logger.service.js';
15
+ import { WIKI_KB_CONSTANTS } from '../../constants.js';
16
+ /**
17
+ * Appends and summarises `llm-curated/usage.jsonl` per vault.
18
+ */
19
+ export class WikiUsageService {
20
+ now;
21
+ static instance = null;
22
+ logger;
23
+ constructor(now = () => new Date()) {
24
+ this.now = now;
25
+ this.logger = LoggerService.getInstance().createComponentLogger('WikiUsage');
26
+ }
27
+ static getInstance() {
28
+ if (!this.instance)
29
+ this.instance = new WikiUsageService();
30
+ return this.instance;
31
+ }
32
+ /** Test-only reset. */
33
+ static _resetForTesting() {
34
+ this.instance = null;
35
+ }
36
+ /**
37
+ * Ledger path for a vault.
38
+ *
39
+ * @param vaultPath - Vault root
40
+ * @returns `<vault>/llm-curated/usage.jsonl`
41
+ */
42
+ ledgerPath(vaultPath) {
43
+ return path.join(vaultPath, 'llm-curated', WIKI_KB_CONSTANTS.USAGE_FILENAME);
44
+ }
45
+ /**
46
+ * Append one event. Never throws (a ledger failure must not fail a query).
47
+ *
48
+ * @param vaultPath - Vault root
49
+ * @param event - Event fields (`at` is filled in)
50
+ */
51
+ async record(vaultPath, event) {
52
+ const line = JSON.stringify({ at: this.now().toISOString(), ...event, query: event.query.slice(0, 300) }) + '\n';
53
+ try {
54
+ const file = this.ledgerPath(vaultPath);
55
+ await fs.mkdir(path.dirname(file), { recursive: true });
56
+ await fs.appendFile(file, line, 'utf8');
57
+ await this.rotateIfLarge(file);
58
+ }
59
+ catch (err) {
60
+ this.logger.debug('usage ledger append failed (non-fatal)', { vaultPath, error: err instanceof Error ? err.message : String(err) });
61
+ }
62
+ }
63
+ /**
64
+ * Read events in the last N days.
65
+ *
66
+ * @param vaultPath - Vault root
67
+ * @param windowDays - Window (default {@link WIKI_KB_CONSTANTS.USAGE_WINDOW_DAYS})
68
+ * @returns Events, oldest first
69
+ */
70
+ async events(vaultPath, windowDays = WIKI_KB_CONSTANTS.USAGE_WINDOW_DAYS) {
71
+ let raw;
72
+ try {
73
+ raw = await fs.readFile(this.ledgerPath(vaultPath), 'utf8');
74
+ }
75
+ catch {
76
+ return [];
77
+ }
78
+ const since = this.now().getTime() - windowDays * 24 * 3600 * 1000;
79
+ const out = [];
80
+ for (const line of raw.split('\n')) {
81
+ if (!line.trim())
82
+ continue;
83
+ try {
84
+ const e = JSON.parse(line);
85
+ if (Date.parse(e.at) >= since)
86
+ out.push(e);
87
+ }
88
+ catch {
89
+ /* skip corrupt line */
90
+ }
91
+ }
92
+ return out;
93
+ }
94
+ /**
95
+ * Summarise the window: read counts, misses, unread work.
96
+ *
97
+ * @param vaultPath - Vault root
98
+ * @param windowDays - Window
99
+ * @returns Report
100
+ */
101
+ async report(vaultPath, windowDays = WIKI_KB_CONSTANTS.USAGE_WINDOW_DAYS) {
102
+ const events = await this.events(vaultPath, windowDays);
103
+ const reads = new Map();
104
+ const byAgent = new Map();
105
+ const missed = [];
106
+ for (const e of events) {
107
+ for (const p of e.hits)
108
+ reads.set(p, (reads.get(p) ?? 0) + 1);
109
+ byAgent.set(e.agent, (byAgent.get(e.agent) ?? 0) + 1);
110
+ if (e.miss)
111
+ missed.push(e.query);
112
+ }
113
+ return {
114
+ windowDays,
115
+ queries: events.length,
116
+ misses: missed.length,
117
+ pagesRead: reads.size,
118
+ topPages: [...reads.entries()].map(([p, n]) => ({ path: p, reads: n })).sort((a, b) => b.reads - a.reads).slice(0, 20),
119
+ missedQueries: [...new Set(missed.reverse())].slice(0, 20),
120
+ byAgent: [...byAgent.entries()].map(([agent, queries]) => ({ agent, queries })).sort((a, b) => b.queries - a.queries),
121
+ };
122
+ }
123
+ /**
124
+ * Pages never read in the window (given the full page list).
125
+ *
126
+ * @param vaultPath - Vault root
127
+ * @param allPages - Vault-relative page paths
128
+ * @param windowDays - Window
129
+ * @returns Unread pages
130
+ */
131
+ async unreadPages(vaultPath, allPages, windowDays = WIKI_KB_CONSTANTS.USAGE_WINDOW_DAYS) {
132
+ const read = new Set();
133
+ for (const e of await this.events(vaultPath, windowDays))
134
+ for (const p of e.hits)
135
+ read.add(p);
136
+ return allPages.filter((p) => !read.has(p));
137
+ }
138
+ async rotateIfLarge(file) {
139
+ const stat = await fs.stat(file).catch(() => null);
140
+ if (!stat || stat.size <= WIKI_KB_CONSTANTS.USAGE_MAX_BYTES)
141
+ return;
142
+ const raw = await fs.readFile(file, 'utf8');
143
+ const lines = raw.split('\n').filter(Boolean);
144
+ await fs.writeFile(file, lines.slice(Math.floor(lines.length / 2)).join('\n') + '\n', 'utf8');
145
+ }
146
+ }
147
+ //# sourceMappingURL=wiki-usage.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-usage.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-usage.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Shared vault walker: every `.md` page under `llm-curated/`, skipping
3
+ * dot-dirs, `node_modules`, the proposals folder and history snapshots.
4
+ *
5
+ * @module services/wiki/wiki-vault-walk
6
+ */
7
+ /** A page reference. */
8
+ export interface WikiPageRef {
9
+ /** POSIX path relative to the vault root, e.g. `llm-curated/decisions/x.md`. */
10
+ relativePath: string;
11
+ absPath: string;
12
+ }
13
+ /** Files that are not knowledge pages (index, log, readme). */
14
+ export declare function isSeedFile(relativePath: string): boolean;
15
+ /**
16
+ * Walk `<vault>/llm-curated/` and list every `.md` page.
17
+ *
18
+ * @param vaultPath - Vault root
19
+ * @param options - `includeProposed` also lists `_proposed/` pages
20
+ * @returns Page refs, sorted by relative path
21
+ */
22
+ export declare function walkCuratedPages(vaultPath: string, options?: {
23
+ includeProposed?: boolean;
24
+ }): Promise<WikiPageRef[]>;
25
+ //# sourceMappingURL=wiki-vault-walk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-vault-walk.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-vault-walk.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,wBAAwB;AACxB,MAAM,WAAW,WAAW;IAC1B,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,OAAO,CAAC,WAAW,EAAE,CAAC,CAyBxB"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Shared vault walker: every `.md` page under `llm-curated/`, skipping
3
+ * dot-dirs, `node_modules`, the proposals folder and history snapshots.
4
+ *
5
+ * @module services/wiki/wiki-vault-walk
6
+ */
7
+ import * as path from 'path';
8
+ import * as fs from 'fs/promises';
9
+ import { WIKI_KB_CONSTANTS } from '../../constants.js';
10
+ /** Files that are not knowledge pages (index, log, readme). */
11
+ export function isSeedFile(relativePath) {
12
+ const base = relativePath.split('/').pop()?.toLowerCase() ?? '';
13
+ return base === 'index.md' || base === 'log.md' || base === 'readme.md' || base === 'schema.md';
14
+ }
15
+ /**
16
+ * Walk `<vault>/llm-curated/` and list every `.md` page.
17
+ *
18
+ * @param vaultPath - Vault root
19
+ * @param options - `includeProposed` also lists `_proposed/` pages
20
+ * @returns Page refs, sorted by relative path
21
+ */
22
+ export async function walkCuratedPages(vaultPath, options = {}) {
23
+ const root = path.join(vaultPath, 'llm-curated');
24
+ const proposedAbs = path.join(vaultPath, WIKI_KB_CONSTANTS.PROPOSED_DIR);
25
+ const out = [];
26
+ const stack = [root];
27
+ while (stack.length > 0) {
28
+ const dir = stack.pop();
29
+ let entries;
30
+ try {
31
+ entries = await fs.readdir(dir, { withFileTypes: true });
32
+ }
33
+ catch {
34
+ continue;
35
+ }
36
+ for (const entry of entries) {
37
+ const abs = path.join(dir, entry.name);
38
+ if (entry.isDirectory()) {
39
+ if (entry.name.startsWith('.') || entry.name === 'node_modules')
40
+ continue;
41
+ if (abs === proposedAbs && !options.includeProposed)
42
+ continue;
43
+ stack.push(abs);
44
+ }
45
+ else if (entry.isFile() && entry.name.endsWith('.md')) {
46
+ out.push({ relativePath: path.relative(vaultPath, abs).replace(/\\/g, '/'), absPath: abs });
47
+ }
48
+ }
49
+ }
50
+ return out.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
51
+ }
52
+ //# sourceMappingURL=wiki-vault-walk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-vault-walk.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-vault-walk.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AASvD,+DAA+D;AAC/D,MAAM,UAAU,UAAU,CAAC,YAAoB;IAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAChE,OAAO,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,CAAC;AAClG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,UAAyC,EAAE;IAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QACzB,IAAI,OAA8B,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,SAAS;gBAC1E,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,eAAe;oBAAE,SAAS;gBAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -48,8 +48,15 @@ export declare const META_KIND_WIKI_CLEANUP: "wiki_quality_cleanup";
48
48
  export interface WikiWorkItemBridgeOptions {
49
49
  /** How often to scan vaults + projects (default 10 min). */
50
50
  intervalMs?: number;
51
- /** Target agent session for the created WIs (default `crewly-orc`). */
51
+ /** Fallback target agent session for the created WIs (default `crewly-orc`). */
52
52
  targetAgent?: string;
53
+ /**
54
+ * Resolve the session that should own a vault's wiki work — the team
55
+ * leader of the vault's team (team vault) or of a team assigned to the
56
+ * project (project vault). Return null to fall back to `targetAgent`.
57
+ * Processing is the TL's job, not the orchestrator's (2026-09-19).
58
+ */
59
+ resolveTarget?: (vaultPathOrProjectRoot: string) => Promise<string | null>;
53
60
  /**
54
61
  * Max new WIs to publish per tick (default 2). Throttles PTY flood —
55
62
  * see {@link DEFAULT_MAX_CREATES_PER_TICK}.
@@ -106,6 +113,7 @@ export declare class WikiWorkItemBridgeService {
106
113
  private readonly logger;
107
114
  private readonly intervalMs;
108
115
  private readonly targetAgent;
116
+ private readonly resolveTarget;
109
117
  private readonly maxCreatesPerTick;
110
118
  private readonly cooldownMs;
111
119
  private readonly nowFn;
@@ -130,6 +138,8 @@ export declare class WikiWorkItemBridgeService {
130
138
  * any change in the count (progress, or genuinely new content) resets it.
131
139
  */
132
140
  private readonly noProgress;
141
+ /** Keys already reported as exhausted (warn once). */
142
+ private readonly exhaustedWarned;
133
143
  /** Absolute path of the persisted state file (or `null` to disable). */
134
144
  private readonly statePath;
135
145
  /** True after `loadStateFromDisk` has either populated or no-op'd. */
@@ -184,6 +194,14 @@ export declare class WikiWorkItemBridgeService {
184
194
  * terminal — i.e. it's still queued/claimed/running/etc.
185
195
  */
186
196
  private snapshotInflight;
197
+ /**
198
+ * The session that should do a vault's wiki work: the resolver's answer
199
+ * (a team leader) or the fallback target.
200
+ *
201
+ * @param key - Vault path or project root
202
+ * @returns Session name
203
+ */
204
+ private targetFor;
187
205
  private createDrainWorkItem;
188
206
  private createCleanupWorkItem;
189
207
  private createMigrateWorkItem;
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-workitem-bridge.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-workitem-bridge.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiki-workitem-bridge.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-workitem-bridge.service.ts"],"names":[],"mappings":"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"}