@telora/daemon 0.17.36 → 0.17.42

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 (266) hide show
  1. package/build-info.json +5 -3
  2. package/dist/assembly-engine.d.ts +6 -0
  3. package/dist/assembly-engine.d.ts.map +1 -1
  4. package/dist/assembly-engine.js +19 -0
  5. package/dist/assembly-engine.js.map +1 -1
  6. package/dist/assembly-resolvers.d.ts +17 -8
  7. package/dist/assembly-resolvers.d.ts.map +1 -1
  8. package/dist/assembly-resolvers.js +19 -8
  9. package/dist/assembly-resolvers.js.map +1 -1
  10. package/dist/cli/session-state.d.ts +10 -0
  11. package/dist/cli/session-state.d.ts.map +1 -1
  12. package/dist/cli/session-state.js +31 -0
  13. package/dist/cli/session-state.js.map +1 -1
  14. package/dist/completion/completion-decision.d.ts +83 -0
  15. package/dist/completion/completion-decision.d.ts.map +1 -0
  16. package/dist/completion/completion-decision.js +48 -0
  17. package/dist/completion/completion-decision.js.map +1 -0
  18. package/dist/completion/event-escalations.d.ts +97 -0
  19. package/dist/completion/event-escalations.d.ts.map +1 -0
  20. package/dist/completion/event-escalations.js +213 -0
  21. package/dist/completion/event-escalations.js.map +1 -0
  22. package/dist/completion/event.d.ts +1 -72
  23. package/dist/completion/event.d.ts.map +1 -1
  24. package/dist/completion/event.js +148 -322
  25. package/dist/completion/event.js.map +1 -1
  26. package/dist/completion/exit-classification.d.ts +82 -0
  27. package/dist/completion/exit-classification.d.ts.map +1 -0
  28. package/dist/completion/exit-classification.js +61 -0
  29. package/dist/completion/exit-classification.js.map +1 -0
  30. package/dist/completion/index.d.ts +14 -5
  31. package/dist/completion/index.d.ts.map +1 -1
  32. package/dist/completion/index.js +14 -5
  33. package/dist/completion/index.js.map +1 -1
  34. package/dist/completion/merge-phase.d.ts +114 -0
  35. package/dist/completion/merge-phase.d.ts.map +1 -0
  36. package/dist/completion/merge-phase.js +198 -0
  37. package/dist/completion/merge-phase.js.map +1 -0
  38. package/dist/completion/review-exit-phase.d.ts +82 -0
  39. package/dist/completion/review-exit-phase.d.ts.map +1 -0
  40. package/dist/completion/review-exit-phase.js +228 -0
  41. package/dist/completion/review-exit-phase.js.map +1 -0
  42. package/dist/completion/status-advance-phase.d.ts +61 -0
  43. package/dist/completion/status-advance-phase.d.ts.map +1 -0
  44. package/dist/completion/status-advance-phase.js +182 -0
  45. package/dist/completion/status-advance-phase.js.map +1 -0
  46. package/dist/completion/team-completion.d.ts +28 -269
  47. package/dist/completion/team-completion.d.ts.map +1 -1
  48. package/dist/completion/team-completion.js +145 -676
  49. package/dist/completion/team-completion.js.map +1 -1
  50. package/dist/daemon-process.d.ts +18 -2
  51. package/dist/daemon-process.d.ts.map +1 -1
  52. package/dist/daemon-process.js +7 -2
  53. package/dist/daemon-process.js.map +1 -1
  54. package/dist/directive/close-loop-stage.d.ts +50 -0
  55. package/dist/directive/close-loop-stage.d.ts.map +1 -0
  56. package/dist/directive/close-loop-stage.js +196 -0
  57. package/dist/directive/close-loop-stage.js.map +1 -0
  58. package/dist/directive/directive-assembly.d.ts +33 -0
  59. package/dist/directive/directive-assembly.d.ts.map +1 -0
  60. package/dist/directive/directive-assembly.js +77 -0
  61. package/dist/directive/directive-assembly.js.map +1 -0
  62. package/dist/directive/directive-dispatch.d.ts +103 -0
  63. package/dist/directive/directive-dispatch.d.ts.map +1 -0
  64. package/dist/directive/directive-dispatch.js +279 -0
  65. package/dist/directive/directive-dispatch.js.map +1 -0
  66. package/dist/directive/phase-sync.d.ts +89 -0
  67. package/dist/directive/phase-sync.d.ts.map +1 -0
  68. package/dist/directive/phase-sync.js +173 -0
  69. package/dist/directive/phase-sync.js.map +1 -0
  70. package/dist/directive-executor.d.ts +21 -223
  71. package/dist/directive-executor.d.ts.map +1 -1
  72. package/dist/directive-executor.js +28 -687
  73. package/dist/directive-executor.js.map +1 -1
  74. package/dist/focus-engine.d.ts.map +1 -1
  75. package/dist/focus-engine.js +8 -0
  76. package/dist/focus-engine.js.map +1 -1
  77. package/dist/focus-executor.d.ts +29 -8
  78. package/dist/focus-executor.d.ts.map +1 -1
  79. package/dist/focus-executor.js +29 -10
  80. package/dist/focus-executor.js.map +1 -1
  81. package/dist/focus-stage-lifecycle.d.ts +7 -5
  82. package/dist/focus-stage-lifecycle.d.ts.map +1 -1
  83. package/dist/focus-stage-lifecycle.js +11 -6
  84. package/dist/focus-stage-lifecycle.js.map +1 -1
  85. package/dist/index.js +8 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/pipeline-config.d.ts +13 -0
  88. package/dist/pipeline-config.d.ts.map +1 -1
  89. package/dist/pipeline-config.js +15 -0
  90. package/dist/pipeline-config.js.map +1 -1
  91. package/dist/resolvers/agent-escalations.d.ts +8 -1
  92. package/dist/resolvers/agent-escalations.d.ts.map +1 -1
  93. package/dist/resolvers/agent-escalations.js +25 -22
  94. package/dist/resolvers/agent-escalations.js.map +1 -1
  95. package/dist/resolvers/agent-session-summaries.d.ts +8 -1
  96. package/dist/resolvers/agent-session-summaries.d.ts.map +1 -1
  97. package/dist/resolvers/agent-session-summaries.js +21 -18
  98. package/dist/resolvers/agent-session-summaries.js.map +1 -1
  99. package/dist/resolvers/delivery-acceptance-criteria.d.ts +7 -1
  100. package/dist/resolvers/delivery-acceptance-criteria.d.ts.map +1 -1
  101. package/dist/resolvers/delivery-acceptance-criteria.js +14 -11
  102. package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
  103. package/dist/resolvers/delivery-description.d.ts +7 -1
  104. package/dist/resolvers/delivery-description.d.ts.map +1 -1
  105. package/dist/resolvers/delivery-description.js +14 -11
  106. package/dist/resolvers/delivery-description.js.map +1 -1
  107. package/dist/resolvers/delivery-issues.d.ts +8 -1
  108. package/dist/resolvers/delivery-issues.d.ts.map +1 -1
  109. package/dist/resolvers/delivery-issues.js +51 -48
  110. package/dist/resolvers/delivery-issues.js.map +1 -1
  111. package/dist/resolvers/delivery-listing.d.ts +16 -1
  112. package/dist/resolvers/delivery-listing.d.ts.map +1 -1
  113. package/dist/resolvers/delivery-listing.js +36 -33
  114. package/dist/resolvers/delivery-listing.js.map +1 -1
  115. package/dist/resolvers/delivery-tech-context.d.ts +7 -1
  116. package/dist/resolvers/delivery-tech-context.d.ts.map +1 -1
  117. package/dist/resolvers/delivery-tech-context.js +14 -11
  118. package/dist/resolvers/delivery-tech-context.js.map +1 -1
  119. package/dist/resolvers/deployment-profile.d.ts +8 -1
  120. package/dist/resolvers/deployment-profile.d.ts.map +1 -1
  121. package/dist/resolvers/deployment-profile.js +20 -17
  122. package/dist/resolvers/deployment-profile.js.map +1 -1
  123. package/dist/resolvers/focus-anchoring-injections.d.ts +26 -1
  124. package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
  125. package/dist/resolvers/focus-anchoring-injections.js +91 -88
  126. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  127. package/dist/resolvers/focus-context.d.ts +9 -1
  128. package/dist/resolvers/focus-context.d.ts.map +1 -1
  129. package/dist/resolvers/focus-context.js +38 -35
  130. package/dist/resolvers/focus-context.js.map +1 -1
  131. package/dist/resolvers/focus-injections.d.ts +13 -1
  132. package/dist/resolvers/focus-injections.d.ts.map +1 -1
  133. package/dist/resolvers/focus-injections.js +60 -57
  134. package/dist/resolvers/focus-injections.js.map +1 -1
  135. package/dist/resolvers/focus-last-review-report.d.ts +2 -1
  136. package/dist/resolvers/focus-last-review-report.d.ts.map +1 -1
  137. package/dist/resolvers/focus-last-review-report.js +33 -30
  138. package/dist/resolvers/focus-last-review-report.js.map +1 -1
  139. package/dist/resolvers/focus-reality-tree.d.ts +15 -1
  140. package/dist/resolvers/focus-reality-tree.d.ts.map +1 -1
  141. package/dist/resolvers/focus-reality-tree.js +35 -32
  142. package/dist/resolvers/focus-reality-tree.js.map +1 -1
  143. package/dist/resolvers/git-diff-against-base.d.ts +8 -1
  144. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  145. package/dist/resolvers/git-diff-against-base.js +33 -30
  146. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  147. package/dist/resolvers/guards-evaluation-results.d.ts +7 -1
  148. package/dist/resolvers/guards-evaluation-results.d.ts.map +1 -1
  149. package/dist/resolvers/guards-evaluation-results.js +25 -22
  150. package/dist/resolvers/guards-evaluation-results.js.map +1 -1
  151. package/dist/resolvers/index.d.ts +22 -40
  152. package/dist/resolvers/index.d.ts.map +1 -1
  153. package/dist/resolvers/index.js +112 -41
  154. package/dist/resolvers/index.js.map +1 -1
  155. package/dist/resolvers/loop-context.d.ts +18 -1
  156. package/dist/resolvers/loop-context.d.ts.map +1 -1
  157. package/dist/resolvers/loop-context.js +21 -18
  158. package/dist/resolvers/loop-context.js.map +1 -1
  159. package/dist/resolvers/loop-delivery-index.d.ts +17 -1
  160. package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
  161. package/dist/resolvers/loop-delivery-index.js +51 -48
  162. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  163. package/dist/resolvers/loop-documents.d.ts +9 -1
  164. package/dist/resolvers/loop-documents.d.ts.map +1 -1
  165. package/dist/resolvers/loop-documents.js +22 -19
  166. package/dist/resolvers/loop-documents.js.map +1 -1
  167. package/dist/resolvers/loop-expected-effects.d.ts +11 -1
  168. package/dist/resolvers/loop-expected-effects.d.ts.map +1 -1
  169. package/dist/resolvers/loop-expected-effects.js +53 -50
  170. package/dist/resolvers/loop-expected-effects.js.map +1 -1
  171. package/dist/resolvers/loop-frt-statement.d.ts +11 -1
  172. package/dist/resolvers/loop-frt-statement.d.ts.map +1 -1
  173. package/dist/resolvers/loop-frt-statement.js +28 -25
  174. package/dist/resolvers/loop-frt-statement.js.map +1 -1
  175. package/dist/resolvers/loop-injection.d.ts +10 -1
  176. package/dist/resolvers/loop-injection.d.ts.map +1 -1
  177. package/dist/resolvers/loop-injection.js +38 -35
  178. package/dist/resolvers/loop-injection.js.map +1 -1
  179. package/dist/resolvers/loop-persona.d.ts +20 -1
  180. package/dist/resolvers/loop-persona.d.ts.map +1 -1
  181. package/dist/resolvers/loop-persona.js +20 -17
  182. package/dist/resolvers/loop-persona.js.map +1 -1
  183. package/dist/resolvers/loop-questions.d.ts +8 -1
  184. package/dist/resolvers/loop-questions.d.ts.map +1 -1
  185. package/dist/resolvers/loop-questions.js +39 -36
  186. package/dist/resolvers/loop-questions.js.map +1 -1
  187. package/dist/resolvers/loop-upstream-udes.d.ts +11 -1
  188. package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -1
  189. package/dist/resolvers/loop-upstream-udes.js +74 -71
  190. package/dist/resolvers/loop-upstream-udes.js.map +1 -1
  191. package/dist/resolvers/prd-context.d.ts +2 -0
  192. package/dist/resolvers/prd-context.d.ts.map +1 -1
  193. package/dist/resolvers/prd-context.js +16 -13
  194. package/dist/resolvers/prd-context.js.map +1 -1
  195. package/dist/resolvers/prd-persona.d.ts +2 -0
  196. package/dist/resolvers/prd-persona.d.ts.map +1 -1
  197. package/dist/resolvers/prd-persona.js +6 -3
  198. package/dist/resolvers/prd-persona.js.map +1 -1
  199. package/dist/resolvers/reality-metrics.d.ts +8 -1
  200. package/dist/resolvers/reality-metrics.d.ts.map +1 -1
  201. package/dist/resolvers/reality-metrics.js +73 -70
  202. package/dist/resolvers/reality-metrics.js.map +1 -1
  203. package/dist/resolvers/reality-projections.d.ts +7 -1
  204. package/dist/resolvers/reality-projections.d.ts.map +1 -1
  205. package/dist/resolvers/reality-projections.js +35 -32
  206. package/dist/resolvers/reality-projections.js.map +1 -1
  207. package/dist/resolvers/reality-tree-snapshot.d.ts +10 -1
  208. package/dist/resolvers/reality-tree-snapshot.d.ts.map +1 -1
  209. package/dist/resolvers/reality-tree-snapshot.js +34 -31
  210. package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
  211. package/dist/resolvers/retired-injections.d.ts +10 -1
  212. package/dist/resolvers/retired-injections.d.ts.map +1 -1
  213. package/dist/resolvers/retired-injections.js +68 -65
  214. package/dist/resolvers/retired-injections.js.map +1 -1
  215. package/dist/resolvers/review-outcomes.d.ts +11 -1
  216. package/dist/resolvers/review-outcomes.d.ts.map +1 -1
  217. package/dist/resolvers/review-outcomes.js +27 -24
  218. package/dist/resolvers/review-outcomes.js.map +1 -1
  219. package/dist/resolvers/security-advisory.d.ts +2 -1
  220. package/dist/resolvers/security-advisory.d.ts.map +1 -1
  221. package/dist/resolvers/security-advisory.js +47 -44
  222. package/dist/resolvers/security-advisory.js.map +1 -1
  223. package/dist/resolvers/wiki-search.d.ts +8 -1
  224. package/dist/resolvers/wiki-search.d.ts.map +1 -1
  225. package/dist/resolvers/wiki-search.js +17 -14
  226. package/dist/resolvers/wiki-search.js.map +1 -1
  227. package/dist/resolvers/wiki-topic.d.ts +9 -1
  228. package/dist/resolvers/wiki-topic.d.ts.map +1 -1
  229. package/dist/resolvers/wiki-topic.js +21 -18
  230. package/dist/resolvers/wiki-topic.js.map +1 -1
  231. package/dist/resolvers/workflow-stages.d.ts +7 -1
  232. package/dist/resolvers/workflow-stages.d.ts.map +1 -1
  233. package/dist/resolvers/workflow-stages.js +20 -17
  234. package/dist/resolvers/workflow-stages.js.map +1 -1
  235. package/dist/self-update.d.ts +6 -0
  236. package/dist/self-update.d.ts.map +1 -1
  237. package/dist/self-update.js +6 -1
  238. package/dist/self-update.js.map +1 -1
  239. package/dist/spawner/index.d.ts +2 -1
  240. package/dist/spawner/index.d.ts.map +1 -1
  241. package/dist/spawner/index.js +2 -1
  242. package/dist/spawner/index.js.map +1 -1
  243. package/dist/spawner/spawn-team.d.ts +14 -52
  244. package/dist/spawner/spawn-team.d.ts.map +1 -1
  245. package/dist/spawner/spawn-team.js +14 -469
  246. package/dist/spawner/spawn-team.js.map +1 -1
  247. package/dist/staleness.d.ts +124 -0
  248. package/dist/staleness.d.ts.map +1 -0
  249. package/dist/staleness.js +215 -0
  250. package/dist/staleness.js.map +1 -0
  251. package/dist/state-cascade.d.ts +3 -2
  252. package/dist/state-cascade.d.ts.map +1 -1
  253. package/dist/state-cascade.js +7 -3
  254. package/dist/state-cascade.js.map +1 -1
  255. package/dist/types/focus.d.ts +5 -4
  256. package/dist/types/focus.d.ts.map +1 -1
  257. package/dist/types/session.d.ts +2 -3
  258. package/dist/types/session.d.ts.map +1 -1
  259. package/dist/unified-shell.d.ts.map +1 -1
  260. package/dist/unified-shell.js +21 -12
  261. package/dist/unified-shell.js.map +1 -1
  262. package/package.json +2 -2
  263. package/dist/session-lifecycle.d.ts +0 -78
  264. package/dist/session-lifecycle.d.ts.map +0 -1
  265. package/dist/session-lifecycle.js +0 -382
  266. package/dist/session-lifecycle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reality-tree-snapshot.d.ts","sourceRoot":"","sources":["../../src/resolvers/reality-tree-snapshot.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"reality-tree-snapshot.d.ts","sourceRoot":"","sources":["../../src/resolvers/reality-tree-snapshot.ts"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,oGAAoG;AACpG,wBAAgB,mCAAmC,IAAI,IAAI,CAmC1D"}
@@ -9,37 +9,40 @@ import { CRT_DUMP_BUDGET_CHARS, renderRealityTreeDump, } from './shared/reality-
9
9
  * heading renamed to "Snapshot" so the audit prompt distinguishes its
10
10
  * "current graph" input from other tree-related sections. Fails soft.
11
11
  */
12
- registerSourceResolver('reality_tree.snapshot', async (context) => {
13
- try {
14
- const treesResp = await callApi('reality_tree_list', {
15
- focusId: context.focusId,
16
- });
17
- const trees = (treesResp.items ?? []).filter((t) => t.status === 'active');
18
- if (trees.length === 0)
19
- return '';
20
- const sections = [];
21
- let used = 0;
22
- for (const tree of trees) {
23
- if (used >= CRT_DUMP_BUDGET_CHARS)
24
- break;
25
- const remaining = CRT_DUMP_BUDGET_CHARS - used;
26
- const [nodesResp, edgesResp] = await Promise.all([
27
- callApi('reality_tree_node_list', { treeId: tree.id, status: 'active' }),
28
- callApi('reality_tree_edge_list', { treeId: tree.id }),
29
- ]);
30
- const dump = renderRealityTreeDump(tree, nodesResp.items ?? [], edgesResp.items ?? [], remaining);
31
- if (dump.length === 0)
32
- continue;
33
- sections.push(dump);
34
- used += dump.length;
12
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
13
+ export function registerRealityTreeSnapshotResolver() {
14
+ registerSourceResolver('reality_tree.snapshot', async (context) => {
15
+ try {
16
+ const treesResp = await callApi('reality_tree_list', {
17
+ focusId: context.focusId,
18
+ });
19
+ const trees = (treesResp.items ?? []).filter((t) => t.status === 'active');
20
+ if (trees.length === 0)
21
+ return '';
22
+ const sections = [];
23
+ let used = 0;
24
+ for (const tree of trees) {
25
+ if (used >= CRT_DUMP_BUDGET_CHARS)
26
+ break;
27
+ const remaining = CRT_DUMP_BUDGET_CHARS - used;
28
+ const [nodesResp, edgesResp] = await Promise.all([
29
+ callApi('reality_tree_node_list', { treeId: tree.id, status: 'active' }),
30
+ callApi('reality_tree_edge_list', { treeId: tree.id }),
31
+ ]);
32
+ const dump = renderRealityTreeDump(tree, nodesResp.items ?? [], edgesResp.items ?? [], remaining);
33
+ if (dump.length === 0)
34
+ continue;
35
+ sections.push(dump);
36
+ used += dump.length;
37
+ }
38
+ if (sections.length === 0)
39
+ return '';
40
+ return `## Reality Tree Snapshot\n\n${sections.join('\n\n')}`;
35
41
  }
36
- if (sections.length === 0)
42
+ catch (err) {
43
+ console.warn(`[assembly] reality_tree.snapshot failed: ${err.message}`);
37
44
  return '';
38
- return `## Reality Tree Snapshot\n\n${sections.join('\n\n')}`;
39
- }
40
- catch (err) {
41
- console.warn(`[assembly] reality_tree.snapshot failed: ${err.message}`);
42
- return '';
43
- }
44
- });
45
+ }
46
+ });
47
+ }
45
48
  //# sourceMappingURL=reality-tree-snapshot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reality-tree-snapshot.js","sourceRoot":"","sources":["../../src/resolvers/reality-tree-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GAItB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,sBAAsB,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;IAClG,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAA0B,mBAAmB,EAAE;YAC5E,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAElC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,IAAI,qBAAqB;gBAAE,MAAM;YACzC,MAAM,SAAS,GAAG,qBAAqB,GAAG,IAAI,CAAC;YAC/C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;gBAC1F,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;aACzE,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,qBAAqB,CAChC,IAAI,EACJ,SAAS,CAAC,KAAK,IAAI,EAAE,EACrB,SAAS,CAAC,KAAK,IAAI,EAAE,EACrB,SAAS,CACV,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;QACtB,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,+BAA+B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,4CAA6C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"reality-tree-snapshot.js","sourceRoot":"","sources":["../../src/resolvers/reality-tree-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GAItB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,oGAAoG;AACpG,MAAM,UAAU,mCAAmC;IACjD,sBAAsB,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAClG,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAA0B,mBAAmB,EAAE;gBAC5E,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,IAAI,qBAAqB;oBAAE,MAAM;gBACzC,MAAM,SAAS,GAAG,qBAAqB,GAAG,IAAI,CAAC;gBAC/C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC/C,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;oBAC1F,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;iBACzE,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,qBAAqB,CAChC,IAAI,EACJ,SAAS,CAAC,KAAK,IAAI,EAAE,EACrB,SAAS,CAAC,KAAK,IAAI,EAAE,EACrB,SAAS,CACV,CAAC;gBACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YACrC,OAAO,+BAA+B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,4CAA6C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACnF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,11 @@
1
- export {};
1
+ /**
2
+ * retired_injections
3
+ *
4
+ * Lists injections retired in the focus's current audit cycle. Each entry
5
+ * includes the dissolvesObstacle text and the UDE statements the injection
6
+ * targeted (via 'targets' edges, looked up from the retired-injection's
7
+ * tree). Failures fail soft -- return ''.
8
+ */
9
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
10
+ export declare function registerRetiredInjectionsResolver(): void;
2
11
  //# sourceMappingURL=retired-injections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retired-injections.d.ts","sourceRoot":"","sources":["../../src/resolvers/retired-injections.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"retired-injections.d.ts","sourceRoot":"","sources":["../../src/resolvers/retired-injections.ts"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,oGAAoG;AACpG,wBAAgB,iCAAiC,IAAI,IAAI,CAwExD"}
@@ -9,75 +9,78 @@ import { getAuditCycleLowerBound } from './shared/audit.js';
9
9
  * targeted (via 'targets' edges, looked up from the retired-injection's
10
10
  * tree). Failures fail soft -- return ''.
11
11
  */
12
- registerSourceResolver('retired_injections', async (context) => {
13
- try {
14
- const treesResp = await callApi('reality_tree_list', {
15
- focusId: context.focusId,
16
- });
17
- const trees = (treesResp.items ?? []).filter((t) => t.status === 'active');
18
- if (trees.length === 0)
19
- return '';
20
- const since = await getAuditCycleLowerBound(context.focusId);
21
- const sections = [];
22
- for (const tree of trees) {
23
- const [retiredResp, edgesResp, nodesResp] = await Promise.all([
24
- callApi('reality_tree_node_list', {
25
- treeId: tree.id, nodeType: 'injection', status: 'retired',
26
- }),
27
- callApi('reality_tree_edge_list', { treeId: tree.id }),
28
- // Pull the active node universe so we can resolve target statements
29
- // even if a target was itself retired alongside the injection.
30
- callApi('reality_tree_node_list', { treeId: tree.id, status: 'active' }),
31
- ]);
32
- const retired = retiredResp.items ?? [];
33
- if (retired.length === 0)
34
- continue;
35
- const filtered = since
36
- ? retired.filter((n) => {
37
- // updated_at is not on the typed surface but the row carries it;
38
- // fall back to including the node if the field isn't present so
39
- // we don't accidentally drop a real retirement.
40
- const updatedAt = n.updatedAt;
41
- return !updatedAt || updatedAt >= since;
42
- })
43
- : retired;
44
- if (filtered.length === 0)
45
- continue;
46
- const allNodes = [...(nodesResp.items ?? []), ...retired];
47
- const nodeById = new Map();
48
- for (const n of allNodes)
49
- nodeById.set(n.id, n);
50
- const targetsBySource = new Map();
51
- for (const e of edgesResp.items ?? []) {
52
- if (e.edgeType !== 'targets')
12
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
13
+ export function registerRetiredInjectionsResolver() {
14
+ registerSourceResolver('retired_injections', async (context) => {
15
+ try {
16
+ const treesResp = await callApi('reality_tree_list', {
17
+ focusId: context.focusId,
18
+ });
19
+ const trees = (treesResp.items ?? []).filter((t) => t.status === 'active');
20
+ if (trees.length === 0)
21
+ return '';
22
+ const since = await getAuditCycleLowerBound(context.focusId);
23
+ const sections = [];
24
+ for (const tree of trees) {
25
+ const [retiredResp, edgesResp, nodesResp] = await Promise.all([
26
+ callApi('reality_tree_node_list', {
27
+ treeId: tree.id, nodeType: 'injection', status: 'retired',
28
+ }),
29
+ callApi('reality_tree_edge_list', { treeId: tree.id }),
30
+ // Pull the active node universe so we can resolve target statements
31
+ // even if a target was itself retired alongside the injection.
32
+ callApi('reality_tree_node_list', { treeId: tree.id, status: 'active' }),
33
+ ]);
34
+ const retired = retiredResp.items ?? [];
35
+ if (retired.length === 0)
53
36
  continue;
54
- const list = targetsBySource.get(e.fromNodeId) ?? [];
55
- list.push(e.toNodeId);
56
- targetsBySource.set(e.fromNodeId, list);
57
- }
58
- const lines = [`### Tree: ${tree.name}`];
59
- for (const inj of filtered.sort((a, b) => a.seq - b.seq)) {
60
- lines.push('', `- **#${inj.seq} ${inj.statement}**`);
61
- if (inj.dissolvesObstacle) {
62
- lines.push(` - dissolves: ${inj.dissolvesObstacle.replace(/\n/g, ' ')}`);
63
- }
64
- const targetIds = targetsBySource.get(inj.id) ?? [];
65
- for (const tid of targetIds) {
66
- const t = nodeById.get(tid);
67
- if (!t)
37
+ const filtered = since
38
+ ? retired.filter((n) => {
39
+ // updated_at is not on the typed surface but the row carries it;
40
+ // fall back to including the node if the field isn't present so
41
+ // we don't accidentally drop a real retirement.
42
+ const updatedAt = n.updatedAt;
43
+ return !updatedAt || updatedAt >= since;
44
+ })
45
+ : retired;
46
+ if (filtered.length === 0)
47
+ continue;
48
+ const allNodes = [...(nodesResp.items ?? []), ...retired];
49
+ const nodeById = new Map();
50
+ for (const n of allNodes)
51
+ nodeById.set(n.id, n);
52
+ const targetsBySource = new Map();
53
+ for (const e of edgesResp.items ?? []) {
54
+ if (e.edgeType !== 'targets')
68
55
  continue;
69
- lines.push(` - target: #${t.seq} (${t.nodeType}) ${t.statement.replace(/\n/g, ' ')}`);
56
+ const list = targetsBySource.get(e.fromNodeId) ?? [];
57
+ list.push(e.toNodeId);
58
+ targetsBySource.set(e.fromNodeId, list);
59
+ }
60
+ const lines = [`### Tree: ${tree.name}`];
61
+ for (const inj of filtered.sort((a, b) => a.seq - b.seq)) {
62
+ lines.push('', `- **#${inj.seq} ${inj.statement}**`);
63
+ if (inj.dissolvesObstacle) {
64
+ lines.push(` - dissolves: ${inj.dissolvesObstacle.replace(/\n/g, ' ')}`);
65
+ }
66
+ const targetIds = targetsBySource.get(inj.id) ?? [];
67
+ for (const tid of targetIds) {
68
+ const t = nodeById.get(tid);
69
+ if (!t)
70
+ continue;
71
+ lines.push(` - target: #${t.seq} (${t.nodeType}) ${t.statement.replace(/\n/g, ' ')}`);
72
+ }
70
73
  }
74
+ sections.push(lines.join('\n'));
71
75
  }
72
- sections.push(lines.join('\n'));
76
+ if (sections.length === 0)
77
+ return '';
78
+ return `## Retired Injections (current cycle)\n\n${sections.join('\n\n')}`;
73
79
  }
74
- if (sections.length === 0)
80
+ catch (err) {
81
+ console.warn(`[assembly] retired_injections failed: ${err.message}`);
75
82
  return '';
76
- return `## Retired Injections (current cycle)\n\n${sections.join('\n\n')}`;
77
- }
78
- catch (err) {
79
- console.warn(`[assembly] retired_injections failed: ${err.message}`);
80
- return '';
81
- }
82
- });
83
+ }
84
+ });
85
+ }
83
86
  //# sourceMappingURL=retired-injections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"retired-injections.js","sourceRoot":"","sources":["../../src/resolvers/retired-injections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retired-injections.js","sourceRoot":"","sources":["../../src/resolvers/retired-injections.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,12 @@
1
- export {};
1
+ /**
2
+ * review.outcomes
3
+ *
4
+ * Thin wrapper around the most recent completed focus_review row. Surfaces
5
+ * outcome (approved / gaps_found) and the summary so the close_loop
6
+ * bookkeeper can correlate review findings with the anchored injection
7
+ * sweep. Fails soft -- returns empty string when no completed review
8
+ * exists yet.
9
+ */
10
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
11
+ export declare function registerReviewOutcomesResolver(): void;
2
12
  //# sourceMappingURL=review-outcomes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-outcomes.d.ts","sourceRoot":"","sources":["../../src/resolvers/review-outcomes.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"review-outcomes.d.ts","sourceRoot":"","sources":["../../src/resolvers/review-outcomes.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,oGAAoG;AACpG,wBAAgB,8BAA8B,IAAI,IAAI,CAwBrD"}
@@ -9,30 +9,33 @@ import { getLatestCompletedFocusReview } from '../queries/focuses.js';
9
9
  * sweep. Fails soft -- returns empty string when no completed review
10
10
  * exists yet.
11
11
  */
12
- registerSourceResolver('review.outcomes', async (context) => {
13
- try {
14
- const review = await getLatestCompletedFocusReview(context.focusId);
15
- if (!review || !review.completedAt)
16
- return '';
17
- const outcome = review.outcome ?? 'unknown';
18
- const summary = (review.summary ?? '').trim();
19
- const lines = [
20
- '## Review Outcomes',
21
- '',
22
- `**Outcome:** ${outcome}`,
23
- `**Completed:** ${review.completedAt}`,
24
- ];
25
- if (summary.length > 0) {
26
- lines.push('', summary);
12
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
13
+ export function registerReviewOutcomesResolver() {
14
+ registerSourceResolver('review.outcomes', async (context) => {
15
+ try {
16
+ const review = await getLatestCompletedFocusReview(context.focusId);
17
+ if (!review || !review.completedAt)
18
+ return '';
19
+ const outcome = review.outcome ?? 'unknown';
20
+ const summary = (review.summary ?? '').trim();
21
+ const lines = [
22
+ '## Review Outcomes',
23
+ '',
24
+ `**Outcome:** ${outcome}`,
25
+ `**Completed:** ${review.completedAt}`,
26
+ ];
27
+ if (summary.length > 0) {
28
+ lines.push('', summary);
29
+ }
30
+ else {
31
+ lines.push('', '_No summary provided._');
32
+ }
33
+ return lines.join('\n');
27
34
  }
28
- else {
29
- lines.push('', '_No summary provided._');
35
+ catch (err) {
36
+ console.warn(`[assembly-engine] review.outcomes: failed: ${err.message}`);
37
+ return '';
30
38
  }
31
- return lines.join('\n');
32
- }
33
- catch (err) {
34
- console.warn(`[assembly-engine] review.outcomes: failed: ${err.message}`);
35
- return '';
36
- }
37
- });
39
+ });
40
+ }
38
41
  //# sourceMappingURL=review-outcomes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-outcomes.js","sourceRoot":"","sources":["../../src/resolvers/review-outcomes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;GAQG;AACH,sBAAsB,CAAC,iBAAiB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;IAC5F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;QAC5C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAa;YACtB,oBAAoB;YACpB,EAAE;YACF,gBAAgB,OAAO,EAAE;YACzB,kBAAkB,MAAM,CAAC,WAAW,EAAE;SACvC,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,8CAA+C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"review-outcomes.js","sourceRoot":"","sources":["../../src/resolvers/review-outcomes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;GAQG;AACH,oGAAoG;AACpG,MAAM,UAAU,8BAA8B;IAC5C,sBAAsB,CAAC,iBAAiB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAC5F,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW;gBAAE,OAAO,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;YAC5C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAa;gBACtB,oBAAoB;gBACpB,EAAE;gBACF,gBAAgB,OAAO,EAAE;gBACzB,kBAAkB,MAAM,CAAC,WAAW,EAAE;aACvC,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,wBAAwB,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,8CAA+C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,3 @@
1
- export {};
1
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
2
+ export declare function registerSecurityAdvisoryResolver(): void;
2
3
  //# sourceMappingURL=security-advisory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-advisory.d.ts","sourceRoot":"","sources":["../../src/resolvers/security-advisory.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"security-advisory.d.ts","sourceRoot":"","sources":["../../src/resolvers/security-advisory.ts"],"names":[],"mappings":"AAsFA,oGAAoG;AACpG,wBAAgB,gCAAgC,IAAI,IAAI,CAmDvD"}
@@ -47,51 +47,54 @@ function formatAdvisorySection(advisory) {
47
47
  }
48
48
  return lines.join('\n');
49
49
  }
50
- registerSourceResolver('security.advisory', async (context) => {
51
- if (context.deliveryIds.length === 0)
52
- return '';
53
- const header = '## Security Advisory\n\n';
54
- // Reserve the footer length so that even the worst-case truncated output
55
- // (header + body filled to sectionsBudget + footer) stays within the 10k cap.
56
- const sectionsBudget = SECURITY_ADVISORY_SECTION_BUDGET_CHARS - header.length - SECURITY_ADVISORY_TRUNCATION_FOOTER.length;
57
- const sections = [];
58
- let used = 0;
59
- let truncated = false;
60
- for (const deliveryId of context.deliveryIds) {
61
- if (used >= sectionsBudget) {
62
- truncated = true;
63
- break;
64
- }
65
- try {
66
- const result = await callApi('daemon_get_security_advisory_for_delivery', { deliveryId });
67
- const advisories = result.advisories ?? [];
68
- if (advisories.length === 0)
69
- continue;
70
- let hitBudget = false;
71
- for (const adv of advisories) {
72
- const formatted = formatAdvisorySection(adv);
73
- // Account for the inter-section separator that will be inserted.
74
- const separator = sections.length > 0 ? 2 : 0;
75
- if (used + separator + formatted.length > sectionsBudget) {
76
- truncated = true;
77
- hitBudget = true;
78
- break;
50
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
51
+ export function registerSecurityAdvisoryResolver() {
52
+ registerSourceResolver('security.advisory', async (context) => {
53
+ if (context.deliveryIds.length === 0)
54
+ return '';
55
+ const header = '## Security Advisory\n\n';
56
+ // Reserve the footer length so that even the worst-case truncated output
57
+ // (header + body filled to sectionsBudget + footer) stays within the 10k cap.
58
+ const sectionsBudget = SECURITY_ADVISORY_SECTION_BUDGET_CHARS - header.length - SECURITY_ADVISORY_TRUNCATION_FOOTER.length;
59
+ const sections = [];
60
+ let used = 0;
61
+ let truncated = false;
62
+ for (const deliveryId of context.deliveryIds) {
63
+ if (used >= sectionsBudget) {
64
+ truncated = true;
65
+ break;
66
+ }
67
+ try {
68
+ const result = await callApi('daemon_get_security_advisory_for_delivery', { deliveryId });
69
+ const advisories = result.advisories ?? [];
70
+ if (advisories.length === 0)
71
+ continue;
72
+ let hitBudget = false;
73
+ for (const adv of advisories) {
74
+ const formatted = formatAdvisorySection(adv);
75
+ // Account for the inter-section separator that will be inserted.
76
+ const separator = sections.length > 0 ? 2 : 0;
77
+ if (used + separator + formatted.length > sectionsBudget) {
78
+ truncated = true;
79
+ hitBudget = true;
80
+ break;
81
+ }
82
+ sections.push(formatted);
83
+ used += separator + formatted.length;
79
84
  }
80
- sections.push(formatted);
81
- used += separator + formatted.length;
85
+ if (hitBudget)
86
+ break;
87
+ }
88
+ catch (err) {
89
+ console.warn(`[assembly-engine] security.advisory for delivery ${deliveryId} failed: ${err.message}`);
82
90
  }
83
- if (hitBudget)
84
- break;
85
- }
86
- catch (err) {
87
- console.warn(`[assembly-engine] security.advisory for delivery ${deliveryId} failed: ${err.message}`);
88
91
  }
89
- }
90
- if (sections.length === 0)
91
- return '';
92
- const body = sections.join('\n\n');
93
- return truncated
94
- ? `${header}${body}${SECURITY_ADVISORY_TRUNCATION_FOOTER}`
95
- : `${header}${body}`;
96
- });
92
+ if (sections.length === 0)
93
+ return '';
94
+ const body = sections.join('\n\n');
95
+ return truncated
96
+ ? `${header}${body}${SECURITY_ADVISORY_TRUNCATION_FOOTER}`
97
+ : `${header}${body}`;
98
+ });
99
+ }
97
100
  //# sourceMappingURL=security-advisory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-advisory.js","sourceRoot":"","sources":["../../src/resolvers/security-advisory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-advisory.js","sourceRoot":"","sources":["../../src/resolvers/security-advisory.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,9 @@
1
- export {};
1
+ /**
2
+ * wiki.search(query=...)
3
+ *
4
+ * Run a free-text wiki search and return ranked, body-included markdown.
5
+ * Stage directives use this to pull in topic-specific pages.
6
+ */
7
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
8
+ export declare function registerWikiSearchResolver(): void;
2
9
  //# sourceMappingURL=wiki-search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-search.d.ts","sourceRoot":"","sources":["../../src/resolvers/wiki-search.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"wiki-search.d.ts","sourceRoot":"","sources":["../../src/resolvers/wiki-search.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,oGAAoG;AACpG,wBAAgB,0BAA0B,IAAI,IAAI,CAejD"}
@@ -6,18 +6,21 @@ import { searchWiki, fetchAncestorsForHits, fetchPageBodies, renderWikiSection,
6
6
  * Run a free-text wiki search and return ranked, body-included markdown.
7
7
  * Stage directives use this to pull in topic-specific pages.
8
8
  */
9
- registerSourceResolver('wiki.search', async (context, params) => {
10
- const query = (params.query ?? '').trim();
11
- const limit = params.limit ? Math.max(1, parseInt(params.limit, 10)) : 6;
12
- if (!query)
13
- return '';
14
- const hits = await searchWiki(context.productId, query, limit);
15
- if (hits.length === 0)
16
- return '';
17
- const [bodies, ancestors] = await Promise.all([
18
- fetchPageBodies(context.productId, hits.map((h) => h.id)),
19
- fetchAncestorsForHits(context.productId, hits.map((h) => h.id)),
20
- ]);
21
- return renderWikiSection(`Wiki: ${query}`, hits, bodies, WIKI_RETRIEVAL_BUDGET_CHARS, ancestors);
22
- });
9
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
10
+ export function registerWikiSearchResolver() {
11
+ registerSourceResolver('wiki.search', async (context, params) => {
12
+ const query = (params.query ?? '').trim();
13
+ const limit = params.limit ? Math.max(1, parseInt(params.limit, 10)) : 6;
14
+ if (!query)
15
+ return '';
16
+ const hits = await searchWiki(context.productId, query, limit);
17
+ if (hits.length === 0)
18
+ return '';
19
+ const [bodies, ancestors] = await Promise.all([
20
+ fetchPageBodies(context.productId, hits.map((h) => h.id)),
21
+ fetchAncestorsForHits(context.productId, hits.map((h) => h.id)),
22
+ ]);
23
+ return renderWikiSection(`Wiki: ${query}`, hits, bodies, WIKI_RETRIEVAL_BUDGET_CHARS, ancestors);
24
+ });
25
+ }
23
26
  //# sourceMappingURL=wiki-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-search.js","sourceRoot":"","sources":["../../src/resolvers/wiki-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,sBAAsB,CAAC,aAAa,EAAE,KAAK,EAAE,OAAwB,EAAE,MAA8B,EAAmB,EAAE;IACxH,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5C,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAChE,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,SAAS,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,2BAA2B,EAAE,SAAS,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"wiki-search.js","sourceRoot":"","sources":["../../src/resolvers/wiki-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,oGAAoG;AACpG,MAAM,UAAU,0BAA0B;IACxC,sBAAsB,CAAC,aAAa,EAAE,KAAK,EAAE,OAAwB,EAAE,MAA8B,EAAmB,EAAE;QACxH,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEjC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzD,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAChE,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,SAAS,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,2BAA2B,EAAE,SAAS,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,10 @@
1
- export {};
1
+ /**
2
+ * wiki.topic(slug=...)
3
+ *
4
+ * Hard-pin a single wiki page by slug. No retrieval risk -- if the slug
5
+ * exists, the page is included verbatim. Used by stage directives that
6
+ * need a specific page (e.g., a security checklist).
7
+ */
8
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
9
+ export declare function registerWikiTopicResolver(): void;
2
10
  //# sourceMappingURL=wiki-topic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-topic.d.ts","sourceRoot":"","sources":["../../src/resolvers/wiki-topic.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"wiki-topic.d.ts","sourceRoot":"","sources":["../../src/resolvers/wiki-topic.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,oGAAoG;AACpG,wBAAgB,yBAAyB,IAAI,IAAI,CAiBhD"}