@pellux/goodvibes-sdk 0.27.12 → 0.28.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 (123) hide show
  1. package/dist/_internal/contracts/artifacts/operator-contract.json +7534 -5938
  2. package/dist/_internal/contracts/generated/foundation-metadata.d.ts +2 -2
  3. package/dist/_internal/contracts/generated/foundation-metadata.js +2 -2
  4. package/dist/_internal/contracts/generated/operator-contract.d.ts.map +1 -1
  5. package/dist/_internal/contracts/generated/operator-contract.js +7534 -5938
  6. package/dist/_internal/contracts/generated/operator-method-ids.d.ts +1 -1
  7. package/dist/_internal/contracts/generated/operator-method-ids.d.ts.map +1 -1
  8. package/dist/_internal/contracts/generated/operator-method-ids.js +8 -0
  9. package/dist/_internal/daemon/context.d.ts +4 -0
  10. package/dist/_internal/daemon/context.d.ts.map +1 -1
  11. package/dist/_internal/daemon/index.d.ts +1 -0
  12. package/dist/_internal/daemon/index.d.ts.map +1 -1
  13. package/dist/_internal/daemon/index.js +1 -0
  14. package/dist/_internal/daemon/knowledge-refinement-routes.d.ts +4 -0
  15. package/dist/_internal/daemon/knowledge-refinement-routes.d.ts.map +1 -0
  16. package/dist/_internal/daemon/knowledge-refinement-routes.js +57 -0
  17. package/dist/_internal/daemon/knowledge-route-types.d.ts +4 -0
  18. package/dist/_internal/daemon/knowledge-route-types.d.ts.map +1 -1
  19. package/dist/_internal/daemon/knowledge-routes.d.ts +1 -1
  20. package/dist/_internal/daemon/knowledge-routes.d.ts.map +1 -1
  21. package/dist/_internal/daemon/knowledge-routes.js +2 -0
  22. package/dist/_internal/daemon/operator.d.ts +1 -1
  23. package/dist/_internal/daemon/operator.d.ts.map +1 -1
  24. package/dist/_internal/daemon/operator.js +10 -0
  25. package/dist/_internal/platform/config/schema-domain-runtime.d.ts +4 -0
  26. package/dist/_internal/platform/config/schema-domain-runtime.d.ts.map +1 -1
  27. package/dist/_internal/platform/config/schema-domain-runtime.js +17 -0
  28. package/dist/_internal/platform/config/schema-types.d.ts +6 -2
  29. package/dist/_internal/platform/config/schema-types.d.ts.map +1 -1
  30. package/dist/_internal/platform/control-plane/method-catalog-homegraph.d.ts.map +1 -1
  31. package/dist/_internal/platform/control-plane/method-catalog-homegraph.js +52 -2
  32. package/dist/_internal/platform/control-plane/method-catalog-knowledge.d.ts.map +1 -1
  33. package/dist/_internal/platform/control-plane/method-catalog-knowledge.js +58 -1
  34. package/dist/_internal/platform/control-plane/operator-contract-schemas-homegraph.d.ts +20 -0
  35. package/dist/_internal/platform/control-plane/operator-contract-schemas-homegraph.d.ts.map +1 -0
  36. package/dist/_internal/platform/control-plane/operator-contract-schemas-homegraph.js +140 -0
  37. package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.d.ts +11 -16
  38. package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.d.ts.map +1 -1
  39. package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.js +78 -127
  40. package/dist/_internal/platform/control-plane/routes/operator.d.ts +1 -1
  41. package/dist/_internal/platform/control-plane/routes/operator.d.ts.map +1 -1
  42. package/dist/_internal/platform/control-plane/routes/operator.js +10 -0
  43. package/dist/_internal/platform/daemon/http/home-graph-routes.d.ts.map +1 -1
  44. package/dist/_internal/platform/daemon/http/home-graph-routes.js +32 -0
  45. package/dist/_internal/platform/daemon/http/openai-compatible-routes.d.ts +10 -0
  46. package/dist/_internal/platform/daemon/http/openai-compatible-routes.d.ts.map +1 -0
  47. package/dist/_internal/platform/daemon/http/openai-compatible-routes.js +445 -0
  48. package/dist/_internal/platform/daemon/http/router-route-contexts.d.ts.map +1 -1
  49. package/dist/_internal/platform/daemon/http/router-route-contexts.js +4 -0
  50. package/dist/_internal/platform/daemon/http/router.d.ts +1 -0
  51. package/dist/_internal/platform/daemon/http/router.d.ts.map +1 -1
  52. package/dist/_internal/platform/daemon/http/router.js +16 -0
  53. package/dist/_internal/platform/knowledge/home-graph/ask.d.ts.map +1 -1
  54. package/dist/_internal/platform/knowledge/home-graph/ask.js +1 -0
  55. package/dist/_internal/platform/knowledge/home-graph/generated-pages.d.ts.map +1 -1
  56. package/dist/_internal/platform/knowledge/home-graph/generated-pages.js +24 -5
  57. package/dist/_internal/platform/knowledge/home-graph/inventory.d.ts +23 -0
  58. package/dist/_internal/platform/knowledge/home-graph/inventory.d.ts.map +1 -0
  59. package/dist/_internal/platform/knowledge/home-graph/inventory.js +21 -0
  60. package/dist/_internal/platform/knowledge/home-graph/map-view.d.ts +6 -0
  61. package/dist/_internal/platform/knowledge/home-graph/map-view.d.ts.map +1 -0
  62. package/dist/_internal/platform/knowledge/home-graph/map-view.js +11 -0
  63. package/dist/_internal/platform/knowledge/home-graph/refinement.d.ts +56 -0
  64. package/dist/_internal/platform/knowledge/home-graph/refinement.d.ts.map +1 -0
  65. package/dist/_internal/platform/knowledge/home-graph/refinement.js +62 -0
  66. package/dist/_internal/platform/knowledge/home-graph/rendering.d.ts +3 -3
  67. package/dist/_internal/platform/knowledge/home-graph/rendering.d.ts.map +1 -1
  68. package/dist/_internal/platform/knowledge/home-graph/rendering.js +52 -136
  69. package/dist/_internal/platform/knowledge/home-graph/service.d.ts +46 -0
  70. package/dist/_internal/platform/knowledge/home-graph/service.d.ts.map +1 -1
  71. package/dist/_internal/platform/knowledge/home-graph/service.js +21 -42
  72. package/dist/_internal/platform/knowledge/home-graph/status.d.ts +4 -0
  73. package/dist/_internal/platform/knowledge/home-graph/status.d.ts.map +1 -0
  74. package/dist/_internal/platform/knowledge/home-graph/status.js +43 -0
  75. package/dist/_internal/platform/knowledge/home-graph/types.d.ts +7 -0
  76. package/dist/_internal/platform/knowledge/home-graph/types.d.ts.map +1 -1
  77. package/dist/_internal/platform/knowledge/index.d.ts +1 -1
  78. package/dist/_internal/platform/knowledge/index.d.ts.map +1 -1
  79. package/dist/_internal/platform/knowledge/scheduling.js +1 -1
  80. package/dist/_internal/platform/knowledge/semantic/answer.d.ts.map +1 -1
  81. package/dist/_internal/platform/knowledge/semantic/answer.js +69 -9
  82. package/dist/_internal/platform/knowledge/semantic/gap-repair.d.ts.map +1 -1
  83. package/dist/_internal/platform/knowledge/semantic/gap-repair.js +46 -9
  84. package/dist/_internal/platform/knowledge/semantic/self-improvement.d.ts.map +1 -1
  85. package/dist/_internal/platform/knowledge/semantic/self-improvement.js +125 -5
  86. package/dist/_internal/platform/knowledge/semantic/service.d.ts +1 -2
  87. package/dist/_internal/platform/knowledge/semantic/service.d.ts.map +1 -1
  88. package/dist/_internal/platform/knowledge/semantic/service.js +51 -54
  89. package/dist/_internal/platform/knowledge/semantic/types.d.ts +12 -0
  90. package/dist/_internal/platform/knowledge/semantic/types.d.ts.map +1 -1
  91. package/dist/_internal/platform/knowledge/service-jobs.d.ts +34 -0
  92. package/dist/_internal/platform/knowledge/service-jobs.d.ts.map +1 -0
  93. package/dist/_internal/platform/knowledge/service-jobs.js +64 -0
  94. package/dist/_internal/platform/knowledge/service.d.ts +17 -1
  95. package/dist/_internal/platform/knowledge/service.d.ts.map +1 -1
  96. package/dist/_internal/platform/knowledge/service.js +52 -69
  97. package/dist/_internal/platform/knowledge/store-config.d.ts +8 -0
  98. package/dist/_internal/platform/knowledge/store-config.d.ts.map +1 -0
  99. package/dist/_internal/platform/knowledge/store-config.js +10 -0
  100. package/dist/_internal/platform/knowledge/store-load.d.ts +2 -1
  101. package/dist/_internal/platform/knowledge/store-load.d.ts.map +1 -1
  102. package/dist/_internal/platform/knowledge/store-load.js +2 -1
  103. package/dist/_internal/platform/knowledge/store-read.d.ts +10 -1
  104. package/dist/_internal/platform/knowledge/store-read.d.ts.map +1 -1
  105. package/dist/_internal/platform/knowledge/store-read.js +14 -0
  106. package/dist/_internal/platform/knowledge/store-refinement.d.ts +4 -0
  107. package/dist/_internal/platform/knowledge/store-refinement.d.ts.map +1 -0
  108. package/dist/_internal/platform/knowledge/store-refinement.js +69 -0
  109. package/dist/_internal/platform/knowledge/store-schema.d.ts +2 -1
  110. package/dist/_internal/platform/knowledge/store-schema.d.ts.map +1 -1
  111. package/dist/_internal/platform/knowledge/store-schema.js +48 -0
  112. package/dist/_internal/platform/knowledge/store.d.ts +6 -7
  113. package/dist/_internal/platform/knowledge/store.d.ts.map +1 -1
  114. package/dist/_internal/platform/knowledge/store.js +18 -13
  115. package/dist/_internal/platform/knowledge/types.d.ts +56 -0
  116. package/dist/_internal/platform/knowledge/types.d.ts.map +1 -1
  117. package/dist/_internal/platform/runtime/emitters/turn.d.ts +6 -2
  118. package/dist/_internal/platform/runtime/emitters/turn.d.ts.map +1 -1
  119. package/dist/_internal/platform/runtime/emitters/turn.js +4 -4
  120. package/dist/_internal/platform/runtime/events/turn.d.ts +12 -2
  121. package/dist/_internal/platform/runtime/events/turn.d.ts.map +1 -1
  122. package/dist/_internal/platform/version.js +1 -1
  123. package/package.json +1 -1
@@ -12,6 +12,7 @@ import { ingestKnowledgeArtifact, ingestKnowledgeBookmarkSeeds, ingestKnowledgeC
12
12
  import { decideKnowledgeConsolidationCandidate, runKnowledgeConsolidation, } from './consolidation.js';
13
13
  import { reviewKnowledgeIssue, } from './review.js';
14
14
  import { KnowledgeScheduleService } from './scheduling.js';
15
+ import { runKnowledgeServiceJobByKind } from './service-jobs.js';
15
16
  import { lintKnowledgeStore } from './lint.js';
16
17
  import { syncKnowledgeMemoryNodes } from './memory-sync.js';
17
18
  import { emitKnowledgeExtractionCompleted, emitKnowledgeExtractionFailed, emitKnowledgeIngestCompleted, emitKnowledgeIngestFailed, emitKnowledgeIngestStarted, emitKnowledgePacketBuilt, emitKnowledgeProjectionMaterialized, emitKnowledgeProjectionRendered, } from '../runtime/emitters/index.js';
@@ -377,79 +378,61 @@ export class KnowledgeService {
377
378
  listJobRuns(limit = 100, jobId) {
378
379
  return this.scheduleService.listJobRuns(limit, jobId);
379
380
  }
381
+ listRefinementTasks(limit = 100, input = {}) {
382
+ return this.store.listRefinementTasks(limit, input);
383
+ }
384
+ getRefinementTask(id) {
385
+ return this.store.getRefinementTask(id);
386
+ }
387
+ async cancelRefinementTask(id) {
388
+ const task = this.store.getRefinementTask(id);
389
+ if (!task)
390
+ return null;
391
+ return this.store.upsertRefinementTask({
392
+ id: task.id,
393
+ spaceId: task.spaceId,
394
+ subjectKind: task.subjectKind,
395
+ subjectId: task.subjectId,
396
+ subjectTitle: task.subjectTitle,
397
+ subjectType: task.subjectType,
398
+ gapId: task.gapId,
399
+ issueId: task.issueId,
400
+ state: 'cancelled',
401
+ priority: task.priority,
402
+ trigger: task.trigger,
403
+ budget: task.budget,
404
+ attemptCount: task.attemptCount,
405
+ appendTrace: [{
406
+ at: Date.now(),
407
+ state: 'cancelled',
408
+ message: 'Refinement task was cancelled by request.',
409
+ }],
410
+ metadata: task.metadata,
411
+ });
412
+ }
413
+ async runRefinement(input = {}) {
414
+ return this.semanticService.selfImprove({
415
+ knowledgeSpaceId: input.knowledgeSpaceId,
416
+ gapIds: input.gapIds,
417
+ sourceIds: input.sourceIds,
418
+ limit: input.limit,
419
+ force: input.force,
420
+ reason: 'manual',
421
+ });
422
+ }
380
423
  async runJob(id, input = {}) {
381
424
  return this.scheduleService.runJob(id, input);
382
425
  }
383
426
  async runJobByKind(kind, input) {
384
- switch (kind) {
385
- case 'lint': {
386
- const issues = await lintKnowledgeStore({ store: this.store, emitIfReady: this.emitIfReady.bind(this) });
387
- return { issueCount: issues.length };
388
- }
389
- case 'reindex': {
390
- const result = await this.reindex();
391
- return { sourceCount: result.status.sourceCount, issueCount: result.issues.length };
392
- }
393
- case 'refresh-stale': {
394
- const refreshed = await refreshKnowledgeSources(this.getIngestContext(), pickKnowledgeRefreshCandidates({ store: this.store }, 'stale', input.sourceIds, input.limit));
395
- return { refreshed };
396
- }
397
- case 'refresh-bookmarks': {
398
- const refreshed = await refreshKnowledgeSources(this.getIngestContext(), pickKnowledgeRefreshCandidates({ store: this.store }, 'bookmark', input.sourceIds, input.limit));
399
- return { refreshed };
400
- }
401
- case 'sync-browser-history': {
402
- const result = await this.syncBrowserHistory({
403
- limit: input.limit,
404
- });
405
- return {
406
- imported: result.imported,
407
- failed: result.failed,
408
- profileCount: result.profiles.length,
409
- errorCount: result.errors.length,
410
- };
411
- }
412
- case 'rebuild-projections': {
413
- const overview = await this.materializeProjection({ kind: 'overview', limit: Math.max(8, input.limit ?? 12) });
414
- const bundle = await this.materializeProjection({ kind: 'bundle', limit: Math.max(12, input.limit ?? 18) });
415
- return {
416
- projections: [
417
- { targetId: overview.bundle.target.targetId, artifactId: overview.artifact.id },
418
- { targetId: bundle.bundle.target.targetId, artifactId: bundle.artifact.id },
419
- ],
420
- };
421
- }
422
- case 'semantic-enrichment': {
423
- return this.semanticService.reindex({
424
- sourceIds: input.sourceIds,
425
- limit: input.limit,
426
- });
427
- }
428
- case 'semantic-self-improvement': {
429
- const result = await this.semanticService.selfImprove({
430
- sourceIds: input.sourceIds,
431
- limit: input.limit,
432
- reason: 'scheduled',
433
- });
434
- return { ...result };
435
- }
436
- case 'light-consolidation': {
437
- const report = await runKnowledgeConsolidation(this.getConsolidationContext(), 'light-consolidation', {
438
- limit: input.limit,
439
- autoPromote: false,
440
- });
441
- return { reportId: report.id, metrics: report.metrics };
442
- }
443
- case 'deep-consolidation': {
444
- const report = await runKnowledgeConsolidation(this.getConsolidationContext(), 'deep-consolidation', {
445
- limit: input.limit,
446
- autoPromote: true,
447
- });
448
- return { reportId: report.id, metrics: report.metrics };
449
- }
450
- default:
451
- return {};
452
- }
427
+ return runKnowledgeServiceJobByKind(kind, input, {
428
+ lint: () => lintKnowledgeStore({ store: this.store, emitIfReady: this.emitIfReady.bind(this) }),
429
+ reindex: () => this.reindex(),
430
+ refreshSources: async (refreshKind, sourceIds, limit) => refreshKnowledgeSources(this.getIngestContext(), pickKnowledgeRefreshCandidates({ store: this.store }, refreshKind, sourceIds, limit)),
431
+ syncBrowserHistory: (options) => this.syncBrowserHistory(options),
432
+ materializeProjection: (options) => this.materializeProjection(options),
433
+ semanticService: this.semanticService,
434
+ runConsolidation: (jobKind, options) => runKnowledgeConsolidation(this.getConsolidationContext(), jobKind, options),
435
+ });
453
436
  }
454
437
  deferUsage(input) {
455
438
  queueMicrotask(() => {
@@ -0,0 +1,8 @@
1
+ export interface KnowledgeStoreConfig {
2
+ readonly dbPath?: string;
3
+ readonly configManager?: {
4
+ getControlPlaneConfigDir?: () => string;
5
+ };
6
+ }
7
+ export declare function resolveKnowledgeDbPath(config: KnowledgeStoreConfig): string;
8
+ //# sourceMappingURL=store-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-config.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store-config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,wBAAwB,CAAC,EAAE,MAAM,MAAM,CAAC;KACzC,CAAC;CACH;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAO3E"}
@@ -0,0 +1,10 @@
1
+ import { resolveKnowledgeDbPathFromControlPlaneDir } from './store-schema.js';
2
+ export function resolveKnowledgeDbPath(config) {
3
+ const controlPlaneDir = typeof config.configManager?.getControlPlaneConfigDir === 'function'
4
+ ? config.configManager.getControlPlaneConfigDir()
5
+ : undefined;
6
+ const dbPath = config.dbPath ?? (controlPlaneDir ? resolveKnowledgeDbPathFromControlPlaneDir(controlPlaneDir) : undefined);
7
+ if (!dbPath)
8
+ throw new Error('KnowledgeStore requires an explicit dbPath or configManager.getControlPlaneConfigDir().');
9
+ return dbPath;
10
+ }
@@ -1,5 +1,5 @@
1
1
  import type { SQLiteStore } from '../state/sqlite-store.js';
2
- import type { KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationReportRecord, KnowledgeEdgeRecord, KnowledgeExtractionRecord, KnowledgeIssueRecord, KnowledgeJobRunRecord, KnowledgeNodeRecord, KnowledgeScheduleRecord, KnowledgeSourceRecord, KnowledgeUsageRecord } from './types.js';
2
+ import type { KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationReportRecord, KnowledgeEdgeRecord, KnowledgeExtractionRecord, KnowledgeIssueRecord, KnowledgeJobRunRecord, KnowledgeNodeRecord, KnowledgeRefinementTaskRecord, KnowledgeScheduleRecord, KnowledgeSourceRecord, KnowledgeUsageRecord } from './types.js';
3
3
  export interface KnowledgeStoreSnapshot {
4
4
  readonly sources: KnowledgeSourceRecord[];
5
5
  readonly nodes: KnowledgeNodeRecord[];
@@ -7,6 +7,7 @@ export interface KnowledgeStoreSnapshot {
7
7
  readonly issues: KnowledgeIssueRecord[];
8
8
  readonly extractions: KnowledgeExtractionRecord[];
9
9
  readonly jobRuns: KnowledgeJobRunRecord[];
10
+ readonly refinementTasks: KnowledgeRefinementTaskRecord[];
10
11
  readonly usageRecords: KnowledgeUsageRecord[];
11
12
  readonly consolidationCandidates: KnowledgeConsolidationCandidateRecord[];
12
13
  readonly consolidationReports: KnowledgeConsolidationReportRecord[];
@@ -1 +1 @@
1
- {"version":3,"file":"store-load.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store-load.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAa5D,OAAO,KAAK,EACV,qCAAqC,EACrC,kCAAkC,EAClC,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,yBAAyB,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IAC9C,QAAQ,CAAC,uBAAuB,EAAE,qCAAqC,EAAE,CAAC;IAC1E,QAAQ,CAAC,oBAAoB,EAAE,kCAAkC,EAAE,CAAC;IACpE,QAAQ,CAAC,SAAS,EAAE,uBAAuB,EAAE,CAAC;CAC/C;AAQD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW,GAAG,sBAAsB,CAatF"}
1
+ {"version":3,"file":"store-load.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store-load.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAc5D,OAAO,KAAK,EACV,qCAAqC,EACrC,kCAAkC,EAClC,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,yBAAyB,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,6BAA6B,EAAE,CAAC;IAC1D,QAAQ,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IAC9C,QAAQ,CAAC,uBAAuB,EAAE,qCAAqC,EAAE,CAAC;IAC1E,QAAQ,CAAC,oBAAoB,EAAE,kCAAkC,EAAE,CAAC;IACpE,QAAQ,CAAC,SAAS,EAAE,uBAAuB,EAAE,CAAC;CAC/C;AAQD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW,GAAG,sBAAsB,CActF"}
@@ -1,4 +1,4 @@
1
- import { mapCandidateRow, mapEdgeRow, mapExtractionRow, mapIssueRow, mapJobRunRow, mapNodeRow, mapReportRow, mapScheduleRow, mapSourceRow, mapUsageRow, } from './store-schema.js';
1
+ import { mapCandidateRow, mapEdgeRow, mapExtractionRow, mapIssueRow, mapJobRunRow, mapNodeRow, mapRefinementTaskRow, mapReportRow, mapScheduleRow, mapSourceRow, mapUsageRow, } from './store-schema.js';
2
2
  function loadRows(sqlite, sql, mapRow) {
3
3
  const rows = sqlite.exec(sql);
4
4
  if (!rows.length)
@@ -13,6 +13,7 @@ export function loadKnowledgeStoreSnapshot(sqlite) {
13
13
  issues: loadRows(sqlite, 'SELECT * FROM knowledge_issues', mapIssueRow),
14
14
  extractions: loadRows(sqlite, 'SELECT * FROM knowledge_extractions', mapExtractionRow),
15
15
  jobRuns: loadRows(sqlite, 'SELECT * FROM knowledge_job_runs', mapJobRunRow),
16
+ refinementTasks: loadRows(sqlite, 'SELECT * FROM knowledge_refinement_tasks', mapRefinementTaskRow),
16
17
  usageRecords: loadRows(sqlite, 'SELECT * FROM knowledge_usage_records', mapUsageRow),
17
18
  consolidationCandidates: loadRows(sqlite, 'SELECT * FROM knowledge_consolidation_candidates', mapCandidateRow),
18
19
  consolidationReports: loadRows(sqlite, 'SELECT * FROM knowledge_consolidation_reports', mapReportRow),
@@ -1,4 +1,4 @@
1
- import type { KnowledgeEdgeRecord, KnowledgeItemView, KnowledgeIssueRecord, KnowledgeJobRunRecord, KnowledgeNodeRecord, KnowledgeScheduleRecord, KnowledgeSourceRecord, KnowledgeStatus, KnowledgeUsageRecord, KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationReportRecord, KnowledgeExtractionRecord } from './types.js';
1
+ import type { KnowledgeEdgeRecord, KnowledgeItemView, KnowledgeIssueRecord, KnowledgeJobRunRecord, KnowledgeRefinementTaskRecord, KnowledgeNodeRecord, KnowledgeScheduleRecord, KnowledgeSourceRecord, KnowledgeStatus, KnowledgeUsageRecord, KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationReportRecord, KnowledgeExtractionRecord } from './types.js';
2
2
  export interface KnowledgeStoreReadView {
3
3
  readonly ready: boolean;
4
4
  readonly dbPath: string;
@@ -8,6 +8,7 @@ export interface KnowledgeStoreReadView {
8
8
  readonly issues: Map<string, KnowledgeIssueRecord>;
9
9
  readonly extractions: Map<string, KnowledgeExtractionRecord>;
10
10
  readonly jobRuns: Map<string, KnowledgeJobRunRecord>;
11
+ readonly refinementTasks: Map<string, KnowledgeRefinementTaskRecord>;
11
12
  readonly usageRecords: Map<string, KnowledgeUsageRecord>;
12
13
  readonly consolidationCandidates: Map<string, KnowledgeConsolidationCandidateRecord>;
13
14
  readonly consolidationReports: Map<string, KnowledgeConsolidationReportRecord>;
@@ -20,6 +21,13 @@ export declare function listKnowledgeEdges(view: KnowledgeStoreReadView): Knowle
20
21
  export declare function listKnowledgeIssues(view: KnowledgeStoreReadView, limit?: number): KnowledgeIssueRecord[];
21
22
  export declare function listKnowledgeExtractions(view: KnowledgeStoreReadView, limit?: number): KnowledgeExtractionRecord[];
22
23
  export declare function listKnowledgeJobRuns(view: KnowledgeStoreReadView, limit?: number, jobId?: string): KnowledgeJobRunRecord[];
24
+ export declare function listKnowledgeRefinementTasks(view: KnowledgeStoreReadView, limit?: number, input?: {
25
+ readonly spaceId?: string;
26
+ readonly state?: string;
27
+ readonly subjectKind?: string;
28
+ readonly subjectId?: string;
29
+ readonly gapId?: string;
30
+ }): KnowledgeRefinementTaskRecord[];
23
31
  export declare function listKnowledgeUsageRecords(view: KnowledgeStoreReadView, limit?: number, input?: {
24
32
  readonly targetKind?: KnowledgeUsageRecord['targetKind'];
25
33
  readonly targetId?: string;
@@ -38,6 +46,7 @@ export declare function getKnowledgeIssue(view: KnowledgeStoreReadView, id: stri
38
46
  export declare function getKnowledgeExtraction(view: KnowledgeStoreReadView, id: string): KnowledgeExtractionRecord | null;
39
47
  export declare function getKnowledgeExtractionBySourceId(view: KnowledgeStoreReadView, sourceId: string): KnowledgeExtractionRecord | null;
40
48
  export declare function getKnowledgeJobRun(view: KnowledgeStoreReadView, id: string): KnowledgeJobRunRecord | null;
49
+ export declare function getKnowledgeRefinementTask(view: KnowledgeStoreReadView, id: string): KnowledgeRefinementTaskRecord | null;
41
50
  export declare function getKnowledgeUsageRecord(view: KnowledgeStoreReadView, id: string): KnowledgeUsageRecord | null;
42
51
  export declare function getKnowledgeConsolidationCandidate(view: KnowledgeStoreReadView, id: string): KnowledgeConsolidationCandidateRecord | null;
43
52
  export declare function getKnowledgeConsolidationCandidateBySubject(view: KnowledgeStoreReadView, subjectKind: KnowledgeConsolidationCandidateRecord['subjectKind'], subjectId: string, candidateType: KnowledgeConsolidationCandidateRecord['candidateType']): KnowledgeConsolidationCandidateRecord | null;
@@ -1 +1 @@
1
- {"version":3,"file":"store-read.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store-read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-read.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,qCAAqC,EACrC,kCAAkC,EAClC,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACrD,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IACrE,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACzD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,qCAAqC,CAAC,CAAC;IACrF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAC/E,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CAC1D;AAsBD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,eAAe,CAgBrF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,SAAM,GAAG,qBAAqB,EAAE,CAIvG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,SAAM,GAAG,mBAAmB,EAAE,CAInG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,mBAAmB,EAAE,CAEtF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,SAAM,GAAG,oBAAoB,EAAE,CAIrG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,SAAM,GAAG,yBAAyB,EAAE,CAI/G;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,SAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAKvH;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,sBAAsB,EAC5B,KAAK,SAAM,EACX,KAAK,GAAE;IACL,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,6BAA6B,EAAE,CAWjC;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,sBAAsB,EAC5B,KAAK,SAAM,EACX,KAAK,GAAE;IACL,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;CACnD,GACL,oBAAoB,EAAE,CASxB;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,sBAAsB,EAC5B,KAAK,SAAM,EACX,KAAK,GAAE;IACL,QAAQ,CAAC,MAAM,CAAC,EAAE,qCAAqC,CAAC,QAAQ,CAAC,CAAC;IAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,qCAAqC,CAAC,aAAa,CAAC,CAAC;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CACxB,GACL,qCAAqC,EAAE,CASzC;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,SAAM,GAAG,kCAAkC,EAAE,CAIjI;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,SAAM,GAAG,uBAAuB,EAAE,CAI3G;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAEzG;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAErG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAEvG;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAEjH;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAKjI;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAEzG;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,6BAA6B,GAAG,IAAI,CAEzH;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAE7G;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,sBAAsB,EAC5B,EAAE,EAAE,MAAM,GACT,qCAAqC,GAAG,IAAI,CAE9C;AAED,wBAAgB,2CAA2C,CACzD,IAAI,EAAE,sBAAsB,EAC5B,WAAW,EAAE,qCAAqC,CAAC,aAAa,CAAC,EACjE,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,qCAAqC,CAAC,eAAe,CAAC,GACpE,qCAAqC,GAAG,IAAI,CAO9C;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,sBAAsB,EAC5B,EAAE,EAAE,MAAM,GACT,kCAAkC,GAAG,IAAI,CAE3C;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAE7G;AAED,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,sBAAsB,EAC5B,YAAY,EAAE,MAAM,GACnB,qBAAqB,GAAG,IAAI,CAK9B;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACjC,IAAI,EAAE,MAAM,GACX,mBAAmB,GAAG,IAAI,CAK5B;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EACrE,EAAE,EAAE,MAAM,GACT,mBAAmB,EAAE,CAKvB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAgCnG"}
@@ -23,6 +23,7 @@ export function getKnowledgeStoreStatus(view) {
23
23
  issueCount: view.issues.size,
24
24
  extractionCount: view.extractions.size,
25
25
  jobRunCount: view.jobRuns.size,
26
+ refinementTaskCount: view.refinementTasks.size,
26
27
  usageCount: view.usageRecords.size,
27
28
  candidateCount: view.consolidationCandidates.size,
28
29
  reportCount: view.consolidationReports.size,
@@ -58,6 +59,16 @@ export function listKnowledgeJobRuns(view, limit = 100, jobId) {
58
59
  .sort(byRequestedAtDesc)
59
60
  .slice(0, sliceLimit(limit));
60
61
  }
62
+ export function listKnowledgeRefinementTasks(view, limit = 100, input = {}) {
63
+ return [...view.refinementTasks.values()]
64
+ .filter((task) => ((!input.spaceId || task.spaceId === input.spaceId)
65
+ && (!input.state || task.state === input.state)
66
+ && (!input.subjectKind || task.subjectKind === input.subjectKind)
67
+ && (!input.subjectId || task.subjectId === input.subjectId)
68
+ && (!input.gapId || task.gapId === input.gapId)))
69
+ .sort(byUpdatedAtDesc)
70
+ .slice(0, sliceLimit(limit));
71
+ }
61
72
  export function listKnowledgeUsageRecords(view, limit = 100, input = {}) {
62
73
  return [...view.usageRecords.values()]
63
74
  .filter((record) => ((!input.targetKind || record.targetKind === input.targetKind)
@@ -106,6 +117,9 @@ export function getKnowledgeExtractionBySourceId(view, sourceId) {
106
117
  export function getKnowledgeJobRun(view, id) {
107
118
  return view.jobRuns.get(id) ?? null;
108
119
  }
120
+ export function getKnowledgeRefinementTask(view, id) {
121
+ return view.refinementTasks.get(id) ?? null;
122
+ }
109
123
  export function getKnowledgeUsageRecord(view, id) {
110
124
  return view.usageRecords.get(id) ?? null;
111
125
  }
@@ -0,0 +1,4 @@
1
+ import type { SQLiteStore } from '../state/sqlite-store.js';
2
+ import type { KnowledgeRefinementTaskRecord, KnowledgeRefinementTaskUpsertInput } from './types.js';
3
+ export declare function upsertKnowledgeRefinementTask(sqlite: SQLiteStore, refinementTasks: Map<string, KnowledgeRefinementTaskRecord>, input: KnowledgeRefinementTaskUpsertInput, createId: () => string): Promise<KnowledgeRefinementTaskRecord>;
4
+ //# sourceMappingURL=store-refinement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-refinement.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store-refinement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EACV,6BAA6B,EAC7B,kCAAkC,EACnC,MAAM,YAAY,CAAC;AAEpB,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,EAC3D,KAAK,EAAE,kCAAkC,EACzC,QAAQ,EAAE,MAAM,MAAM,GACrB,OAAO,CAAC,6BAA6B,CAAC,CAmExC"}
@@ -0,0 +1,69 @@
1
+ import { nowMs, stableText } from './store-schema.js';
2
+ export async function upsertKnowledgeRefinementTask(sqlite, refinementTasks, input, createId) {
3
+ const existing = input.id ? refinementTasks.get(input.id) : null;
4
+ const now = nowMs();
5
+ const _subjectKind = stableText(input.subjectKind);
6
+ const _subjectId = stableText(input.subjectId);
7
+ const _subjectTitle = stableText(input.subjectTitle);
8
+ const _subjectType = stableText(input.subjectType);
9
+ const _gapId = stableText(input.gapId);
10
+ const _issueId = stableText(input.issueId);
11
+ const _blockedReason = stableText(input.blockedReason);
12
+ const replacementTrace = input.trace ? [...input.trace] : existing?.trace ?? [];
13
+ const trace = [...replacementTrace, ...(input.appendTrace ?? [])].slice(-80);
14
+ const record = {
15
+ id: existing?.id ?? input.id ?? createId(),
16
+ spaceId: input.spaceId,
17
+ ...(_subjectKind !== null ? { subjectKind: _subjectKind } : existing?.subjectKind ? { subjectKind: existing.subjectKind } : {}),
18
+ ...(_subjectId !== null ? { subjectId: _subjectId } : existing?.subjectId ? { subjectId: existing.subjectId } : {}),
19
+ ...(_subjectTitle !== null ? { subjectTitle: _subjectTitle } : existing?.subjectTitle ? { subjectTitle: existing.subjectTitle } : {}),
20
+ ...(_subjectType !== null ? { subjectType: _subjectType } : existing?.subjectType ? { subjectType: existing.subjectType } : {}),
21
+ ...(_gapId !== null ? { gapId: _gapId } : existing?.gapId ? { gapId: existing.gapId } : {}),
22
+ ...(_issueId !== null ? { issueId: _issueId } : existing?.issueId ? { issueId: existing.issueId } : {}),
23
+ state: input.state,
24
+ priority: input.priority ?? existing?.priority ?? 'normal',
25
+ trigger: input.trigger,
26
+ budget: {
27
+ ...(existing?.budget ?? {}),
28
+ ...(input.budget ?? {}),
29
+ },
30
+ attemptCount: Math.max(0, Math.trunc(input.attemptCount ?? existing?.attemptCount ?? 0)),
31
+ ...(_blockedReason !== null ? { blockedReason: _blockedReason } : existing?.blockedReason && input.state === existing.state ? { blockedReason: existing.blockedReason } : {}),
32
+ trace,
33
+ metadata: {
34
+ ...(existing?.metadata ?? {}),
35
+ ...(input.metadata ?? {}),
36
+ },
37
+ createdAt: existing?.createdAt ?? now,
38
+ updatedAt: now,
39
+ };
40
+ sqlite.run(`
41
+ INSERT OR REPLACE INTO knowledge_refinement_tasks (
42
+ id, space_id, subject_kind, subject_id, subject_title, subject_type, gap_id,
43
+ issue_id, state, priority, trigger, budget, attempt_count, blocked_reason,
44
+ trace, metadata, created_at, updated_at
45
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
46
+ `, [
47
+ record.id,
48
+ record.spaceId,
49
+ record.subjectKind ?? null,
50
+ record.subjectId ?? null,
51
+ record.subjectTitle ?? null,
52
+ record.subjectType ?? null,
53
+ record.gapId ?? null,
54
+ record.issueId ?? null,
55
+ record.state,
56
+ record.priority,
57
+ record.trigger,
58
+ JSON.stringify(record.budget),
59
+ record.attemptCount,
60
+ record.blockedReason ?? null,
61
+ JSON.stringify(record.trace),
62
+ JSON.stringify(record.metadata),
63
+ record.createdAt,
64
+ record.updatedAt,
65
+ ]);
66
+ refinementTasks.set(record.id, record);
67
+ await sqlite.save();
68
+ return record;
69
+ }
@@ -1,4 +1,4 @@
1
- import type { KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationReportRecord, KnowledgeEdgeRecord, KnowledgeExtractionRecord, KnowledgeIssueRecord, KnowledgeIssueUpsertInput, KnowledgeJobRunRecord, KnowledgeNodeRecord, KnowledgeScheduleRecord, KnowledgeSourceRecord, KnowledgeUsageRecord } from './types.js';
1
+ import type { KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationReportRecord, KnowledgeEdgeRecord, KnowledgeExtractionRecord, KnowledgeIssueRecord, KnowledgeIssueUpsertInput, KnowledgeJobRunRecord, KnowledgeNodeRecord, KnowledgeScheduleRecord, KnowledgeSourceRecord, KnowledgeRefinementTaskRecord, KnowledgeUsageRecord } from './types.js';
2
2
  export declare function resolveKnowledgeDbPathFromControlPlaneDir(controlPlaneDir: string): string;
3
3
  export declare function nowMs(): number;
4
4
  export declare function stableText(value: string | undefined): string | null;
@@ -16,6 +16,7 @@ export declare function mapEdgeRow(columns: string[], values: unknown[]): Knowle
16
16
  export declare function mapIssueRow(columns: string[], values: unknown[]): KnowledgeIssueRecord;
17
17
  export declare function mapExtractionRow(columns: string[], values: unknown[]): KnowledgeExtractionRecord;
18
18
  export declare function mapJobRunRow(columns: string[], values: unknown[]): KnowledgeJobRunRecord;
19
+ export declare function mapRefinementTaskRow(columns: string[], values: unknown[]): KnowledgeRefinementTaskRecord;
19
20
  export declare function mapUsageRow(columns: string[], values: unknown[]): KnowledgeUsageRecord;
20
21
  export declare function mapCandidateRow(columns: string[], values: unknown[]): KnowledgeConsolidationCandidateRecord;
21
22
  export declare function mapReportRow(columns: string[], values: unknown[]): KnowledgeConsolidationReportRecord;
@@ -1 +1 @@
1
- {"version":3,"file":"store-schema.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store-schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qCAAqC,EACrC,kCAAkC,EAClC,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EAWrB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,yCAAyC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED,wBAAgB,KAAK,IAAI,MAAM,CAE9B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAInE;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EACjD,KAAK,EAAE,yBAAyB,GAC/B,oBAAoB,CAAC,QAAQ,CAAC,CAOhC;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAWpE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAOhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE;IAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAmLjE;AAED,wBAAgB,4BAA4B,IAAI,SAAS,MAAM,EAAE,CAShE;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAIjD;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAuBxF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAgBpF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAcpF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,CActF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,yBAAyB,CAmBhG;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAgBxF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAatF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,qCAAqC,CAoB3G;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,kCAAkC,CAarG;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAc5F"}
1
+ {"version":3,"file":"store-schema.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store-schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qCAAqC,EACrC,kCAAkC,EAClC,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EAOrB,6BAA6B,EAQ7B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,yCAAyC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED,wBAAgB,KAAK,IAAI,MAAM,CAE9B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAInE;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EACjD,KAAK,EAAE,yBAAyB,GAC/B,oBAAoB,CAAC,QAAQ,CAAC,CAOhC;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAWpE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAOhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE;IAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CA4MjE;AAED,wBAAgB,4BAA4B,IAAI,SAAS,MAAM,EAAE,CAShE;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAIjD;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAuBxF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAgBpF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAcpF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,CActF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,yBAAyB,CAmBhG;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAgBxF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,6BAA6B,CAsBxG;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAatF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,qCAAqC,CAoB3G;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,kCAAkC,CAarG;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAc5F"}
@@ -158,6 +158,31 @@ export function createSchema(db) {
158
158
  db.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_job_runs_job_id ON knowledge_job_runs(job_id)`);
159
159
  db.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_job_runs_requested_at ON knowledge_job_runs(requested_at)`);
160
160
  db.run(`
161
+ CREATE TABLE IF NOT EXISTS knowledge_refinement_tasks (
162
+ id TEXT PRIMARY KEY,
163
+ space_id TEXT NOT NULL,
164
+ subject_kind TEXT,
165
+ subject_id TEXT,
166
+ subject_title TEXT,
167
+ subject_type TEXT,
168
+ gap_id TEXT,
169
+ issue_id TEXT,
170
+ state TEXT NOT NULL,
171
+ priority TEXT NOT NULL,
172
+ trigger TEXT NOT NULL,
173
+ budget TEXT NOT NULL DEFAULT '{}',
174
+ attempt_count INTEGER NOT NULL DEFAULT 0,
175
+ blocked_reason TEXT,
176
+ trace TEXT NOT NULL DEFAULT '[]',
177
+ metadata TEXT NOT NULL DEFAULT '{}',
178
+ created_at INTEGER NOT NULL,
179
+ updated_at INTEGER NOT NULL
180
+ )
181
+ `);
182
+ db.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_refinement_space_state ON knowledge_refinement_tasks(space_id, state)`);
183
+ db.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_refinement_gap ON knowledge_refinement_tasks(gap_id)`);
184
+ db.run(`CREATE INDEX IF NOT EXISTS idx_knowledge_refinement_subject ON knowledge_refinement_tasks(subject_kind, subject_id)`);
185
+ db.run(`
161
186
  CREATE TABLE IF NOT EXISTS knowledge_usage_records (
162
187
  id TEXT PRIMARY KEY,
163
188
  target_kind TEXT NOT NULL,
@@ -351,6 +376,29 @@ export function mapJobRunRow(columns, values) {
351
376
  updatedAt: Number(row.updated_at),
352
377
  };
353
378
  }
379
+ export function mapRefinementTaskRow(columns, values) {
380
+ const row = rowObject(columns, values);
381
+ return {
382
+ id: String(row.id),
383
+ spaceId: String(row.space_id),
384
+ ...(stableText(row.subject_kind) ? { subjectKind: String(row.subject_kind) } : {}),
385
+ ...(stableText(row.subject_id) ? { subjectId: String(row.subject_id) } : {}),
386
+ ...(stableText(row.subject_title) ? { subjectTitle: String(row.subject_title) } : {}),
387
+ ...(stableText(row.subject_type) ? { subjectType: String(row.subject_type) } : {}),
388
+ ...(stableText(row.gap_id) ? { gapId: String(row.gap_id) } : {}),
389
+ ...(stableText(row.issue_id) ? { issueId: String(row.issue_id) } : {}),
390
+ state: String(row.state),
391
+ priority: String(row.priority),
392
+ trigger: String(row.trigger),
393
+ budget: parseJsonValue(row.budget, {}),
394
+ attemptCount: Number(row.attempt_count),
395
+ ...(stableText(row.blocked_reason) ? { blockedReason: String(row.blocked_reason) } : {}),
396
+ trace: parseJsonValue(row.trace, []),
397
+ metadata: parseJsonValue(row.metadata, {}),
398
+ createdAt: Number(row.created_at),
399
+ updatedAt: Number(row.updated_at),
400
+ };
401
+ }
354
402
  export function mapUsageRow(columns, values) {
355
403
  const row = rowObject(columns, values);
356
404
  return {
@@ -1,10 +1,5 @@
1
- import type { KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationCandidateUpsertInput, KnowledgeConsolidationReportRecord, KnowledgeConsolidationReportUpsertInput, KnowledgeEdgeRecord, KnowledgeEdgeUpsertInput, KnowledgeExtractionRecord, KnowledgeExtractionUpsertInput, KnowledgeIssueRecord, KnowledgeIssueUpsertInput, KnowledgeItemView, KnowledgeJobRunRecord, KnowledgeJobRunUpsertInput, KnowledgeNodeRecord, KnowledgeNodeUpsertInput, KnowledgeScheduleRecord, KnowledgeScheduleUpsertInput, KnowledgeSourceRecord, KnowledgeSourceUpsertInput, KnowledgeStatus, KnowledgeUsageRecord, KnowledgeUsageUpsertInput } from './types.js';
2
- export interface KnowledgeStoreConfig {
3
- readonly dbPath?: string;
4
- readonly configManager?: {
5
- getControlPlaneConfigDir?: () => string;
6
- };
7
- }
1
+ import type { KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationCandidateUpsertInput, KnowledgeConsolidationReportRecord, KnowledgeConsolidationReportUpsertInput, KnowledgeEdgeRecord, KnowledgeEdgeUpsertInput, KnowledgeExtractionRecord, KnowledgeExtractionUpsertInput, KnowledgeIssueRecord, KnowledgeIssueUpsertInput, KnowledgeItemView, KnowledgeJobRunRecord, KnowledgeJobRunUpsertInput, KnowledgeRefinementTaskFilter, KnowledgeRefinementTaskRecord, KnowledgeRefinementTaskUpsertInput, KnowledgeNodeRecord, KnowledgeNodeUpsertInput, KnowledgeScheduleRecord, KnowledgeScheduleUpsertInput, KnowledgeSourceRecord, KnowledgeSourceUpsertInput, KnowledgeStatus, KnowledgeUsageRecord, KnowledgeUsageUpsertInput } from './types.js';
2
+ import { type KnowledgeStoreConfig } from './store-config.js';
8
3
  export declare class KnowledgeStore {
9
4
  private readonly sqlite;
10
5
  private readonly dbPath;
@@ -16,6 +11,7 @@ export declare class KnowledgeStore {
16
11
  private readonly issues;
17
12
  private readonly extractions;
18
13
  private readonly jobRuns;
14
+ private readonly refinementTasks;
19
15
  private readonly usageRecords;
20
16
  private readonly consolidationCandidates;
21
17
  private readonly consolidationReports;
@@ -32,6 +28,7 @@ export declare class KnowledgeStore {
32
28
  listIssues(limit?: number): KnowledgeIssueRecord[];
33
29
  listExtractions(limit?: number): KnowledgeExtractionRecord[];
34
30
  listJobRuns(limit?: number, jobId?: string): KnowledgeJobRunRecord[];
31
+ listRefinementTasks(limit?: number, input?: KnowledgeRefinementTaskFilter): KnowledgeRefinementTaskRecord[];
35
32
  listUsageRecords(limit?: number, input?: {
36
33
  readonly targetKind?: KnowledgeUsageRecord['targetKind'];
37
34
  readonly targetId?: string;
@@ -50,6 +47,7 @@ export declare class KnowledgeStore {
50
47
  getExtraction(id: string): KnowledgeExtractionRecord | null;
51
48
  getExtractionBySourceId(sourceId: string): KnowledgeExtractionRecord | null;
52
49
  getJobRun(id: string): KnowledgeJobRunRecord | null;
50
+ getRefinementTask(id: string): KnowledgeRefinementTaskRecord | null;
53
51
  getUsageRecord(id: string): KnowledgeUsageRecord | null;
54
52
  getConsolidationCandidate(id: string): KnowledgeConsolidationCandidateRecord | null;
55
53
  getConsolidationCandidateBySubject(subjectKind: KnowledgeConsolidationCandidateRecord['subjectKind'], subjectId: string, candidateType: KnowledgeConsolidationCandidateRecord['candidateType']): KnowledgeConsolidationCandidateRecord | null;
@@ -66,6 +64,7 @@ export declare class KnowledgeStore {
66
64
  upsertIssue(input: KnowledgeIssueUpsertInput): Promise<KnowledgeIssueRecord>;
67
65
  upsertExtraction(input: KnowledgeExtractionUpsertInput): Promise<KnowledgeExtractionRecord>;
68
66
  upsertJobRun(input: KnowledgeJobRunUpsertInput): Promise<KnowledgeJobRunRecord>;
67
+ upsertRefinementTask(input: KnowledgeRefinementTaskUpsertInput): Promise<KnowledgeRefinementTaskRecord>;
69
68
  upsertUsageRecord(input: KnowledgeUsageUpsertInput): Promise<KnowledgeUsageRecord>;
70
69
  upsertConsolidationCandidate(input: KnowledgeConsolidationCandidateUpsertInput): Promise<KnowledgeConsolidationCandidateRecord>;
71
70
  upsertConsolidationReport(input: KnowledgeConsolidationReportUpsertInput): Promise<KnowledgeConsolidationReportRecord>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,10 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { join } from 'node:path';
3
2
  import { SQLiteStore } from '../state/sqlite-store.js';
4
- import { createSchema, issueStatusForUpsert, nowMs, resolveKnowledgeDbPathFromControlPlaneDir, stableText, uniq, } from './store-schema.js';
5
- import { edgesForKnowledgeStore, getKnowledgeConsolidationCandidate, getKnowledgeConsolidationCandidateBySubject, getKnowledgeConsolidationReport, getKnowledgeExtraction, getKnowledgeExtractionBySourceId, getKnowledgeIssue, getKnowledgeItem, getKnowledgeJobRun, getKnowledgeNode, getKnowledgeNodeByKindAndSlug, getKnowledgeSchedule, getKnowledgeSource, getKnowledgeSourceByCanonicalUri, getKnowledgeStoreStatus, getKnowledgeUsageRecord, listKnowledgeConsolidationCandidates, listKnowledgeConsolidationReports, listKnowledgeEdges, listKnowledgeExtractions, listKnowledgeIssues, listKnowledgeJobRuns, listKnowledgeNodes, listKnowledgeSchedules, listKnowledgeSources, listKnowledgeUsageRecords, } from './store-read.js';
3
+ import { createSchema, issueStatusForUpsert, nowMs, stableText, uniq, } from './store-schema.js';
4
+ import { resolveKnowledgeDbPath } from './store-config.js';
5
+ import { upsertKnowledgeRefinementTask } from './store-refinement.js';
6
+ import { edgesForKnowledgeStore, getKnowledgeConsolidationCandidate, getKnowledgeConsolidationCandidateBySubject, getKnowledgeConsolidationReport, getKnowledgeExtraction, getKnowledgeExtractionBySourceId, getKnowledgeIssue, getKnowledgeItem, getKnowledgeJobRun, getKnowledgeRefinementTask, getKnowledgeNode, getKnowledgeNodeByKindAndSlug, getKnowledgeSchedule, getKnowledgeSource, getKnowledgeSourceByCanonicalUri, getKnowledgeStoreStatus, getKnowledgeUsageRecord, listKnowledgeConsolidationCandidates, listKnowledgeConsolidationReports, listKnowledgeEdges, listKnowledgeExtractions, listKnowledgeIssues, listKnowledgeJobRuns, listKnowledgeRefinementTasks, listKnowledgeNodes, listKnowledgeSchedules, listKnowledgeSources, listKnowledgeUsageRecords, } from './store-read.js';
6
7
  import { loadKnowledgeStoreSnapshot } from './store-load.js';
7
- function resolveKnowledgeDbPath(config) {
8
- const controlPlaneDir = typeof config.configManager?.getControlPlaneConfigDir === 'function'
9
- ? config.configManager.getControlPlaneConfigDir()
10
- : undefined;
11
- const dbPath = config.dbPath ?? (controlPlaneDir ? resolveKnowledgeDbPathFromControlPlaneDir(controlPlaneDir) : undefined);
12
- if (!dbPath) {
13
- throw new Error('KnowledgeStore requires an explicit dbPath or configManager.getControlPlaneConfigDir().');
14
- }
15
- return dbPath;
16
- }
17
8
  export class KnowledgeStore {
18
9
  sqlite;
19
10
  dbPath;
@@ -25,6 +16,7 @@ export class KnowledgeStore {
25
16
  issues = new Map();
26
17
  extractions = new Map();
27
18
  jobRuns = new Map();
19
+ refinementTasks = new Map();
28
20
  usageRecords = new Map();
29
21
  consolidationCandidates = new Map();
30
22
  consolidationReports = new Map();
@@ -77,6 +69,9 @@ export class KnowledgeStore {
77
69
  listJobRuns(limit = 100, jobId) {
78
70
  return listKnowledgeJobRuns(this.asReadView(), limit, jobId);
79
71
  }
72
+ listRefinementTasks(limit = 100, input = {}) {
73
+ return listKnowledgeRefinementTasks(this.asReadView(), limit, input);
74
+ }
80
75
  listUsageRecords(limit = 100, input = {}) {
81
76
  return listKnowledgeUsageRecords(this.asReadView(), limit, input);
82
77
  }
@@ -107,6 +102,9 @@ export class KnowledgeStore {
107
102
  getJobRun(id) {
108
103
  return getKnowledgeJobRun(this.asReadView(), id);
109
104
  }
105
+ getRefinementTask(id) {
106
+ return getKnowledgeRefinementTask(this.asReadView(), id);
107
+ }
110
108
  getUsageRecord(id) {
111
109
  return getKnowledgeUsageRecord(this.asReadView(), id);
112
110
  }
@@ -466,6 +464,10 @@ export class KnowledgeStore {
466
464
  await this.sqlite.save();
467
465
  return record;
468
466
  }
467
+ async upsertRefinementTask(input) {
468
+ await this.init();
469
+ return upsertKnowledgeRefinementTask(this.sqlite, this.refinementTasks, input, () => `kref-${randomUUID().slice(0, 8)}`);
470
+ }
469
471
  async upsertUsageRecord(input) {
470
472
  await this.init();
471
473
  const _task = stableText(input.task);
@@ -668,6 +670,9 @@ export class KnowledgeStore {
668
670
  this.jobRuns.clear();
669
671
  for (const record of snapshot.jobRuns)
670
672
  this.jobRuns.set(record.id, record);
673
+ this.refinementTasks.clear();
674
+ for (const record of snapshot.refinementTasks)
675
+ this.refinementTasks.set(record.id, record);
671
676
  this.usageRecords.clear();
672
677
  for (const record of snapshot.usageRecords)
673
678
  this.usageRecords.set(record.id, record);