@hongmaple0820/scale-engine 0.23.0 → 0.25.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 (88) hide show
  1. package/README.en.md +45 -35
  2. package/README.md +61 -55
  3. package/dist/api/cli.js +285 -2
  4. package/dist/api/cli.js.map +1 -1
  5. package/dist/dashboard/MetricsAggregator.d.ts +38 -0
  6. package/dist/dashboard/MetricsAggregator.js +99 -0
  7. package/dist/dashboard/MetricsAggregator.js.map +1 -0
  8. package/dist/dashboard/index.d.ts +2 -0
  9. package/dist/dashboard/index.js +1 -0
  10. package/dist/dashboard/index.js.map +1 -1
  11. package/dist/dashboard/server.js +1 -1
  12. package/dist/dashboard/server.js.map +1 -1
  13. package/dist/evolution/AutoDefectCreator.d.ts +11 -2
  14. package/dist/evolution/AutoDefectCreator.js +46 -2
  15. package/dist/evolution/AutoDefectCreator.js.map +1 -1
  16. package/dist/evolution/EvolutionEngine.d.ts +3 -0
  17. package/dist/evolution/EvolutionEngine.js +18 -2
  18. package/dist/evolution/EvolutionEngine.js.map +1 -1
  19. package/dist/evolution/RuleMaturity.d.ts +39 -0
  20. package/dist/evolution/RuleMaturity.js +70 -0
  21. package/dist/evolution/RuleMaturity.js.map +1 -0
  22. package/dist/guardrails/ActiveRedTeam.d.ts +46 -0
  23. package/dist/guardrails/ActiveRedTeam.js +203 -0
  24. package/dist/guardrails/ActiveRedTeam.js.map +1 -0
  25. package/dist/guardrails/DependencyAuditor.d.ts +68 -0
  26. package/dist/guardrails/DependencyAuditor.js +331 -0
  27. package/dist/guardrails/DependencyAuditor.js.map +1 -0
  28. package/dist/hooks/HookGeneratorEnhanced.js +18 -18
  29. package/dist/index.d.ts +6 -0
  30. package/dist/index.js +5 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/memory/MemoryBrain.d.ts +1 -0
  33. package/dist/memory/MemoryBrain.js +3 -0
  34. package/dist/memory/MemoryBrain.js.map +1 -1
  35. package/dist/memory/MemoryFabric.d.ts +13 -1
  36. package/dist/memory/MemoryFabric.js +35 -0
  37. package/dist/memory/MemoryFabric.js.map +1 -1
  38. package/dist/memory/MemoryProviders.d.ts +111 -0
  39. package/dist/memory/MemoryProviders.js +385 -0
  40. package/dist/memory/MemoryProviders.js.map +1 -0
  41. package/dist/memory/index.d.ts +1 -0
  42. package/dist/memory/index.js +1 -0
  43. package/dist/memory/index.js.map +1 -1
  44. package/dist/output/GovernanceDashboard.d.ts +2 -0
  45. package/dist/output/GovernanceDashboard.js +31 -0
  46. package/dist/output/GovernanceDashboard.js.map +1 -1
  47. package/dist/routing/PromptCachePolicy.d.ts +37 -0
  48. package/dist/routing/PromptCachePolicy.js +97 -0
  49. package/dist/routing/PromptCachePolicy.js.map +1 -0
  50. package/dist/runtime/ModelUsageLedger.d.ts +50 -0
  51. package/dist/runtime/ModelUsageLedger.js +92 -0
  52. package/dist/runtime/ModelUsageLedger.js.map +1 -0
  53. package/dist/runtime/index.d.ts +1 -0
  54. package/dist/runtime/index.js +1 -0
  55. package/dist/runtime/index.js.map +1 -1
  56. package/dist/skills/SkillRadar.js +20 -0
  57. package/dist/skills/SkillRadar.js.map +1 -1
  58. package/dist/skills/SkillRepository.d.ts +9 -1
  59. package/dist/skills/SkillRepository.js +70 -0
  60. package/dist/skills/SkillRepository.js.map +1 -1
  61. package/dist/workflow/autonomous/BackgroundHunter.d.ts +74 -0
  62. package/dist/workflow/autonomous/BackgroundHunter.js +220 -0
  63. package/dist/workflow/autonomous/BackgroundHunter.js.map +1 -0
  64. package/dist/workflow/autonomous/index.d.ts +1 -0
  65. package/dist/workflow/autonomous/index.js +1 -0
  66. package/dist/workflow/autonomous/index.js.map +1 -1
  67. package/dist/workflow/gates/GateSystem.d.ts +10 -0
  68. package/dist/workflow/gates/GateSystem.js +62 -0
  69. package/dist/workflow/gates/GateSystem.js.map +1 -1
  70. package/dist/workflow/gates/VisualGate.d.ts +41 -0
  71. package/dist/workflow/gates/VisualGate.js +174 -0
  72. package/dist/workflow/gates/VisualGate.js.map +1 -0
  73. package/dist/workflow/index.d.ts +1 -0
  74. package/dist/workflow/index.js +1 -0
  75. package/dist/workflow/index.js.map +1 -1
  76. package/docs/ACTIVE_SECURITY_VISUAL_GATES.md +87 -0
  77. package/docs/BACKGROUND_HUNTER.md +62 -0
  78. package/docs/CONTEXT_BUDGET.md +26 -0
  79. package/docs/DEPENDENCY_AUDIT.md +89 -0
  80. package/docs/EVOLUTION_SHADOW_MODE.md +63 -0
  81. package/docs/EXTERNAL_REFERENCES.md +58 -0
  82. package/docs/GOVERNANCE_DASHBOARD.md +16 -0
  83. package/docs/MEMORY_FABRIC.md +27 -0
  84. package/docs/README.md +12 -0
  85. package/docs/SKILL-REPOSITORY.md +57 -0
  86. package/docs/SKILL_RADAR.md +7 -0
  87. package/docs/THIRD_PARTY_SKILLS.md +57 -0
  88. package/package.json +16 -9
@@ -0,0 +1,385 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { dirname, isAbsolute, join, resolve } from 'node:path';
3
+ import { MemoryBrain } from './MemoryBrain.js';
4
+ export function defaultMemoryProvidersConfig() {
5
+ return {
6
+ version: '1.0',
7
+ routing: {
8
+ mode: 'auto',
9
+ defaultOrder: ['agentmemory', 'gbrain', 'scale-local'],
10
+ allowExternalWrite: false,
11
+ requireEvidence: true,
12
+ maxResultsPerProvider: 5,
13
+ },
14
+ providers: [
15
+ {
16
+ id: 'agentmemory',
17
+ kind: 'agentmemory',
18
+ enabled: false,
19
+ priority: 90,
20
+ endpoint: process.env.AGENTMEMORY_ENDPOINT,
21
+ statusPath: '/health',
22
+ searchPath: '/search',
23
+ apiKeyEnv: 'AGENTMEMORY_API_KEY',
24
+ capabilities: ['semantic-recall', 'session-memory', 'mcp'],
25
+ safetyLevel: 'review-required',
26
+ writeMode: 'disabled',
27
+ attribution: {
28
+ license: 'Apache-2.0',
29
+ sourceUrl: 'https://github.com/rohitg00/agentmemory',
30
+ notice: 'Optional external memory provider. Do not enable writes until retention, privacy, and delete boundaries are reviewed.',
31
+ },
32
+ },
33
+ {
34
+ id: 'gbrain',
35
+ kind: 'gbrain',
36
+ enabled: false,
37
+ priority: 80,
38
+ endpoint: process.env.GBRAIN_ENDPOINT,
39
+ statusPath: '/health',
40
+ searchPath: '/search',
41
+ apiKeyEnv: 'GBRAIN_API_KEY',
42
+ capabilities: ['semantic-recall', 'graph-recall', 'session-memory', 'mcp'],
43
+ safetyLevel: 'review-required',
44
+ writeMode: 'disabled',
45
+ attribution: {
46
+ license: 'MIT',
47
+ sourceUrl: 'https://github.com/garrytan/gbrain',
48
+ notice: 'Optional graph memory provider. Treat returned knowledge as recall evidence, not final truth.',
49
+ },
50
+ },
51
+ {
52
+ id: 'scale-local',
53
+ kind: 'scale-local',
54
+ enabled: true,
55
+ priority: 10,
56
+ capabilities: ['keyword-recall'],
57
+ safetyLevel: 'trusted-local',
58
+ writeMode: 'candidate-only',
59
+ },
60
+ ],
61
+ };
62
+ }
63
+ export function memoryProvidersConfigPath(projectDir = process.cwd(), scaleDir = '.scale') {
64
+ return join(resolveScaleRoot(projectDir, scaleDir), 'memory-providers.json');
65
+ }
66
+ export function writeMemoryProvidersConfig(options = {}) {
67
+ const projectDir = resolve(options.projectDir ?? process.cwd());
68
+ const path = memoryProvidersConfigPath(projectDir, options.scaleDir);
69
+ if (existsSync(path) && !options.force) {
70
+ return { path, written: false, config: loadMemoryProvidersConfig(projectDir, options.scaleDir).config };
71
+ }
72
+ mkdirSync(dirname(path), { recursive: true });
73
+ const config = defaultMemoryProvidersConfig();
74
+ writeFileSync(path, JSON.stringify(config, null, 2), 'utf-8');
75
+ return { path, written: true, config };
76
+ }
77
+ export function loadMemoryProvidersConfig(projectDir = process.cwd(), scaleDir = '.scale') {
78
+ const path = memoryProvidersConfigPath(projectDir, scaleDir);
79
+ if (!existsSync(path))
80
+ return { config: defaultMemoryProvidersConfig(), path, exists: false };
81
+ try {
82
+ const parsed = JSON.parse(readFileSync(path, 'utf-8'));
83
+ const defaults = defaultMemoryProvidersConfig();
84
+ return {
85
+ path,
86
+ exists: true,
87
+ config: {
88
+ version: '1.0',
89
+ routing: {
90
+ ...defaults.routing,
91
+ ...(parsed.routing ?? {}),
92
+ defaultOrder: Array.isArray(parsed.routing?.defaultOrder) ? parsed.routing.defaultOrder.map(String) : defaults.routing.defaultOrder,
93
+ maxResultsPerProvider: positiveInt(parsed.routing?.maxResultsPerProvider, defaults.routing.maxResultsPerProvider),
94
+ },
95
+ providers: normalizeProviders(parsed.providers, defaults.providers),
96
+ },
97
+ };
98
+ }
99
+ catch {
100
+ return { config: defaultMemoryProvidersConfig(), path, exists: true };
101
+ }
102
+ }
103
+ export function inspectMemoryProviders(options = {}) {
104
+ const projectDir = resolve(options.projectDir ?? process.cwd());
105
+ const loaded = loadMemoryProvidersConfig(projectDir, options.scaleDir);
106
+ const statuses = loaded.config.providers
107
+ .map(provider => providerStatus(provider, loaded.config.routing))
108
+ .sort((a, b) => b.priority - a.priority || a.id.localeCompare(b.id));
109
+ return {
110
+ projectDir,
111
+ scaleDir: resolveScaleRoot(projectDir, options.scaleDir),
112
+ configPath: loaded.path,
113
+ configExists: loaded.exists,
114
+ routing: loaded.config.routing,
115
+ providers: statuses,
116
+ availableProviderCount: statuses.filter(status => status.available).length,
117
+ warnings: providerWarnings(statuses, loaded.config),
118
+ };
119
+ }
120
+ export async function recallMemoryProviders(options) {
121
+ const projectDir = resolve(options.projectDir ?? process.cwd());
122
+ const loaded = loadMemoryProvidersConfig(projectDir, options.scaleDir);
123
+ const statuses = inspectMemoryProviders({ projectDir, scaleDir: options.scaleDir }).providers;
124
+ const limit = Math.max(1, Math.floor(options.limit ?? loaded.config.routing.maxResultsPerProvider));
125
+ const providers = orderedProviders(loaded.config, options.provider);
126
+ const warnings = [];
127
+ const items = [];
128
+ const selectedProviders = [];
129
+ let fallbackUsed = false;
130
+ for (const provider of providers) {
131
+ const status = statuses.find(item => item.id === provider.id);
132
+ if (!status?.available) {
133
+ warnings.push(`${provider.id} skipped: ${status?.reason ?? 'not available'}`);
134
+ continue;
135
+ }
136
+ try {
137
+ const recalled = provider.kind === 'scale-local'
138
+ ? recallLocal(projectDir, options.scaleDir, provider, options, limit)
139
+ : await recallExternal(provider, options, limit);
140
+ if (recalled.length > 0) {
141
+ selectedProviders.push(provider.id);
142
+ items.push(...recalled);
143
+ }
144
+ if (provider.kind === 'scale-local' && providers.some(item => item.kind !== 'scale-local'))
145
+ fallbackUsed = true;
146
+ }
147
+ catch (error) {
148
+ warnings.push(`${provider.id} recall failed: ${error.message}`);
149
+ }
150
+ if (items.length >= limit && !options.provider)
151
+ break;
152
+ }
153
+ return {
154
+ ok: items.length > 0,
155
+ projectDir,
156
+ generatedAt: new Date().toISOString(),
157
+ query: options.query,
158
+ providerOrder: providers.map(provider => provider.id),
159
+ selectedProviders,
160
+ fallbackUsed,
161
+ items: items
162
+ .sort((a, b) => b.score - a.score || b.confidence - a.confidence)
163
+ .slice(0, limit),
164
+ providerStatuses: statuses,
165
+ warnings,
166
+ };
167
+ }
168
+ function orderedProviders(config, providerId) {
169
+ const candidates = config.routing.mode === 'local-only'
170
+ ? config.providers.filter(provider => provider.kind === 'scale-local')
171
+ : config.providers;
172
+ const selected = providerId ? candidates.filter(provider => provider.id === providerId) : candidates;
173
+ const order = config.routing.mode === 'local-only'
174
+ ? ['scale-local']
175
+ : config.routing.defaultOrder;
176
+ return selected.sort((a, b) => {
177
+ const ai = order.indexOf(a.id);
178
+ const bi = order.indexOf(b.id);
179
+ const orderRank = (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi);
180
+ return orderRank || b.priority - a.priority || a.id.localeCompare(b.id);
181
+ });
182
+ }
183
+ function recallLocal(projectDir, scaleDir, provider, input, limit) {
184
+ const brain = new MemoryBrain({ projectDir, scaleDir });
185
+ try {
186
+ const active = brain.query(input.query, { limit, status: 'active' }).nodes;
187
+ const nodes = active.length > 0 || !input.includeCandidates
188
+ ? active
189
+ : brain.query(input.query, { limit }).nodes;
190
+ return nodes.map(node => nodeToRecall(provider.id, node));
191
+ }
192
+ finally {
193
+ brain.close();
194
+ }
195
+ }
196
+ async function recallExternal(provider, input, limit) {
197
+ if (!provider.endpoint)
198
+ return [];
199
+ const response = await fetch(new URL(provider.searchPath ?? '/search', provider.endpoint), {
200
+ method: 'POST',
201
+ headers: {
202
+ 'content-type': 'application/json',
203
+ ...(provider.apiKeyEnv && process.env[provider.apiKeyEnv] ? { authorization: `Bearer ${process.env[provider.apiKeyEnv]}` } : {}),
204
+ },
205
+ body: JSON.stringify({
206
+ query: input.query,
207
+ task: input.task,
208
+ files: input.files ?? [],
209
+ limit,
210
+ }),
211
+ signal: AbortSignal.timeout(2500),
212
+ });
213
+ if (!response.ok)
214
+ throw new Error(`HTTP ${response.status}`);
215
+ const data = await response.json();
216
+ const raw = extractExternalResults(data);
217
+ return raw.slice(0, limit).map((item, index) => externalToRecall(provider.id, item, index));
218
+ }
219
+ function extractExternalResults(data) {
220
+ if (Array.isArray(data))
221
+ return data.filter(isRecord);
222
+ if (!isRecord(data))
223
+ return [];
224
+ for (const key of ['results', 'items', 'memories', 'nodes', 'documents']) {
225
+ const value = data[key];
226
+ if (Array.isArray(value))
227
+ return value.filter(isRecord);
228
+ }
229
+ return [];
230
+ }
231
+ function externalToRecall(provider, item, index) {
232
+ const title = firstString(item.title, item.name, item.summary, item.content, item.text) ?? `${provider} memory ${index + 1}`;
233
+ const summary = firstString(item.summary, item.content, item.text, item.body, item.markdown) ?? title;
234
+ const confidence = clampNumber(item.confidence ?? item.relevance ?? item.score, 0.5);
235
+ const score = clampNumber(item.score ?? item.relevance ?? item.confidence, confidence);
236
+ return {
237
+ provider,
238
+ id: firstString(item.id, item.key, item.memoryId) ?? `${provider}-${index + 1}`,
239
+ title: truncate(title, 140),
240
+ summary: truncate(summary, 500),
241
+ confidence,
242
+ score,
243
+ evidencePaths: arrayOfStrings(item.evidencePaths ?? item.evidence_paths ?? item.sources),
244
+ sourceUrl: firstString(item.url, item.sourceUrl, item.source_url),
245
+ metadata: item,
246
+ };
247
+ }
248
+ function nodeToRecall(provider, node) {
249
+ return {
250
+ provider,
251
+ id: node.id,
252
+ title: node.title,
253
+ summary: node.summary,
254
+ confidence: node.confidence,
255
+ score: node.confidence,
256
+ evidencePaths: node.evidencePaths,
257
+ metadata: {
258
+ type: node.type,
259
+ scope: node.scope,
260
+ status: node.status,
261
+ entities: node.entities,
262
+ },
263
+ };
264
+ }
265
+ function providerStatus(provider, routing) {
266
+ if (!provider.enabled) {
267
+ return {
268
+ ...providerStatusBase(provider, routing),
269
+ available: false,
270
+ reason: 'disabled by memory provider policy',
271
+ };
272
+ }
273
+ if (provider.kind === 'scale-local') {
274
+ return {
275
+ ...providerStatusBase(provider, routing),
276
+ available: true,
277
+ reason: 'local MemoryBrain fallback is available',
278
+ };
279
+ }
280
+ if (!provider.endpoint) {
281
+ return {
282
+ ...providerStatusBase(provider, routing),
283
+ available: false,
284
+ reason: `${provider.id} requires endpoint configuration before autonomous use`,
285
+ };
286
+ }
287
+ return {
288
+ ...providerStatusBase(provider, routing),
289
+ available: true,
290
+ reason: `${provider.id} endpoint configured; recall is read-only unless policy enables writes`,
291
+ };
292
+ }
293
+ function providerStatusBase(provider, routing) {
294
+ return {
295
+ id: provider.id,
296
+ kind: provider.kind,
297
+ enabled: provider.enabled,
298
+ selectedByDefault: routing.defaultOrder.includes(provider.id),
299
+ priority: provider.priority,
300
+ capabilities: provider.capabilities,
301
+ safetyLevel: provider.safetyLevel,
302
+ writeMode: provider.writeMode,
303
+ };
304
+ }
305
+ function providerWarnings(statuses, config) {
306
+ const warnings = [];
307
+ if (!config.routing.allowExternalWrite && statuses.some(status => status.writeMode === 'enabled' && status.kind !== 'scale-local')) {
308
+ warnings.push('External memory write is configured on a provider while routing.allowExternalWrite is false.');
309
+ }
310
+ if (!statuses.some(status => status.kind === 'scale-local' && status.available)) {
311
+ warnings.push('scale-local fallback is unavailable; autonomous recall may fail closed.');
312
+ }
313
+ for (const status of statuses) {
314
+ if (status.kind !== 'scale-local' && status.enabled && status.safetyLevel !== 'review-required') {
315
+ warnings.push(`${status.id} should remain review-required until privacy and retention boundaries are recorded.`);
316
+ }
317
+ }
318
+ return warnings;
319
+ }
320
+ function normalizeProviders(input, defaults) {
321
+ if (!Array.isArray(input))
322
+ return defaults;
323
+ const byId = new Map(defaults.map(provider => [provider.id, provider]));
324
+ const providers = input.filter(isRecord).map(item => {
325
+ const id = String(item.id ?? '');
326
+ const base = byId.get(id);
327
+ return {
328
+ ...(base ?? {}),
329
+ ...item,
330
+ id,
331
+ kind: normalizeKind(item.kind, base?.kind),
332
+ enabled: item.enabled !== false && Boolean(item.enabled ?? base?.enabled ?? false),
333
+ priority: positiveInt(item.priority, base?.priority ?? 0),
334
+ capabilities: arrayOfStrings(item.capabilities),
335
+ safetyLevel: normalizeSafety(item.safetyLevel, base?.safetyLevel),
336
+ writeMode: normalizeWriteMode(item.writeMode, base?.writeMode),
337
+ };
338
+ }).filter(provider => provider.id);
339
+ for (const defaultProvider of defaults) {
340
+ if (!providers.some(provider => provider.id === defaultProvider.id))
341
+ providers.push(defaultProvider);
342
+ }
343
+ return providers;
344
+ }
345
+ function normalizeKind(value, fallback = 'generic-http') {
346
+ return ['scale-local', 'agentmemory', 'gbrain', 'generic-http'].includes(String(value))
347
+ ? value
348
+ : fallback;
349
+ }
350
+ function normalizeSafety(value, fallback = 'review-required') {
351
+ return ['trusted-local', 'review-required', 'blocked'].includes(String(value))
352
+ ? value
353
+ : fallback;
354
+ }
355
+ function normalizeWriteMode(value, fallback = 'disabled') {
356
+ return ['disabled', 'candidate-only', 'enabled'].includes(String(value))
357
+ ? value
358
+ : fallback;
359
+ }
360
+ function positiveInt(value, fallback) {
361
+ const parsed = Number.parseInt(String(value ?? ''), 10);
362
+ return Number.isFinite(parsed) && parsed >= 0 ? parsed : fallback;
363
+ }
364
+ function resolveScaleRoot(projectDir, scaleDir) {
365
+ return isAbsolute(scaleDir ?? '') ? scaleDir : join(projectDir, scaleDir ?? '.scale');
366
+ }
367
+ function isRecord(value) {
368
+ return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
369
+ }
370
+ function firstString(...values) {
371
+ return values.map(value => typeof value === 'string' ? value.trim() : '').find(Boolean);
372
+ }
373
+ function arrayOfStrings(value) {
374
+ return Array.isArray(value) ? value.map(String).filter(Boolean) : [];
375
+ }
376
+ function clampNumber(value, fallback) {
377
+ const number = Number(value);
378
+ if (!Number.isFinite(number))
379
+ return fallback;
380
+ return Math.max(0.01, Math.min(1, Math.round(number * 100) / 100));
381
+ }
382
+ function truncate(value, maxChars) {
383
+ return value.length > maxChars ? `${value.slice(0, maxChars - 3)}...` : value;
384
+ }
385
+ //# sourceMappingURL=MemoryProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryProviders.js","sourceRoot":"","sources":["../../src/memory/MemoryProviders.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './MemoryFabric.js';
2
2
  export * from './MemoryLearning.js';
3
3
  export * from './MemoryBrain.js';
4
+ export * from './MemoryProviders.js';
@@ -1,4 +1,5 @@
1
1
  export * from './MemoryFabric.js';
2
2
  export * from './MemoryLearning.js';
3
3
  export * from './MemoryBrain.js';
4
+ export * from './MemoryProviders.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { type DocLang, type ThemeMode } from './HTMLDocumentRenderer.js';
2
+ import { type AggregatedGovernanceMetrics } from '../dashboard/MetricsAggregator.js';
2
3
  export interface GovernanceDashboardOptions {
3
4
  projectDir?: string;
4
5
  scaleDir?: string;
@@ -39,6 +40,7 @@ export interface GovernanceDashboardSummary {
39
40
  htmlArtifacts: {
40
41
  count: number;
41
42
  };
43
+ governanceMetrics: AggregatedGovernanceMetrics;
42
44
  }
43
45
  export interface GovernanceDashboardResult {
44
46
  ok: boolean;
@@ -6,6 +6,7 @@ import { RuntimeEvidenceLedger } from '../runtime/RuntimeEvidenceLedger.js';
6
6
  import { doctorResourceAssets } from '../workflow/ResourceGovernance.js';
7
7
  import { HTMLDocumentRenderer } from './HTMLDocumentRenderer.js';
8
8
  import { listExistingHtmlArtifacts } from './HTMLArtifactLayer.js';
9
+ import { aggregateGovernanceMetrics } from '../dashboard/MetricsAggregator.js';
9
10
  export function renderGovernanceDashboard(options = {}) {
10
11
  const projectDir = resolve(options.projectDir ?? process.cwd());
11
12
  const scaleRoot = resolveScaleRoot(projectDir, options.scaleDir);
@@ -25,6 +26,7 @@ export function renderGovernanceDashboard(options = {}) {
25
26
  const memoryDream = brain.dream();
26
27
  const resourceDoctor = doctorResourceAssets({ projectDir, scaleDir: scaleRoot });
27
28
  const htmlArtifacts = listExistingHtmlArtifacts({ projectDir, scaleDir: scaleRoot, taskId: options.taskId });
29
+ const governanceMetrics = aggregateGovernanceMetrics({ projectDir, scaleDir: scaleRoot });
28
30
  const summary = {
29
31
  runtime: {
30
32
  total: runtime.total,
@@ -56,6 +58,7 @@ export function renderGovernanceDashboard(options = {}) {
56
58
  htmlArtifacts: {
57
59
  count: htmlArtifacts.length,
58
60
  },
61
+ governanceMetrics,
59
62
  };
60
63
  const findings = dashboardFindings(summary);
61
64
  const ok = !findings.some(finding => finding.severity === 'fail');
@@ -77,9 +80,12 @@ export function renderGovernanceDashboard(options = {}) {
77
80
  activeMemory: summary.memory.active,
78
81
  resourceFindings: summary.resources.findings,
79
82
  htmlArtifacts: summary.htmlArtifacts.count,
83
+ commandTokenSavings: summary.governanceMetrics.commandRuns.savedEstimatedTokens,
84
+ modelCacheSavings: summary.governanceMetrics.modelUsage.cacheSavingsTokens,
80
85
  },
81
86
  sections: [
82
87
  { heading: 'Runtime Evidence', content: runtimeSection(summary) },
88
+ { heading: 'Governance Metrics', content: governanceMetricsSection(summary.governanceMetrics) },
83
89
  { heading: 'Workflow Eval', content: evalSection(evalRuns, evalFailures) },
84
90
  { heading: 'Memory Brain', content: memorySection(memoryDream) },
85
91
  { heading: 'Resource Governance', content: resourceSection(resourceDoctor) },
@@ -136,6 +142,31 @@ function runtimeSection(summary) {
136
142
  <tbody><tr><td>${summary.runtime.ok ? 'OK' : 'FAILED'}</td><td>${summary.runtime.total}</td><td>${summary.runtime.passed}</td><td>${summary.runtime.failed}</td><td>${summary.runtime.skipped}</td></tr></tbody>
137
143
  </table>`;
138
144
  }
145
+ function governanceMetricsSection(metrics) {
146
+ const gateRows = Object.entries(metrics.gateFailures.byGate)
147
+ .sort(([, a], [, b]) => b - a)
148
+ .map(([gate, count]) => `<tr><td><code>${escapeHtml(gate)}</code></td><td>${count}</td></tr>`)
149
+ .join('');
150
+ const providerRows = Object.entries(metrics.modelUsage.byProvider)
151
+ .sort(([a], [b]) => a.localeCompare(b))
152
+ .map(([provider, summary]) => `<tr><td>${escapeHtml(provider)}</td><td>${summary.records}</td><td>${summary.totalTokens}</td><td>${summary.cacheSavingsTokens}</td></tr>`)
153
+ .join('');
154
+ return `
155
+ <h3>Task Metrics</h3>
156
+ <table><thead><tr><th>Window</th><th>Total Tasks</th><th>Recent Tasks</th><th>First Pass</th><th>Recent First Pass</th><th>Avg Fix Iterations</th></tr></thead>
157
+ <tbody><tr><td>${metrics.sinceDays} days</td><td>${metrics.taskMetrics.total}</td><td>${metrics.taskMetrics.recentTasks}</td><td>${(metrics.taskMetrics.firstPassRate * 100).toFixed(1)}%</td><td>${(metrics.taskMetrics.recentFirstPassRate * 100).toFixed(1)}%</td><td>${metrics.taskMetrics.averageFixIterations.toFixed(2)}</td></tr></tbody></table>
158
+ <h3>Gate Failures</h3>
159
+ <table><thead><tr><th>Total Gate Evidence</th><th>Failed</th></tr></thead><tbody><tr><td>${metrics.gateFailures.total}</td><td>${metrics.gateFailures.failed}</td></tr></tbody></table>
160
+ <table><thead><tr><th>Gate</th><th>Failures</th></tr></thead><tbody>${gateRows || '<tr><td colspan="2">No gate failures found.</td></tr>'}</tbody></table>
161
+ <h3>Command Output Compression</h3>
162
+ <table><thead><tr><th>Total Runs</th><th>Passed</th><th>Failed</th><th>Raw Tokens</th><th>Compressed Tokens</th><th>Saved Tokens</th></tr></thead>
163
+ <tbody><tr><td>${metrics.commandRuns.total}</td><td>${metrics.commandRuns.passed}</td><td>${metrics.commandRuns.failed}</td><td>${metrics.commandRuns.rawEstimatedTokens}</td><td>${metrics.commandRuns.compressedEstimatedTokens}</td><td>${metrics.commandRuns.savedEstimatedTokens}</td></tr></tbody></table>
164
+ <h3>Model Usage</h3>
165
+ <table><thead><tr><th>Records</th><th>Total Tokens</th><th>Cache Eligible</th><th>Cache Creation</th><th>Cache Read</th><th>Cached</th><th>Saved</th></tr></thead>
166
+ <tbody><tr><td>${metrics.modelUsage.totalRecords}</td><td>${metrics.modelUsage.totalTokens}</td><td>${metrics.modelUsage.cacheEligibleTokens}</td><td>${metrics.modelUsage.cacheCreationInputTokens}</td><td>${metrics.modelUsage.cacheReadInputTokens}</td><td>${metrics.modelUsage.cachedTokens}</td><td>${metrics.modelUsage.cacheSavingsTokens}</td></tr></tbody></table>
167
+ <table><thead><tr><th>Provider</th><th>Records</th><th>Total Tokens</th><th>Saved Tokens</th></tr></thead><tbody>${providerRows || '<tr><td colspan="4">No model usage records found.</td></tr>'}</tbody></table>
168
+ `;
169
+ }
139
170
  function evalSection(runs, failures) {
140
171
  const latestRows = runs.slice(0, 5).map(run => `<tr>
141
172
  <td><code>${escapeHtml(run.id)}</code></td>
@@ -1 +1 @@
1
- {"version":3,"file":"GovernanceDashboard.js","sourceRoot":"","sources":["../../src/output/GovernanceDashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GovernanceDashboard.js","sourceRoot":"","sources":["../../src/output/GovernanceDashboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { ContextBudgetCategory, ContextBudgetEntry, ContextPackSection } from '../context/ContextBudget.js';
2
+ export type PromptCacheProvider = 'anthropic' | 'openai' | 'generic';
3
+ export interface PromptCachePolicyOptions {
4
+ provider?: PromptCacheProvider | string;
5
+ allowOnDemandReuse?: boolean;
6
+ }
7
+ export interface PromptCachePolicyInput extends PromptCachePolicyOptions {
8
+ entries?: Array<Pick<ContextBudgetEntry, 'path' | 'category' | 'estimatedTokens'>>;
9
+ sections?: Array<Pick<ContextPackSection, 'id' | 'category' | 'included' | 'estimatedTokens' | 'paths'>>;
10
+ }
11
+ export interface PromptCacheCandidate {
12
+ id: string;
13
+ category: ContextBudgetCategory;
14
+ estimatedTokens: number;
15
+ paths: string[];
16
+ reason: string;
17
+ }
18
+ export interface PromptCachePolicyResult {
19
+ provider: string;
20
+ supported: boolean;
21
+ strategy: 'anthropic-ephemeral' | 'openai-automatic' | 'usage-ledger-only';
22
+ cacheEligibleTokens: number;
23
+ cacheEligiblePaths: string[];
24
+ cacheKey: string;
25
+ candidates: PromptCacheCandidate[];
26
+ usageMetrics: {
27
+ cacheCreationInputTokens?: string;
28
+ cacheReadInputTokens?: string;
29
+ cachedTokens?: string;
30
+ };
31
+ notes: string[];
32
+ }
33
+ export declare class PromptCachePolicy {
34
+ resolve(input: PromptCachePolicyInput): PromptCachePolicyResult;
35
+ }
36
+ export declare function resolvePromptCachePolicy(input: PromptCachePolicyInput): PromptCachePolicyResult;
37
+ export declare function shouldCacheContextCategory(category: ContextBudgetCategory, allowOnDemandReuse?: boolean): boolean;