@soleri/core 7.0.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/agency/agency-manager.d.ts +27 -1
  2. package/dist/agency/agency-manager.d.ts.map +1 -1
  3. package/dist/agency/agency-manager.js +180 -9
  4. package/dist/agency/agency-manager.js.map +1 -1
  5. package/dist/agency/default-rules.d.ts +7 -0
  6. package/dist/agency/default-rules.d.ts.map +1 -0
  7. package/dist/agency/default-rules.js +79 -0
  8. package/dist/agency/default-rules.js.map +1 -0
  9. package/dist/agency/types.d.ts +48 -0
  10. package/dist/agency/types.d.ts.map +1 -1
  11. package/dist/brain/brain.d.ts +17 -2
  12. package/dist/brain/brain.d.ts.map +1 -1
  13. package/dist/brain/brain.js +118 -8
  14. package/dist/brain/brain.js.map +1 -1
  15. package/dist/brain/knowledge-synthesizer.d.ts +37 -0
  16. package/dist/brain/knowledge-synthesizer.d.ts.map +1 -0
  17. package/dist/brain/knowledge-synthesizer.js +161 -0
  18. package/dist/brain/knowledge-synthesizer.js.map +1 -0
  19. package/dist/brain/learning-radar.d.ts +96 -0
  20. package/dist/brain/learning-radar.d.ts.map +1 -0
  21. package/dist/brain/learning-radar.js +202 -0
  22. package/dist/brain/learning-radar.js.map +1 -0
  23. package/dist/brain/types.d.ts +15 -0
  24. package/dist/brain/types.d.ts.map +1 -1
  25. package/dist/context/context-engine.d.ts.map +1 -1
  26. package/dist/context/context-engine.js +82 -17
  27. package/dist/context/context-engine.js.map +1 -1
  28. package/dist/context/types.d.ts +5 -0
  29. package/dist/context/types.d.ts.map +1 -1
  30. package/dist/control/intent-router.d.ts +12 -1
  31. package/dist/control/intent-router.d.ts.map +1 -1
  32. package/dist/control/intent-router.js +68 -0
  33. package/dist/control/intent-router.js.map +1 -1
  34. package/dist/control/types.d.ts +17 -0
  35. package/dist/control/types.d.ts.map +1 -1
  36. package/dist/curator/classifier.d.ts +18 -0
  37. package/dist/curator/classifier.d.ts.map +1 -0
  38. package/dist/curator/classifier.js +61 -0
  39. package/dist/curator/classifier.js.map +1 -0
  40. package/dist/curator/quality-gate.d.ts +29 -0
  41. package/dist/curator/quality-gate.d.ts.map +1 -0
  42. package/dist/curator/quality-gate.js +88 -0
  43. package/dist/curator/quality-gate.js.map +1 -0
  44. package/dist/engine/bin/soleri-engine.js +1 -0
  45. package/dist/engine/bin/soleri-engine.js.map +1 -1
  46. package/dist/events/event-bus.d.ts +30 -0
  47. package/dist/events/event-bus.d.ts.map +1 -0
  48. package/dist/events/event-bus.js +51 -0
  49. package/dist/events/event-bus.js.map +1 -0
  50. package/dist/flows/chain-runner.d.ts +46 -0
  51. package/dist/flows/chain-runner.d.ts.map +1 -0
  52. package/dist/flows/chain-runner.js +271 -0
  53. package/dist/flows/chain-runner.js.map +1 -0
  54. package/dist/flows/chain-types.d.ts +103 -0
  55. package/dist/flows/chain-types.d.ts.map +1 -0
  56. package/dist/flows/chain-types.js +23 -0
  57. package/dist/flows/chain-types.js.map +1 -0
  58. package/dist/health/doctor-checks.d.ts +15 -0
  59. package/dist/health/doctor-checks.d.ts.map +1 -0
  60. package/dist/health/doctor-checks.js +98 -0
  61. package/dist/health/doctor-checks.js.map +1 -0
  62. package/dist/intake/text-ingester.d.ts +52 -0
  63. package/dist/intake/text-ingester.d.ts.map +1 -0
  64. package/dist/intake/text-ingester.js +181 -0
  65. package/dist/intake/text-ingester.js.map +1 -0
  66. package/dist/llm/llm-client.d.ts.map +1 -1
  67. package/dist/llm/llm-client.js +37 -1
  68. package/dist/llm/llm-client.js.map +1 -1
  69. package/dist/llm/oauth-discovery.d.ts +26 -0
  70. package/dist/llm/oauth-discovery.d.ts.map +1 -0
  71. package/dist/llm/oauth-discovery.js +149 -0
  72. package/dist/llm/oauth-discovery.js.map +1 -0
  73. package/dist/planning/evidence-collector.d.ts +41 -0
  74. package/dist/planning/evidence-collector.d.ts.map +1 -0
  75. package/dist/planning/evidence-collector.js +194 -0
  76. package/dist/planning/evidence-collector.js.map +1 -0
  77. package/dist/planning/planner.d.ts +4 -0
  78. package/dist/planning/planner.d.ts.map +1 -1
  79. package/dist/planning/planner.js +11 -0
  80. package/dist/planning/planner.js.map +1 -1
  81. package/dist/queue/job-queue.d.ts +92 -0
  82. package/dist/queue/job-queue.d.ts.map +1 -0
  83. package/dist/queue/job-queue.js +180 -0
  84. package/dist/queue/job-queue.js.map +1 -0
  85. package/dist/queue/pipeline-runner.d.ts +62 -0
  86. package/dist/queue/pipeline-runner.d.ts.map +1 -0
  87. package/dist/queue/pipeline-runner.js +126 -0
  88. package/dist/queue/pipeline-runner.js.map +1 -0
  89. package/dist/runtime/admin-setup-ops.d.ts +20 -0
  90. package/dist/runtime/admin-setup-ops.d.ts.map +1 -0
  91. package/dist/runtime/admin-setup-ops.js +583 -0
  92. package/dist/runtime/admin-setup-ops.js.map +1 -0
  93. package/dist/runtime/chain-ops.d.ts +9 -0
  94. package/dist/runtime/chain-ops.d.ts.map +1 -0
  95. package/dist/runtime/chain-ops.js +107 -0
  96. package/dist/runtime/chain-ops.js.map +1 -0
  97. package/dist/runtime/claude-md-helpers.d.ts +65 -0
  98. package/dist/runtime/claude-md-helpers.d.ts.map +1 -0
  99. package/dist/runtime/claude-md-helpers.js +173 -0
  100. package/dist/runtime/claude-md-helpers.js.map +1 -0
  101. package/dist/runtime/curator-extra-ops.d.ts +3 -2
  102. package/dist/runtime/curator-extra-ops.d.ts.map +1 -1
  103. package/dist/runtime/curator-extra-ops.js +81 -3
  104. package/dist/runtime/curator-extra-ops.js.map +1 -1
  105. package/dist/runtime/facades/admin-facade.d.ts.map +1 -1
  106. package/dist/runtime/facades/admin-facade.js +4 -0
  107. package/dist/runtime/facades/admin-facade.js.map +1 -1
  108. package/dist/runtime/facades/agency-facade.d.ts.map +1 -1
  109. package/dist/runtime/facades/agency-facade.js +64 -0
  110. package/dist/runtime/facades/agency-facade.js.map +1 -1
  111. package/dist/runtime/facades/brain-facade.d.ts.map +1 -1
  112. package/dist/runtime/facades/brain-facade.js +122 -1
  113. package/dist/runtime/facades/brain-facade.js.map +1 -1
  114. package/dist/runtime/facades/control-facade.d.ts.map +1 -1
  115. package/dist/runtime/facades/control-facade.js +42 -0
  116. package/dist/runtime/facades/control-facade.js.map +1 -1
  117. package/dist/runtime/facades/memory-facade.d.ts.map +1 -1
  118. package/dist/runtime/facades/memory-facade.js +20 -2
  119. package/dist/runtime/facades/memory-facade.js.map +1 -1
  120. package/dist/runtime/facades/plan-facade.d.ts.map +1 -1
  121. package/dist/runtime/facades/plan-facade.js +2 -0
  122. package/dist/runtime/facades/plan-facade.js.map +1 -1
  123. package/dist/runtime/facades/vault-facade.d.ts.map +1 -1
  124. package/dist/runtime/facades/vault-facade.js +25 -5
  125. package/dist/runtime/facades/vault-facade.js.map +1 -1
  126. package/dist/runtime/intake-ops.d.ts +7 -5
  127. package/dist/runtime/intake-ops.d.ts.map +1 -1
  128. package/dist/runtime/intake-ops.js +98 -5
  129. package/dist/runtime/intake-ops.js.map +1 -1
  130. package/dist/runtime/memory-extra-ops.d.ts +6 -3
  131. package/dist/runtime/memory-extra-ops.d.ts.map +1 -1
  132. package/dist/runtime/memory-extra-ops.js +292 -4
  133. package/dist/runtime/memory-extra-ops.js.map +1 -1
  134. package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
  135. package/dist/runtime/planning-extra-ops.js +85 -0
  136. package/dist/runtime/planning-extra-ops.js.map +1 -1
  137. package/dist/runtime/playbook-ops.js +1 -1
  138. package/dist/runtime/playbook-ops.js.map +1 -1
  139. package/dist/runtime/runtime.d.ts.map +1 -1
  140. package/dist/runtime/runtime.js +143 -2
  141. package/dist/runtime/runtime.js.map +1 -1
  142. package/dist/runtime/session-briefing.d.ts +23 -0
  143. package/dist/runtime/session-briefing.d.ts.map +1 -0
  144. package/dist/runtime/session-briefing.js +140 -0
  145. package/dist/runtime/session-briefing.js.map +1 -0
  146. package/dist/runtime/types.d.ts +23 -0
  147. package/dist/runtime/types.d.ts.map +1 -1
  148. package/dist/runtime/vault-linking-ops.d.ts.map +1 -1
  149. package/dist/runtime/vault-linking-ops.js +1 -3
  150. package/dist/runtime/vault-linking-ops.js.map +1 -1
  151. package/dist/vault/vault.d.ts +25 -0
  152. package/dist/vault/vault.d.ts.map +1 -1
  153. package/dist/vault/vault.js +67 -3
  154. package/dist/vault/vault.js.map +1 -1
  155. package/package.json +1 -1
  156. package/src/__tests__/admin-setup-ops.test.ts +355 -0
  157. package/src/__tests__/async-infrastructure.test.ts +307 -0
  158. package/src/__tests__/cognee-client-gaps.test.ts +6 -2
  159. package/src/__tests__/cognee-hybrid-search.test.ts +49 -35
  160. package/src/__tests__/cognee-sync-manager-deep.test.ts +89 -65
  161. package/src/__tests__/curator-extra-ops.test.ts +6 -2
  162. package/src/__tests__/curator-pipeline-e2e.test.ts +358 -0
  163. package/src/__tests__/memory-extra-ops.test.ts +2 -2
  164. package/src/__tests__/planning-extra-ops.test.ts +2 -2
  165. package/src/__tests__/second-brain-features.test.ts +583 -0
  166. package/src/agency/agency-manager.ts +217 -9
  167. package/src/agency/default-rules.ts +83 -0
  168. package/src/agency/types.ts +61 -0
  169. package/src/brain/brain.ts +110 -8
  170. package/src/brain/knowledge-synthesizer.ts +218 -0
  171. package/src/brain/learning-radar.ts +340 -0
  172. package/src/brain/types.ts +16 -0
  173. package/src/context/context-engine.ts +114 -15
  174. package/src/context/types.ts +5 -0
  175. package/src/control/intent-router.ts +107 -0
  176. package/src/control/types.ts +10 -0
  177. package/src/curator/classifier.ts +88 -0
  178. package/src/curator/quality-gate.ts +129 -0
  179. package/src/engine/bin/soleri-engine.ts +1 -0
  180. package/src/events/event-bus.ts +58 -0
  181. package/src/flows/chain-runner.ts +369 -0
  182. package/src/flows/chain-types.ts +57 -0
  183. package/src/health/doctor-checks.ts +115 -0
  184. package/src/intake/text-ingester.ts +234 -0
  185. package/src/llm/llm-client.ts +38 -1
  186. package/src/llm/oauth-discovery.ts +169 -0
  187. package/src/planning/evidence-collector.ts +247 -0
  188. package/src/planning/planner.ts +11 -0
  189. package/src/queue/job-queue.ts +281 -0
  190. package/src/queue/pipeline-runner.ts +149 -0
  191. package/src/runtime/admin-setup-ops.ts +664 -0
  192. package/src/runtime/chain-ops.ts +121 -0
  193. package/src/runtime/claude-md-helpers.ts +236 -0
  194. package/src/runtime/curator-extra-ops.ts +86 -3
  195. package/src/runtime/facades/admin-facade.ts +4 -0
  196. package/src/runtime/facades/agency-facade.ts +68 -0
  197. package/src/runtime/facades/brain-facade.ts +142 -1
  198. package/src/runtime/facades/control-facade.ts +45 -0
  199. package/src/runtime/facades/memory-facade.ts +20 -2
  200. package/src/runtime/facades/plan-facade.ts +2 -0
  201. package/src/runtime/facades/vault-facade.ts +28 -5
  202. package/src/runtime/intake-ops.ts +107 -5
  203. package/src/runtime/memory-extra-ops.ts +312 -4
  204. package/src/runtime/planning-extra-ops.ts +94 -0
  205. package/src/runtime/playbook-ops.ts +1 -1
  206. package/src/runtime/runtime.ts +138 -2
  207. package/src/runtime/session-briefing.ts +161 -0
  208. package/src/runtime/types.ts +23 -0
  209. package/src/runtime/vault-linking-ops.ts +1 -3
  210. package/src/vault/vault.ts +79 -4
@@ -11,7 +11,7 @@
11
11
  * Uses Node.js fs.watch — no dependencies.
12
12
  */
13
13
  import type { Vault } from '../vault/vault.js';
14
- import type { AgencyConfig, AgencyStatus, FileChangeListener, Warning, WarningDetector, SurfacedPattern, ClarificationQuestion } from './types.js';
14
+ import type { AgencyConfig, AgencyStatus, FileChangeListener, Warning, WarningDetector, SurfacedPattern, ClarificationQuestion, SuggestionRule, ProactiveSuggestion, RichClarificationQuestion, Notification } from './types.js';
15
15
  export declare class AgencyManager {
16
16
  private vault;
17
17
  private config;
@@ -23,6 +23,12 @@ export declare class AgencyManager {
23
23
  private changesProcessed;
24
24
  private cooldownMap;
25
25
  private debounceTimers;
26
+ private suggestionRules;
27
+ private recentFiles;
28
+ private suppressedWarningIds;
29
+ private dismissedPatterns;
30
+ private dismissalTtlMs;
31
+ private notificationQueue;
26
32
  constructor(vault: Vault, config?: AgencyConfig);
27
33
  enable(projectPath?: string): void;
28
34
  disable(): void;
@@ -43,5 +49,25 @@ export declare class AgencyManager {
43
49
  private processChange;
44
50
  private shouldIgnore;
45
51
  private hasValidExtension;
52
+ registerSuggestionRule(rule: SuggestionRule): void;
53
+ /**
54
+ * Evaluate all suggestion rules and return triggered suggestions.
55
+ */
56
+ generateSuggestions(): ProactiveSuggestion[];
57
+ generateRichClarification(prompt: string): RichClarificationQuestion[];
58
+ suppressWarning(warningId: string): void;
59
+ unsuppressWarning(warningId: string): void;
60
+ getSuppressedWarnings(): string[];
61
+ /**
62
+ * Override getPendingWarnings to filter out suppressed.
63
+ */
64
+ getFilteredWarnings(): Warning[];
65
+ dismissPattern(entryId: string): void;
66
+ isDismissed(entryId: string): boolean;
67
+ getActiveSurfacedPatterns(): SurfacedPattern[];
68
+ pushNotification(type: Notification['type'], title: string, message: string, priority?: Notification['priority']): void;
69
+ drainNotifications(): Notification[];
70
+ getPendingNotificationCount(): number;
71
+ getFullStatus(): AgencyStatus;
46
72
  }
47
73
  //# sourceMappingURL=agency-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agency-manager.d.ts","sourceRoot":"","sources":["../../src/agency/agency-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEZ,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,eAAe,EACf,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAqBpB,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAAoD;gBAE9D,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY;IAe/C,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAMlC,OAAO,IAAI,IAAI;IAKf,SAAS,IAAI,YAAY;IAYzB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAMjD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAqBxC,YAAY,IAAI,IAAI;IAOpB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAMhD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE;IA2BrC,kBAAkB,IAAI,OAAO,EAAE;IAI/B,aAAa,IAAI,IAAI;IAMrB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;IA+CpD,mBAAmB,IAAI,eAAe,EAAE;IAIxC,qBAAqB,IAAI,IAAI;IAM7B,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IA0CvF,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;CAI1B"}
1
+ {"version":3,"file":"agency-manager.d.ts","sourceRoot":"","sources":["../../src/agency/agency-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EAEZ,kBAAkB,EAClB,OAAO,EACP,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,cAAc,EAEd,mBAAmB,EACnB,yBAAyB,EACzB,YAAY,EACb,MAAM,YAAY,CAAC;AAqBpB,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAAoD;IAG1E,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAsB;gBAEnC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY;IAoB/C,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAMlC,OAAO,IAAI,IAAI;IAKf,SAAS,IAAI,YAAY;IAIzB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAMjD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAqBxC,YAAY,IAAI,IAAI;IAOpB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAMhD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE;IA2BrC,kBAAkB,IAAI,OAAO,EAAE;IAI/B,aAAa,IAAI,IAAI;IAMrB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;IA+CpD,mBAAmB,IAAI,eAAe,EAAE;IAIxC,qBAAqB,IAAI,IAAI;IAM7B,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IA0CvF,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,iBAAiB;IAOzB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAIlD;;OAEG;IACH,mBAAmB,IAAI,mBAAmB,EAAE;IAgC5C,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,EAAE;IAkEtE,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKxC,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI1C,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;OAEG;IACH,mBAAmB,IAAI,OAAO,EAAE;IAMhC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKrC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAUrC,yBAAyB,IAAI,eAAe,EAAE;IAM9C,gBAAgB,CACd,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,YAAY,CAAC,UAAU,CAAY,GAC5C,IAAI;IAWP,kBAAkB,IAAI,YAAY,EAAE;IASpC,2BAA2B,IAAI,MAAM;IAMrC,aAAa,IAAI,YAAY;CAe9B"}
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import { watch, readFileSync, existsSync } from 'node:fs';
14
14
  import { join, extname } from 'node:path';
15
+ import { DEFAULT_SUGGESTION_RULES } from './default-rules.js';
15
16
  // ─── Defaults ──────────────────────────────────────────────────────
16
17
  const DEFAULT_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx', '.css', '.json'];
17
18
  const DEFAULT_IGNORE = [
@@ -39,6 +40,13 @@ export class AgencyManager {
39
40
  changesProcessed = 0;
40
41
  cooldownMap = new Map();
41
42
  debounceTimers = new Map();
43
+ // Proactive intelligence (#211)
44
+ suggestionRules = [];
45
+ recentFiles = [];
46
+ suppressedWarningIds = new Set();
47
+ dismissedPatterns = new Map(); // entryId → dismissedAt timestamp
48
+ dismissalTtlMs = 24 * 60 * 60 * 1000; // 24 hours
49
+ notificationQueue = [];
42
50
  constructor(vault, config) {
43
51
  this.vault = vault;
44
52
  this.config = {
@@ -50,6 +58,10 @@ export class AgencyManager {
50
58
  minPatternConfidence: config?.minPatternConfidence ?? DEFAULT_MIN_CONFIDENCE,
51
59
  cooldownMs: config?.cooldownMs ?? DEFAULT_COOLDOWN_MS,
52
60
  };
61
+ // Register built-in suggestion rules
62
+ for (const rule of DEFAULT_SUGGESTION_RULES) {
63
+ this.suggestionRules.push(rule);
64
+ }
53
65
  }
54
66
  // ─── Lifecycle ──────────────────────────────────────────────────
55
67
  enable(projectPath) {
@@ -64,15 +76,7 @@ export class AgencyManager {
64
76
  this.stopWatching();
65
77
  }
66
78
  getStatus() {
67
- return {
68
- enabled: this.config.enabled,
69
- watching: this.watchers.length > 0,
70
- watchPaths: this.config.watchPaths,
71
- detectorCount: this.detectors.length,
72
- pendingWarnings: this.pendingWarnings.length,
73
- surfacedPatterns: this.surfacedPatterns.length,
74
- fileChangesProcessed: this.changesProcessed,
75
- };
79
+ return this.getFullStatus();
76
80
  }
77
81
  updateConfig(config) {
78
82
  Object.assign(this.config, config);
@@ -277,5 +281,172 @@ export class AgencyManager {
277
281
  const ext = extname(filePath);
278
282
  return this.config.extensions.includes(ext);
279
283
  }
284
+ // ─── Proactive Suggestions (#211) ──────────────────────────────────
285
+ registerSuggestionRule(rule) {
286
+ this.suggestionRules.push(rule);
287
+ }
288
+ /**
289
+ * Evaluate all suggestion rules and return triggered suggestions.
290
+ */
291
+ generateSuggestions() {
292
+ const context = {
293
+ recentFiles: this.recentFiles.slice(-20),
294
+ pendingWarnings: this.pendingWarnings,
295
+ surfacedPatterns: this.surfacedPatterns,
296
+ fileChangesProcessed: this.changesProcessed,
297
+ };
298
+ const suggestions = [];
299
+ for (const rule of this.suggestionRules) {
300
+ try {
301
+ if (rule.condition(context)) {
302
+ suggestions.push(rule.generate(context));
303
+ }
304
+ }
305
+ catch {
306
+ // Rule failure is non-critical
307
+ }
308
+ }
309
+ // Create notifications for suggestions
310
+ for (const s of suggestions) {
311
+ this.pushNotification('suggestion', s.title, s.description, s.priority);
312
+ }
313
+ return suggestions.sort((a, b) => {
314
+ const prio = { high: 0, medium: 1, low: 2 };
315
+ return prio[a.priority] - prio[b.priority];
316
+ });
317
+ }
318
+ // ─── Rich Clarification (#211) ─────────────────────────────────────
319
+ generateRichClarification(prompt) {
320
+ const questions = [];
321
+ // Ambiguous scope detection
322
+ const scopeWords = ['everything', 'all', 'the whole', 'entire'];
323
+ if (scopeWords.some((w) => prompt.toLowerCase().includes(w))) {
324
+ questions.push({
325
+ question: 'That sounds like a broad scope. Can you narrow it down?',
326
+ reason: 'Broad requests often lead to unfocused work',
327
+ urgency: 'recommended',
328
+ options: [
329
+ { label: 'Just the current file', description: 'Focus on what I have open' },
330
+ { label: 'This module/directory', description: 'Scope to the current package' },
331
+ {
332
+ label: 'The full project',
333
+ description: 'I really mean everything',
334
+ implications: 'This may take significantly longer',
335
+ },
336
+ ],
337
+ });
338
+ }
339
+ // Missing context detection
340
+ const vagueVerbs = ['fix', 'improve', 'update', 'change'];
341
+ const hasVagueVerb = vagueVerbs.some((v) => prompt.toLowerCase().startsWith(v));
342
+ const isShort = prompt.split(/\s+/).length < 5;
343
+ if (hasVagueVerb && isShort) {
344
+ questions.push({
345
+ question: 'Could you describe the specific problem or desired outcome?',
346
+ reason: `"${prompt}" is ambiguous — different interpretations lead to different solutions`,
347
+ urgency: 'blocking',
348
+ options: [
349
+ { label: "There's an error/bug", description: 'Something is broken' },
350
+ { label: 'It works but needs improvement', description: 'Refactoring or enhancement' },
351
+ { label: 'Add new behavior', description: 'Feature addition' },
352
+ ],
353
+ });
354
+ }
355
+ // Destructive operation detection
356
+ const destructiveWords = ['delete', 'remove', 'drop', 'reset', 'wipe', 'purge'];
357
+ if (destructiveWords.some((w) => prompt.toLowerCase().includes(w))) {
358
+ questions.push({
359
+ question: 'This sounds like a destructive operation. Are you sure?',
360
+ reason: 'Destructive actions are hard to undo',
361
+ urgency: 'blocking',
362
+ options: [
363
+ {
364
+ label: 'Yes, proceed',
365
+ description: 'I understand the consequences',
366
+ recommended: false,
367
+ },
368
+ {
369
+ label: 'Let me reconsider',
370
+ description: 'Show me what would be affected first',
371
+ recommended: true,
372
+ },
373
+ ],
374
+ });
375
+ }
376
+ return questions;
377
+ }
378
+ // ─── Warning Suppression (#211) ────────────────────────────────────
379
+ suppressWarning(warningId) {
380
+ this.suppressedWarningIds.add(warningId);
381
+ this.pendingWarnings = this.pendingWarnings.filter((w) => w.id !== warningId);
382
+ }
383
+ unsuppressWarning(warningId) {
384
+ this.suppressedWarningIds.delete(warningId);
385
+ }
386
+ getSuppressedWarnings() {
387
+ return [...this.suppressedWarningIds];
388
+ }
389
+ /**
390
+ * Override getPendingWarnings to filter out suppressed.
391
+ */
392
+ getFilteredWarnings() {
393
+ return this.pendingWarnings.filter((w) => !this.suppressedWarningIds.has(w.id));
394
+ }
395
+ // ─── Pattern Dismissal (#211) ──────────────────────────────────────
396
+ dismissPattern(entryId) {
397
+ this.dismissedPatterns.set(entryId, Date.now());
398
+ this.surfacedPatterns = this.surfacedPatterns.filter((p) => p.entryId !== entryId);
399
+ }
400
+ isDismissed(entryId) {
401
+ const dismissedAt = this.dismissedPatterns.get(entryId);
402
+ if (!dismissedAt)
403
+ return false;
404
+ if (Date.now() - dismissedAt > this.dismissalTtlMs) {
405
+ this.dismissedPatterns.delete(entryId);
406
+ return false;
407
+ }
408
+ return true;
409
+ }
410
+ getActiveSurfacedPatterns() {
411
+ return this.surfacedPatterns.filter((p) => !this.isDismissed(p.entryId));
412
+ }
413
+ // ─── Notification Queue (#211) ─────────────────────────────────────
414
+ pushNotification(type, title, message, priority = 'medium') {
415
+ this.notificationQueue.push({
416
+ id: `notif-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`,
417
+ type,
418
+ title,
419
+ message,
420
+ priority,
421
+ createdAt: Date.now(),
422
+ });
423
+ }
424
+ drainNotifications() {
425
+ const notifications = [...this.notificationQueue];
426
+ this.notificationQueue = [];
427
+ return notifications.sort((a, b) => {
428
+ const prio = { high: 0, medium: 1, low: 2 };
429
+ return prio[a.priority] - prio[b.priority];
430
+ });
431
+ }
432
+ getPendingNotificationCount() {
433
+ return this.notificationQueue.length;
434
+ }
435
+ // ─── Extended Status (#211) ────────────────────────────────────────
436
+ getFullStatus() {
437
+ return {
438
+ enabled: this.config.enabled,
439
+ watching: this.watchers.length > 0,
440
+ watchPaths: this.config.watchPaths,
441
+ detectorCount: this.detectors.length,
442
+ pendingWarnings: this.getFilteredWarnings().length,
443
+ surfacedPatterns: this.getActiveSurfacedPatterns().length,
444
+ fileChangesProcessed: this.changesProcessed,
445
+ suggestionRuleCount: this.suggestionRules.length,
446
+ suppressedWarnings: this.suppressedWarningIds.size,
447
+ dismissedPatterns: this.dismissedPatterns.size,
448
+ pendingNotifications: this.notificationQueue.length,
449
+ };
450
+ }
280
451
  }
281
452
  //# sourceMappingURL=agency-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agency-manager.js","sourceRoot":"","sources":["../../src/agency/agency-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agency-manager.js","sourceRoot":"","sources":["../../src/agency/agency-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Default suggestion rules — 6 built-in rules that work for any agent.
3
+ * Registered on agent startup so agency_suggestions works out of the box.
4
+ */
5
+ import type { SuggestionRule } from './types.js';
6
+ export declare const DEFAULT_SUGGESTION_RULES: SuggestionRule[];
7
+ //# sourceMappingURL=default-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-rules.d.ts","sourceRoot":"","sources":["../../src/agency/default-rules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,wBAAwB,EAAE,cAAc,EA2EpD,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Default suggestion rules — 6 built-in rules that work for any agent.
3
+ * Registered on agent startup so agency_suggestions works out of the box.
4
+ */
5
+ export const DEFAULT_SUGGESTION_RULES = [
6
+ {
7
+ name: 'many-warnings',
8
+ description: 'Fires when 5+ warnings are pending',
9
+ condition: (ctx) => ctx.pendingWarnings.length >= 5,
10
+ generate: (ctx) => ({
11
+ rule: 'many-warnings',
12
+ title: `${ctx.pendingWarnings.length} warnings pending`,
13
+ description: `You have ${ctx.pendingWarnings.length} unresolved warnings — consider running a scan or addressing the critical ones.`,
14
+ priority: 'high',
15
+ action: 'Run agency_warnings to review',
16
+ }),
17
+ },
18
+ {
19
+ name: 'stale-patterns',
20
+ description: 'Fires when surfaced patterns suggest stale knowledge',
21
+ condition: (ctx) => ctx.surfacedPatterns.length === 0 && ctx.fileChangesProcessed > 20,
22
+ generate: () => ({
23
+ rule: 'stale-patterns',
24
+ title: 'Knowledge base maintenance recommended',
25
+ description: 'No patterns surfaced despite significant file activity — vault may need grooming or new knowledge.',
26
+ priority: 'medium',
27
+ action: 'Run curator_health_audit',
28
+ }),
29
+ },
30
+ {
31
+ name: 'high-activity-no-capture',
32
+ description: 'Fires when many files changed but no patterns captured',
33
+ condition: (ctx) => ctx.fileChangesProcessed > 50 && ctx.surfacedPatterns.length === 0,
34
+ generate: (ctx) => ({
35
+ rule: 'high-activity-no-capture',
36
+ title: 'Long session without knowledge capture',
37
+ description: `${ctx.fileChangesProcessed} file changes processed — consider capturing what you've learned.`,
38
+ priority: 'medium',
39
+ action: 'Run smart_capture or radar_analyze',
40
+ }),
41
+ },
42
+ {
43
+ name: 'critical-warnings',
44
+ description: 'Fires when critical-severity warnings exist',
45
+ condition: (ctx) => ctx.pendingWarnings.some((w) => w.severity === 'critical'),
46
+ generate: (ctx) => {
47
+ const critical = ctx.pendingWarnings.filter((w) => w.severity === 'critical');
48
+ return {
49
+ rule: 'critical-warnings',
50
+ title: `${critical.length} critical warning(s) need attention`,
51
+ description: critical.map((w) => w.message).join('; '),
52
+ priority: 'high',
53
+ };
54
+ },
55
+ },
56
+ {
57
+ name: 'pattern-surfaced',
58
+ description: 'Fires when relevant vault patterns were found for changed files',
59
+ condition: (ctx) => ctx.surfacedPatterns.length > 0,
60
+ generate: (ctx) => ({
61
+ rule: 'pattern-surfaced',
62
+ title: `${ctx.surfacedPatterns.length} relevant pattern(s) found`,
63
+ description: ctx.surfacedPatterns.map((p) => `${p.title} (${p.domain})`).join(', '),
64
+ priority: 'low',
65
+ }),
66
+ },
67
+ {
68
+ name: 'first-session',
69
+ description: 'Fires on first use when no file changes have been processed',
70
+ condition: (ctx) => ctx.fileChangesProcessed === 0 && ctx.pendingWarnings.length === 0,
71
+ generate: () => ({
72
+ rule: 'first-session',
73
+ title: 'Agency mode ready',
74
+ description: 'File watching and proactive suggestions are enabled. Start editing files to see patterns and warnings.',
75
+ priority: 'low',
76
+ }),
77
+ },
78
+ ];
79
+ //# sourceMappingURL=default-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-rules.js","sourceRoot":"","sources":["../../src/agency/default-rules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAqB;IACxD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oCAAoC;QACjD,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC;QACnD,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,mBAAmB;YACvD,WAAW,EAAE,YAAY,GAAG,CAAC,eAAe,CAAC,MAAM,iFAAiF;YACpI,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,+BAA+B;SACxC,CAAC;KACH;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,sDAAsD;QACnE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,oBAAoB,GAAG,EAAE;QACtF,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,wCAAwC;YAC/C,WAAW,EACT,oGAAoG;YACtG,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,0BAA0B;SACnC,CAAC;KACH;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,wDAAwD;QACrE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,oBAAoB,GAAG,EAAE,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;QACtF,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,wCAAwC;YAC/C,WAAW,EAAE,GAAG,GAAG,CAAC,oBAAoB,mEAAmE;YAC3G,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,oCAAoC;SAC7C,CAAC;KACH;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,6CAA6C;QAC1D,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC;QAC9E,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YAC9E,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,GAAG,QAAQ,CAAC,MAAM,qCAAqC;gBAC9D,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtD,QAAQ,EAAE,MAAM;aACjB,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,iEAAiE;QAC9E,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;QACnD,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,4BAA4B;YACjE,WAAW,EAAE,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACnF,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6DAA6D;QAC1E,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QACtF,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,wGAAwG;YAC1G,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;CACF,CAAC"}
@@ -65,5 +65,53 @@ export interface AgencyStatus {
65
65
  pendingWarnings: number;
66
66
  surfacedPatterns: number;
67
67
  fileChangesProcessed: number;
68
+ suggestionRuleCount: number;
69
+ suppressedWarnings: number;
70
+ dismissedPatterns: number;
71
+ pendingNotifications: number;
72
+ }
73
+ export interface SuggestionRule {
74
+ /** Unique name for this rule. */
75
+ name: string;
76
+ /** Human description of what this rule detects. */
77
+ description: string;
78
+ /** Condition: returns true if this rule should fire. */
79
+ condition(context: SuggestionContext): boolean;
80
+ /** Generate a suggestion when condition is true. */
81
+ generate(context: SuggestionContext): ProactiveSuggestion;
82
+ }
83
+ export interface SuggestionContext {
84
+ recentFiles: FileChange[];
85
+ pendingWarnings: Warning[];
86
+ surfacedPatterns: SurfacedPattern[];
87
+ fileChangesProcessed: number;
88
+ }
89
+ export interface ProactiveSuggestion {
90
+ rule: string;
91
+ title: string;
92
+ description: string;
93
+ priority: 'high' | 'medium' | 'low';
94
+ action?: string;
95
+ }
96
+ export type ClarificationUrgency = 'blocking' | 'recommended' | 'optional';
97
+ export interface ClarificationOption {
98
+ label: string;
99
+ description?: string;
100
+ implications?: string;
101
+ recommended?: boolean;
102
+ }
103
+ export interface RichClarificationQuestion {
104
+ question: string;
105
+ reason: string;
106
+ urgency: ClarificationUrgency;
107
+ options?: ClarificationOption[];
108
+ }
109
+ export interface Notification {
110
+ id: string;
111
+ type: 'suggestion' | 'warning' | 'pattern';
112
+ title: string;
113
+ message: string;
114
+ priority: 'high' | 'medium' | 'low';
115
+ createdAt: number;
68
116
  }
69
117
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agency/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;AAI9D,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uCAAuC;IACvC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;CACtD;AAID,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAID,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agency/types.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,29 @@
1
1
  import type { Vault } from '../vault/vault.js';
2
+ import type { VaultManager } from '../vault/vault-manager.js';
2
3
  import type { IntelligenceEntry } from '../intelligence/types.js';
3
4
  import type { CogneeClient } from '../cognee/client.js';
4
- import type { RankedResult, SearchOptions, CaptureResult, BrainStats, QueryContext, FeedbackInput, FeedbackEntry, FeedbackStats } from './types.js';
5
+ import type { RankedResult, ScanResult, SearchOptions, CaptureResult, BrainStats, QueryContext, FeedbackInput, FeedbackEntry, FeedbackStats } from './types.js';
5
6
  export declare class Brain {
6
7
  private vault;
8
+ private vaultManager;
7
9
  private cognee;
8
10
  private vocabulary;
9
11
  private weights;
10
- constructor(vault: Vault, cognee?: CogneeClient);
12
+ constructor(vault: Vault, cognee?: CogneeClient, vaultManager?: VaultManager);
11
13
  intelligentSearch(query: string, options?: SearchOptions): Promise<RankedResult[]>;
14
+ /**
15
+ * Two-pass retrieval — Pass 1: Scan.
16
+ * Returns lightweight results (title, score, snippet) without full entry bodies.
17
+ * Use `loadEntries()` for Pass 2 to fetch full content for selected entries.
18
+ */
19
+ scanSearch(query: string, options?: Omit<SearchOptions, 'mode'>): Promise<ScanResult[]>;
20
+ /**
21
+ * Two-pass retrieval — Pass 2: Load.
22
+ * Returns full entries for specific IDs (from a previous scan).
23
+ */
24
+ loadEntries(ids: string[]): IntelligenceEntry[];
25
+ /** Rough token estimate for an entry (chars / 4). */
26
+ private estimateTokens;
12
27
  enrichAndCapture(entry: Partial<IntelligenceEntry> & {
13
28
  id: string;
14
29
  type: IntelligenceEntry['type'];
@@ -1 +1 @@
1
- {"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../src/brain/brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AASlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,YAAY,CAAC;AAoCpB,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,OAAO,CAA0C;gBAE7C,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY;IAOzC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA8IxF,gBAAgB,CACd,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG;QAClC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACxC,WAAW,EAAE,MAAM,CAAC;KACrB,GACA,aAAa;IAkEhB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IACtF,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa;IA8DnD,gBAAgB,IAAI,aAAa;IA0C3B,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAOnE,YAAY,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IA0BrE,iBAAiB,IAAI,IAAI;IA6BzB,QAAQ,IAAI,UAAU;IAYtB,iBAAiB,IAAI,MAAM;IAIrB,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,OAAO,CACR,KAAK,CAAC;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;KAC3C,CAAC,CACH;IA2BD,OAAO,CAAC,UAAU;IA8ClB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;CAoDzB"}
1
+ {"version":3,"file":"brain.d.ts","sourceRoot":"","sources":["../../src/brain/brain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AASlE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAGV,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,YAAY,CAAC;AAoCpB,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,OAAO,CAA0C;gBAE7C,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,YAAY;IAQtE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiKxF;;;;OAIG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAe7F;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE;IAS/C,qDAAqD;IACrD,OAAO,CAAC,cAAc;IAStB,gBAAgB,CACd,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG;QAClC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACxC,WAAW,EAAE,MAAM,CAAC;KACrB,GACA,aAAa;IAkEhB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI;IACtF,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa;IA8DnD,gBAAgB,IAAI,aAAa;IA0C3B,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAOnE,YAAY,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IA0BrE,iBAAiB,IAAI,IAAI;IAiEzB,QAAQ,IAAI,UAAU;IAYtB,iBAAiB,IAAI,MAAM;IAIrB,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,OAAO,CACR,KAAK,CAAC;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;KAC3C,CAAC,CACH;IA2BD,OAAO,CAAC,UAAU;IA8ClB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;CAoDzB"}