@pylabmit/agent-cmdb 1.5.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +20 -3
  2. package/dist/checkpoint.d.ts +6 -0
  3. package/dist/checkpoint.d.ts.map +1 -0
  4. package/dist/checkpoint.js +137 -0
  5. package/dist/checkpoint.js.map +1 -0
  6. package/dist/cli.js +87 -6
  7. package/dist/cli.js.map +1 -1
  8. package/dist/cost.d.ts +3 -0
  9. package/dist/cost.d.ts.map +1 -0
  10. package/dist/cost.js +49 -0
  11. package/dist/cost.js.map +1 -0
  12. package/dist/digest.d.ts +2 -1
  13. package/dist/digest.d.ts.map +1 -1
  14. package/dist/digest.js +18 -2
  15. package/dist/digest.js.map +1 -1
  16. package/dist/engine.d.ts +0 -2
  17. package/dist/engine.d.ts.map +1 -1
  18. package/dist/engine.js +0 -2
  19. package/dist/engine.js.map +1 -1
  20. package/dist/health.d.ts +9 -0
  21. package/dist/health.d.ts.map +1 -0
  22. package/dist/health.js +222 -0
  23. package/dist/health.js.map +1 -0
  24. package/dist/interface.d.ts +14 -1
  25. package/dist/interface.d.ts.map +1 -1
  26. package/dist/interface.js +45 -1
  27. package/dist/interface.js.map +1 -1
  28. package/dist/internal.d.ts +3 -0
  29. package/dist/internal.d.ts.map +1 -0
  30. package/dist/internal.js +3 -0
  31. package/dist/internal.js.map +1 -0
  32. package/dist/loader.js +52 -2
  33. package/dist/loader.js.map +1 -1
  34. package/dist/preflight.d.ts +4 -2
  35. package/dist/preflight.d.ts.map +1 -1
  36. package/dist/preflight.js +31 -3
  37. package/dist/preflight.js.map +1 -1
  38. package/dist/route-resolver.d.ts.map +1 -1
  39. package/dist/route-resolver.js +43 -3
  40. package/dist/route-resolver.js.map +1 -1
  41. package/dist/slo.d.ts +4 -0
  42. package/dist/slo.d.ts.map +1 -0
  43. package/dist/slo.js +147 -0
  44. package/dist/slo.js.map +1 -0
  45. package/dist/store.d.ts +9 -0
  46. package/dist/store.d.ts.map +1 -1
  47. package/dist/store.js +104 -2
  48. package/dist/store.js.map +1 -1
  49. package/dist/types.d.ts +66 -0
  50. package/dist/types.d.ts.map +1 -1
  51. package/package.json +1 -13
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Agent CMDB
2
2
 
3
3
  [![CI](https://github.com/vikas53953/agent-cmdb-policy-brain/actions/workflows/ci.yml/badge.svg)](https://github.com/vikas53953/agent-cmdb-policy-brain/actions/workflows/ci.yml)
4
- ![Tests](https://img.shields.io/badge/tests-161_passing-brightgreen)
4
+ ![Tests](https://img.shields.io/badge/tests-200%2B_passing-brightgreen)
5
5
 
6
6
  Policy enforcement and memory for AI agents.
7
7
 
@@ -115,6 +115,19 @@ await cmdb.writeEntity({
115
115
  await cmdb.generateDailyDigest('research-agent');
116
116
  ```
117
117
 
118
+ ## Runtime Reliability
119
+
120
+ V2 adds runtime reliability helpers behind the same `createAgentCmdb()` interface:
121
+
122
+ - Source health monitors record source success/failure and persist status in `state/health.json`.
123
+ - Circuit breaker state is derived from source health: `up` is closed, `down` is open, and `half-open` allows a recovery probe.
124
+ - Preflight skips down sources when a fallback exists, and denies with `all-sources-down` when no route source is available.
125
+ - Agent SLOs track allow-rate in a bounded rolling cache under `state/slo-cache/`.
126
+ - Cost summaries aggregate evidence `tokenCount` and `estimatedCost` by profile/date/source.
127
+ - Checkpoints save and load long-running task state under `state/checkpoints/` with tamper warnings on read.
128
+
129
+ These features do not intercept calls automatically. Your agent still calls `cmdb.preflight()` and reports source success/failure through the CMDB instance.
130
+
118
131
  ## Control Plane
119
132
 
120
133
  Agent CMDB reads YAML or JSON.
@@ -178,7 +191,7 @@ The product roadmap lives in [docs/agent-cmdb-roadmap.md](docs/agent-cmdb-roadma
178
191
  | V1.0 | Shipped | Policy engine, source routing, CMDB inventory, evidence store, graph, brain, digest |
179
192
  | V1.5 | Shipped | npm packaging, dry-run, source freshness, doctor command |
180
193
  | V1.5.1 | Shipped | single audited preflight, default-deny, tamper-evident JSONL, hardened sanitization |
181
- | V2.0 | Planned | Health monitors, circuit breakers, SLOs, cost tracking, checkpoint/resume |
194
+ | V2.0 | Shipped | Health monitors, circuit breakers, SLOs, cost tracking, checkpoint/resume |
182
195
  | V3.0 | Planned | Isolation, rate limiting, DLP inspection, trust scoring, schedules, webhooks |
183
196
  | V4.0 | Planned | REST/MCP API, dashboard, policy versioning, templates, incident response |
184
197
 
@@ -194,6 +207,10 @@ npx agent-cmdb route --profile research-agent --intent web_research
194
207
  npx agent-cmdb brain list --brain-dir ./agent-cmdb/brain
195
208
  npx agent-cmdb brain search --brain-dir ./agent-cmdb/brain --keyword security
196
209
  npx agent-cmdb digest --profile research-agent --brain-dir ./agent-cmdb/brain
210
+ npx agent-cmdb health
211
+ npx agent-cmdb health reset --source serpapi
212
+ npx agent-cmdb slo --profile research-agent
213
+ npx agent-cmdb cost --profile research-agent --date 2026-05-24
197
214
  npx agent-cmdb report
198
215
  ```
199
216
 
@@ -252,6 +269,6 @@ npm run build
252
269
 
253
270
  Current verification target:
254
271
 
255
- - 161 tests passing
272
+ - 200+ tests passing
256
273
  - strict TypeScript clean
257
274
  - clean `dist/` build
@@ -0,0 +1,6 @@
1
+ import type { AgentCheckpoint } from './types.js';
2
+ export declare function saveCheckpoint(storeDir: string, checkpoint: AgentCheckpoint): Promise<void>;
3
+ export declare function loadCheckpoint(storeDir: string, id: string): Promise<AgentCheckpoint | null>;
4
+ export declare function listCheckpoints(storeDir: string, profile?: string): Promise<AgentCheckpoint[]>;
5
+ export declare function deleteCheckpoint(storeDir: string, id: string): Promise<void>;
6
+ //# sourceMappingURL=checkpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjG;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAgBlG;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAUpG;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF"}
@@ -0,0 +1,137 @@
1
+ import { access, mkdir } from 'node:fs/promises';
2
+ import { dirname, join } from 'node:path';
3
+ import { deleteJsonState, listJsonStateFiles, readJsonState, sanitizeText, writeJsonState } from './store.js';
4
+ const checkpointDir = 'checkpoints';
5
+ export async function saveCheckpoint(storeDir, checkpoint) {
6
+ const normalized = parseCheckpoint(checkpoint);
7
+ await mkdir(dirname(join(storeDir, checkpointPath(normalized.id))), { recursive: true });
8
+ await writeJsonState(storeDir, checkpointPath(normalized.id), normalized, parseCheckpoint);
9
+ }
10
+ export async function loadCheckpoint(storeDir, id) {
11
+ const safeId = safeCheckpointId(id);
12
+ try {
13
+ await access(join(storeDir, checkpointPath(safeId)));
14
+ }
15
+ catch (error) {
16
+ if (error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT') {
17
+ return null;
18
+ }
19
+ throw error;
20
+ }
21
+ try {
22
+ return await readJsonState(storeDir, checkpointPath(safeId), emptyCheckpoint(safeId), parseCheckpoint);
23
+ }
24
+ catch (error) {
25
+ throw error;
26
+ }
27
+ }
28
+ export async function listCheckpoints(storeDir, profile) {
29
+ const normalizedProfile = profile ? safeProfile(profile) : undefined;
30
+ const files = (await listJsonStateFiles(storeDir, checkpointDir)).filter((file) => file.endsWith('.json'));
31
+ const checkpoints = (await Promise.all(files.map((file) => loadCheckpoint(storeDir, file.replace(/\.json$/, ''))))).filter((checkpoint) => Boolean(checkpoint));
32
+ return checkpoints
33
+ .filter((checkpoint) => !normalizedProfile || checkpoint.profile === normalizedProfile)
34
+ .sort((left, right) => right.updatedAt.localeCompare(left.updatedAt));
35
+ }
36
+ export async function deleteCheckpoint(storeDir, id) {
37
+ await deleteJsonState(storeDir, checkpointPath(safeCheckpointId(id)));
38
+ }
39
+ function checkpointPath(id) {
40
+ return `${checkpointDir}/${safeCheckpointId(id)}.json`;
41
+ }
42
+ function emptyCheckpoint(id) {
43
+ return {
44
+ id,
45
+ profile: 'unknown',
46
+ taskDescription: 'missing',
47
+ currentStep: 0,
48
+ totalSteps: 0,
49
+ completedSteps: [],
50
+ pendingSteps: [],
51
+ state: {},
52
+ createdAt: new Date(0).toISOString(),
53
+ updatedAt: new Date(0).toISOString(),
54
+ prevHash: 'genesis'
55
+ };
56
+ }
57
+ function parseCheckpoint(value) {
58
+ const record = requireRecord(value, 'Checkpoint');
59
+ return {
60
+ id: safeCheckpointId(readString(record, 'id', 'Checkpoint id')),
61
+ profile: safeProfile(readString(record, 'profile', 'Checkpoint profile')),
62
+ taskDescription: sanitizeText(readString(record, 'taskDescription', 'Checkpoint taskDescription')),
63
+ currentStep: readNumber(record, 'currentStep', 'Checkpoint currentStep'),
64
+ totalSteps: readNumber(record, 'totalSteps', 'Checkpoint totalSteps'),
65
+ completedSteps: readStringArray(record, 'completedSteps', 'Checkpoint completedSteps').map((step) => sanitizeText(step)),
66
+ pendingSteps: readStringArray(record, 'pendingSteps', 'Checkpoint pendingSteps').map((step) => sanitizeText(step)),
67
+ state: sanitizeState(record.state),
68
+ createdAt: readString(record, 'createdAt', 'Checkpoint createdAt'),
69
+ updatedAt: readString(record, 'updatedAt', 'Checkpoint updatedAt'),
70
+ prevHash: typeof record.prevHash === 'string' ? record.prevHash : 'genesis',
71
+ warnings: Array.isArray(record.warnings)
72
+ ? record.warnings.filter((warning) => typeof warning === 'string')
73
+ : undefined
74
+ };
75
+ }
76
+ function sanitizeState(value) {
77
+ if (!value || typeof value !== 'object' || Array.isArray(value))
78
+ return {};
79
+ return Object.fromEntries(Object.entries(value).map(([key, entryValue]) => [
80
+ sanitizeText(key),
81
+ sanitizeJsonValue(entryValue)
82
+ ]));
83
+ }
84
+ function sanitizeJsonValue(value) {
85
+ if (typeof value === 'string')
86
+ return sanitizeText(value);
87
+ if (Array.isArray(value))
88
+ return value.map(sanitizeJsonValue);
89
+ if (value && typeof value === 'object')
90
+ return sanitizeState(value);
91
+ return value;
92
+ }
93
+ function safeCheckpointId(value) {
94
+ if (!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(value)) {
95
+ throw new Error('Checkpoint id must be a safe identifier.');
96
+ }
97
+ return value;
98
+ }
99
+ function safeProfile(value) {
100
+ if (!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(value)) {
101
+ throw new Error('Checkpoint profile must be a safe identifier.');
102
+ }
103
+ return value;
104
+ }
105
+ function requireRecord(value, label) {
106
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
107
+ throw new Error(`${label} must be an object.`);
108
+ }
109
+ return value;
110
+ }
111
+ function readString(record, key, label) {
112
+ const value = record[key];
113
+ if (typeof value !== 'string' || value.trim().length === 0) {
114
+ throw new Error(`${label} must be a non-empty string.`);
115
+ }
116
+ return value;
117
+ }
118
+ function readStringArray(record, key, label) {
119
+ const value = record[key];
120
+ if (!Array.isArray(value)) {
121
+ throw new Error(`${label} must be an array.`);
122
+ }
123
+ return value.map((entry) => {
124
+ if (typeof entry !== 'string' || entry.trim().length === 0) {
125
+ throw new Error(`${label} must contain non-empty strings.`);
126
+ }
127
+ return entry;
128
+ });
129
+ }
130
+ function readNumber(record, key, label) {
131
+ const value = record[key];
132
+ if (typeof value !== 'number' || !Number.isFinite(value) || value < 0) {
133
+ throw new Error(`${label} must be a non-negative number.`);
134
+ }
135
+ return value;
136
+ }
137
+ //# sourceMappingURL=checkpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -7,7 +7,8 @@ import { generateDailyDigest, generateWeeklyDigest } from './digest.js';
7
7
  import { formatDoctorReport, runDoctor } from './doctor.js';
8
8
  import { sourceFreshnessFromBrain } from './freshness.js';
9
9
  import { createAgentCmdb } from './interface.js';
10
- import { evaluatePolicy, generateReadinessReport, inspectProfile, listObjects, loadControlPlane, loadDefaultControlPlane, resolveGraphNeighbors, resolveSourceRoute, validateControlPlane } from './engine.js';
10
+ import { evaluatePolicy } from './internal.js';
11
+ import { generateReadinessReport, inspectProfile, listObjects, loadControlPlane, loadDefaultControlPlane, resolveGraphNeighbors, resolveSourceRoute, validateControlPlane } from './engine.js';
11
12
  import { appendChange, appendEvidence, listChanges, listEvidence } from './store.js';
12
13
  async function main(argv) {
13
14
  const help = helpRequest(argv);
@@ -51,6 +52,41 @@ async function main(argv) {
51
52
  })));
52
53
  return;
53
54
  }
55
+ if (parsed.command === 'health') {
56
+ const cmdb = createAgentCmdb({
57
+ controlPlane,
58
+ storeDir: storeDir(parsed.flags),
59
+ brainDir: brainDir(parsed.flags)
60
+ });
61
+ if (parsed.flags.subcommand === 'reset') {
62
+ printJson(await cmdb.resetSourceHealth(required(parsed.flags, 'source')));
63
+ return;
64
+ }
65
+ if (parsed.flags.source) {
66
+ printJson(await cmdb.getSourceHealth(parsed.flags.source));
67
+ return;
68
+ }
69
+ printJson(await cmdb.listSourceHealth());
70
+ return;
71
+ }
72
+ if (parsed.command === 'slo') {
73
+ const cmdb = createAgentCmdb({
74
+ controlPlane,
75
+ storeDir: storeDir(parsed.flags),
76
+ brainDir: brainDir(parsed.flags)
77
+ });
78
+ printJson(await cmdb.calculateSlo(required(parsed.flags, 'profile')));
79
+ return;
80
+ }
81
+ if (parsed.command === 'cost') {
82
+ const cmdb = createAgentCmdb({
83
+ controlPlane,
84
+ storeDir: storeDir(parsed.flags),
85
+ brainDir: brainDir(parsed.flags)
86
+ });
87
+ printJson(await cmdb.getCostSummary(required(parsed.flags, 'profile'), parsed.flags.date));
88
+ return;
89
+ }
54
90
  if (parsed.command === 'policy') {
55
91
  const profile = required(parsed.flags, 'profile');
56
92
  const action = required(parsed.flags, 'action');
@@ -171,6 +207,9 @@ function parseArgs(argv) {
171
207
  'digest',
172
208
  'digest-weekly',
173
209
  'doctor',
210
+ 'health',
211
+ 'slo',
212
+ 'cost',
174
213
  'route',
175
214
  'inspect',
176
215
  'inventory',
@@ -185,17 +224,19 @@ function parseArgs(argv) {
185
224
  'report'
186
225
  ];
187
226
  if (!command || !commands.includes(command)) {
188
- throw new Error('Usage: agent-cmdb <init|policy|route|inspect|inventory|sources|preflight|validate|graph|evidence-add|evidence-list|change-add|change-list|brain|digest|digest-weekly|doctor|report> [--key value]');
227
+ throw new Error('Usage: agent-cmdb <init|policy|route|inspect|inventory|sources|preflight|validate|graph|evidence-add|evidence-list|change-add|change-list|brain|digest|digest-weekly|doctor|health|slo|cost|report> [--key value]');
189
228
  }
190
229
  const flags = {};
191
230
  let startIndex = 0;
192
- if (command === 'brain') {
231
+ if (command === 'brain' || command === 'health') {
193
232
  const subcommand = rest[0];
194
- if (!subcommand || subcommand.startsWith('--')) {
233
+ if (command === 'brain' && (!subcommand || subcommand.startsWith('--'))) {
195
234
  throw new Error('Missing brain subcommand: list, read, search, create, delete.');
196
235
  }
197
- flags.subcommand = subcommand;
198
- startIndex = 1;
236
+ if (subcommand && !subcommand.startsWith('--')) {
237
+ flags.subcommand = subcommand;
238
+ startIndex = 1;
239
+ }
199
240
  }
200
241
  const booleanFlags = new Set(['dry-run']);
201
242
  for (let index = startIndex; index < rest.length;) {
@@ -239,6 +280,9 @@ function rootHelp() {
239
280
  ' policy Evaluate a policy decision',
240
281
  ' route Resolve a source route',
241
282
  ' doctor Check control plane, store, and brain health',
283
+ ' health Show or reset source health and circuit state',
284
+ ' slo Calculate an agent SLO',
285
+ ' cost Summarize evidence cost for a profile',
242
286
  ' brain Manage local brain entities',
243
287
  ' digest Generate a daily digest',
244
288
  ' digest-weekly Generate a weekly digest',
@@ -282,6 +326,43 @@ function commandHelp(command) {
282
326
  ' --brain-dir <path> Brain directory for freshness snapshots'
283
327
  ].join('\n');
284
328
  }
329
+ if (command === 'health') {
330
+ return [
331
+ 'Usage: agent-cmdb health [--source <id>] [reset --source <id>] [options]',
332
+ '',
333
+ 'Show source health and circuit state, or reset one source to up.',
334
+ '',
335
+ 'Options:',
336
+ ' --source <id> Optional source id',
337
+ ' --config <path> Control-plane YAML or JSON path',
338
+ ' --store <path> State directory'
339
+ ].join('\n');
340
+ }
341
+ if (command === 'slo') {
342
+ return [
343
+ 'Usage: agent-cmdb slo --profile <id> [options]',
344
+ '',
345
+ 'Calculate the configured allow-rate SLO for a profile.',
346
+ '',
347
+ 'Options:',
348
+ ' --profile <id> Agent profile id',
349
+ ' --config <path> Control-plane YAML or JSON path',
350
+ ' --store <path> State directory'
351
+ ].join('\n');
352
+ }
353
+ if (command === 'cost') {
354
+ return [
355
+ 'Usage: agent-cmdb cost --profile <id> [--date YYYY-MM-DD] [options]',
356
+ '',
357
+ 'Summarize evidence token and cost records for a profile.',
358
+ '',
359
+ 'Options:',
360
+ ' --profile <id> Agent profile id',
361
+ ' --date <date> Optional date, YYYY-MM-DD',
362
+ ' --config <path> Control-plane YAML or JSON path',
363
+ ' --store <path> State directory'
364
+ ].join('\n');
365
+ }
285
366
  return rootHelp();
286
367
  }
287
368
  function required(flags, key) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/cost.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type { ControlPlane, CostSummary } from './types.js';
2
+ export declare function getCostSummary(controlPlane: ControlPlane, storeDir: string, profile: string, date?: string): Promise<CostSummary>;
3
+ //# sourceMappingURL=cost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,wBAAsB,cAAc,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,SAAwC,GAC3C,OAAO,CAAC,WAAW,CAAC,CA6BtB"}
package/dist/cost.js ADDED
@@ -0,0 +1,49 @@
1
+ import { listEvidence } from './store.js';
2
+ export async function getCostSummary(controlPlane, storeDir, profile, date = new Date().toISOString().slice(0, 10)) {
3
+ const normalizedProfile = safeSegment(profile, 'Cost profile');
4
+ const normalizedDate = safeDate(date);
5
+ const records = (await listEvidence(storeDir, { profile: normalizedProfile }))
6
+ .filter((record) => record.capturedAt.startsWith(normalizedDate));
7
+ const bySource = new Map();
8
+ for (const record of records) {
9
+ const source = bySource.get(record.source) ?? {
10
+ sourceId: record.source,
11
+ calls: 0,
12
+ tokens: 0,
13
+ cost: 0
14
+ };
15
+ source.calls += 1;
16
+ source.tokens += record.tokenCount ?? 0;
17
+ source.cost += record.estimatedCost ?? sourceCost(controlPlane, record.source);
18
+ bySource.set(record.source, source);
19
+ }
20
+ const sources = [...bySource.values()].sort((left, right) => left.sourceId.localeCompare(right.sourceId));
21
+ return {
22
+ profile: normalizedProfile,
23
+ date: normalizedDate,
24
+ totalCalls: sources.reduce((sum, source) => sum + source.calls, 0),
25
+ totalTokens: sources.reduce((sum, source) => sum + source.tokens, 0),
26
+ totalCost: sources.reduce((sum, source) => sum + source.cost, 0),
27
+ bySource: sources
28
+ };
29
+ }
30
+ function sourceCost(controlPlane, sourceId) {
31
+ return controlPlane.sources.find((source) => source.id === sourceId)?.costPerCall ?? 0;
32
+ }
33
+ function safeSegment(value, label) {
34
+ if (!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(value)) {
35
+ throw new Error(`${label} must be a safe identifier.`);
36
+ }
37
+ return value;
38
+ }
39
+ function safeDate(value) {
40
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(value)) {
41
+ throw new Error('Cost date must be YYYY-MM-DD.');
42
+ }
43
+ const parsed = new Date(`${value}T00:00:00.000Z`);
44
+ if (Number.isNaN(parsed.getTime()) || parsed.toISOString().slice(0, 10) !== value) {
45
+ throw new Error('Cost date must be YYYY-MM-DD.');
46
+ }
47
+ return value;
48
+ }
49
+ //# sourceMappingURL=cost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"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"}
package/dist/digest.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import type { DigestResult } from './types.js';
1
+ import type { ControlPlane, DigestResult } from './types.js';
2
2
  export declare function generateDailyDigest(options: {
3
3
  profile: string;
4
4
  date?: string;
5
5
  storeDir: string;
6
6
  brainDir: string;
7
+ controlPlane?: ControlPlane;
7
8
  }): Promise<DigestResult>;
8
9
  export declare function generateWeeklyDigest(options: {
9
10
  profile: string;
@@ -1 +1 @@
1
- {"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../src/digest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,YAAY,EAAkB,MAAM,YAAY,CAAC;AAE7E,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,YAAY,CAAC,CA0BxB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqCxB"}
1
+ {"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../src/digest.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAgB,YAAY,EAAe,YAAY,EAA6B,MAAM,YAAY,CAAC;AAEnH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,GAAG,OAAO,CAAC,YAAY,CAAC,CA4BxB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqCxB"}
package/dist/digest.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { mkdir, readFile, readdir, writeFile } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
3
  import { initBrainDir, readBrainIndex } from './brain.js';
4
+ import { getCostSummary } from './cost.js';
5
+ import { calculateSlo } from './slo.js';
4
6
  import { listChanges, listEvidence, sanitizeText } from './store.js';
5
7
  export async function generateDailyDigest(options) {
6
8
  const date = normalizeDigestDate(options.date ?? todayString(), 'date');
@@ -14,7 +16,9 @@ export async function generateDailyDigest(options) {
14
16
  const updatedEntities = index.entities.filter((entity) => entity.lastUpdated.startsWith(date));
15
17
  const digestPath = join(options.brainDir, 'digest', 'daily', `${date}-${profile}.md`);
16
18
  const summary = `${evidence.length} evidence, ${changes.length} changes, ${updatedEntities.length} brain updates.`;
17
- const markdown = renderDailyDigest(profile, date, evidence, changes, updatedEntities, summary);
19
+ const slo = options.controlPlane ? await calculateSlo(options.controlPlane, options.storeDir, profile) : undefined;
20
+ const cost = options.controlPlane ? await getCostSummary(options.controlPlane, options.storeDir, profile, date) : undefined;
21
+ const markdown = renderDailyDigest(profile, date, evidence, changes, updatedEntities, summary, slo, cost);
18
22
  await mkdir(join(options.brainDir, 'digest', 'daily'), { recursive: true });
19
23
  await writeFile(digestPath, markdown, 'utf8');
20
24
  return {
@@ -61,7 +65,7 @@ export async function generateWeeklyDigest(options) {
61
65
  summary
62
66
  };
63
67
  }
64
- function renderDailyDigest(profile, date, evidence, changes, entities, summary) {
68
+ function renderDailyDigest(profile, date, evidence, changes, entities, summary, slo, cost) {
65
69
  return `# Daily digest: ${profile} - ${date}
66
70
 
67
71
  ## Evidence collected
@@ -76,6 +80,18 @@ ${changes.map((record) => `- ${record.action} ${record.target}: ${sanitizeText(r
76
80
 
77
81
  ${entities.map((entity) => `- ${entity.name} - updated by ${entity.lastUpdatedBy}`).join('\n') || '- None'}
78
82
 
83
+ ## SLO
84
+
85
+ ${slo ? `- Allow rate: ${(slo.actual * 100).toFixed(2)}% (target ${(slo.target * 100).toFixed(2)}%)
86
+ - Within budget: ${slo.withinBudget ? 'yes' : 'no'}
87
+ - Decisions: ${slo.totalDecisions}` : '- Not configured'}
88
+
89
+ ## Cost
90
+
91
+ ${cost ? `- Calls: ${cost.totalCalls}
92
+ - Tokens: ${cost.totalTokens}
93
+ - Estimated cost: $${cost.totalCost.toFixed(4)}` : '- Not configured'}
94
+
79
95
  ## Summary
80
96
 
81
97
  ${summary}
@@ -1 +1 @@
1
- {"version":3,"file":"digest.js","sourceRoot":"","sources":["../src/digest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"digest.js","sourceRoot":"","sources":["../src/digest.ts"],"names":[],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  export { ControlPlaneLoadError, defaultControlPlanePath, loadControlPlane, loadDefaultControlPlane, multiAgentExampleControlPlanePath } from './loader.js';
2
- export { evaluatePolicy, policiesConflict, policyMatches, policyShadows } from './policy-engine.js';
3
2
  export { ensureProfile, ensureSource, inspectProfile, resolveSourceRoute } from './route-resolver.js';
4
3
  export { ensureGraphNode, resolveGraphNeighbors } from './graph-engine.js';
5
- export { evaluatePreflight, preflight } from './preflight.js';
6
4
  export { generateReadinessReport, getObject, listObjects, validateControlPlane } from './validator.js';
7
5
  export * from './brain.js';
8
6
  export * from './digest.js';
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,iCAAiC,EAClC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,SAAS,EACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,iCAAiC,EAClC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
package/dist/engine.js CHANGED
@@ -1,8 +1,6 @@
1
1
  export { ControlPlaneLoadError, defaultControlPlanePath, loadControlPlane, loadDefaultControlPlane, multiAgentExampleControlPlanePath } from './loader.js';
2
- export { evaluatePolicy, policiesConflict, policyMatches, policyShadows } from './policy-engine.js';
3
2
  export { ensureProfile, ensureSource, inspectProfile, resolveSourceRoute } from './route-resolver.js';
4
3
  export { ensureGraphNode, resolveGraphNeighbors } from './graph-engine.js';
5
- export { evaluatePreflight, preflight } from './preflight.js';
6
4
  export { generateReadinessReport, getObject, listObjects, validateControlPlane } from './validator.js';
7
5
  export * from './brain.js';
8
6
  export * from './digest.js';