@telora/daemon 0.17.36 → 0.17.40

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 +4 -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,52 +1,123 @@
1
1
  /**
2
2
  * Barrel for the Context Assembly Engine source resolvers.
3
3
  *
4
- * Each per-resolver module registers its resolver as an import-time side
5
- * effect (a top-level registration call keyed by resolver type). Importing
6
- * this barrel therefore registers ALL resolvers. Three source files plus many
7
- * tests import `assembly-resolvers.js` (the thin shim that re-exports this
8
- * barrel) purely to trigger that registration.
4
+ * Registration is EXPLICIT: each per-resolver module exports a
5
+ * register<Name>Resolver() function, and initResolvers() below calls every
6
+ * one of them. There is no import-time registration side effect anywhere --
7
+ * a module that is imported but never wired into initResolvers() registers
8
+ * nothing, and initResolvers() throws if the registry ends up empty, so a
9
+ * broken registration path fails loudly at startup instead of silently
10
+ * assembling prompts with missing sections.
11
+ *
12
+ * Consumers reach this through the `assembly-resolvers.js` shim (which calls
13
+ * initResolvers() on load for back-compat) or directly: the daemon's
14
+ * FocusEngine.init calls initResolvers() and logs the registered keys.
9
15
  *
10
16
  * The shared public surface (types + helpers used by external consumers) is
11
17
  * re-exported here so it flows through the `assembly-resolvers.js` shim
12
18
  * unchanged.
13
19
  */
14
- // ── Resolver registration (side-effect imports) ──────────────────────
15
- import './delivery-acceptance-criteria.js';
16
- import './delivery-description.js';
17
- import './delivery-issues.js';
18
- import './focus-context.js';
19
- import './focus-last-review-report.js';
20
- import './security-advisory.js';
21
- import './wiki-search.js';
22
- import './wiki-topic.js';
23
- import './git-diff-against-base.js';
24
- import './guards-evaluation-results.js';
25
- import './workflow-stages.js';
26
- import './deployment-profile.js';
27
- import './delivery-listing.js';
28
- import './focus-injections.js';
29
- import './review-outcomes.js';
30
- import './focus-anchoring-injections.js';
31
- import './reality-metrics.js';
32
- import './reality-projections.js';
33
- import './loop-documents.js';
34
- import './loop-questions.js';
35
- import './loop-persona.js';
36
- import './loop-context.js';
37
- import './delivery-tech-context.js';
38
- import './focus-reality-tree.js';
39
- import './loop-injection.js';
40
- import './loop-frt-statement.js';
41
- import './loop-expected-effects.js';
42
- import './loop-upstream-udes.js';
43
- import './loop-delivery-index.js';
44
- import './retired-injections.js';
45
- import './agent-session-summaries.js';
46
- import './agent-escalations.js';
47
- import './reality-tree-snapshot.js';
48
- import './prd-persona.js';
49
- import './prd-context.js';
20
+ import { getRegisteredResolverTypes } from '../assembly-engine.js';
21
+ import { registerDeliveryAcceptanceCriteriaResolver } from './delivery-acceptance-criteria.js';
22
+ import { registerDeliveryDescriptionResolver } from './delivery-description.js';
23
+ import { registerDeliveryIssuesResolver } from './delivery-issues.js';
24
+ import { registerFocusContextResolver } from './focus-context.js';
25
+ import { registerFocusLastReviewReportResolver } from './focus-last-review-report.js';
26
+ import { registerSecurityAdvisoryResolver } from './security-advisory.js';
27
+ import { registerWikiSearchResolver } from './wiki-search.js';
28
+ import { registerWikiTopicResolver } from './wiki-topic.js';
29
+ import { registerGitDiffAgainstBaseResolver } from './git-diff-against-base.js';
30
+ import { registerGuardsEvaluationResultsResolver } from './guards-evaluation-results.js';
31
+ import { registerWorkflowStagesResolver } from './workflow-stages.js';
32
+ import { registerDeploymentProfileResolver } from './deployment-profile.js';
33
+ import { registerDeliveryListingResolver } from './delivery-listing.js';
34
+ import { registerFocusInjectionsResolver } from './focus-injections.js';
35
+ import { registerReviewOutcomesResolver } from './review-outcomes.js';
36
+ import { registerFocusAnchoringInjectionsResolver } from './focus-anchoring-injections.js';
37
+ import { registerRealityMetricsResolver } from './reality-metrics.js';
38
+ import { registerRealityProjectionsResolver } from './reality-projections.js';
39
+ import { registerLoopDocumentsResolver } from './loop-documents.js';
40
+ import { registerLoopQuestionsResolver } from './loop-questions.js';
41
+ import { registerLoopPersonaResolver } from './loop-persona.js';
42
+ import { registerLoopContextResolver } from './loop-context.js';
43
+ import { registerDeliveryTechContextResolver } from './delivery-tech-context.js';
44
+ import { registerFocusRealityTreeResolver } from './focus-reality-tree.js';
45
+ import { registerLoopInjectionResolver } from './loop-injection.js';
46
+ import { registerLoopFrtStatementResolver } from './loop-frt-statement.js';
47
+ import { registerLoopExpectedEffectsResolver } from './loop-expected-effects.js';
48
+ import { registerLoopUpstreamUdesResolver } from './loop-upstream-udes.js';
49
+ import { registerLoopDeliveryIndexResolver } from './loop-delivery-index.js';
50
+ import { registerRetiredInjectionsResolver } from './retired-injections.js';
51
+ import { registerAgentSessionSummariesResolver } from './agent-session-summaries.js';
52
+ import { registerAgentEscalationsResolver } from './agent-escalations.js';
53
+ import { registerRealityTreeSnapshotResolver } from './reality-tree-snapshot.js';
54
+ import { registerPrdPersonaResolver } from './prd-persona.js';
55
+ import { registerPrdContextResolver } from './prd-context.js';
56
+ // ── Explicit registration ─────────────────────────────────────────────
57
+ /** All register functions, in the order they historically registered. */
58
+ const REGISTER_FUNCTIONS = [
59
+ registerDeliveryAcceptanceCriteriaResolver,
60
+ registerDeliveryDescriptionResolver,
61
+ registerDeliveryIssuesResolver,
62
+ registerFocusContextResolver,
63
+ registerFocusLastReviewReportResolver,
64
+ registerSecurityAdvisoryResolver,
65
+ registerWikiSearchResolver,
66
+ registerWikiTopicResolver,
67
+ registerGitDiffAgainstBaseResolver,
68
+ registerGuardsEvaluationResultsResolver,
69
+ registerWorkflowStagesResolver,
70
+ registerDeploymentProfileResolver,
71
+ registerDeliveryListingResolver,
72
+ registerFocusInjectionsResolver,
73
+ registerReviewOutcomesResolver,
74
+ registerFocusAnchoringInjectionsResolver,
75
+ registerRealityMetricsResolver,
76
+ registerRealityProjectionsResolver,
77
+ registerLoopDocumentsResolver,
78
+ registerLoopQuestionsResolver,
79
+ registerLoopPersonaResolver,
80
+ registerLoopContextResolver,
81
+ registerDeliveryTechContextResolver,
82
+ registerFocusRealityTreeResolver,
83
+ registerLoopInjectionResolver,
84
+ registerLoopFrtStatementResolver,
85
+ registerLoopExpectedEffectsResolver,
86
+ registerLoopUpstreamUdesResolver,
87
+ registerLoopDeliveryIndexResolver,
88
+ registerRetiredInjectionsResolver,
89
+ registerAgentSessionSummariesResolver,
90
+ registerAgentEscalationsResolver,
91
+ registerRealityTreeSnapshotResolver,
92
+ registerPrdPersonaResolver,
93
+ registerPrdContextResolver,
94
+ ];
95
+ let initialized = false;
96
+ /**
97
+ * Register ALL assembly source resolvers. Idempotent -- subsequent calls
98
+ * return the already-registered keys without re-running registration.
99
+ *
100
+ * Throws if the registry is still empty after registration: an empty
101
+ * registry means every assembled prompt would silently lose its context
102
+ * sections, so this is a fail-loud startup invariant, not a recoverable
103
+ * condition. Returns the sorted registered resolver keys so the caller
104
+ * (FocusEngine.init) can list them in the startup log.
105
+ */
106
+ export function initResolvers() {
107
+ if (!initialized) {
108
+ for (const register of REGISTER_FUNCTIONS) {
109
+ register();
110
+ }
111
+ initialized = true;
112
+ }
113
+ const keys = getRegisteredResolverTypes();
114
+ if (keys.length === 0) {
115
+ throw new Error('[resolvers] Assembly resolver registry is EMPTY after initResolvers() -- ' +
116
+ 'every assembled prompt would silently lose its context sections. ' +
117
+ 'This indicates a broken registration path in resolvers/index.ts.');
118
+ }
119
+ return keys;
120
+ }
50
121
  // ── Shared public surface (re-exports for external consumers) ─────────
51
122
  export { MAX_DIFF_BYTES, getGitDiff } from './shared/git-diff.js';
52
123
  export { CRT_DUMP_BUDGET_CHARS, renderRealityTreeDump, FOCUS_REALITY_TREE_EMPTY_STATE, } from './shared/reality-tree.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,wEAAwE;AACxE,OAAO,mCAAmC,CAAC;AAC3C,OAAO,2BAA2B,CAAC;AACnC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,+BAA+B,CAAC;AACvC,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AACzB,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,iCAAiC,CAAC;AACzC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,0BAA0B,CAAC;AAClC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,4BAA4B,CAAC;AACpC,OAAO,yBAAyB,CAAC;AACjC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,yBAAyB,CAAC;AACjC,OAAO,4BAA4B,CAAC;AACpC,OAAO,yBAAyB,CAAC;AACjC,OAAO,0BAA0B,CAAC;AAClC,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,kBAAkB,CAAC;AAE1B,yEAAyE;AACzE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,19 @@
1
- export {};
1
+ /**
2
+ * loop.context
3
+ *
4
+ * Composite resolver that fetches persona + force-ranked documents + Q&A
5
+ * for one or more loop layers. Provides complete loop context for agent
6
+ * prompt injection.
7
+ *
8
+ * Optional param: layer
9
+ * - "product": product-level loop only
10
+ * - "focus": focus-level loop only
11
+ * - "delivery": delivery-level loop only
12
+ * - omitted: all three layers (product + focus + delivery)
13
+ *
14
+ * Loop data at focus and delivery layers is scoped to the product ID
15
+ * (layer-based architecture, not per-record).
16
+ */
17
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
18
+ export declare function registerLoopContextResolver(): void;
2
19
  //# sourceMappingURL=loop-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-context.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-context.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"loop-context.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-context.ts"],"names":[],"mappings":"AA8FA;;;;;;;;;;;;;;;GAeG;AACH,oGAAoG;AACpG,wBAAgB,2BAA2B,IAAI,IAAI,CAyBlD"}
@@ -92,22 +92,25 @@ async function fetchLoopLayerContext(entityType, entityId, layerLabel) {
92
92
  * Loop data at focus and delivery layers is scoped to the product ID
93
93
  * (layer-based architecture, not per-record).
94
94
  */
95
- registerSourceResolver('loop.context', async (context, params) => {
96
- const layerFilter = params.layer;
97
- const layers = [];
98
- if (!layerFilter || layerFilter === 'product') {
99
- layers.push({ entityType: 'product', entityId: context.productId, label: 'Product' });
100
- }
101
- if (!layerFilter || layerFilter === 'focus') {
102
- layers.push({ entityType: 'focus', entityId: context.productId, label: 'Focus' });
103
- }
104
- if (!layerFilter || layerFilter === 'delivery') {
105
- layers.push({ entityType: 'delivery', entityId: context.productId, label: 'Delivery' });
106
- }
107
- const sections = await Promise.all(layers.map(l => fetchLoopLayerContext(l.entityType, l.entityId, l.label)));
108
- const nonEmpty = sections.filter(s => s.trim());
109
- if (nonEmpty.length === 0)
110
- return '';
111
- return nonEmpty.join('\n\n');
112
- });
95
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
96
+ export function registerLoopContextResolver() {
97
+ registerSourceResolver('loop.context', async (context, params) => {
98
+ const layerFilter = params.layer;
99
+ const layers = [];
100
+ if (!layerFilter || layerFilter === 'product') {
101
+ layers.push({ entityType: 'product', entityId: context.productId, label: 'Product' });
102
+ }
103
+ if (!layerFilter || layerFilter === 'focus') {
104
+ layers.push({ entityType: 'focus', entityId: context.productId, label: 'Focus' });
105
+ }
106
+ if (!layerFilter || layerFilter === 'delivery') {
107
+ layers.push({ entityType: 'delivery', entityId: context.productId, label: 'Delivery' });
108
+ }
109
+ const sections = await Promise.all(layers.map(l => fetchLoopLayerContext(l.entityType, l.entityId, l.label)));
110
+ const nonEmpty = sections.filter(s => s.trim());
111
+ if (nonEmpty.length === 0)
112
+ return '';
113
+ return nonEmpty.join('\n\n');
114
+ });
115
+ }
113
116
  //# sourceMappingURL=loop-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-context.js","sourceRoot":"","sources":["../../src/resolvers/loop-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-context.js","sourceRoot":"","sources":["../../src/resolvers/loop-context.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,18 @@
1
- export {};
1
+ /**
2
+ * loop.delivery_index
3
+ *
4
+ * The lead's per-delivery INDEX: one line per in-focus delivery with a linked
5
+ * injection, of the form
6
+ * - <delivery> -> injection #<seq> -> Now: <ude> -> Target: <frt> -> pull: <call>
7
+ * where the pull handle names telora_reality_tree_injection_context(seq=<seq>),
8
+ * the on-demand call that returns the delivery's full differential.
9
+ *
10
+ * This REPLACES the bulk per-delivery push (loop.injection / loop.expected_effects /
11
+ * loop.upstream_udes, each of which renders a full section per delivery-injection
12
+ * pair) so the lead's context is flat in focus size -- one line per delivery, not
13
+ * N full differentials. It is also the structural guarantee for the worker handoff:
14
+ * the lead is always staring at each delivery's slice handle.
15
+ */
16
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
17
+ export declare function registerLoopDeliveryIndexResolver(): void;
2
18
  //# sourceMappingURL=loop-delivery-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-delivery-index.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-delivery-index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"loop-delivery-index.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-delivery-index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,oGAAoG;AACpG,wBAAgB,iCAAiC,IAAI,IAAI,CAqDxD"}
@@ -15,55 +15,58 @@ import { getDeliveryInjectionPairs, fetchInjectionBundles } from './shared/loop.
15
15
  * N full differentials. It is also the structural guarantee for the worker handoff:
16
16
  * the lead is always staring at each delivery's slice handle.
17
17
  */
18
- registerSourceResolver('loop.delivery_index', async (context) => {
19
- try {
20
- const pairs = await getDeliveryInjectionPairs(context);
21
- if (pairs.length === 0)
22
- return '';
23
- const bundles = await fetchInjectionBundles(pairs.map((p) => p.injectionId));
24
- if (bundles.size === 0)
25
- return '';
26
- const lines = [];
27
- for (const { deliveryName, injectionId } of pairs) {
28
- const bundle = bundles.get(injectionId);
29
- if (!bundle)
30
- continue;
31
- const seq = bundle.injection.seq;
32
- const nowTargets = bundle.nowTargets ?? [];
33
- let nowTarget;
34
- if (nowTargets.length > 0) {
35
- const first = nowTargets[0];
36
- const target = first.target && first.target.trim().length > 0
37
- ? first.target
38
- : '(no FRT overlay yet)';
39
- nowTarget = `Now: ${first.now} -> Target: ${target}`;
40
- if (nowTargets.length > 1)
41
- nowTarget += ` (+${nowTargets.length - 1} more)`;
18
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
19
+ export function registerLoopDeliveryIndexResolver() {
20
+ registerSourceResolver('loop.delivery_index', async (context) => {
21
+ try {
22
+ const pairs = await getDeliveryInjectionPairs(context);
23
+ if (pairs.length === 0)
24
+ return '';
25
+ const bundles = await fetchInjectionBundles(pairs.map((p) => p.injectionId));
26
+ if (bundles.size === 0)
27
+ return '';
28
+ const lines = [];
29
+ for (const { deliveryName, injectionId } of pairs) {
30
+ const bundle = bundles.get(injectionId);
31
+ if (!bundle)
32
+ continue;
33
+ const seq = bundle.injection.seq;
34
+ const nowTargets = bundle.nowTargets ?? [];
35
+ let nowTarget;
36
+ if (nowTargets.length > 0) {
37
+ const first = nowTargets[0];
38
+ const target = first.target && first.target.trim().length > 0
39
+ ? first.target
40
+ : '(no FRT overlay yet)';
41
+ nowTarget = `Now: ${first.now} -> Target: ${target}`;
42
+ if (nowTargets.length > 1)
43
+ nowTarget += ` (+${nowTargets.length - 1} more)`;
44
+ }
45
+ else {
46
+ nowTarget = `(injection: ${bundle.injection.statement})`;
47
+ }
48
+ lines.push(`- ${deliveryName} -> injection #${seq} -> ${nowTarget} ` +
49
+ `-> pull: telora_reality_tree_injection_context(seq=${seq})`);
42
50
  }
43
- else {
44
- nowTarget = `(injection: ${bundle.injection.statement})`;
45
- }
46
- lines.push(`- ${deliveryName} -> injection #${seq} -> ${nowTarget} ` +
47
- `-> pull: telora_reality_tree_injection_context(seq=${seq})`);
51
+ if (lines.length === 0)
52
+ return '';
53
+ const header = [
54
+ '## Per-Delivery Index',
55
+ '',
56
+ 'One line per delivery: the injection it materializes, its Now->Target, and the',
57
+ 'pull handle that returns the full differential on demand. This is your handoff',
58
+ 'surface: when you spawn a worker for a delivery, call its pull handle',
59
+ '(telora_reality_tree_injection_context with the injection seq) and embed the',
60
+ "returned Now->Target in the worker's task prompt so the worker begins holding",
61
+ "its delivery's start->end context.",
62
+ '',
63
+ ];
64
+ return header.concat(lines).join('\n');
48
65
  }
49
- if (lines.length === 0)
66
+ catch (err) {
67
+ console.warn(`[assembly] loop.delivery_index failed: ${err.message}`);
50
68
  return '';
51
- const header = [
52
- '## Per-Delivery Index',
53
- '',
54
- 'One line per delivery: the injection it materializes, its Now->Target, and the',
55
- 'pull handle that returns the full differential on demand. This is your handoff',
56
- 'surface: when you spawn a worker for a delivery, call its pull handle',
57
- '(telora_reality_tree_injection_context with the injection seq) and embed the',
58
- "returned Now->Target in the worker's task prompt so the worker begins holding",
59
- "its delivery's start->end context.",
60
- '',
61
- ];
62
- return header.concat(lines).join('\n');
63
- }
64
- catch (err) {
65
- console.warn(`[assembly] loop.delivery_index failed: ${err.message}`);
66
- return '';
67
- }
68
- });
69
+ }
70
+ });
71
+ }
69
72
  //# sourceMappingURL=loop-delivery-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-delivery-index.js","sourceRoot":"","sources":["../../src/resolvers/loop-delivery-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEpF;;;;;;;;;;;;;;GAcG;AACH,sBAAsB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;IAChG,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAElC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAElC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAE3C,IAAI,SAAiB,CAAC;YACtB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBAC3D,CAAC,CAAC,KAAK,CAAC,MAAM;oBACd,CAAC,CAAC,sBAAsB,CAAC;gBAC3B,SAAS,GAAG,QAAQ,KAAK,CAAC,GAAG,eAAe,MAAM,EAAE,CAAC;gBACrD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;oBAAE,SAAS,IAAI,MAAM,UAAU,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,eAAe,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;YAC3D,CAAC;YAED,KAAK,CAAC,IAAI,CACR,KAAK,YAAY,kBAAkB,GAAG,OAAO,SAAS,GAAG;gBACzD,sDAAsD,GAAG,GAAG,CAC7D,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG;YACb,uBAAuB;YACvB,EAAE;YACF,gFAAgF;YAChF,gFAAgF;YAChF,uEAAuE;YACvE,8EAA8E;YAC9E,+EAA+E;YAC/E,oCAAoC;YACpC,EAAE;SACH,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,0CAA2C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"loop-delivery-index.js","sourceRoot":"","sources":["../../src/resolvers/loop-delivery-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEpF;;;;;;;;;;;;;;GAcG;AACH,oGAAoG;AACpG,MAAM,UAAU,iCAAiC;IAC/C,sBAAsB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAChG,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;gBACjC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;gBAE3C,IAAI,SAAiB,CAAC;gBACtB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;wBAC3D,CAAC,CAAC,KAAK,CAAC,MAAM;wBACd,CAAC,CAAC,sBAAsB,CAAC;oBAC3B,SAAS,GAAG,QAAQ,KAAK,CAAC,GAAG,eAAe,MAAM,EAAE,CAAC;oBACrD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;wBAAE,SAAS,IAAI,MAAM,UAAU,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC;gBAC9E,CAAC;qBAAM,CAAC;oBACN,SAAS,GAAG,eAAe,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC;gBAC3D,CAAC;gBAED,KAAK,CAAC,IAAI,CACR,KAAK,YAAY,kBAAkB,GAAG,OAAO,SAAS,GAAG;oBACzD,sDAAsD,GAAG,GAAG,CAC7D,CAAC;YACJ,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAElC,MAAM,MAAM,GAAG;gBACb,uBAAuB;gBACvB,EAAE;gBACF,gFAAgF;gBAChF,gFAAgF;gBAChF,uEAAuE;gBACvE,8EAA8E;gBAC9E,+EAA+E;gBAC/E,oCAAoC;gBACpC,EAAE;aACH,CAAC;YACF,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,0CAA2C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,10 @@
1
- export {};
1
+ /**
2
+ * loop.documents
3
+ *
4
+ * Fetches force-ranked loop documents for the focus's entity layer.
5
+ * Returns formatted markdown with ranked documents.
6
+ * Optional param: count (limit to top N).
7
+ */
8
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
9
+ export declare function registerLoopDocumentsResolver(): void;
2
10
  //# sourceMappingURL=loop-documents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-documents.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-documents.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"loop-documents.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-documents.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,oGAAoG;AACpG,wBAAgB,6BAA6B,IAAI,IAAI,CAwBpD"}
@@ -7,24 +7,27 @@ import { callApi } from '../queries/shared.js';
7
7
  * Returns formatted markdown with ranked documents.
8
8
  * Optional param: count (limit to top N).
9
9
  */
10
- registerSourceResolver('loop.documents', async (context, params) => {
11
- try {
12
- const limit = params.count ? parseInt(params.count, 10) : 50;
13
- const result = await callApi('loop_document_list', {
14
- entityType: 'focus',
15
- entityId: context.focusId,
16
- detail: 'full',
17
- limit,
18
- });
19
- const docs = result.items;
20
- if (!docs || docs.length === 0)
10
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
11
+ export function registerLoopDocumentsResolver() {
12
+ registerSourceResolver('loop.documents', async (context, params) => {
13
+ try {
14
+ const limit = params.count ? parseInt(params.count, 10) : 50;
15
+ const result = await callApi('loop_document_list', {
16
+ entityType: 'focus',
17
+ entityId: context.focusId,
18
+ detail: 'full',
19
+ limit,
20
+ });
21
+ const docs = result.items;
22
+ if (!docs || docs.length === 0)
23
+ return '';
24
+ const sections = docs.map((doc, i) => `### ${i + 1}. ${doc.title}\n\n${doc.content}`);
25
+ return `## Loop Documents\n\n${sections.join('\n\n')}`;
26
+ }
27
+ catch (err) {
28
+ console.warn(`[assembly-engine] loop.documents: failed: ${err.message}`);
21
29
  return '';
22
- const sections = docs.map((doc, i) => `### ${i + 1}. ${doc.title}\n\n${doc.content}`);
23
- return `## Loop Documents\n\n${sections.join('\n\n')}`;
24
- }
25
- catch (err) {
26
- console.warn(`[assembly-engine] loop.documents: failed: ${err.message}`);
27
- return '';
28
- }
29
- });
30
+ }
31
+ });
32
+ }
30
33
  //# sourceMappingURL=loop-documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-documents.js","sourceRoot":"","sources":["../../src/resolvers/loop-documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;;;;;GAMG;AACH,sBAAsB,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAwB,EAAE,MAA8B,EAAmB,EAAE;IAC3H,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAgC,oBAAoB,EAAE;YAChF,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,MAAM,EAAE,MAAM;YACd,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAqB,EAAE,CAAS,EAAE,EAAE,CAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,CAC/C,CAAC;QAEF,OAAO,wBAAwB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,6CAA8C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"loop-documents.js","sourceRoot":"","sources":["../../src/resolvers/loop-documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;;;;;GAMG;AACH,oGAAoG;AACpG,MAAM,UAAU,6BAA6B;IAC3C,sBAAsB,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAwB,EAAE,MAA8B,EAAmB,EAAE;QAC3H,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAgC,oBAAoB,EAAE;gBAChF,UAAU,EAAE,OAAO;gBACnB,QAAQ,EAAE,OAAO,CAAC,OAAO;gBACzB,MAAM,EAAE,MAAM;gBACd,KAAK;aACN,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAqB,EAAE,CAAS,EAAE,EAAE,CAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,CAC/C,CAAC;YAEF,OAAO,wBAAwB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,6CAA8C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,12 @@
1
- export {};
1
+ /**
2
+ * loop.expected_effects
3
+ *
4
+ * For each delivery with a linked injection, walk the 'targets' edges
5
+ * from injection -> targeted UDE/obstacle nodes; for each target with an
6
+ * FRT overlay (frt_statement and/or frt_node_type), render its current
7
+ * statement and what it becomes in the FRT. Targets lacking overlays are
8
+ * skipped (no expected effect to advertise).
9
+ */
10
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
11
+ export declare function registerLoopExpectedEffectsResolver(): void;
2
12
  //# sourceMappingURL=loop-expected-effects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-expected-effects.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-expected-effects.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"loop-expected-effects.d.ts","sourceRoot":"","sources":["../../src/resolvers/loop-expected-effects.ts"],"names":[],"mappings":"AAUA;;;;;;;;GAQG;AACH,oGAAoG;AACpG,wBAAgB,mCAAmC,IAAI,IAAI,CA0D1D"}