@hongmaple0820/scale-engine 0.33.0 → 0.39.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 (159) hide show
  1. package/README.en.md +86 -376
  2. package/README.md +95 -540
  3. package/dist/api/cli.js +293 -18
  4. package/dist/api/cli.js.map +1 -1
  5. package/dist/api/doctor.d.ts +38 -3
  6. package/dist/api/doctor.js +269 -44
  7. package/dist/api/doctor.js.map +1 -1
  8. package/dist/api/mcp.js +2 -2
  9. package/dist/api/mcp.js.map +1 -1
  10. package/dist/api/quickstart.d.ts +34 -4
  11. package/dist/api/quickstart.js +90 -73
  12. package/dist/api/quickstart.js.map +1 -1
  13. package/dist/bootstrap/DependencyBootstrap.d.ts +110 -0
  14. package/dist/bootstrap/DependencyBootstrap.js +829 -0
  15. package/dist/bootstrap/DependencyBootstrap.js.map +1 -0
  16. package/dist/bootstrap/DependencyBootstrapRenderer.d.ts +3 -0
  17. package/dist/bootstrap/DependencyBootstrapRenderer.js +140 -0
  18. package/dist/bootstrap/DependencyBootstrapRenderer.js.map +1 -0
  19. package/dist/capabilities/InstalledSkillsIntegration.js +14 -6
  20. package/dist/capabilities/InstalledSkillsIntegration.js.map +1 -1
  21. package/dist/cli/gateStatusCommands.d.ts +1 -0
  22. package/dist/cli/gateStatusCommands.js +52 -0
  23. package/dist/cli/gateStatusCommands.js.map +1 -0
  24. package/dist/cli/phaseCommands.js +15 -3
  25. package/dist/cli/phaseCommands.js.map +1 -1
  26. package/dist/cli/promptCommands.d.ts +1 -0
  27. package/dist/cli/promptCommands.js +57 -0
  28. package/dist/cli/promptCommands.js.map +1 -0
  29. package/dist/cli/scoreCommands.d.ts +1 -0
  30. package/dist/cli/scoreCommands.js +112 -0
  31. package/dist/cli/scoreCommands.js.map +1 -0
  32. package/dist/codegraph/CodeIntelligence.d.ts +12 -0
  33. package/dist/codegraph/CodeIntelligence.js +251 -30
  34. package/dist/codegraph/CodeIntelligence.js.map +1 -1
  35. package/dist/config/profiles.d.ts +12 -0
  36. package/dist/config/profiles.js +39 -4
  37. package/dist/config/profiles.js.map +1 -1
  38. package/dist/context/SessionStartSequence.js +13 -4
  39. package/dist/context/SessionStartSequence.js.map +1 -1
  40. package/dist/core/ExternalCommand.d.ts +9 -0
  41. package/dist/core/ExternalCommand.js +70 -0
  42. package/dist/core/ExternalCommand.js.map +1 -0
  43. package/dist/env/EnvironmentDoctor.d.ts +66 -0
  44. package/dist/env/EnvironmentDoctor.js +365 -0
  45. package/dist/env/EnvironmentDoctor.js.map +1 -0
  46. package/dist/i18n/Language.d.ts +9 -0
  47. package/dist/i18n/Language.js +38 -0
  48. package/dist/i18n/Language.js.map +1 -0
  49. package/dist/index.d.ts +2 -0
  50. package/dist/index.js +2 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/knowledge/CerebrumManager.d.ts +2 -2
  53. package/dist/knowledge/CerebrumManager.js.map +1 -1
  54. package/dist/knowledge/GraphifyKnowledgeBase.d.ts +38 -0
  55. package/dist/knowledge/GraphifyKnowledgeBase.js +409 -0
  56. package/dist/knowledge/GraphifyKnowledgeBase.js.map +1 -0
  57. package/dist/memory/MemoryFabric.js +1 -0
  58. package/dist/memory/MemoryFabric.js.map +1 -1
  59. package/dist/memory/MemoryIntelligence.d.ts +42 -0
  60. package/dist/memory/MemoryIntelligence.js +215 -0
  61. package/dist/memory/MemoryIntelligence.js.map +1 -0
  62. package/dist/memory/MemoryProviders.d.ts +22 -0
  63. package/dist/memory/MemoryProviders.js +171 -5
  64. package/dist/memory/MemoryProviders.js.map +1 -1
  65. package/dist/memory/index.d.ts +1 -0
  66. package/dist/memory/index.js +1 -0
  67. package/dist/memory/index.js.map +1 -1
  68. package/dist/prompts/PromptOptimizer.d.ts +42 -0
  69. package/dist/prompts/PromptOptimizer.js +309 -0
  70. package/dist/prompts/PromptOptimizer.js.map +1 -0
  71. package/dist/runtime/AiOsRuntime.d.ts +2 -0
  72. package/dist/runtime/AiOsRuntime.js +2 -0
  73. package/dist/runtime/AiOsRuntime.js.map +1 -1
  74. package/dist/runtime/ExecutionLedger.d.ts +46 -0
  75. package/dist/runtime/ExecutionLedger.js +71 -0
  76. package/dist/runtime/ExecutionLedger.js.map +1 -0
  77. package/dist/runtime/index.d.ts +1 -0
  78. package/dist/runtime/index.js +1 -0
  79. package/dist/runtime/index.js.map +1 -1
  80. package/dist/setup/SetupWizard.d.ts +42 -0
  81. package/dist/setup/SetupWizard.js +156 -0
  82. package/dist/setup/SetupWizard.js.map +1 -0
  83. package/dist/skills/SkillRepository.js +7 -7
  84. package/dist/skills/SkillRepository.js.map +1 -1
  85. package/dist/skills/routing/SkillPolicy.js +2 -2
  86. package/dist/skills/routing/SkillPolicy.js.map +1 -1
  87. package/dist/testing/DiffTestSelector.js +1 -1
  88. package/dist/testing/DiffTestSelector.js.map +1 -1
  89. package/dist/tools/RtkRuntime.d.ts +9 -0
  90. package/dist/tools/RtkRuntime.js +43 -0
  91. package/dist/tools/RtkRuntime.js.map +1 -0
  92. package/dist/tools/ToolCapabilityRegistry.d.ts +5 -0
  93. package/dist/tools/ToolCapabilityRegistry.js +75 -13
  94. package/dist/tools/ToolCapabilityRegistry.js.map +1 -1
  95. package/dist/tools/ToolOrchestrator.js +6 -4
  96. package/dist/tools/ToolOrchestrator.js.map +1 -1
  97. package/dist/tools/ToolPolicy.js +16 -1
  98. package/dist/tools/ToolPolicy.js.map +1 -1
  99. package/dist/workflow/AdaptiveWorkflowRouter.d.ts +1 -0
  100. package/dist/workflow/AdaptiveWorkflowRouter.js +3 -0
  101. package/dist/workflow/AdaptiveWorkflowRouter.js.map +1 -1
  102. package/dist/workflow/CommitDiscipline.d.ts +68 -0
  103. package/dist/workflow/CommitDiscipline.js +328 -0
  104. package/dist/workflow/CommitDiscipline.js.map +1 -0
  105. package/dist/workflow/CrossRepoOrchestrator.d.ts +92 -0
  106. package/dist/workflow/CrossRepoOrchestrator.js +408 -0
  107. package/dist/workflow/CrossRepoOrchestrator.js.map +1 -0
  108. package/dist/workflow/GateCatalog.d.ts +61 -0
  109. package/dist/workflow/GateCatalog.js +212 -0
  110. package/dist/workflow/GateCatalog.js.map +1 -0
  111. package/dist/workflow/GovernanceRoi.d.ts +52 -0
  112. package/dist/workflow/GovernanceRoi.js +204 -0
  113. package/dist/workflow/GovernanceRoi.js.map +1 -0
  114. package/dist/workflow/GovernanceTemplatePacks.js +19 -4
  115. package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
  116. package/dist/workflow/GovernanceTemplates.js +2 -2
  117. package/dist/workflow/McpGovernance.d.ts +63 -0
  118. package/dist/workflow/McpGovernance.js +198 -0
  119. package/dist/workflow/McpGovernance.js.map +1 -0
  120. package/dist/workflow/SessionCoordinator.d.ts +103 -0
  121. package/dist/workflow/SessionCoordinator.js +401 -0
  122. package/dist/workflow/SessionCoordinator.js.map +1 -0
  123. package/dist/workflow/SessionPreamble.js +7 -2
  124. package/dist/workflow/SessionPreamble.js.map +1 -1
  125. package/dist/workflow/TaskDependencyGraph.d.ts +73 -0
  126. package/dist/workflow/TaskDependencyGraph.js +245 -0
  127. package/dist/workflow/TaskDependencyGraph.js.map +1 -0
  128. package/dist/workflow/TaskScoreEngine.d.ts +42 -0
  129. package/dist/workflow/TaskScoreEngine.js +181 -0
  130. package/dist/workflow/TaskScoreEngine.js.map +1 -0
  131. package/dist/workflow/WorkflowTemplates.d.ts +38 -0
  132. package/dist/workflow/WorkflowTemplates.js +371 -0
  133. package/dist/workflow/WorkflowTemplates.js.map +1 -0
  134. package/dist/workflow/WorkspacePolicy.d.ts +46 -0
  135. package/dist/workflow/WorkspacePolicy.js +141 -0
  136. package/dist/workflow/WorkspacePolicy.js.map +1 -0
  137. package/dist/workflow/WorkspaceTopology.d.ts +3 -0
  138. package/dist/workflow/WorkspaceTopology.js +40 -3
  139. package/dist/workflow/WorkspaceTopology.js.map +1 -1
  140. package/dist/workflow/gates/GateSystem.js +14 -11
  141. package/dist/workflow/gates/GateSystem.js.map +1 -1
  142. package/dist/workflow/index.d.ts +9 -0
  143. package/dist/workflow/index.js +9 -0
  144. package/dist/workflow/index.js.map +1 -1
  145. package/docs/CODE_INTELLIGENCE.md +48 -6
  146. package/docs/EXTERNAL_REFERENCES.md +5 -2
  147. package/docs/MEMORY_FABRIC.md +28 -3
  148. package/docs/SKILL-REPOSITORY.md +3 -3
  149. package/docs/THIRD_PARTY_SKILLS.md +50 -1
  150. package/docs/guides/GETTING_STARTED.md +24 -0
  151. package/docs/start/quickstart.md +107 -69
  152. package/docs/workflow/GATES_AND_SCORE.md +56 -0
  153. package/docs/workflow/PROMPT_OPTIMIZATION.md +44 -0
  154. package/docs/workflow/README.md +7 -0
  155. package/docs/workflow/node-library.md +3 -3
  156. package/docs/workflow/templates/skill-plan.md +1 -1
  157. package/package.json +13 -5
  158. package/scripts/workflow/provider-rehearsal.mjs +425 -0
  159. package/scripts/workflow/setup-smoke.mjs +299 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryFabric.js","sourceRoot":"","sources":["../../src/memory/MemoryFabric.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryFabric.js","sourceRoot":"","sources":["../../src/memory/MemoryFabric.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { MemoryProviderRecallItem } from './MemoryProviders.js';
2
+ export type MemoryQualitySignal = 'confidence' | 'relevance' | 'freshness' | 'evidence-backed' | 'cross-provider' | 'no-contradiction';
3
+ export interface MemoryQualityScore {
4
+ overall: number;
5
+ signals: Record<MemoryQualitySignal, number>;
6
+ warnings: string[];
7
+ }
8
+ export interface MemoryConflict {
9
+ topic: string;
10
+ items: Array<{
11
+ provider: string;
12
+ id: string;
13
+ summary: string;
14
+ confidence: number;
15
+ }>;
16
+ resolution: 'newest-wins' | 'highest-confidence' | 'manual-review';
17
+ resolvedSummary?: string;
18
+ }
19
+ export interface MemoryIntelligenceReport {
20
+ totalRecalled: number;
21
+ qualityScore: MemoryQualityScore;
22
+ conflicts: MemoryConflict[];
23
+ freshnessDistribution: {
24
+ fresh: number;
25
+ stale: number;
26
+ expired: number;
27
+ };
28
+ providerBreakdown: Record<string, {
29
+ count: number;
30
+ avgQuality: number;
31
+ }>;
32
+ recommendations: string[];
33
+ }
34
+ export interface MemoryIntelligenceInput {
35
+ items: MemoryProviderRecallItem[];
36
+ task?: string;
37
+ maxAge?: number;
38
+ }
39
+ export declare function scoreMemoryQuality(input: MemoryIntelligenceInput): MemoryIntelligenceReport;
40
+ export declare function detectMemoryConflicts(items: MemoryProviderRecallItem[]): MemoryConflict[];
41
+ export declare function applyFreshnessDecay(items: MemoryProviderRecallItem[], maxAgeHours?: number): MemoryProviderRecallItem[];
42
+ export declare function summarizeMemoryIntelligence(report: MemoryIntelligenceReport): string;
@@ -0,0 +1,215 @@
1
+ // SCALE Engine — Memory Intelligence (v0.35.0)
2
+ // Unified memory retrieval quality engine with cross-provider scoring, conflict detection, freshness management
3
+ export function scoreMemoryQuality(input) {
4
+ const { items, maxAge = 168 } = input;
5
+ if (items.length === 0) {
6
+ return {
7
+ totalRecalled: 0,
8
+ qualityScore: {
9
+ overall: 0,
10
+ signals: {
11
+ confidence: 0,
12
+ relevance: 0,
13
+ freshness: 0,
14
+ 'evidence-backed': 0,
15
+ 'cross-provider': 0,
16
+ 'no-contradiction': 0,
17
+ },
18
+ warnings: ['No memory items recalled.'],
19
+ },
20
+ conflicts: [],
21
+ freshnessDistribution: { fresh: 0, stale: 0, expired: 0 },
22
+ providerBreakdown: {},
23
+ recommendations: ['Increase memory provider coverage or relax recall filters.'],
24
+ };
25
+ }
26
+ const conflicts = detectMemoryConflicts(items);
27
+ const freshness = classifyFreshness(items, maxAge);
28
+ const providers = groupByProvider(items);
29
+ const confidenceScore = avg(items.map(i => i.confidence));
30
+ const relevanceScore = avg(items.map(i => i.score));
31
+ const freshnessScore = (freshness.fresh * 1.0 + freshness.stale * 0.5) / items.length;
32
+ const evidenceScore = items.filter(i => i.evidencePaths.length > 0).length / items.length;
33
+ const uniqueProviders = new Set(items.map(i => i.provider));
34
+ const crossProviderScore = Math.min(1, uniqueProviders.size / 2);
35
+ const contradictionScore = conflicts.length === 0 ? 1 : Math.max(0, 1 - conflicts.length * 0.2);
36
+ const signals = {
37
+ confidence: round(confidenceScore),
38
+ relevance: round(relevanceScore),
39
+ freshness: round(freshnessScore),
40
+ 'evidence-backed': round(evidenceScore),
41
+ 'cross-provider': round(crossProviderScore),
42
+ 'no-contradiction': round(contradictionScore),
43
+ };
44
+ const overall = round(confidenceScore * 0.25 +
45
+ relevanceScore * 0.25 +
46
+ freshnessScore * 0.2 +
47
+ evidenceScore * 0.15 +
48
+ crossProviderScore * 0.05 +
49
+ contradictionScore * 0.1);
50
+ const warnings = [];
51
+ if (confidenceScore < 0.5)
52
+ warnings.push('Average memory confidence is low.');
53
+ if (freshness.expired > 0)
54
+ warnings.push(`${freshness.expired} expired memory item(s) detected.`);
55
+ if (conflicts.length > 0)
56
+ warnings.push(`${conflicts.length} memory conflict(s) detected.`);
57
+ if (evidenceScore < 0.3)
58
+ warnings.push('Most memory items lack evidence paths.');
59
+ const recommendations = [];
60
+ if (overall < 0.5)
61
+ recommendations.push('Improve memory provider quality or add more evidence-backed memories.');
62
+ if (freshness.expired > items.length * 0.3)
63
+ recommendations.push('Prune expired memories to improve recall quality.');
64
+ if (conflicts.length > 0)
65
+ recommendations.push('Resolve memory contradictions to prevent conflicting guidance.');
66
+ if (uniqueProviders.size < 2)
67
+ recommendations.push('Add a second memory provider for cross-validation.');
68
+ return {
69
+ totalRecalled: items.length,
70
+ qualityScore: { overall, signals, warnings },
71
+ conflicts,
72
+ freshnessDistribution: freshness,
73
+ providerBreakdown: providers,
74
+ recommendations,
75
+ };
76
+ }
77
+ export function detectMemoryConflicts(items) {
78
+ const conflicts = [];
79
+ const byTitle = new Map();
80
+ for (const item of items) {
81
+ const key = normalizeTopic(item.title);
82
+ const group = byTitle.get(key) ?? [];
83
+ group.push(item);
84
+ byTitle.set(key, group);
85
+ }
86
+ for (const [topic, group] of byTitle) {
87
+ if (group.length < 2)
88
+ continue;
89
+ // Check if summaries differ significantly
90
+ const summaries = group.map(i => normalizeTopic(i.summary));
91
+ const allSame = summaries.every(s => s === summaries[0]);
92
+ if (allSame)
93
+ continue;
94
+ const resolution = group.every(i => i.confidence === group[0].confidence)
95
+ ? 'newest-wins'
96
+ : 'highest-confidence';
97
+ const resolved = resolution === 'highest-confidence'
98
+ ? group.reduce((best, curr) => curr.confidence > best.confidence ? curr : best)
99
+ : group[group.length - 1];
100
+ conflicts.push({
101
+ topic,
102
+ items: group.map(i => ({
103
+ provider: i.provider,
104
+ id: i.id,
105
+ summary: i.summary,
106
+ confidence: i.confidence,
107
+ })),
108
+ resolution,
109
+ resolvedSummary: resolved.summary,
110
+ });
111
+ }
112
+ return conflicts;
113
+ }
114
+ export function applyFreshnessDecay(items, maxAgeHours = 168) {
115
+ return items.map(item => {
116
+ const age = getItemAgeHours(item);
117
+ if (age === undefined)
118
+ return item;
119
+ if (age > maxAgeHours) {
120
+ return { ...item, confidence: item.confidence * 0.3, score: item.score * 0.3 };
121
+ }
122
+ if (age > maxAgeHours / 2) {
123
+ return { ...item, confidence: item.confidence * 0.7, score: item.score * 0.7 };
124
+ }
125
+ return item;
126
+ });
127
+ }
128
+ export function summarizeMemoryIntelligence(report) {
129
+ const lines = [
130
+ `## Memory Intelligence Report`,
131
+ '',
132
+ `**Total Recalled:** ${report.totalRecalled}`,
133
+ `**Quality Score:** ${(report.qualityScore.overall * 100).toFixed(0)}%`,
134
+ '',
135
+ '### Quality Signals',
136
+ ];
137
+ for (const [signal, score] of Object.entries(report.qualityScore.signals)) {
138
+ lines.push(`- ${signal}: ${(score * 100).toFixed(0)}%`);
139
+ }
140
+ if (report.qualityScore.warnings.length > 0) {
141
+ lines.push('', '### Warnings');
142
+ for (const w of report.qualityScore.warnings)
143
+ lines.push(`- ${w}`);
144
+ }
145
+ if (report.conflicts.length > 0) {
146
+ lines.push('', `### Conflicts (${report.conflicts.length})`);
147
+ for (const c of report.conflicts) {
148
+ lines.push(`- **${c.topic}**: ${c.items.length} items, resolution: ${c.resolution}`);
149
+ }
150
+ }
151
+ lines.push('', '### Freshness');
152
+ lines.push(`- Fresh: ${report.freshnessDistribution.fresh}`);
153
+ lines.push(`- Stale: ${report.freshnessDistribution.stale}`);
154
+ lines.push(`- Expired: ${report.freshnessDistribution.expired}`);
155
+ if (report.recommendations.length > 0) {
156
+ lines.push('', '### Recommendations');
157
+ for (const r of report.recommendations)
158
+ lines.push(`- ${r}`);
159
+ }
160
+ return lines.join('\n');
161
+ }
162
+ function classifyFreshness(items, maxAgeHours) {
163
+ let fresh = 0, stale = 0, expired = 0;
164
+ for (const item of items) {
165
+ const age = getItemAgeHours(item);
166
+ if (age === undefined) {
167
+ fresh++;
168
+ continue;
169
+ }
170
+ if (age > maxAgeHours)
171
+ expired++;
172
+ else if (age > maxAgeHours / 2)
173
+ stale++;
174
+ else
175
+ fresh++;
176
+ }
177
+ return { fresh, stale, expired };
178
+ }
179
+ function groupByProvider(items) {
180
+ const groups = new Map();
181
+ for (const item of items) {
182
+ const group = groups.get(item.provider) ?? [];
183
+ group.push(item);
184
+ groups.set(item.provider, group);
185
+ }
186
+ const result = {};
187
+ for (const [provider, group] of groups) {
188
+ result[provider] = {
189
+ count: group.length,
190
+ avgQuality: round(avg(group.map(i => (i.confidence + i.score) / 2))),
191
+ };
192
+ }
193
+ return result;
194
+ }
195
+ function getItemAgeHours(item) {
196
+ const ts = item.metadata?.createdAt ?? item.metadata?.timestamp;
197
+ if (typeof ts !== 'string')
198
+ return undefined;
199
+ const date = new Date(ts);
200
+ if (isNaN(date.getTime()))
201
+ return undefined;
202
+ return (Date.now() - date.getTime()) / (1000 * 60 * 60);
203
+ }
204
+ function normalizeTopic(text) {
205
+ return text.toLowerCase().replace(/[^a-z0-9]/g, '').slice(0, 50);
206
+ }
207
+ function avg(values) {
208
+ if (values.length === 0)
209
+ return 0;
210
+ return values.reduce((a, b) => a + b, 0) / values.length;
211
+ }
212
+ function round(n) {
213
+ return Math.round(n * 100) / 100;
214
+ }
215
+ //# sourceMappingURL=MemoryIntelligence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryIntelligence.js","sourceRoot":"","sources":["../../src/memory/MemoryIntelligence.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,19 @@ export interface MemoryProviderRecallReport {
85
85
  providerStatuses: MemoryProviderStatus[];
86
86
  warnings: string[];
87
87
  }
88
+ export interface MemoryProviderUseReport {
89
+ ok: boolean;
90
+ projectDir: string;
91
+ scaleDir: string;
92
+ path: string;
93
+ existed: boolean;
94
+ provider: string;
95
+ mode: MemoryProviderRoutingConfig['mode'];
96
+ previousOrder: string[];
97
+ nextOrder: string[];
98
+ providerStatus?: MemoryProviderStatus;
99
+ warnings: string[];
100
+ }
88
101
  export declare function defaultMemoryProvidersConfig(): MemoryProvidersConfig;
89
102
  export declare function memoryProvidersConfigPath(projectDir?: string, scaleDir?: string): string;
90
103
  export declare function writeMemoryProvidersConfig(options?: {
@@ -105,6 +118,15 @@ export declare function inspectMemoryProviders(options?: {
105
118
  projectDir?: string;
106
119
  scaleDir?: string;
107
120
  }): MemoryProviderStatusReport;
121
+ export declare function useMemoryProvider(options: {
122
+ projectDir?: string;
123
+ scaleDir?: string;
124
+ provider: string;
125
+ mode?: MemoryProviderRoutingConfig['mode'];
126
+ endpoint?: string;
127
+ writeMode?: MemoryProviderWriteMode;
128
+ allowExternalWrite?: boolean;
129
+ }): MemoryProviderUseReport;
108
130
  export declare function recallMemoryProviders(options: {
109
131
  projectDir?: string;
110
132
  scaleDir?: string;
@@ -1,12 +1,13 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { dirname, isAbsolute, join, resolve } from 'node:path';
3
3
  import { MemoryBrain } from './MemoryBrain.js';
4
+ import { externalCommandExists, runExternalCommandSync } from '../core/ExternalCommand.js';
4
5
  export function defaultMemoryProvidersConfig() {
5
6
  return {
6
7
  version: '1.0',
7
8
  routing: {
8
- mode: 'auto',
9
- defaultOrder: ['agentmemory', 'gbrain', 'scale-local'],
9
+ mode: 'external-first',
10
+ defaultOrder: ['gbrain', 'agentmemory', 'scale-local'],
10
11
  allowExternalWrite: false,
11
12
  requireEvidence: true,
12
13
  maxResultsPerProvider: 5,
@@ -33,8 +34,8 @@ export function defaultMemoryProvidersConfig() {
33
34
  {
34
35
  id: 'gbrain',
35
36
  kind: 'gbrain',
36
- enabled: false,
37
- priority: 80,
37
+ enabled: true,
38
+ priority: 95,
38
39
  endpoint: process.env.GBRAIN_ENDPOINT,
39
40
  statusPath: '/health',
40
41
  searchPath: '/search',
@@ -74,6 +75,12 @@ export function writeMemoryProvidersConfig(options = {}) {
74
75
  writeFileSync(path, JSON.stringify(config, null, 2), 'utf-8');
75
76
  return { path, written: true, config };
76
77
  }
78
+ function saveMemoryProvidersConfig(projectDir, scaleDir, config) {
79
+ const path = memoryProvidersConfigPath(projectDir, scaleDir);
80
+ mkdirSync(dirname(path), { recursive: true });
81
+ writeFileSync(path, JSON.stringify(config, null, 2), 'utf-8');
82
+ return path;
83
+ }
77
84
  export function loadMemoryProvidersConfig(projectDir = process.cwd(), scaleDir = '.scale') {
78
85
  const path = memoryProvidersConfigPath(projectDir, scaleDir);
79
86
  if (!existsSync(path))
@@ -117,6 +124,64 @@ export function inspectMemoryProviders(options = {}) {
117
124
  warnings: providerWarnings(statuses, loaded.config),
118
125
  };
119
126
  }
127
+ export function useMemoryProvider(options) {
128
+ const projectDir = resolve(options.projectDir ?? process.cwd());
129
+ const loaded = loadMemoryProvidersConfig(projectDir, options.scaleDir);
130
+ const provider = String(options.provider).trim();
131
+ const config = {
132
+ ...loaded.config,
133
+ routing: {
134
+ ...loaded.config.routing,
135
+ },
136
+ providers: loaded.config.providers.map(item => ({ ...item })),
137
+ };
138
+ const target = config.providers.find(item => item.id === provider);
139
+ if (!target) {
140
+ return {
141
+ ok: false,
142
+ projectDir,
143
+ scaleDir: resolveScaleRoot(projectDir, options.scaleDir),
144
+ path: loaded.path,
145
+ existed: loaded.exists,
146
+ provider,
147
+ mode: config.routing.mode,
148
+ previousOrder: [...loaded.config.routing.defaultOrder],
149
+ nextOrder: [...loaded.config.routing.defaultOrder],
150
+ warnings: [`Unknown memory provider: ${provider}`],
151
+ };
152
+ }
153
+ const previousOrder = [...config.routing.defaultOrder];
154
+ target.enabled = true;
155
+ if (options.endpoint)
156
+ target.endpoint = options.endpoint;
157
+ if (options.writeMode)
158
+ target.writeMode = options.writeMode;
159
+ const nextOrder = [provider, ...config.routing.defaultOrder.filter(item => item !== provider)];
160
+ config.routing.defaultOrder = nextOrder;
161
+ if (typeof options.allowExternalWrite === 'boolean')
162
+ config.routing.allowExternalWrite = options.allowExternalWrite;
163
+ if (options.mode)
164
+ config.routing.mode = options.mode;
165
+ else if (target.kind === 'scale-local')
166
+ config.routing.mode = 'local-only';
167
+ else if (config.routing.mode === 'local-only')
168
+ config.routing.mode = 'external-first';
169
+ const path = saveMemoryProvidersConfig(projectDir, options.scaleDir, config);
170
+ const status = inspectMemoryProviders({ projectDir, scaleDir: options.scaleDir });
171
+ return {
172
+ ok: true,
173
+ projectDir,
174
+ scaleDir: resolveScaleRoot(projectDir, options.scaleDir),
175
+ path,
176
+ existed: loaded.exists,
177
+ provider,
178
+ mode: status.routing.mode,
179
+ previousOrder,
180
+ nextOrder: [...status.routing.defaultOrder],
181
+ providerStatus: status.providers.find(item => item.id === provider),
182
+ warnings: status.warnings,
183
+ };
184
+ }
120
185
  export async function recallMemoryProviders(options) {
121
186
  const projectDir = resolve(options.projectDir ?? process.cwd());
122
187
  const loaded = loadMemoryProvidersConfig(projectDir, options.scaleDir);
@@ -194,6 +259,9 @@ function recallLocal(projectDir, scaleDir, provider, input, limit) {
194
259
  }
195
260
  }
196
261
  async function recallExternal(provider, input, limit) {
262
+ if (provider.kind === 'gbrain' && commandExists('gbrain')) {
263
+ return recallGbrainCli(input, limit);
264
+ }
197
265
  if (!provider.endpoint)
198
266
  return [];
199
267
  const response = await fetch(new URL(provider.searchPath ?? '/search', provider.endpoint), {
@@ -277,11 +345,30 @@ function providerStatus(provider, routing) {
277
345
  reason: 'local MemoryBrain fallback is available',
278
346
  };
279
347
  }
348
+ if (provider.kind === 'gbrain' && commandExists('gbrain')) {
349
+ const health = gbrainCliHealth();
350
+ if (health.available) {
351
+ return {
352
+ ...providerStatusBase(provider, routing),
353
+ available: true,
354
+ reason: health.reason,
355
+ };
356
+ }
357
+ if (!provider.endpoint) {
358
+ return {
359
+ ...providerStatusBase(provider, routing),
360
+ available: false,
361
+ reason: health.reason,
362
+ };
363
+ }
364
+ }
280
365
  if (!provider.endpoint) {
281
366
  return {
282
367
  ...providerStatusBase(provider, routing),
283
368
  available: false,
284
- reason: `${provider.id} requires endpoint configuration before autonomous use`,
369
+ reason: provider.kind === 'gbrain'
370
+ ? `${provider.id} requires either a local gbrain CLI install or endpoint configuration before autonomous use`
371
+ : `${provider.id} requires endpoint configuration before autonomous use`,
285
372
  };
286
373
  }
287
374
  return {
@@ -290,6 +377,26 @@ function providerStatus(provider, routing) {
290
377
  reason: `${provider.id} endpoint configured; recall is read-only unless policy enables writes`,
291
378
  };
292
379
  }
380
+ function gbrainCliHealth() {
381
+ try {
382
+ runExternalCommandSync('gbrain', ['doctor', '--json'], {
383
+ encoding: 'utf-8',
384
+ stdio: ['ignore', 'pipe', 'pipe'],
385
+ timeout: 10_000,
386
+ });
387
+ return { available: true, reason: 'gbrain doctor passed; graph-backed recall is available' };
388
+ }
389
+ catch (error) {
390
+ const err = error;
391
+ const output = `${String(err.stdout ?? '')}\n${String(err.stderr ?? err.message ?? '')}`;
392
+ return {
393
+ available: false,
394
+ reason: /no brain configured/i.test(output)
395
+ ? 'gbrain CLI is installed but no brain is configured; run `gbrain init --pglite` before autonomous recall'
396
+ : `gbrain CLI is installed but doctor failed: ${firstLine(output)}`,
397
+ };
398
+ }
399
+ }
293
400
  function providerStatusBase(provider, routing) {
294
401
  return {
295
402
  id: provider.id,
@@ -317,6 +424,65 @@ function providerWarnings(statuses, config) {
317
424
  }
318
425
  return warnings;
319
426
  }
427
+ function recallGbrainCli(input, limit) {
428
+ const stdout = runExternalCommandSync('gbrain', ['query', input.query], {
429
+ encoding: 'utf-8',
430
+ timeout: 2_500,
431
+ stdio: ['ignore', 'pipe', 'pipe'],
432
+ env: {
433
+ ...process.env,
434
+ GBRAIN_OUTPUT_MODE: process.env.GBRAIN_OUTPUT_MODE ?? 'json',
435
+ },
436
+ });
437
+ return parseGbrainResults(String(stdout))
438
+ .slice(0, limit)
439
+ .map((item, index) => externalToRecall('gbrain', item, index));
440
+ }
441
+ function parseGbrainResults(stdout) {
442
+ const trimmed = stdout.trim();
443
+ if (!trimmed)
444
+ return [];
445
+ try {
446
+ return extractExternalResults(JSON.parse(trimmed));
447
+ }
448
+ catch {
449
+ return parseGbrainTextResults(trimmed);
450
+ }
451
+ }
452
+ function parseGbrainTextResults(stdout) {
453
+ const records = [];
454
+ const lines = stdout.split(/\r?\n/);
455
+ let current = null;
456
+ for (const rawLine of lines) {
457
+ const line = rawLine.trim();
458
+ if (!line)
459
+ continue;
460
+ const ranked = line.match(/^(\d+)\.\s+(.*)$/);
461
+ if (ranked) {
462
+ if (current)
463
+ records.push(current);
464
+ current = { title: ranked[2], summary: ranked[2] };
465
+ continue;
466
+ }
467
+ if (line.startsWith('- ') || line.startsWith('• ')) {
468
+ if (current)
469
+ current.summary = `${String(current.summary ?? '')} ${line.slice(2)}`.trim();
470
+ continue;
471
+ }
472
+ if (current) {
473
+ current.summary = `${String(current.summary ?? '')} ${line}`.trim();
474
+ }
475
+ }
476
+ if (current)
477
+ records.push(current);
478
+ return records;
479
+ }
480
+ function firstLine(value) {
481
+ return value.split(/\r?\n/).map(line => line.trim()).find(Boolean) ?? 'unknown error';
482
+ }
483
+ function commandExists(command) {
484
+ return externalCommandExists(command);
485
+ }
320
486
  function normalizeProviders(input, defaults) {
321
487
  if (!Array.isArray(input))
322
488
  return defaults;