@hongmaple0820/scale-engine 0.18.0 → 0.20.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 (110) hide show
  1. package/README.en.md +310 -237
  2. package/README.md +255 -63
  3. package/dist/api/cli.js +2656 -1258
  4. package/dist/api/cli.js.map +1 -1
  5. package/dist/api/doctor.d.ts +4 -1
  6. package/dist/api/doctor.js +85 -1
  7. package/dist/api/doctor.js.map +1 -1
  8. package/dist/api/quickstart.d.ts +3 -0
  9. package/dist/api/quickstart.js +9 -4
  10. package/dist/api/quickstart.js.map +1 -1
  11. package/dist/cli/phaseCommands.js +7 -0
  12. package/dist/cli/phaseCommands.js.map +1 -1
  13. package/dist/codegraph/CodeIntelligence.d.ts +135 -0
  14. package/dist/codegraph/CodeIntelligence.js +460 -0
  15. package/dist/codegraph/CodeIntelligence.js.map +1 -0
  16. package/dist/context/ContextBudget.d.ts +90 -0
  17. package/dist/context/ContextBudget.js +322 -0
  18. package/dist/context/ContextBudget.js.map +1 -0
  19. package/dist/eval/WorkflowEval.d.ts +161 -0
  20. package/dist/eval/WorkflowEval.js +379 -0
  21. package/dist/eval/WorkflowEval.js.map +1 -0
  22. package/dist/governance/GovernanceRoi.d.ts +25 -0
  23. package/dist/governance/GovernanceRoi.js +70 -0
  24. package/dist/governance/GovernanceRoi.js.map +1 -0
  25. package/dist/governance/ProgressiveGovernance.d.ts +22 -0
  26. package/dist/governance/ProgressiveGovernance.js +159 -0
  27. package/dist/governance/ProgressiveGovernance.js.map +1 -0
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.js +4 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/memory/MemoryBrain.d.ts +135 -0
  32. package/dist/memory/MemoryBrain.js +635 -0
  33. package/dist/memory/MemoryBrain.js.map +1 -0
  34. package/dist/memory/MemoryFabric.d.ts +118 -0
  35. package/dist/memory/MemoryFabric.js +281 -0
  36. package/dist/memory/MemoryFabric.js.map +1 -0
  37. package/dist/memory/MemoryLearning.d.ts +61 -0
  38. package/dist/memory/MemoryLearning.js +203 -0
  39. package/dist/memory/MemoryLearning.js.map +1 -0
  40. package/dist/memory/index.d.ts +3 -0
  41. package/dist/memory/index.js +4 -0
  42. package/dist/memory/index.js.map +1 -0
  43. package/dist/output/GovernanceDashboard.d.ts +57 -0
  44. package/dist/output/GovernanceDashboard.js +250 -0
  45. package/dist/output/GovernanceDashboard.js.map +1 -0
  46. package/dist/output/HTMLArtifactLayer.js +31 -31
  47. package/dist/output/index.d.ts +2 -0
  48. package/dist/output/index.js +1 -0
  49. package/dist/output/index.js.map +1 -1
  50. package/dist/prompts/VibeTemplateGallery.js +121 -121
  51. package/dist/runtime/FinalReportGuard.d.ts +16 -0
  52. package/dist/runtime/FinalReportGuard.js +14 -0
  53. package/dist/runtime/FinalReportGuard.js.map +1 -0
  54. package/dist/runtime/RuntimeDoctor.d.ts +23 -0
  55. package/dist/runtime/RuntimeDoctor.js +151 -0
  56. package/dist/runtime/RuntimeDoctor.js.map +1 -0
  57. package/dist/runtime/RuntimeEvidenceLedger.d.ts +50 -0
  58. package/dist/runtime/RuntimeEvidenceLedger.js +89 -0
  59. package/dist/runtime/RuntimeEvidenceLedger.js.map +1 -0
  60. package/dist/runtime/SessionLedger.d.ts +53 -0
  61. package/dist/runtime/SessionLedger.js +104 -0
  62. package/dist/runtime/SessionLedger.js.map +1 -0
  63. package/dist/runtime/index.d.ts +4 -0
  64. package/dist/runtime/index.js +5 -0
  65. package/dist/runtime/index.js.map +1 -0
  66. package/dist/skills/SkillRadar.d.ts +83 -0
  67. package/dist/skills/SkillRadar.js +384 -0
  68. package/dist/skills/SkillRadar.js.map +1 -0
  69. package/dist/workflow/EngineeringStandards.js +69 -66
  70. package/dist/workflow/EngineeringStandards.js.map +1 -1
  71. package/dist/workflow/GovernanceTemplatePacks.js +126 -126
  72. package/dist/workflow/GovernanceTemplates.d.ts +1 -1
  73. package/dist/workflow/GovernanceTemplates.js +500 -229
  74. package/dist/workflow/GovernanceTemplates.js.map +1 -1
  75. package/dist/workflow/ResourceGovernance.js +27 -18
  76. package/dist/workflow/ResourceGovernance.js.map +1 -1
  77. package/dist/workflow/VerificationCommands.d.ts +11 -0
  78. package/dist/workflow/VerificationCommands.js +2 -0
  79. package/dist/workflow/VerificationCommands.js.map +1 -1
  80. package/dist/workflow/VerificationProfile.d.ts +2 -1
  81. package/dist/workflow/VerificationProfile.js +3 -0
  82. package/dist/workflow/VerificationProfile.js.map +1 -1
  83. package/dist/workflow/WorkflowArtifactWriter.js +2 -1
  84. package/dist/workflow/WorkflowArtifactWriter.js.map +1 -1
  85. package/dist/workflow/WorkflowEngine.js +4 -1
  86. package/dist/workflow/WorkflowEngine.js.map +1 -1
  87. package/dist/workflow/WorkspaceSafety.d.ts +9 -0
  88. package/dist/workflow/WorkspaceSafety.js +49 -0
  89. package/dist/workflow/WorkspaceSafety.js.map +1 -0
  90. package/dist/workflow/gates/GateSystem.d.ts +12 -1
  91. package/dist/workflow/gates/GateSystem.js +106 -0
  92. package/dist/workflow/gates/GateSystem.js.map +1 -1
  93. package/dist/workflow/types.d.ts +1 -1
  94. package/docs/CODE_INTELLIGENCE.md +138 -0
  95. package/docs/CONTEXT_BUDGET.md +87 -0
  96. package/docs/GOVERNANCE_DASHBOARD.md +69 -0
  97. package/docs/MEMORY_BRAIN.md +104 -0
  98. package/docs/MEMORY_FABRIC.md +107 -0
  99. package/docs/README.md +76 -0
  100. package/docs/RUNTIME_EVIDENCE.md +101 -0
  101. package/docs/SKILL_RADAR.md +115 -0
  102. package/docs/WORKFLOW_EVAL.md +151 -0
  103. package/docs/start/README.md +42 -0
  104. package/docs/start/agent-governance-demo.md +107 -0
  105. package/docs/start/quickstart.md +127 -0
  106. package/examples/demo-projects/agent-governance-demo/README.md +37 -0
  107. package/examples/demo-projects/agent-governance-demo/package.json +16 -0
  108. package/examples/demo-projects/agent-governance-demo/src/oauth-state.ts +39 -0
  109. package/examples/demo-projects/agent-governance-demo/tests/oauth-state.test.ts +52 -0
  110. package/package.json +14 -3
@@ -0,0 +1,159 @@
1
+ const MODE_ORDER = ['minimal', 'standard', 'expanded', 'critical'];
2
+ export function normalizeGovernanceMode(value) {
3
+ if (value === undefined || value === null || value === '')
4
+ return undefined;
5
+ const normalized = String(value).trim().toLowerCase();
6
+ if (normalized === 'minimal' || normalized === 'standard' || normalized === 'expanded' || normalized === 'critical')
7
+ return normalized;
8
+ throw new Error(`Invalid governance mode "${String(value)}"; expected minimal, standard, expanded, or critical.`);
9
+ }
10
+ export function evaluateProgressiveGovernance(input = {}) {
11
+ const task = input.task ?? '';
12
+ const changedFiles = (input.changedFiles ?? []).map(normalizePath).filter(Boolean);
13
+ const signals = detectSignals(task, changedFiles);
14
+ const recommendedMode = highestMode(signals.map(signal => signal.mode), changedFiles.length > 0 || task ? 'standard' : 'minimal');
15
+ const requestedMode = input.requestedMode;
16
+ const effectiveMode = highestMode([recommendedMode, requestedMode].filter(Boolean), recommendedMode);
17
+ return {
18
+ requestedMode,
19
+ recommendedMode,
20
+ effectiveMode,
21
+ escalated: Boolean(requestedMode && modeRank(recommendedMode) > modeRank(requestedMode)),
22
+ signals,
23
+ requiredBehaviors: requiredBehaviors(effectiveMode, signals),
24
+ };
25
+ }
26
+ function detectSignals(task, changedFiles) {
27
+ const haystack = `${task} ${changedFiles.join(' ')}`.toLowerCase();
28
+ const signals = [];
29
+ if (changedFiles.length === 0 && !task.trim()) {
30
+ signals.push({
31
+ id: 'no-task-context',
32
+ mode: 'minimal',
33
+ reason: 'No task text or changed files were provided.',
34
+ evidence: [],
35
+ });
36
+ return signals;
37
+ }
38
+ const lowRiskDocsOnly = isDocsOnly(changedFiles) && !/api|auth|security|release|deploy|database|migration|permission/.test(haystack);
39
+ if (lowRiskDocsOnly) {
40
+ signals.push({
41
+ id: 'docs-only-low-risk',
42
+ mode: 'minimal',
43
+ reason: 'Only low-risk documentation files were provided.',
44
+ evidence: changedFiles,
45
+ });
46
+ }
47
+ if (!lowRiskDocsOnly && (changedFiles.length > 0 || task.trim())) {
48
+ signals.push({
49
+ id: 'normal-engineering-work',
50
+ mode: 'standard',
51
+ reason: 'Task has implementation or verification context.',
52
+ evidence: changedFiles.slice(0, 8),
53
+ });
54
+ }
55
+ if (changedFiles.length >= 6 || topLevelCount(changedFiles) >= 3) {
56
+ signals.push({
57
+ id: 'cross-module-scope',
58
+ mode: 'expanded',
59
+ reason: 'Changed files span enough paths to require broader impact analysis.',
60
+ evidence: changedFiles.slice(0, 12),
61
+ });
62
+ }
63
+ if (/ui|ux|frontend|browser|e2e|playwright|desktop|cua|screenshot|visual/.test(haystack)) {
64
+ signals.push({
65
+ id: 'interactive-or-visual-flow',
66
+ mode: 'expanded',
67
+ reason: 'Task touches UI, browser, E2E, desktop, or visual verification.',
68
+ evidence: matchingEvidence(changedFiles, /ui|frontend|browser|e2e|playwright|desktop|visual/i),
69
+ });
70
+ }
71
+ if (/public api|new api|contract|schema|sdk|breaking/.test(haystack)) {
72
+ signals.push({
73
+ id: 'public-interface-change',
74
+ mode: 'expanded',
75
+ reason: 'Task mentions public API, contract, schema, SDK, or breaking behavior.',
76
+ evidence: matchingEvidence(changedFiles, /api|contract|schema|sdk/i),
77
+ });
78
+ }
79
+ if (/auth|permission|secret|token|password|private key|database|migration|production|deploy|release|destructive|delete|drop table|truncate/.test(haystack)) {
80
+ signals.push({
81
+ id: 'critical-risk-domain',
82
+ mode: 'critical',
83
+ reason: 'Task touches auth, permissions, secrets, database, production, release, or destructive operations.',
84
+ evidence: matchingEvidence(changedFiles, /auth|permission|secret|token|database|migration|config|deploy|release|delete/i),
85
+ });
86
+ }
87
+ if (changedFiles.some(file => /\.(env|pem|key|crt)$/i.test(file) || /(^|\/)(migration|migrations|schema|auth|permission|config|deploy|release)(\/|\.|-|_)/i.test(file))) {
88
+ signals.push({
89
+ id: 'critical-file-path',
90
+ mode: 'critical',
91
+ reason: 'Changed file paths include critical config, auth, schema, migration, or secret-like files.',
92
+ evidence: matchingEvidence(changedFiles, /\.(env|pem|key|crt)$/i),
93
+ });
94
+ }
95
+ if (changedFiles.some(file => /\.(html|png|jpg|jpeg|gif|mp4|mov|zip|tar|gz)$/i.test(file) || /docs\/worklog|tmp|report|screenshot|artifact/i.test(file))) {
96
+ signals.push({
97
+ id: 'resource-lifecycle',
98
+ mode: 'standard',
99
+ reason: 'Generated reports, media, temporary files, or task artifacts require resource governance.',
100
+ evidence: matchingEvidence(changedFiles, /\.(html|png|jpg|jpeg|gif|mp4|mov|zip|tar|gz)$/i),
101
+ });
102
+ }
103
+ return dedupeSignals(signals);
104
+ }
105
+ function requiredBehaviors(mode, signals) {
106
+ const behaviors = new Set();
107
+ if (mode === 'minimal') {
108
+ behaviors.add('run relevant validation only');
109
+ return Array.from(behaviors);
110
+ }
111
+ behaviors.add('record verification evidence');
112
+ behaviors.add('summarize context budget');
113
+ if (mode === 'expanded' || mode === 'critical') {
114
+ behaviors.add('attempt code intelligence or explain fallback');
115
+ behaviors.add('run skill radar when tool, browser, UI, or external CLI signals apply');
116
+ }
117
+ if (mode === 'critical') {
118
+ behaviors.add('run security review');
119
+ behaviors.add('record rollback or disable strategy');
120
+ behaviors.add('require human review for destructive, data, auth, or production changes');
121
+ }
122
+ if (signals.some(signal => signal.id === 'resource-lifecycle')) {
123
+ behaviors.add('settle resource lifecycle');
124
+ }
125
+ if (signals.some(signal => signal.id === 'interactive-or-visual-flow')) {
126
+ behaviors.add('collect browser, screenshot, or visual evidence');
127
+ }
128
+ return Array.from(behaviors);
129
+ }
130
+ function highestMode(modes, fallback) {
131
+ if (modes.length === 0)
132
+ return fallback;
133
+ return modes.reduce((current, next) => modeRank(next) > modeRank(current) ? next : current, modes[0]);
134
+ }
135
+ function modeRank(mode) {
136
+ return mode ? MODE_ORDER.indexOf(mode) : -1;
137
+ }
138
+ function isDocsOnly(files) {
139
+ return files.length > 0 && files.every(file => /\.(md|mdx|txt)$/i.test(file) && /^(readme|docs\/|changelog|license)/i.test(file));
140
+ }
141
+ function topLevelCount(files) {
142
+ return new Set(files.map(file => file.split('/')[0]).filter(Boolean)).size;
143
+ }
144
+ function matchingEvidence(files, pattern) {
145
+ return files.filter(file => pattern.test(file)).slice(0, 12);
146
+ }
147
+ function dedupeSignals(signals) {
148
+ const seen = new Set();
149
+ return signals.filter(signal => {
150
+ if (seen.has(signal.id))
151
+ return false;
152
+ seen.add(signal.id);
153
+ return true;
154
+ });
155
+ }
156
+ function normalizePath(path) {
157
+ return path.replace(/\\/g, '/').trim();
158
+ }
159
+ //# sourceMappingURL=ProgressiveGovernance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressiveGovernance.js","sourceRoot":"","sources":["../../src/governance/ProgressiveGovernance.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -49,6 +49,8 @@ export { wireEffects } from './orchestration/EffectsWiring.js';
49
49
  export * from './tools/index.js';
50
50
  export * from './workflow/WorkflowGuidance.js';
51
51
  export * from './workflow/WorkflowOpenTasks.js';
52
+ export * from './runtime/index.js';
53
+ export * from './memory/index.js';
52
54
  export { ModelRouter, DEFAULT_MODELS } from './routing/ModelRouter.js';
53
55
  export { ClaudeCodeAdapter, CodexAdapter, OpenCodeAdapter, CursorAdapter, GeminiAdapter, OpenClawAdapter, HermesAdapter, TraeAdapter, WorkBuddyAdapter, VSCAdapter, QCoderAdapter, DeepSeekTuiAdapter, createAdapter, SUPPORTED_AGENTS, } from './adapters/index.js';
54
56
  export type { IAgentAdapter, AdapterConfig, InitResult, SettingsJson, HookEntry } from './adapters/ClaudeCodeAdapter.js';
package/dist/index.js CHANGED
@@ -52,6 +52,10 @@ export { wireEffects } from './orchestration/EffectsWiring.js';
52
52
  export * from './tools/index.js';
53
53
  export * from './workflow/WorkflowGuidance.js';
54
54
  export * from './workflow/WorkflowOpenTasks.js';
55
+ // Runtime Evidence Governance
56
+ export * from './runtime/index.js';
57
+ // Memory Fabric Context Packs
58
+ export * from './memory/index.js';
55
59
  // Routing
56
60
  export { ModelRouter, DEFAULT_MODELS } from './routing/ModelRouter.js';
57
61
  // Adapters (all 11 platforms)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,oEAAoE;AAEpE,aAAa;AACb,cAAc,qBAAqB,CAAA;AAEnC,MAAM;AACN,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,4BAA4B;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,iBAAiB;AACjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAG3D,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAGxE,gDAAgD;AAChD,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAA;AAGrH,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEhE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAGpE,yBAAyB;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAE7C,wBAAwB;AACxB,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAGtE,qBAAqB;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAGtD,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EACL,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EACtD,qBAAqB,EAAE,kBAAkB,GAC1C,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,wBAAwB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAClF,cAAc,GACf,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,kCAAkC,CAAA;AAUzC,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAE9D,gCAAgC;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAE/C,8BAA8B;AAC9B,cAAc,oBAAoB,CAAA;AAElC,8BAA8B;AAC9B,cAAc,mBAAmB,CAAA;AAEjC,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEtE,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAqB,CAAA;AAG5B,8BAA8B;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,mBAAmB;AACnB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,EACT,OAAO,EACP,OAAO,EACP,GAAG,EACH,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,MAAM,wBAAwB,CAAA;AAE/B,mBAAmB;AACnB,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAU1B,wCAAwC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG1D,yDAAyD;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAChH,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,uBAAuB,CAAA;AAErC,yDAAyD;AACzD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGhF,2DAA2D;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAElE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAE3F,uDAAuD;AACvD,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAGjG,qBAAqB;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAGhE,MAAM;AACN,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,mCAAmC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA"}
@@ -0,0 +1,135 @@
1
+ export type MemoryNodeType = 'fact' | 'decision' | 'incident' | 'relation' | 'contradiction';
2
+ export type MemoryNodeSource = 'runtime-evidence' | 'task-artifact' | 'docs' | 'git' | 'manual';
3
+ export type MemoryNodeScope = 'project' | 'workspace' | 'global-candidate';
4
+ export type MemoryNodeStatus = 'candidate' | 'active' | 'stale' | 'rejected';
5
+ export interface MemoryNode {
6
+ id: string;
7
+ type: MemoryNodeType;
8
+ title: string;
9
+ summary: string;
10
+ entities: string[];
11
+ source: MemoryNodeSource;
12
+ evidencePaths: string[];
13
+ confidence: number;
14
+ scope: MemoryNodeScope;
15
+ status: MemoryNodeStatus;
16
+ createdAt: string;
17
+ updatedAt: string;
18
+ lastVerifiedAt?: string;
19
+ metadata?: Record<string, unknown>;
20
+ }
21
+ export interface MemoryBrainOptions {
22
+ projectDir?: string;
23
+ scaleDir?: string;
24
+ dbPath?: string;
25
+ now?: () => Date;
26
+ }
27
+ export interface MemoryIngestOptions {
28
+ from: 'evidence' | 'candidate' | 'failure';
29
+ taskId?: string;
30
+ sessionId?: string;
31
+ candidateId?: string;
32
+ failureId?: string;
33
+ type?: MemoryNodeType;
34
+ scope?: MemoryNodeScope;
35
+ }
36
+ export interface MemoryIngestReport {
37
+ ok: boolean;
38
+ source: MemoryIngestOptions['from'];
39
+ created: number;
40
+ skipped: number;
41
+ nodes: MemoryNode[];
42
+ warnings: string[];
43
+ }
44
+ export interface MemoryQueryReport {
45
+ query: string;
46
+ count: number;
47
+ nodes: MemoryNode[];
48
+ }
49
+ export interface MemoryContradiction {
50
+ id: string;
51
+ title: string;
52
+ summary: string;
53
+ nodeIds: string[];
54
+ entities: string[];
55
+ evidencePaths: string[];
56
+ confidence: number;
57
+ }
58
+ export interface MemoryContradictionReport {
59
+ ok: boolean;
60
+ count: number;
61
+ contradictions: MemoryContradiction[];
62
+ }
63
+ export interface MemoryDreamReport {
64
+ ok: boolean;
65
+ generatedAt: string;
66
+ summary: {
67
+ total: number;
68
+ active: number;
69
+ candidate: number;
70
+ stale: number;
71
+ missingEvidence: number;
72
+ duplicateGroups: number;
73
+ contradictions: number;
74
+ };
75
+ promotionCandidates: Array<{
76
+ id: string;
77
+ title: string;
78
+ confidence: number;
79
+ evidencePaths: string[];
80
+ }>;
81
+ staleCandidates: Array<{
82
+ id: string;
83
+ title: string;
84
+ reason: string;
85
+ }>;
86
+ duplicateGroups: Array<{
87
+ fingerprint: string;
88
+ nodeIds: string[];
89
+ title: string;
90
+ }>;
91
+ contradictions: MemoryContradiction[];
92
+ suggestedDocs: string[];
93
+ }
94
+ export interface MemoryPromoteReport {
95
+ ok: boolean;
96
+ node?: MemoryNode;
97
+ warnings: string[];
98
+ }
99
+ export declare class MemoryBrain {
100
+ private projectDir;
101
+ private scaleRoot;
102
+ private dbPath;
103
+ private db;
104
+ private now;
105
+ constructor(options?: MemoryBrainOptions);
106
+ addNode(input: Partial<MemoryNode> & Pick<MemoryNode, 'type' | 'title' | 'summary' | 'source'>): MemoryNode;
107
+ ingest(options: MemoryIngestOptions): MemoryIngestReport;
108
+ query(query: string, options?: {
109
+ limit?: number;
110
+ status?: MemoryNodeStatus;
111
+ }): MemoryQueryReport;
112
+ contradictions(): MemoryContradictionReport;
113
+ dream(): MemoryDreamReport;
114
+ promote(id: string, options?: {
115
+ scope?: MemoryNodeScope;
116
+ }): MemoryPromoteReport;
117
+ exportJsonl(): string;
118
+ importJsonl(filePath: string): {
119
+ ok: boolean;
120
+ imported: number;
121
+ skipped: number;
122
+ warnings: string[];
123
+ };
124
+ list(filter?: {
125
+ status?: MemoryNodeStatus;
126
+ scope?: MemoryNodeScope;
127
+ }): MemoryNode[];
128
+ get(id: string): MemoryNode | null;
129
+ private ingestEvidence;
130
+ private ingestCandidate;
131
+ private ingestFailureReplay;
132
+ private readLearningCandidate;
133
+ private upsert;
134
+ private writeManifest;
135
+ }