@askdkc/kiokuko 0.1.28 → 0.1.30

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 (85) hide show
  1. package/dist/akinator/agent-task.d.ts.map +1 -1
  2. package/dist/akinator/agent-task.js +105 -79
  3. package/dist/akinator/agent-task.js.map +1 -1
  4. package/dist/akinator/store.d.ts.map +1 -1
  5. package/dist/akinator/store.js +5 -1
  6. package/dist/akinator/store.js.map +1 -1
  7. package/dist/commands/agent.d.ts.map +1 -1
  8. package/dist/commands/agent.js +26 -2
  9. package/dist/commands/agent.js.map +1 -1
  10. package/dist/commands/doctor.d.ts +11 -5
  11. package/dist/commands/doctor.d.ts.map +1 -1
  12. package/dist/commands/doctor.js +258 -129
  13. package/dist/commands/doctor.js.map +1 -1
  14. package/dist/commands/setup.d.ts.map +1 -1
  15. package/dist/commands/setup.js +3 -0
  16. package/dist/commands/setup.js.map +1 -1
  17. package/dist/context/delivery-migration.d.ts +40 -0
  18. package/dist/context/delivery-migration.d.ts.map +1 -0
  19. package/dist/context/delivery-migration.js +360 -0
  20. package/dist/context/delivery-migration.js.map +1 -0
  21. package/dist/context/delivery.d.ts +2 -0
  22. package/dist/context/delivery.d.ts.map +1 -1
  23. package/dist/context/delivery.js +45 -6
  24. package/dist/context/delivery.js.map +1 -1
  25. package/dist/context/nudge-store.d.ts +57 -0
  26. package/dist/context/nudge-store.d.ts.map +1 -0
  27. package/dist/context/nudge-store.js +227 -0
  28. package/dist/context/nudge-store.js.map +1 -0
  29. package/dist/context/nudge-validation.d.ts +26 -0
  30. package/dist/context/nudge-validation.d.ts.map +1 -0
  31. package/dist/context/nudge-validation.js +122 -0
  32. package/dist/context/nudge-validation.js.map +1 -0
  33. package/dist/context/nudges.d.ts +38 -0
  34. package/dist/context/nudges.d.ts.map +1 -0
  35. package/dist/context/nudges.js +131 -0
  36. package/dist/context/nudges.js.map +1 -0
  37. package/dist/context/scoped-broker.d.ts.map +1 -1
  38. package/dist/context/scoped-broker.js +5 -0
  39. package/dist/context/scoped-broker.js.map +1 -1
  40. package/dist/db/migrate.d.ts.map +1 -1
  41. package/dist/db/migrate.js +5 -0
  42. package/dist/db/migrate.js.map +1 -1
  43. package/dist/gateway/checkpoint-mutation-service.d.ts +33 -0
  44. package/dist/gateway/checkpoint-mutation-service.d.ts.map +1 -0
  45. package/dist/gateway/checkpoint-mutation-service.js +513 -0
  46. package/dist/gateway/checkpoint-mutation-service.js.map +1 -0
  47. package/dist/gateway/checkpoint-service.d.ts +22 -25
  48. package/dist/gateway/checkpoint-service.d.ts.map +1 -1
  49. package/dist/gateway/checkpoint-service.js +26 -209
  50. package/dist/gateway/checkpoint-service.js.map +1 -1
  51. package/dist/gateway/nudge-delivery-service.d.ts +21 -0
  52. package/dist/gateway/nudge-delivery-service.d.ts.map +1 -0
  53. package/dist/gateway/nudge-delivery-service.js +67 -0
  54. package/dist/gateway/nudge-delivery-service.js.map +1 -0
  55. package/dist/ledger/archive.d.ts +2 -1
  56. package/dist/ledger/archive.d.ts.map +1 -1
  57. package/dist/ledger/archive.js +109 -8
  58. package/dist/ledger/archive.js.map +1 -1
  59. package/dist/ledger/checkpoint-contract.d.ts +3 -3
  60. package/dist/ledger/maintenance.d.ts +2 -1
  61. package/dist/ledger/maintenance.d.ts.map +1 -1
  62. package/dist/ledger/maintenance.js +90 -7
  63. package/dist/ledger/maintenance.js.map +1 -1
  64. package/dist/ledger/projection.d.ts +2 -0
  65. package/dist/ledger/projection.d.ts.map +1 -1
  66. package/dist/ledger/projection.js +9 -1
  67. package/dist/ledger/projection.js.map +1 -1
  68. package/dist/memory/checkpoint-contract.d.ts +6 -6
  69. package/dist/server/agent-application.d.ts.map +1 -1
  70. package/dist/server/agent-application.js +18 -4
  71. package/dist/server/agent-application.js.map +1 -1
  72. package/dist/server/agent-checkpoint-use-case.d.ts +41 -0
  73. package/dist/server/agent-checkpoint-use-case.d.ts.map +1 -0
  74. package/dist/server/agent-checkpoint-use-case.js +158 -0
  75. package/dist/server/agent-checkpoint-use-case.js.map +1 -0
  76. package/dist/server/routes/agent-runs.d.ts +11 -4
  77. package/dist/server/routes/agent-runs.d.ts.map +1 -1
  78. package/dist/server/routes/agent-runs.js.map +1 -1
  79. package/dist/server/routes/task5.d.ts.map +1 -1
  80. package/dist/server/routes/task5.js +29 -91
  81. package/dist/server/routes/task5.js.map +1 -1
  82. package/migrations/010_nudge_deliveries.sql +50 -0
  83. package/migrations/011_nudge_integrity.sql +52 -0
  84. package/migrations/012_context_delivery_v4.sql +3 -0
  85. package/package.json +1 -1
@@ -6,10 +6,12 @@ import { findSecret } from '../memory/secrets.js';
6
6
  import { sanitizeJson } from '../security/sanitize.js';
7
7
  import { canonicalJson, GENESIS_HASH, hashLedgerEvent } from './hash.js';
8
8
  import { entryOriginMatchesWorkspace, isContextEntryOrigin } from '../context/origin.js';
9
+ import { DEFAULT_NUDGE_RATE_LIMIT } from '../context/nudges.js';
10
+ import { parseStoredIdentifier, parseStoredNudgeDelivery, validateStoredNudgeHistory } from '../context/nudge-validation.js';
9
11
  import { CAPTURE_PROFILES, COVERAGE_LEVELS, LEDGER_EVENT_TYPES, RUN_STATUSES, } from './types.js';
10
12
  export const LEDGER_CHECK_NAMES = [
11
13
  'runs', 'eventIdentity', 'eventHashChain', 'runCursors', 'runIntakes',
12
- 'references', 'contextDeliveries', 'feedbackLinks', 'storedValues', 'secretResidue',
14
+ 'references', 'contextDeliveries', 'nudgeDeliveries', 'feedbackLinks', 'storedValues', 'secretResidue',
13
15
  ];
14
16
  const MAX_FINDINGS = 100;
15
17
  const MAX_FINDINGS_PER_CHECK = 25;
@@ -47,6 +49,21 @@ function rowCount(database, sql, ...parameters) {
47
49
  const result = typeof value === 'number' ? value : Number(value ?? 0);
48
50
  return Number.isFinite(result) ? result : 0;
49
51
  }
52
+ function hasTable(database, table) {
53
+ return Boolean(database.prepare(`
54
+ SELECT 1 AS present
55
+ FROM sqlite_master
56
+ WHERE type = 'table' AND name = ?
57
+ `).get(table));
58
+ }
59
+ function migrationApplied(database, version) {
60
+ return hasTable(database, 'schema_migrations')
61
+ && Boolean(database.prepare(`
62
+ SELECT 1 AS present
63
+ FROM schema_migrations
64
+ WHERE version = ?
65
+ `).get(version));
66
+ }
50
67
  function emptyChecks() {
51
68
  return Object.fromEntries(LEDGER_CHECK_NAMES.map((name) => [name, { ok: true, count: 0, findingCount: 0, findings: [], truncated: false }]));
52
69
  }
@@ -140,14 +157,14 @@ function selectedEvents(database, workspace) {
140
157
  return database.prepare('SELECT * FROM ledger_events ORDER BY run_id ASC, sequence ASC, event_id ASC').all();
141
158
  return database.prepare(`SELECT e.* FROM ledger_events AS e JOIN ledger_runs AS r ON r.run_id = e.run_id WHERE r.workspace = ? ORDER BY e.run_id ASC, e.sequence ASC, e.event_id ASC`).all(workspace);
142
159
  }
143
- function counts(database, workspace) {
160
+ function counts(database, workspace, nudgeDeliveriesAvailable) {
144
161
  const child = (table) => workspace === undefined ? rowCount(database, `SELECT COUNT(*) AS count FROM ${table}`) : rowCount(database, `SELECT COUNT(*) AS count FROM ${table} AS c JOIN ledger_runs AS r ON r.run_id = c.run_id WHERE r.workspace = ?`, workspace);
145
162
  const entries = workspace === undefined ? rowCount(database, 'SELECT COUNT(*) AS count FROM context_delivery_entries') : rowCount(database, 'SELECT COUNT(*) AS count FROM context_delivery_entries AS e JOIN context_deliveries AS d ON d.delivery_id = e.delivery_id JOIN ledger_runs AS r ON r.run_id = d.run_id WHERE r.workspace = ?', workspace);
146
163
  const tombstones = workspace === undefined ? rowCount(database, 'SELECT COUNT(*) AS count FROM ledger_purge_audit') : rowCount(database, 'SELECT COUNT(*) AS count FROM ledger_purge_audit AS p JOIN ledger_runs AS r ON r.run_id = p.run_id WHERE r.workspace = ?', workspace);
147
164
  return {
148
165
  runs: workspace === undefined ? rowCount(database, 'SELECT COUNT(*) AS count FROM ledger_runs') : rowCount(database, 'SELECT COUNT(*) AS count FROM ledger_runs WHERE workspace = ?', workspace),
149
166
  events: child('ledger_events'), evidence: child('ledger_evidence'), deliveries: child('context_deliveries'), deliveryEntries: entries,
150
- intakeFeedback: child('intake_feedback'), contextFeedback: child('context_feedback'), runFeedback: child('run_feedback'), memoryLinks: child('ledger_memory_links'), tombstones,
167
+ nudgeDeliveries: nudgeDeliveriesAvailable ? child('nudge_deliveries') : 0, intakeFeedback: child('intake_feedback'), contextFeedback: child('context_feedback'), runFeedback: child('run_feedback'), memoryLinks: child('ledger_memory_links'), tombstones,
151
168
  };
152
169
  }
153
170
  function inspectRuns(rows, findings) {
@@ -398,6 +415,64 @@ function inspectContext(database, workspace, runs, findings) {
398
415
  findings.add('references', 'orphan_delivery_run', 'context_deliveries', row.delivery_id);
399
416
  }
400
417
  }
418
+ function inspectNudgeDeliveries(database, workspace, findings) {
419
+ const scope = workspace === undefined ? '' : ' WHERE r.workspace = ?';
420
+ const parameters = workspace === undefined ? [] : [workspace];
421
+ const rows = database.prepare(`
422
+ SELECT d.*, r.last_sequence AS run_last_sequence
423
+ FROM nudge_deliveries AS d
424
+ LEFT JOIN ledger_runs AS r ON r.run_id = d.run_id${scope}
425
+ ORDER BY d.id ASC
426
+ `).all(...parameters);
427
+ const eventRows = database.prepare('SELECT event_id, run_id, sequence FROM ledger_events').all();
428
+ const eventById = new Map(eventRows.map((row) => [String(row.event_id), row]));
429
+ const histories = new Map();
430
+ for (const row of rows) {
431
+ let stored;
432
+ try {
433
+ parseStoredIdentifier(row.run_id, 'runId');
434
+ stored = parseStoredNudgeDelivery(row);
435
+ }
436
+ catch (error) {
437
+ if (!(error instanceof KiokukoError) || error.code !== 'INTEGRITY_ERROR')
438
+ throw error;
439
+ findings.add('nudgeDeliveries', 'invalid_row', 'nudge_deliveries', row.id);
440
+ findings.add('storedValues', 'invalid_nudge_row', 'nudge_deliveries', row.id);
441
+ scanRow(row, 'nudge_deliveries', row.id, findings);
442
+ continue;
443
+ }
444
+ if (integer(row.run_last_sequence) === undefined) {
445
+ findings.add('nudgeDeliveries', 'orphan_nudge_run', 'nudge_deliveries', row.id);
446
+ }
447
+ else if (stored.throughSequence > row.run_last_sequence) {
448
+ findings.add('nudgeDeliveries', 'through_sequence_out_of_range', 'nudge_deliveries', row.id);
449
+ }
450
+ const historyKey = `${row.run_id}\u0000${stored.policyVersion}`;
451
+ const history = histories.get(historyKey) ?? [];
452
+ history.push(stored);
453
+ histories.set(historyKey, history);
454
+ for (const eventId of stored.evidenceEventIds) {
455
+ const event = eventById.get(eventId);
456
+ if (!event || event.run_id !== row.run_id || integer(event.sequence) === undefined || event.sequence > stored.throughSequence) {
457
+ findings.add('nudgeDeliveries', 'invalid_evidence_event_reference', 'nudge_deliveries', row.id);
458
+ break;
459
+ }
460
+ }
461
+ scanRow(row, 'nudge_deliveries', row.id, findings);
462
+ }
463
+ for (const history of histories.values()) {
464
+ try {
465
+ validateStoredNudgeHistory(history, DEFAULT_NUDGE_RATE_LIMIT);
466
+ }
467
+ catch (error) {
468
+ if (error instanceof KiokukoError && error.code === 'INTEGRITY_ERROR') {
469
+ findings.add('nudgeDeliveries', 'invalid_history', 'nudge_deliveries', history[0]?.id);
470
+ continue;
471
+ }
472
+ throw error;
473
+ }
474
+ }
475
+ }
401
476
  function inspectFeedback(database, workspace, findings) {
402
477
  const scope = workspace === undefined ? '' : ' WHERE r.workspace = ?';
403
478
  const param = workspace === undefined ? [] : [workspace];
@@ -493,7 +568,9 @@ export function inspectLedger(database, options = {}) {
493
568
  errorValidation('workspace must be a non-empty string');
494
569
  try {
495
570
  const workspace = options.workspace;
496
- const reportCounts = counts(database, workspace);
571
+ const nudgeDeliveriesAvailable = hasTable(database, 'nudge_deliveries');
572
+ const nudgeDeliveriesRequired = migrationApplied(database, 10);
573
+ const reportCounts = counts(database, workspace, nudgeDeliveriesAvailable);
497
574
  const checks = emptyChecks();
498
575
  const findings = new FindingCollector(checks);
499
576
  const runRows = workspace === undefined ? database.prepare('SELECT * FROM ledger_runs ORDER BY run_id ASC').all() : database.prepare('SELECT * FROM ledger_runs WHERE workspace = ? ORDER BY run_id ASC').all(workspace);
@@ -503,6 +580,11 @@ export function inspectLedger(database, options = {}) {
503
580
  inspectIntakes(database, workspace, runs, findings);
504
581
  inspectReferences(database, workspace, findings);
505
582
  inspectContext(database, workspace, runs, findings);
583
+ if (nudgeDeliveriesRequired && !nudgeDeliveriesAvailable) {
584
+ findings.add('nudgeDeliveries', 'missing_table', 'nudge_deliveries');
585
+ }
586
+ if (nudgeDeliveriesAvailable)
587
+ inspectNudgeDeliveries(database, workspace, findings);
506
588
  inspectFeedback(database, workspace, findings);
507
589
  const tombstoneCount = inspectTombstones(database, workspace, findings);
508
590
  checks.runs.count = reportCounts.runs;
@@ -510,10 +592,11 @@ export function inspectLedger(database, options = {}) {
510
592
  checks.eventHashChain.count = reportCounts.events;
511
593
  checks.runCursors.count = reportCounts.runs;
512
594
  checks.runIntakes.count = workspace === undefined ? rowCount(database, 'SELECT COUNT(*) AS count FROM run_intakes') : rowCount(database, 'SELECT COUNT(*) AS count FROM run_intakes AS i JOIN ledger_runs AS r ON r.run_id = i.run_id WHERE r.workspace = ?', workspace);
513
- checks.references.count = reportCounts.evidence + reportCounts.deliveries + reportCounts.deliveryEntries + reportCounts.memoryLinks;
595
+ checks.references.count = reportCounts.evidence + reportCounts.deliveries + reportCounts.deliveryEntries + reportCounts.nudgeDeliveries + reportCounts.memoryLinks;
514
596
  checks.contextDeliveries.count = reportCounts.deliveries + reportCounts.deliveryEntries;
515
597
  checks.feedbackLinks.count = reportCounts.intakeFeedback + reportCounts.contextFeedback + reportCounts.runFeedback + reportCounts.memoryLinks;
516
- checks.storedValues.count = runRows.length + eventRows.length + reportCounts.evidence + reportCounts.deliveries + reportCounts.deliveryEntries + reportCounts.intakeFeedback + reportCounts.contextFeedback + reportCounts.runFeedback + reportCounts.memoryLinks + tombstoneCount;
598
+ checks.nudgeDeliveries.count = reportCounts.nudgeDeliveries;
599
+ checks.storedValues.count = runRows.length + eventRows.length + reportCounts.evidence + reportCounts.deliveries + reportCounts.deliveryEntries + reportCounts.nudgeDeliveries + reportCounts.intakeFeedback + reportCounts.contextFeedback + reportCounts.runFeedback + reportCounts.memoryLinks + tombstoneCount;
517
600
  checks.secretResidue.count = checks.storedValues.count;
518
601
  return { ok: LEDGER_CHECK_NAMES.every((name) => checks[name].ok), workspace: workspace ?? null, counts: reportCounts, checks, findings: findings.findings, findingCount: findings.findingCount, findingsTruncated: findings.findingsTruncated, tombstoneCount };
519
602
  }
@@ -614,7 +697,7 @@ function insertPurgeTombstone(database, input, row) {
614
697
  }
615
698
  function runGraphCount(database, runId) {
616
699
  let total = 1;
617
- for (const table of ['run_intakes', 'intake_feedback', 'ledger_events', 'ledger_evidence', 'context_deliveries', 'context_feedback', 'run_feedback', 'ledger_memory_links'])
700
+ for (const table of ['run_intakes', 'intake_feedback', 'ledger_events', 'ledger_evidence', 'context_deliveries', 'nudge_deliveries', 'context_feedback', 'run_feedback', 'ledger_memory_links'])
618
701
  total += rowCount(database, `SELECT COUNT(*) AS count FROM ${table} WHERE run_id = ?`, runId);
619
702
  total += rowCount(database, 'SELECT COUNT(*) AS count FROM context_delivery_entries AS e JOIN context_deliveries AS d ON d.delivery_id = e.delivery_id WHERE d.run_id = ?', runId);
620
703
  const session = database.prepare('SELECT session_id FROM run_intakes WHERE run_id = ?').get(runId);
@@ -1 +1 @@
1
- {"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/ledger/maintenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/ledger/maintenance.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,9 @@ export interface LedgerProjection {
26
26
  unresolvedFailureEventIds: string[];
27
27
  unknownOutcomeEventIds: string[];
28
28
  latestMutationSequence: number | null;
29
+ latestMutationEventIds: string[];
29
30
  latestPassingVerificationSequence: number | null;
31
+ latestPassingVerificationEventIds: string[];
30
32
  coverage: ProjectionCoverage;
31
33
  declaredCoverage: Coverage;
32
34
  intakeIncomplete: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/ledger/projection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAiB,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGtF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,WAAW,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;CAC7C;AAuOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CA8D9D"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/ledger/projection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAiB,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGtF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,WAAW,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,iCAAiC,EAAE,MAAM,EAAE,CAAC;IAC5C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;CAC7C;AAuOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAuE9D"}
@@ -249,7 +249,9 @@ export function projectLedger(input) {
249
249
  const missingProfileFields = HIGH_VALUE_FIELDS.filter((field) => parsed.initialProfile[field] === null);
250
250
  let taskProfile = { ...parsed.initialProfile };
251
251
  let latestMutationSequence = null;
252
+ let latestMutationEventIds = [];
252
253
  let latestPassingVerificationSequence = null;
254
+ let latestPassingVerificationEventIds = [];
253
255
  let latestEvidence = null;
254
256
  let unresolvedFailureEventIds = [];
255
257
  let unknownOutcomeEventIds = [];
@@ -260,9 +262,11 @@ export function projectLedger(input) {
260
262
  if (event.eventType === 'task_profile.revised') {
261
263
  taskProfile = applyRevision(taskProfile, event.payload);
262
264
  latestMutationSequence = event.sequence;
265
+ latestMutationEventIds = [event.eventId];
263
266
  }
264
267
  else if (event.eventType === 'file.changed' || ((event.eventType === 'command.completed' || event.eventType === 'tool.completed') && mutated(event.payload))) {
265
268
  latestMutationSequence = event.sequence;
269
+ latestMutationEventIds = [event.eventId];
266
270
  }
267
271
  if (FAILURE_EVENT_TYPES.has(event.eventType) || ((event.eventType === 'test.completed' || event.eventType === 'verification.recorded') && event.outcome === 'failed')) {
268
272
  unresolvedFailureEventIds.push(event.eventId);
@@ -273,8 +277,10 @@ export function projectLedger(input) {
273
277
  const outcome = evidenceOutcome(event.outcome);
274
278
  if (outcome !== null) {
275
279
  latestEvidence = { outcome, sequence: event.sequence };
276
- if (outcome === 'passed')
280
+ if (outcome === 'passed') {
277
281
  latestPassingVerificationSequence = event.sequence;
282
+ latestPassingVerificationEventIds = [event.eventId];
283
+ }
278
284
  }
279
285
  }
280
286
  }
@@ -297,7 +303,9 @@ export function projectLedger(input) {
297
303
  unresolvedFailureEventIds,
298
304
  unknownOutcomeEventIds,
299
305
  latestMutationSequence,
306
+ latestMutationEventIds,
300
307
  latestPassingVerificationSequence,
308
+ latestPassingVerificationEventIds,
301
309
  coverage,
302
310
  declaredCoverage,
303
311
  intakeIncomplete: parsed.intakeStatus === 'exhausted' && missingProfileFields.length > 0,
@@ -1 +1 @@
1
- {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../src/ledger/projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../src/ledger/projection.ts"],"names":[],"mappings":"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"}
@@ -119,9 +119,9 @@ export declare const runBoundCheckpointSchema: z.ZodObject<{
119
119
  entryId: z.ZodString;
120
120
  entryRevision: z.ZodNumber;
121
121
  verdict: z.ZodEnum<{
122
- stale: "stale";
123
122
  helpful: "helpful";
124
123
  irrelevant: "irrelevant";
124
+ stale: "stale";
125
125
  conflicting: "conflicting";
126
126
  }>;
127
127
  comment: z.ZodOptional<z.ZodString>;
@@ -153,9 +153,9 @@ export declare const runBoundCheckpointSchema: z.ZodObject<{
153
153
  verification: z.ZodOptional<z.ZodObject<{
154
154
  outcome: z.ZodEnum<{
155
155
  unknown: "unknown";
156
+ stale: "stale";
156
157
  failed: "failed";
157
158
  fresh: "fresh";
158
- stale: "stale";
159
159
  }>;
160
160
  }, z.core.$strict>>;
161
161
  }, z.core.$strict>>;
@@ -283,9 +283,9 @@ export declare const memoryCheckpointVariantsSchema: z.ZodUnion<readonly [z.ZodO
283
283
  entryId: z.ZodString;
284
284
  entryRevision: z.ZodNumber;
285
285
  verdict: z.ZodEnum<{
286
- stale: "stale";
287
286
  helpful: "helpful";
288
287
  irrelevant: "irrelevant";
288
+ stale: "stale";
289
289
  conflicting: "conflicting";
290
290
  }>;
291
291
  comment: z.ZodOptional<z.ZodString>;
@@ -317,9 +317,9 @@ export declare const memoryCheckpointVariantsSchema: z.ZodUnion<readonly [z.ZodO
317
317
  verification: z.ZodOptional<z.ZodObject<{
318
318
  outcome: z.ZodEnum<{
319
319
  unknown: "unknown";
320
+ stale: "stale";
320
321
  failed: "failed";
321
322
  fresh: "fresh";
322
- stale: "stale";
323
323
  }>;
324
324
  }, z.core.$strict>>;
325
325
  }, z.core.$strict>>;
@@ -446,9 +446,9 @@ export declare const memoryCheckpointInputSchema: z.ZodObject<{
446
446
  entryId: z.ZodString;
447
447
  entryRevision: z.ZodNumber;
448
448
  verdict: z.ZodEnum<{
449
- stale: "stale";
450
449
  helpful: "helpful";
451
450
  irrelevant: "irrelevant";
451
+ stale: "stale";
452
452
  conflicting: "conflicting";
453
453
  }>;
454
454
  comment: z.ZodOptional<z.ZodString>;
@@ -480,9 +480,9 @@ export declare const memoryCheckpointInputSchema: z.ZodObject<{
480
480
  verification: z.ZodOptional<z.ZodObject<{
481
481
  outcome: z.ZodEnum<{
482
482
  unknown: "unknown";
483
+ stale: "stale";
483
484
  failed: "failed";
484
485
  fresh: "fresh";
485
- stale: "stale";
486
486
  }>;
487
487
  }, z.core.$strict>>;
488
488
  }, z.core.$strict>>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-application.d.ts","sourceRoot":"","sources":["../../src/server/agent-application.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACxH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,IAAI,GAAG,oBAAoB,CAAC,CAAC;AAUlG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAyBpF;AAWD,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM1G"}
1
+ {"version":3,"file":"agent-application.d.ts","sourceRoot":"","sources":["../../src/server/agent-application.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACxH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,IAAI,GAAG,oBAAoB,CAAC,CAAC;AAUlG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAoCpF;AAWD,wBAAsB,oBAAoB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM1G"}
@@ -1,6 +1,8 @@
1
1
  import { KiokukoError } from '../errors.js';
2
2
  import { AgentGatewayService } from '../gateway/agent-service.js';
3
- import { CheckpointService, FeedbackService } from '../gateway/checkpoint-service.js';
3
+ import { FeedbackService } from '../gateway/checkpoint-service.js';
4
+ import { CheckpointMutationService } from '../gateway/checkpoint-mutation-service.js';
5
+ import { NudgeDeliveryService } from '../gateway/nudge-delivery-service.js';
4
6
  import { ContextBroker } from '../context/broker.js';
5
7
  import { startHttpServer } from './http.js';
6
8
  import { createAgentEventsRoute, agentEventsOperation } from './routes/agent-events.js';
@@ -8,6 +10,7 @@ import { createAgentIntakeRoute, agentIntakeOperation } from './routes/agent-int
8
10
  import { createAgentRunsRoute, agentRunsOperation } from './routes/agent-runs.js';
9
11
  import { createAgentPromotionsRoute, agentPromotionsOperation } from './routes/agent-promotions.js';
10
12
  import { createTask5Route, task5Operation } from './routes/task5.js';
13
+ import { AgentCheckpointUseCase } from './agent-checkpoint-use-case.js';
11
14
  function operationFor(method, pathname) {
12
15
  return agentRunsOperation(method, pathname)
13
16
  ?? agentPromotionsOperation(method, pathname)
@@ -16,13 +19,24 @@ function operationFor(method, pathname) {
16
19
  ?? task5Operation(method, pathname);
17
20
  }
18
21
  export function createAgentV1Handler(context) {
22
+ const service = new AgentGatewayService(context.database);
23
+ const checkpointMutation = new CheckpointMutationService(context.database);
24
+ const nudgeDelivery = new NudgeDeliveryService(context.database);
25
+ const broker = new ContextBroker(context.database);
19
26
  const routeContext = {
20
27
  database: context.database,
21
- service: new AgentGatewayService(context.database),
22
- checkpointService: new CheckpointService(context.database),
28
+ service,
23
29
  feedbackService: new FeedbackService(context.database),
24
- broker: new ContextBroker(context.database),
30
+ broker,
25
31
  enqueueWrite: context.enqueueWrite,
32
+ agentCheckpoint: new AgentCheckpointUseCase({
33
+ database: context.database,
34
+ service,
35
+ checkpointMutation,
36
+ nudgeDelivery,
37
+ broker,
38
+ enqueueWrite: context.enqueueWrite,
39
+ }),
26
40
  };
27
41
  const routes = [
28
42
  createAgentRunsRoute(routeContext),