@soleri/core 2.1.0 → 2.4.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 (207) hide show
  1. package/dist/brain/brain.d.ts +3 -1
  2. package/dist/brain/brain.d.ts.map +1 -1
  3. package/dist/brain/brain.js +60 -4
  4. package/dist/brain/brain.js.map +1 -1
  5. package/dist/brain/intelligence.d.ts +36 -1
  6. package/dist/brain/intelligence.d.ts.map +1 -1
  7. package/dist/brain/intelligence.js +119 -14
  8. package/dist/brain/intelligence.js.map +1 -1
  9. package/dist/brain/types.d.ts +32 -0
  10. package/dist/brain/types.d.ts.map +1 -1
  11. package/dist/control/identity-manager.d.ts +22 -0
  12. package/dist/control/identity-manager.d.ts.map +1 -0
  13. package/dist/control/identity-manager.js +233 -0
  14. package/dist/control/identity-manager.js.map +1 -0
  15. package/dist/control/intent-router.d.ts +32 -0
  16. package/dist/control/intent-router.d.ts.map +1 -0
  17. package/dist/control/intent-router.js +242 -0
  18. package/dist/control/intent-router.js.map +1 -0
  19. package/dist/control/types.d.ts +68 -0
  20. package/dist/control/types.d.ts.map +1 -0
  21. package/dist/control/types.js +9 -0
  22. package/dist/control/types.js.map +1 -0
  23. package/dist/curator/curator.d.ts +29 -0
  24. package/dist/curator/curator.d.ts.map +1 -1
  25. package/dist/curator/curator.js +135 -0
  26. package/dist/curator/curator.js.map +1 -1
  27. package/dist/facades/types.d.ts +1 -1
  28. package/dist/governance/governance.d.ts +42 -0
  29. package/dist/governance/governance.d.ts.map +1 -0
  30. package/dist/governance/governance.js +488 -0
  31. package/dist/governance/governance.js.map +1 -0
  32. package/dist/governance/index.d.ts +3 -0
  33. package/dist/governance/index.d.ts.map +1 -0
  34. package/dist/governance/index.js +2 -0
  35. package/dist/governance/index.js.map +1 -0
  36. package/dist/governance/types.d.ts +102 -0
  37. package/dist/governance/types.d.ts.map +1 -0
  38. package/dist/governance/types.js +3 -0
  39. package/dist/governance/types.js.map +1 -0
  40. package/dist/index.d.ts +32 -3
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +29 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/logging/logger.d.ts +37 -0
  45. package/dist/logging/logger.d.ts.map +1 -0
  46. package/dist/logging/logger.js +145 -0
  47. package/dist/logging/logger.js.map +1 -0
  48. package/dist/logging/types.d.ts +19 -0
  49. package/dist/logging/types.d.ts.map +1 -0
  50. package/dist/logging/types.js +2 -0
  51. package/dist/logging/types.js.map +1 -0
  52. package/dist/loop/loop-manager.d.ts +49 -0
  53. package/dist/loop/loop-manager.d.ts.map +1 -0
  54. package/dist/loop/loop-manager.js +105 -0
  55. package/dist/loop/loop-manager.js.map +1 -0
  56. package/dist/loop/types.d.ts +35 -0
  57. package/dist/loop/types.d.ts.map +1 -0
  58. package/dist/loop/types.js +8 -0
  59. package/dist/loop/types.js.map +1 -0
  60. package/dist/planning/gap-analysis.d.ts +29 -0
  61. package/dist/planning/gap-analysis.d.ts.map +1 -0
  62. package/dist/planning/gap-analysis.js +265 -0
  63. package/dist/planning/gap-analysis.js.map +1 -0
  64. package/dist/planning/gap-types.d.ts +29 -0
  65. package/dist/planning/gap-types.d.ts.map +1 -0
  66. package/dist/planning/gap-types.js +28 -0
  67. package/dist/planning/gap-types.js.map +1 -0
  68. package/dist/planning/planner.d.ts +150 -1
  69. package/dist/planning/planner.d.ts.map +1 -1
  70. package/dist/planning/planner.js +365 -2
  71. package/dist/planning/planner.js.map +1 -1
  72. package/dist/project/project-registry.d.ts +79 -0
  73. package/dist/project/project-registry.d.ts.map +1 -0
  74. package/dist/project/project-registry.js +276 -0
  75. package/dist/project/project-registry.js.map +1 -0
  76. package/dist/project/types.d.ts +28 -0
  77. package/dist/project/types.d.ts.map +1 -0
  78. package/dist/project/types.js +5 -0
  79. package/dist/project/types.js.map +1 -0
  80. package/dist/runtime/admin-extra-ops.d.ts +13 -0
  81. package/dist/runtime/admin-extra-ops.d.ts.map +1 -0
  82. package/dist/runtime/admin-extra-ops.js +284 -0
  83. package/dist/runtime/admin-extra-ops.js.map +1 -0
  84. package/dist/runtime/admin-ops.d.ts +15 -0
  85. package/dist/runtime/admin-ops.d.ts.map +1 -0
  86. package/dist/runtime/admin-ops.js +322 -0
  87. package/dist/runtime/admin-ops.js.map +1 -0
  88. package/dist/runtime/capture-ops.d.ts +15 -0
  89. package/dist/runtime/capture-ops.d.ts.map +1 -0
  90. package/dist/runtime/capture-ops.js +345 -0
  91. package/dist/runtime/capture-ops.js.map +1 -0
  92. package/dist/runtime/core-ops.d.ts +7 -3
  93. package/dist/runtime/core-ops.d.ts.map +1 -1
  94. package/dist/runtime/core-ops.js +474 -8
  95. package/dist/runtime/core-ops.js.map +1 -1
  96. package/dist/runtime/curator-extra-ops.d.ts +9 -0
  97. package/dist/runtime/curator-extra-ops.d.ts.map +1 -0
  98. package/dist/runtime/curator-extra-ops.js +59 -0
  99. package/dist/runtime/curator-extra-ops.js.map +1 -0
  100. package/dist/runtime/domain-ops.d.ts.map +1 -1
  101. package/dist/runtime/domain-ops.js +59 -13
  102. package/dist/runtime/domain-ops.js.map +1 -1
  103. package/dist/runtime/grading-ops.d.ts +14 -0
  104. package/dist/runtime/grading-ops.d.ts.map +1 -0
  105. package/dist/runtime/grading-ops.js +105 -0
  106. package/dist/runtime/grading-ops.js.map +1 -0
  107. package/dist/runtime/loop-ops.d.ts +13 -0
  108. package/dist/runtime/loop-ops.d.ts.map +1 -0
  109. package/dist/runtime/loop-ops.js +179 -0
  110. package/dist/runtime/loop-ops.js.map +1 -0
  111. package/dist/runtime/memory-cross-project-ops.d.ts +12 -0
  112. package/dist/runtime/memory-cross-project-ops.d.ts.map +1 -0
  113. package/dist/runtime/memory-cross-project-ops.js +165 -0
  114. package/dist/runtime/memory-cross-project-ops.js.map +1 -0
  115. package/dist/runtime/memory-extra-ops.d.ts +13 -0
  116. package/dist/runtime/memory-extra-ops.d.ts.map +1 -0
  117. package/dist/runtime/memory-extra-ops.js +173 -0
  118. package/dist/runtime/memory-extra-ops.js.map +1 -0
  119. package/dist/runtime/orchestrate-ops.d.ts +17 -0
  120. package/dist/runtime/orchestrate-ops.d.ts.map +1 -0
  121. package/dist/runtime/orchestrate-ops.js +240 -0
  122. package/dist/runtime/orchestrate-ops.js.map +1 -0
  123. package/dist/runtime/planning-extra-ops.d.ts +17 -0
  124. package/dist/runtime/planning-extra-ops.d.ts.map +1 -0
  125. package/dist/runtime/planning-extra-ops.js +300 -0
  126. package/dist/runtime/planning-extra-ops.js.map +1 -0
  127. package/dist/runtime/project-ops.d.ts +15 -0
  128. package/dist/runtime/project-ops.d.ts.map +1 -0
  129. package/dist/runtime/project-ops.js +181 -0
  130. package/dist/runtime/project-ops.js.map +1 -0
  131. package/dist/runtime/runtime.d.ts.map +1 -1
  132. package/dist/runtime/runtime.js +44 -1
  133. package/dist/runtime/runtime.js.map +1 -1
  134. package/dist/runtime/types.d.ts +21 -0
  135. package/dist/runtime/types.d.ts.map +1 -1
  136. package/dist/runtime/vault-extra-ops.d.ts +9 -0
  137. package/dist/runtime/vault-extra-ops.d.ts.map +1 -0
  138. package/dist/runtime/vault-extra-ops.js +195 -0
  139. package/dist/runtime/vault-extra-ops.js.map +1 -0
  140. package/dist/telemetry/telemetry.d.ts +48 -0
  141. package/dist/telemetry/telemetry.d.ts.map +1 -0
  142. package/dist/telemetry/telemetry.js +87 -0
  143. package/dist/telemetry/telemetry.js.map +1 -0
  144. package/dist/vault/vault.d.ts +94 -0
  145. package/dist/vault/vault.d.ts.map +1 -1
  146. package/dist/vault/vault.js +340 -1
  147. package/dist/vault/vault.js.map +1 -1
  148. package/package.json +1 -1
  149. package/src/__tests__/admin-extra-ops.test.ts +420 -0
  150. package/src/__tests__/admin-ops.test.ts +271 -0
  151. package/src/__tests__/brain-intelligence.test.ts +205 -0
  152. package/src/__tests__/brain.test.ts +131 -0
  153. package/src/__tests__/capture-ops.test.ts +509 -0
  154. package/src/__tests__/core-ops.test.ts +266 -2
  155. package/src/__tests__/curator-extra-ops.test.ts +359 -0
  156. package/src/__tests__/domain-ops.test.ts +66 -0
  157. package/src/__tests__/governance.test.ts +522 -0
  158. package/src/__tests__/grading-ops.test.ts +340 -0
  159. package/src/__tests__/identity-manager.test.ts +243 -0
  160. package/src/__tests__/intent-router.test.ts +222 -0
  161. package/src/__tests__/logger.test.ts +200 -0
  162. package/src/__tests__/loop-ops.test.ts +398 -0
  163. package/src/__tests__/memory-cross-project-ops.test.ts +246 -0
  164. package/src/__tests__/memory-extra-ops.test.ts +352 -0
  165. package/src/__tests__/orchestrate-ops.test.ts +284 -0
  166. package/src/__tests__/planner.test.ts +331 -0
  167. package/src/__tests__/planning-extra-ops.test.ts +548 -0
  168. package/src/__tests__/project-ops.test.ts +367 -0
  169. package/src/__tests__/vault-extra-ops.test.ts +407 -0
  170. package/src/brain/brain.ts +114 -7
  171. package/src/brain/intelligence.ts +179 -10
  172. package/src/brain/types.ts +38 -0
  173. package/src/control/identity-manager.ts +354 -0
  174. package/src/control/intent-router.ts +326 -0
  175. package/src/control/types.ts +102 -0
  176. package/src/curator/curator.ts +213 -0
  177. package/src/governance/governance.ts +698 -0
  178. package/src/governance/index.ts +18 -0
  179. package/src/governance/types.ts +111 -0
  180. package/src/index.ts +102 -2
  181. package/src/logging/logger.ts +154 -0
  182. package/src/logging/types.ts +21 -0
  183. package/src/loop/loop-manager.ts +130 -0
  184. package/src/loop/types.ts +44 -0
  185. package/src/planning/gap-analysis.ts +506 -0
  186. package/src/planning/gap-types.ts +58 -0
  187. package/src/planning/planner.ts +478 -2
  188. package/src/project/project-registry.ts +358 -0
  189. package/src/project/types.ts +31 -0
  190. package/src/runtime/admin-extra-ops.ts +307 -0
  191. package/src/runtime/admin-ops.ts +329 -0
  192. package/src/runtime/capture-ops.ts +385 -0
  193. package/src/runtime/core-ops.ts +535 -7
  194. package/src/runtime/curator-extra-ops.ts +71 -0
  195. package/src/runtime/domain-ops.ts +65 -13
  196. package/src/runtime/grading-ops.ts +121 -0
  197. package/src/runtime/loop-ops.ts +194 -0
  198. package/src/runtime/memory-cross-project-ops.ts +192 -0
  199. package/src/runtime/memory-extra-ops.ts +186 -0
  200. package/src/runtime/orchestrate-ops.ts +272 -0
  201. package/src/runtime/planning-extra-ops.ts +327 -0
  202. package/src/runtime/project-ops.ts +196 -0
  203. package/src/runtime/runtime.ts +49 -1
  204. package/src/runtime/types.ts +21 -0
  205. package/src/runtime/vault-extra-ops.ts +225 -0
  206. package/src/telemetry/telemetry.ts +118 -0
  207. package/src/vault/vault.ts +412 -1
@@ -0,0 +1,102 @@
1
+ export type PolicyType = 'quota' | 'retention' | 'auto-capture';
2
+ export type PolicyPreset = 'strict' | 'moderate' | 'permissive';
3
+ export type PolicyAction = 'capture' | 'quarantine' | 'reject' | 'propose';
4
+ export interface QuotaPolicy {
5
+ maxEntriesTotal: number;
6
+ maxEntriesPerCategory: number;
7
+ maxEntriesPerType: number;
8
+ warnAtPercent: number;
9
+ }
10
+ export interface RetentionPolicy {
11
+ archiveAfterDays: number;
12
+ minHitsToKeep: number;
13
+ deleteArchivedAfterDays: number;
14
+ }
15
+ export interface AutoCapturePolicy {
16
+ enabled: boolean;
17
+ requireReview: boolean;
18
+ maxPendingProposals: number;
19
+ autoExpireDays: number;
20
+ }
21
+ export interface VaultPolicy {
22
+ projectPath: string;
23
+ quotas: QuotaPolicy;
24
+ retention: RetentionPolicy;
25
+ autoCapture: AutoCapturePolicy;
26
+ }
27
+ export interface QuotaStatus {
28
+ total: number;
29
+ maxTotal: number;
30
+ byCategory: Record<string, number>;
31
+ byType: Record<string, number>;
32
+ warnAtPercent: number;
33
+ isWarning: boolean;
34
+ }
35
+ export interface PolicyDecision {
36
+ allowed: boolean;
37
+ action: PolicyAction;
38
+ reason?: string;
39
+ quotaStatus?: QuotaStatus;
40
+ }
41
+ export interface BatchDecision {
42
+ entry: {
43
+ type: string;
44
+ category: string;
45
+ title?: string;
46
+ };
47
+ decision: PolicyDecision;
48
+ }
49
+ export interface PolicyAuditEntry {
50
+ id: number;
51
+ projectPath: string;
52
+ policyType: string;
53
+ oldConfig: Record<string, unknown> | null;
54
+ newConfig: Record<string, unknown>;
55
+ changedBy: string | null;
56
+ changedAt: number;
57
+ }
58
+ export type ProposalStatus = 'pending' | 'approved' | 'rejected' | 'modified' | 'expired';
59
+ export interface Proposal {
60
+ id: number;
61
+ projectPath: string;
62
+ entryId: string | null;
63
+ title: string;
64
+ type: string;
65
+ category: string;
66
+ proposedData: Record<string, unknown>;
67
+ status: ProposalStatus;
68
+ proposedAt: number;
69
+ decidedAt: number | null;
70
+ decidedBy: string | null;
71
+ modificationNote: string | null;
72
+ source: string;
73
+ }
74
+ export interface ProposalStats {
75
+ total: number;
76
+ pending: number;
77
+ approved: number;
78
+ rejected: number;
79
+ modified: number;
80
+ expired: number;
81
+ acceptanceRate: number;
82
+ byCategory: Record<string, {
83
+ total: number;
84
+ accepted: number;
85
+ rate: number;
86
+ }>;
87
+ }
88
+ export interface GovernanceDashboard {
89
+ vaultSize: number;
90
+ quotaPercent: number;
91
+ quotaStatus: QuotaStatus;
92
+ pendingProposals: number;
93
+ acceptanceRate: number;
94
+ evaluationTrend: Record<string, number>;
95
+ policySummary: {
96
+ maxEntries: number;
97
+ requireReview: boolean;
98
+ archiveAfterDays: number;
99
+ autoExpireDays: number;
100
+ };
101
+ }
102
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/governance/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // ─── Policy Types ───────────────────────────────────────────────────
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/governance/types.ts"],"names":[],"mappings":"AAAA,uEAAuE"}
package/dist/index.d.ts CHANGED
@@ -6,13 +6,21 @@ export { tokenize, calculateTf, calculateTfIdf, cosineSimilarity, jaccardSimilar
6
6
  export type { SparseVector } from './text/similarity.js';
7
7
  export { Curator } from './curator/curator.js';
8
8
  export type { EntryStatus, EntrySource, TagNormalizationResult, CanonicalTag, DuplicateCandidate, DuplicateDetectionResult, Contradiction, ContradictionStatus, GroomResult, GroomAllResult, ConsolidationOptions, ConsolidationResult, ChangelogEntry, HealthMetrics, HealthAuditResult, CuratorStatus, } from './curator/types.js';
9
+ export { Governance } from './governance/governance.js';
10
+ export type { PolicyType, PolicyPreset, PolicyAction, QuotaPolicy, RetentionPolicy, AutoCapturePolicy, VaultPolicy, QuotaStatus, PolicyDecision, BatchDecision, PolicyAuditEntry, ProposalStatus, Proposal, ProposalStats, GovernanceDashboard, } from './governance/types.js';
9
11
  export { Brain } from './brain/brain.js';
10
12
  export { BrainIntelligence } from './brain/intelligence.js';
11
- export type { ScoringWeights, ScoreBreakdown, RankedResult, SearchOptions, CaptureResult, BrainStats, QueryContext, PatternStrength, StrengthsQuery, BrainSession, SessionLifecycleInput, KnowledgeProposal, ExtractionResult, GlobalPattern, DomainProfile, BuildIntelligenceResult, BrainIntelligenceStats, SessionContext, BrainExportData, BrainImportResult, } from './brain/types.js';
13
+ export type { ScoringWeights, ScoreBreakdown, RankedResult, SearchOptions, CaptureResult, BrainStats, QueryContext, FeedbackType, FeedbackSource, FeedbackInput, FeedbackEntry, FeedbackStats, PatternStrength, StrengthsQuery, BrainSession, SessionLifecycleInput, KnowledgeProposal, ExtractionResult, GlobalPattern, DomainProfile, BuildIntelligenceResult, BrainIntelligenceStats, SessionContext, BrainExportData, BrainImportResult, } from './brain/types.js';
12
14
  export { CogneeClient } from './cognee/client.js';
13
15
  export type { CogneeConfig, CogneeSearchResult, CogneeSearchType, CogneeStatus, CogneeAddResult, CogneeCognifyResult, } from './cognee/types.js';
14
- export { Planner } from './planning/planner.js';
15
- export type { PlanStatus, TaskStatus, PlanTask, Plan, PlanStore } from './planning/planner.js';
16
+ export { Planner, calculateScore } from './planning/planner.js';
17
+ export type { PlanStatus, TaskStatus, PlanTask, Plan, PlanStore, DriftItem, ReconciliationReport, ReviewEvidence, PlanGrade, PlanCheck, } from './planning/planner.js';
18
+ export { runGapAnalysis } from './planning/gap-analysis.js';
19
+ export type { GapAnalysisOptions, GapAnalysisPass } from './planning/gap-analysis.js';
20
+ export { SEVERITY_WEIGHTS, CATEGORY_PENALTY_CAPS, MIN_OBJECTIVE_LENGTH, MIN_SCOPE_LENGTH, MIN_DECISION_LENGTH, generateGapId, } from './planning/gap-types.js';
21
+ export type { GapSeverity, GapCategory, PlanGap } from './planning/gap-types.js';
22
+ export { LoopManager } from './loop/loop-manager.js';
23
+ export type { LoopMode, LoopConfig, LoopIteration, LoopStatus, LoopState, } from './loop/types.js';
16
24
  export { SecretString, LLMError } from './llm/types.js';
17
25
  export type { LLMCallOptions, LLMCallResult, CircuitState, CircuitBreakerConfig, CircuitBreakerSnapshot, KeyPoolConfig, KeyStatus, RouteEntry, RoutingConfig, RateLimitInfo, RetryConfig, } from './llm/types.js';
18
26
  export { CircuitBreaker, CircuitOpenError, computeDelay, retry, parseRateLimitHeaders, } from './llm/utils.js';
@@ -22,8 +30,29 @@ export { registerFacade, registerAllFacades } from './facades/facade-factory.js'
22
30
  export { facadeInputSchema } from './facades/types.js';
23
31
  export type { OpHandler, AuthLevel, OpDefinition, FacadeConfig, FacadeResponse, FacadeInput, } from './facades/types.js';
24
32
  export { LLMClient } from './llm/llm-client.js';
33
+ export { IdentityManager } from './control/identity-manager.js';
34
+ export { IntentRouter } from './control/intent-router.js';
35
+ export type { GuidelineCategory, Guideline, AgentIdentity, IdentityVersion, IdentityUpdateInput, GuidelineInput, IntentType, OperationalMode, IntentClassification, ModeConfig, MorphResult, } from './control/types.js';
36
+ export { ProjectRegistry } from './project/project-registry.js';
37
+ export type { RegisteredProject, ProjectRule, LinkType, ProjectLink } from './project/types.js';
38
+ export { Telemetry } from './telemetry/telemetry.js';
39
+ export type { FacadeCall, TelemetryStats } from './telemetry/telemetry.js';
40
+ export { Logger, createLogger } from './logging/logger.js';
41
+ export type { LogLevel, LogEntry, LogContext, LoggerConfig } from './logging/types.js';
25
42
  export { createAgentRuntime } from './runtime/runtime.js';
26
43
  export { createCoreOps } from './runtime/core-ops.js';
27
44
  export { createDomainFacade, createDomainFacades } from './runtime/domain-ops.js';
45
+ export { createPlanningExtraOps } from './runtime/planning-extra-ops.js';
46
+ export { createMemoryExtraOps } from './runtime/memory-extra-ops.js';
47
+ export { createVaultExtraOps } from './runtime/vault-extra-ops.js';
48
+ export { createAdminOps } from './runtime/admin-ops.js';
49
+ export { createAdminExtraOps } from './runtime/admin-extra-ops.js';
50
+ export { createLoopOps } from './runtime/loop-ops.js';
51
+ export { createOrchestrateOps } from './runtime/orchestrate-ops.js';
52
+ export { createGradingOps } from './runtime/grading-ops.js';
53
+ export { createCaptureOps } from './runtime/capture-ops.js';
54
+ export { createCuratorExtraOps } from './runtime/curator-extra-ops.js';
55
+ export { createProjectOps } from './runtime/project-ops.js';
56
+ export { createMemoryCrossProjectOps } from './runtime/memory-cross-project-ops.js';
28
57
  export type { AgentRuntimeConfig, AgentRuntime } from './runtime/types.js';
29
58
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,13 +5,20 @@ export { Vault } from './vault/vault.js';
5
5
  export { tokenize, calculateTf, calculateTfIdf, cosineSimilarity, jaccardSimilarity, } from './text/similarity.js';
6
6
  // ─── Curator ────────────────────────────────────────────────────────
7
7
  export { Curator } from './curator/curator.js';
8
+ // ─── Governance ─────────────────────────────────────────────────────
9
+ export { Governance } from './governance/governance.js';
8
10
  // ─── Brain ───────────────────────────────────────────────────────────
9
11
  export { Brain } from './brain/brain.js';
10
12
  export { BrainIntelligence } from './brain/intelligence.js';
11
13
  // ─── Cognee ─────────────────────────────────────────────────────────
12
14
  export { CogneeClient } from './cognee/client.js';
13
15
  // ─── Planning ────────────────────────────────────────────────────────
14
- export { Planner } from './planning/planner.js';
16
+ export { Planner, calculateScore } from './planning/planner.js';
17
+ // ─── Plan Gap Analysis ──────────────────────────────────────────────
18
+ export { runGapAnalysis } from './planning/gap-analysis.js';
19
+ export { SEVERITY_WEIGHTS, CATEGORY_PENALTY_CAPS, MIN_OBJECTIVE_LENGTH, MIN_SCOPE_LENGTH, MIN_DECISION_LENGTH, generateGapId, } from './planning/gap-types.js';
20
+ // ─── Loop ────────────────────────────────────────────────────────────
21
+ export { LoopManager } from './loop/loop-manager.js';
15
22
  // ─── LLM Types ───────────────────────────────────────────────────────
16
23
  export { SecretString, LLMError } from './llm/types.js';
17
24
  // ─── LLM Utils ───────────────────────────────────────────────────────
@@ -23,8 +30,29 @@ export { registerFacade, registerAllFacades } from './facades/facade-factory.js'
23
30
  export { facadeInputSchema } from './facades/types.js';
24
31
  // ─── LLM Client ─────────────────────────────────────────────────────
25
32
  export { LLMClient } from './llm/llm-client.js';
33
+ // ─── Control ────────────────────────────────────────────────────────
34
+ export { IdentityManager } from './control/identity-manager.js';
35
+ export { IntentRouter } from './control/intent-router.js';
36
+ // ─── Project Registry ──────────────────────────────────────────────
37
+ export { ProjectRegistry } from './project/project-registry.js';
38
+ // ─── Telemetry ─────────────────────────────────────────────────────
39
+ export { Telemetry } from './telemetry/telemetry.js';
40
+ // ─── Logging ────────────────────────────────────────────────────────
41
+ export { Logger, createLogger } from './logging/logger.js';
26
42
  // ─── Runtime Factory ────────────────────────────────────────────────
27
43
  export { createAgentRuntime } from './runtime/runtime.js';
28
44
  export { createCoreOps } from './runtime/core-ops.js';
29
45
  export { createDomainFacade, createDomainFacades } from './runtime/domain-ops.js';
46
+ export { createPlanningExtraOps } from './runtime/planning-extra-ops.js';
47
+ export { createMemoryExtraOps } from './runtime/memory-extra-ops.js';
48
+ export { createVaultExtraOps } from './runtime/vault-extra-ops.js';
49
+ export { createAdminOps } from './runtime/admin-ops.js';
50
+ export { createAdminExtraOps } from './runtime/admin-extra-ops.js';
51
+ export { createLoopOps } from './runtime/loop-ops.js';
52
+ export { createOrchestrateOps } from './runtime/orchestrate-ops.js';
53
+ export { createGradingOps } from './runtime/grading-ops.js';
54
+ export { createCaptureOps } from './runtime/capture-ops.js';
55
+ export { createCuratorExtraOps } from './runtime/curator-extra-ops.js';
56
+ export { createProjectOps } from './runtime/project-ops.js';
57
+ export { createMemoryCrossProjectOps } from './runtime/memory-cross-project-ops.js';
30
58
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,wEAAwE;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,uEAAuE;AACvE,OAAO,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAG9B,uEAAuE;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAoB/C,wEAAwE;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAwB5D,uEAAuE;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUlD,wEAAwE;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGhD,wEAAwE;AACxE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAexD,wEAAwE;AACxE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,KAAK,EACL,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,uEAAuE;AACvE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG/D,wEAAwE;AACxE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAUvD,uEAAuE;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,uEAAuE;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Structured logger for Soleri agents.
3
+ *
4
+ * All output routes through stderr (stdout is reserved for MCP JSON-RPC).
5
+ * Supports optional file logging with daily rotation and 7-day retention.
6
+ *
7
+ * Ported from Salvador MCP's src/utils/logger.ts.
8
+ */
9
+ import type { LogContext, LoggerConfig } from './types.js';
10
+ export declare class Logger {
11
+ private readonly prefix;
12
+ private readonly minLevel;
13
+ private fileLogDir;
14
+ private fileLogPrefix;
15
+ private currentLogDate;
16
+ private currentLogPath;
17
+ constructor(config?: LoggerConfig);
18
+ /**
19
+ * Enable file-based logging. Output is teed to
20
+ * {dir}/{prefix}-YYYY-MM-DD.log in addition to stderr.
21
+ * Automatically prunes log files older than 7 days.
22
+ */
23
+ enableFileLog(dir: string, prefix?: string): void;
24
+ debug(message: string, context?: LogContext): void;
25
+ info(message: string, context?: LogContext): void;
26
+ warn(message: string, context?: LogContext): void;
27
+ error(message: string, context?: LogContext): void;
28
+ private log;
29
+ private writeToFile;
30
+ /** Switch to a new log file if the date has changed */
31
+ private rotateFileIfNeeded;
32
+ /** Remove log files older than LOG_RETENTION_DAYS */
33
+ private pruneOldLogs;
34
+ }
35
+ /** Factory function for creating a logger. */
36
+ export declare function createLogger(config?: LoggerConfig): Logger;
37
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAY,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgBrE,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAuB;gBAEjC,MAAM,CAAC,EAAE,YAAY;IAajC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,OAAO,CAAC,GAAG;IAkBX,OAAO,CAAC,WAAW;IAoBnB,uDAAuD;IACvD,OAAO,CAAC,kBAAkB;IAS1B,qDAAqD;IACrD,OAAO,CAAC,YAAY;CAsBrB;AAED,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Structured logger for Soleri agents.
3
+ *
4
+ * All output routes through stderr (stdout is reserved for MCP JSON-RPC).
5
+ * Supports optional file logging with daily rotation and 7-day retention.
6
+ *
7
+ * Ported from Salvador MCP's src/utils/logger.ts.
8
+ */
9
+ import { appendFileSync, mkdirSync, readdirSync, unlinkSync } from 'node:fs';
10
+ import { join } from 'node:path';
11
+ const LEVEL_ORDER = ['debug', 'info', 'warn', 'error'];
12
+ // MCP stdio servers must keep stdout clean for JSON-RPC.
13
+ // Route ALL log levels through stderr (console.error/console.warn).
14
+ const LEVEL_METHODS = {
15
+ debug: 'error',
16
+ info: 'error',
17
+ warn: 'warn',
18
+ error: 'error',
19
+ };
20
+ /** Max age for log files before auto-pruning (7 days) */
21
+ const LOG_RETENTION_DAYS = 7;
22
+ export class Logger {
23
+ prefix;
24
+ minLevel;
25
+ fileLogDir = null;
26
+ fileLogPrefix;
27
+ currentLogDate = null;
28
+ currentLogPath = null;
29
+ constructor(config) {
30
+ this.prefix = config?.prefix ?? '[Soleri]';
31
+ this.fileLogPrefix = 'agent';
32
+ const envLevel = process.env.SOLERI_LOG_LEVEL;
33
+ const level = config?.level ?? envLevel ?? 'info';
34
+ const levelIndex = LEVEL_ORDER.indexOf(level);
35
+ this.minLevel = levelIndex >= 0 ? levelIndex : LEVEL_ORDER.indexOf('info');
36
+ if (config?.fileLogDir) {
37
+ this.enableFileLog(config.fileLogDir);
38
+ }
39
+ }
40
+ /**
41
+ * Enable file-based logging. Output is teed to
42
+ * {dir}/{prefix}-YYYY-MM-DD.log in addition to stderr.
43
+ * Automatically prunes log files older than 7 days.
44
+ */
45
+ enableFileLog(dir, prefix) {
46
+ mkdirSync(dir, { recursive: true });
47
+ this.fileLogDir = dir;
48
+ if (prefix)
49
+ this.fileLogPrefix = prefix;
50
+ this.rotateFileIfNeeded();
51
+ this.pruneOldLogs();
52
+ }
53
+ debug(message, context) {
54
+ this.log('debug', message, context);
55
+ }
56
+ info(message, context) {
57
+ this.log('info', message, context);
58
+ }
59
+ warn(message, context) {
60
+ this.log('warn', message, context);
61
+ }
62
+ error(message, context) {
63
+ this.log('error', message, context);
64
+ }
65
+ log(level, message, context) {
66
+ if (LEVEL_ORDER.indexOf(level) < this.minLevel)
67
+ return;
68
+ const method = LEVEL_METHODS[level];
69
+ const tag = level.toUpperCase();
70
+ // Console output (stderr)
71
+ if (context) {
72
+ console[method](`${this.prefix}[${tag}] ${message}`, context);
73
+ }
74
+ else {
75
+ console[method](`${this.prefix}[${tag}] ${message}`);
76
+ }
77
+ // File output (if enabled)
78
+ if (this.fileLogDir) {
79
+ this.writeToFile(tag, message, context);
80
+ }
81
+ }
82
+ writeToFile(tag, message, context) {
83
+ this.rotateFileIfNeeded();
84
+ if (!this.currentLogPath)
85
+ return;
86
+ const ts = new Date().toISOString();
87
+ let line = `${ts} [${tag}] ${message}`;
88
+ if (context) {
89
+ try {
90
+ line += ' ' + JSON.stringify(context);
91
+ }
92
+ catch {
93
+ // Skip unserializable context
94
+ }
95
+ }
96
+ try {
97
+ appendFileSync(this.currentLogPath, line + '\n');
98
+ }
99
+ catch {
100
+ // Silently fail — file logging should never break the app
101
+ }
102
+ }
103
+ /** Switch to a new log file if the date has changed */
104
+ rotateFileIfNeeded() {
105
+ if (!this.fileLogDir)
106
+ return;
107
+ const today = new Date().toISOString().slice(0, 10); // YYYY-MM-DD
108
+ if (today !== this.currentLogDate) {
109
+ this.currentLogDate = today;
110
+ this.currentLogPath = join(this.fileLogDir, `${this.fileLogPrefix}-${today}.log`);
111
+ }
112
+ }
113
+ /** Remove log files older than LOG_RETENTION_DAYS */
114
+ pruneOldLogs() {
115
+ if (!this.fileLogDir)
116
+ return;
117
+ const prefix = this.fileLogPrefix;
118
+ try {
119
+ const cutoff = Date.now() - LOG_RETENTION_DAYS * 24 * 60 * 60 * 1000;
120
+ const files = readdirSync(this.fileLogDir);
121
+ for (const file of files) {
122
+ if (!file.startsWith(`${prefix}-`) || !file.endsWith('.log'))
123
+ continue;
124
+ const dateStr = file.slice(`${prefix}-`.length, -'.log'.length);
125
+ const fileDate = new Date(dateStr).getTime();
126
+ if (!isNaN(fileDate) && fileDate < cutoff) {
127
+ try {
128
+ unlinkSync(join(this.fileLogDir, file));
129
+ }
130
+ catch {
131
+ // Ignore individual file deletion errors
132
+ }
133
+ }
134
+ }
135
+ }
136
+ catch {
137
+ // Ignore pruning errors
138
+ }
139
+ }
140
+ }
141
+ /** Factory function for creating a logger. */
142
+ export function createLogger(config) {
143
+ return new Logger(config);
144
+ }
145
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
2
+ export interface LogContext {
3
+ [key: string]: unknown;
4
+ }
5
+ export interface LogEntry {
6
+ level: LogLevel;
7
+ message: string;
8
+ context?: LogContext;
9
+ timestamp: string;
10
+ }
11
+ export interface LoggerConfig {
12
+ /** Minimum log level. Default: 'info' (or SOLERI_LOG_LEVEL env var) */
13
+ level?: LogLevel;
14
+ /** Prefix for log messages. Default: '[Soleri]' */
15
+ prefix?: string;
16
+ /** Directory for file logging. If set, enables file output on construction. */
17
+ fileLogDir?: string;
18
+ }
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/logging/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/logging/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Loop manager — lightweight in-memory state tracker for iterative
3
+ * validation loops.
4
+ *
5
+ * Tracks active loop, iteration history, and past loop results.
6
+ * Session-scoped (no persistence across restarts).
7
+ */
8
+ import type { LoopConfig, LoopIteration, LoopState } from './types.js';
9
+ export declare class LoopManager {
10
+ private activeLoop;
11
+ private completedLoops;
12
+ /**
13
+ * Start a new validation loop.
14
+ * Throws if a loop is already active.
15
+ */
16
+ startLoop(config: LoopConfig): LoopState;
17
+ /**
18
+ * Record an iteration result on the active loop.
19
+ * If the iteration passes, the loop status is NOT automatically changed —
20
+ * call `completeLoop()` explicitly when validation is confirmed.
21
+ * If max iterations reached and this iteration fails, status becomes 'max-iterations'.
22
+ */
23
+ iterate(result: {
24
+ validationScore?: number;
25
+ validationResult?: string;
26
+ passed: boolean;
27
+ }): LoopIteration;
28
+ /**
29
+ * Mark the active loop as completed (validation passed).
30
+ */
31
+ completeLoop(): LoopState;
32
+ /**
33
+ * Cancel the active loop.
34
+ */
35
+ cancelLoop(): LoopState;
36
+ /**
37
+ * Get current loop status. Returns null if no active loop.
38
+ */
39
+ getStatus(): LoopState | null;
40
+ /**
41
+ * Get history of all completed/cancelled/max-iterations loops.
42
+ */
43
+ getHistory(): LoopState[];
44
+ /**
45
+ * Check if a loop is currently active.
46
+ */
47
+ isActive(): boolean;
48
+ }
49
+ //# sourceMappingURL=loop-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-manager.d.ts","sourceRoot":"","sources":["../../src/loop/loop-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvE,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAAmB;IAEzC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS;IAoBxC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC;KACjB,GAAG,aAAa;IA6BjB;;OAEG;IACH,YAAY,IAAI,SAAS;IAazB;;OAEG;IACH,UAAU,IAAI,SAAS;IAavB;;OAEG;IACH,SAAS,IAAI,SAAS,GAAG,IAAI;IAI7B;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE;IAIzB;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGpB"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Loop manager — lightweight in-memory state tracker for iterative
3
+ * validation loops.
4
+ *
5
+ * Tracks active loop, iteration history, and past loop results.
6
+ * Session-scoped (no persistence across restarts).
7
+ */
8
+ export class LoopManager {
9
+ activeLoop = null;
10
+ completedLoops = [];
11
+ /**
12
+ * Start a new validation loop.
13
+ * Throws if a loop is already active.
14
+ */
15
+ startLoop(config) {
16
+ if (this.activeLoop) {
17
+ throw new Error(`Loop already active: ${this.activeLoop.id} (mode: ${this.activeLoop.config.mode}). ` +
18
+ 'Cancel or complete it first.');
19
+ }
20
+ const loop = {
21
+ id: `loop-${Date.now()}`,
22
+ config,
23
+ iterations: [],
24
+ status: 'active',
25
+ startedAt: new Date().toISOString(),
26
+ };
27
+ this.activeLoop = loop;
28
+ return loop;
29
+ }
30
+ /**
31
+ * Record an iteration result on the active loop.
32
+ * If the iteration passes, the loop status is NOT automatically changed —
33
+ * call `completeLoop()` explicitly when validation is confirmed.
34
+ * If max iterations reached and this iteration fails, status becomes 'max-iterations'.
35
+ */
36
+ iterate(result) {
37
+ if (!this.activeLoop) {
38
+ throw new Error('No active loop. Start one first.');
39
+ }
40
+ const iteration = {
41
+ iteration: this.activeLoop.iterations.length + 1,
42
+ timestamp: new Date().toISOString(),
43
+ validationScore: result.validationScore,
44
+ validationResult: result.validationResult,
45
+ passed: result.passed,
46
+ };
47
+ this.activeLoop.iterations.push(iteration);
48
+ // Auto-transition to max-iterations if limit reached and not passing
49
+ if (!result.passed &&
50
+ this.activeLoop.iterations.length >= this.activeLoop.config.maxIterations) {
51
+ this.activeLoop.status = 'max-iterations';
52
+ this.activeLoop.completedAt = new Date().toISOString();
53
+ this.completedLoops.push(this.activeLoop);
54
+ this.activeLoop = null;
55
+ }
56
+ return iteration;
57
+ }
58
+ /**
59
+ * Mark the active loop as completed (validation passed).
60
+ */
61
+ completeLoop() {
62
+ if (!this.activeLoop) {
63
+ throw new Error('No active loop to complete.');
64
+ }
65
+ this.activeLoop.status = 'completed';
66
+ this.activeLoop.completedAt = new Date().toISOString();
67
+ const completed = this.activeLoop;
68
+ this.completedLoops.push(completed);
69
+ this.activeLoop = null;
70
+ return completed;
71
+ }
72
+ /**
73
+ * Cancel the active loop.
74
+ */
75
+ cancelLoop() {
76
+ if (!this.activeLoop) {
77
+ throw new Error('No active loop to cancel.');
78
+ }
79
+ this.activeLoop.status = 'cancelled';
80
+ this.activeLoop.completedAt = new Date().toISOString();
81
+ const cancelled = this.activeLoop;
82
+ this.completedLoops.push(cancelled);
83
+ this.activeLoop = null;
84
+ return cancelled;
85
+ }
86
+ /**
87
+ * Get current loop status. Returns null if no active loop.
88
+ */
89
+ getStatus() {
90
+ return this.activeLoop;
91
+ }
92
+ /**
93
+ * Get history of all completed/cancelled/max-iterations loops.
94
+ */
95
+ getHistory() {
96
+ return [...this.completedLoops];
97
+ }
98
+ /**
99
+ * Check if a loop is currently active.
100
+ */
101
+ isActive() {
102
+ return this.activeLoop !== null;
103
+ }
104
+ }
105
+ //# sourceMappingURL=loop-manager.js.map