@pellux/goodvibes-sdk 0.28.8 → 0.28.10
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.
- package/dist/_internal/contracts/artifacts/operator-contract.json +89 -4
- package/dist/_internal/contracts/generated/foundation-metadata.d.ts +2 -2
- package/dist/_internal/contracts/generated/foundation-metadata.js +2 -2
- package/dist/_internal/contracts/generated/operator-contract.d.ts.map +1 -1
- package/dist/_internal/contracts/generated/operator-contract.js +89 -4
- package/dist/_internal/contracts/generated/operator-method-ids.d.ts +1 -1
- package/dist/_internal/contracts/generated/operator-method-ids.d.ts.map +1 -1
- package/dist/_internal/contracts/generated/operator-method-ids.js +1 -0
- package/dist/_internal/platform/control-plane/method-catalog-homegraph.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/method-catalog-homegraph.js +13 -1
- package/dist/_internal/platform/control-plane/operator-contract-schemas-homegraph.d.ts +1 -0
- package/dist/_internal/platform/control-plane/operator-contract-schemas-homegraph.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/operator-contract-schemas-homegraph.js +7 -0
- package/dist/_internal/platform/daemon/http/home-graph-routes.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http/home-graph-routes.js +3 -0
- package/dist/_internal/platform/knowledge/home-graph/ask.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/home-graph/ask.js +26 -7
- package/dist/_internal/platform/knowledge/home-graph/index.d.ts +1 -1
- package/dist/_internal/platform/knowledge/home-graph/index.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/home-graph/search-utils.d.ts +3 -0
- package/dist/_internal/platform/knowledge/home-graph/search-utils.d.ts.map +1 -0
- package/dist/_internal/platform/knowledge/home-graph/search-utils.js +16 -0
- package/dist/_internal/platform/knowledge/home-graph/search.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/home-graph/search.js +12 -13
- package/dist/_internal/platform/knowledge/home-graph/service.d.ts +2 -1
- package/dist/_internal/platform/knowledge/home-graph/service.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/home-graph/service.js +6 -0
- package/dist/_internal/platform/knowledge/home-graph/types.d.ts +20 -1
- package/dist/_internal/platform/knowledge/home-graph/types.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/home-graph/types.js +1 -0
- package/dist/_internal/platform/knowledge/index.d.ts +1 -1
- package/dist/_internal/platform/knowledge/index.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/semantic/answer.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/semantic/answer.js +6 -0
- package/dist/_internal/platform/knowledge/semantic/homeassistant-scope.d.ts +12 -0
- package/dist/_internal/platform/knowledge/semantic/homeassistant-scope.d.ts.map +1 -0
- package/dist/_internal/platform/knowledge/semantic/homeassistant-scope.js +240 -0
- package/dist/_internal/platform/knowledge/store-schedules.d.ts +5 -0
- package/dist/_internal/platform/knowledge/store-schedules.d.ts.map +1 -0
- package/dist/_internal/platform/knowledge/store-schedules.js +46 -0
- package/dist/_internal/platform/knowledge/store-space-delete.d.ts +30 -0
- package/dist/_internal/platform/knowledge/store-space-delete.d.ts.map +1 -0
- package/dist/_internal/platform/knowledge/store-space-delete.js +66 -0
- package/dist/_internal/platform/knowledge/store.d.ts +2 -0
- package/dist/_internal/platform/knowledge/store.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/store.js +21 -42
- package/dist/_internal/platform/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { SQLiteStore } from '../state/sqlite-store.js';
|
|
2
|
+
import { getKnowledgeSpaceId, normalizeKnowledgeSpaceId } from './spaces.js';
|
|
3
|
+
export function deleteKnowledgeSpaceRows(sqlite, stores, spaceId) {
|
|
4
|
+
const normalized = normalizeKnowledgeSpaceId(spaceId);
|
|
5
|
+
const sourceIds = matchingIds(stores.sources, (record) => getKnowledgeSpaceId(record) === normalized);
|
|
6
|
+
const nodeIds = matchingIds(stores.nodes, (record) => getKnowledgeSpaceId(record) === normalized);
|
|
7
|
+
const issueIds = matchingIds(stores.issues, (record) => (getKnowledgeSpaceId(record) === normalized
|
|
8
|
+
|| (record.sourceId !== undefined && sourceIds.has(record.sourceId))
|
|
9
|
+
|| (record.nodeId !== undefined && nodeIds.has(record.nodeId))));
|
|
10
|
+
const extractionIds = matchingIds(stores.extractions, (record) => (getKnowledgeSpaceId(record) === normalized || sourceIds.has(record.sourceId)));
|
|
11
|
+
const edgeIds = matchingIds(stores.edges, (record) => (getKnowledgeSpaceId(record) === normalized
|
|
12
|
+
|| (record.fromKind === 'source' && sourceIds.has(record.fromId))
|
|
13
|
+
|| (record.toKind === 'source' && sourceIds.has(record.toId))
|
|
14
|
+
|| (record.fromKind === 'node' && nodeIds.has(record.fromId))
|
|
15
|
+
|| (record.toKind === 'node' && nodeIds.has(record.toId))));
|
|
16
|
+
const refinementTaskIds = matchingIds(stores.refinementTasks, (record) => normalizeKnowledgeSpaceId(record.spaceId) === normalized);
|
|
17
|
+
const jobRunIds = matchingIds(stores.jobRuns, (record) => getKnowledgeSpaceId(record) === normalized);
|
|
18
|
+
const usageRecordIds = matchingIds(stores.usageRecords, (record) => (getKnowledgeSpaceId(record) === normalized
|
|
19
|
+
|| (record.targetKind === 'source' && sourceIds.has(record.targetId))
|
|
20
|
+
|| (record.targetKind === 'node' && nodeIds.has(record.targetId))
|
|
21
|
+
|| (record.targetKind === 'issue' && issueIds.has(record.targetId))));
|
|
22
|
+
const consolidationCandidateIds = matchingIds(stores.consolidationCandidates, (record) => (getKnowledgeSpaceId(record) === normalized
|
|
23
|
+
|| (record.subjectKind === 'source' && sourceIds.has(record.subjectId))
|
|
24
|
+
|| (record.subjectKind === 'node' && nodeIds.has(record.subjectId))
|
|
25
|
+
|| (record.subjectKind === 'issue' && issueIds.has(record.subjectId))));
|
|
26
|
+
const consolidationReportIds = matchingIds(stores.consolidationReports, (record) => getKnowledgeSpaceId(record) === normalized);
|
|
27
|
+
const scheduleIds = matchingIds(stores.schedules, (record) => getKnowledgeSpaceId(record) === normalized);
|
|
28
|
+
deleteRows(sqlite, 'knowledge_usage_records', usageRecordIds, stores.usageRecords);
|
|
29
|
+
deleteRows(sqlite, 'knowledge_consolidation_candidates', consolidationCandidateIds, stores.consolidationCandidates);
|
|
30
|
+
deleteRows(sqlite, 'knowledge_consolidation_reports', consolidationReportIds, stores.consolidationReports);
|
|
31
|
+
deleteRows(sqlite, 'knowledge_refinement_tasks', refinementTaskIds, stores.refinementTasks);
|
|
32
|
+
deleteRows(sqlite, 'knowledge_job_runs', jobRunIds, stores.jobRuns);
|
|
33
|
+
deleteRows(sqlite, 'knowledge_edges', edgeIds, stores.edges);
|
|
34
|
+
deleteRows(sqlite, 'knowledge_issues', issueIds, stores.issues);
|
|
35
|
+
deleteRows(sqlite, 'knowledge_extractions', extractionIds, stores.extractions);
|
|
36
|
+
deleteRows(sqlite, 'knowledge_nodes', nodeIds, stores.nodes);
|
|
37
|
+
deleteRows(sqlite, 'knowledge_sources', sourceIds, stores.sources);
|
|
38
|
+
deleteRows(sqlite, 'knowledge_schedules', scheduleIds, stores.schedules);
|
|
39
|
+
return {
|
|
40
|
+
sources: sourceIds.size,
|
|
41
|
+
nodes: nodeIds.size,
|
|
42
|
+
edges: edgeIds.size,
|
|
43
|
+
issues: issueIds.size,
|
|
44
|
+
extractions: extractionIds.size,
|
|
45
|
+
jobRuns: jobRunIds.size,
|
|
46
|
+
refinementTasks: refinementTaskIds.size,
|
|
47
|
+
usageRecords: usageRecordIds.size,
|
|
48
|
+
consolidationCandidates: consolidationCandidateIds.size,
|
|
49
|
+
consolidationReports: consolidationReportIds.size,
|
|
50
|
+
schedules: scheduleIds.size,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function matchingIds(records, predicate) {
|
|
54
|
+
const ids = new Set();
|
|
55
|
+
for (const [id, record] of records) {
|
|
56
|
+
if (predicate(record))
|
|
57
|
+
ids.add(id);
|
|
58
|
+
}
|
|
59
|
+
return ids;
|
|
60
|
+
}
|
|
61
|
+
function deleteRows(sqlite, table, ids, records) {
|
|
62
|
+
for (const id of ids) {
|
|
63
|
+
sqlite.run(`DELETE FROM ${table} WHERE id = ?`, [id]);
|
|
64
|
+
records.delete(id);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
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
2
|
import { type KnowledgeStoreConfig } from './store-config.js';
|
|
3
|
+
import { type KnowledgeSpaceDeleteResult } from './store-space-delete.js';
|
|
3
4
|
export declare class KnowledgeStore {
|
|
4
5
|
private readonly sqlite;
|
|
5
6
|
private readonly dbPath;
|
|
@@ -70,6 +71,7 @@ export declare class KnowledgeStore {
|
|
|
70
71
|
upsertConsolidationReport(input: KnowledgeConsolidationReportUpsertInput): Promise<KnowledgeConsolidationReportRecord>;
|
|
71
72
|
upsertSchedule(input: KnowledgeScheduleUpsertInput): Promise<KnowledgeScheduleRecord>;
|
|
72
73
|
deleteSchedule(id: string): Promise<boolean>;
|
|
74
|
+
deleteKnowledgeSpace(spaceId: string): Promise<KnowledgeSpaceDeleteResult>;
|
|
73
75
|
private initialize;
|
|
74
76
|
}
|
|
75
77
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qCAAqC,EACrC,0CAA0C,EAC1C,kCAAkC,EAClC,uCAAuC,EACvC,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAOpB,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qCAAqC,EACrC,0CAA0C,EAC1C,kCAAkC,EAClC,uCAAuC,EACvC,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAOpB,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEtF,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AAsCjC,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IACpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgD;IAC5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoD;IACpF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2C;IACxE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA4D;IACpG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyD;IAC9F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;gBAE5D,MAAM,EAAE,oBAAoB;IAMxC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,UAAU;IAIZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,MAAM,IAAI,eAAe;IAIzB,WAAW,CAAC,KAAK,SAAM,GAAG,qBAAqB,EAAE;IAIjD,SAAS,CAAC,KAAK,SAAM,GAAG,mBAAmB,EAAE;IAI7C,SAAS,IAAI,mBAAmB,EAAE;IAIlC,UAAU,CAAC,KAAK,SAAM,GAAG,oBAAoB,EAAE;IAI/C,eAAe,CAAC,KAAK,SAAM,GAAG,yBAAyB,EAAE;IAIzD,WAAW,CAAC,KAAK,SAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAIjE,mBAAmB,CAAC,KAAK,SAAM,EAAE,KAAK,GAAE,6BAAkC,GAAG,6BAA6B,EAAE;IAI5G,gBAAgB,CAAC,KAAK,SAAM,EAAE,KAAK,GAAE;QACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;KACnD,GAAG,oBAAoB,EAAE;IAI/B,2BAA2B,CAAC,KAAK,SAAM,EAAE,KAAK,GAAE;QAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,qCAAqC,CAAC,QAAQ,CAAC,CAAC;QAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,qCAAqC,CAAC,aAAa,CAAC,CAAC;QAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,qCAAqC,EAAE;IAIhD,wBAAwB,CAAC,KAAK,SAAM,GAAG,kCAAkC,EAAE;IAI3E,aAAa,CAAC,KAAK,SAAM,GAAG,uBAAuB,EAAE;IAIrD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAInD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAI/C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAIjD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IAI3D,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IAI3E,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAInD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,6BAA6B,GAAG,IAAI;IAInE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAIvD,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,qCAAqC,GAAG,IAAI;IAInF,kCAAkC,CAChC,WAAW,EAAE,qCAAqC,CAAC,aAAa,CAAC,EACjE,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,qCAAqC,CAAC,eAAe,CAAC,GACpE,qCAAqC,GAAG,IAAI;IAI/C,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,kCAAkC,GAAG,IAAI;IAI7E,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI;IAIvD,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAI3E,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAIjG,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAIlH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAIvC,YAAY,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA0E/E,UAAU,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgDzE,UAAU,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA8CzE,aAAa,CAAC,MAAM,EAAE,SAAS,yBAAyB,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqBhH,WAAW,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0C5E,gBAAgB,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA4D3F,YAAY,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgD/E,oBAAoB,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAKvG,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmClF,4BAA4B,CAChC,KAAK,EAAE,0CAA0C,GAChD,OAAO,CAAC,qCAAqC,CAAC;IA2D3C,yBAAyB,CAC7B,KAAK,EAAE,uCAAuC,GAC7C,OAAO,CAAC,kCAAkC,CAAC;IAyCxC,cAAc,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKrF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5C,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;YAmBlE,UAAU;CA2BzB"}
|
|
@@ -3,6 +3,8 @@ import { SQLiteStore } from '../state/sqlite-store.js';
|
|
|
3
3
|
import { createSchema, issueStatusForUpsert, nowMs, stableText, uniq, } from './store-schema.js';
|
|
4
4
|
import { resolveKnowledgeDbPath } from './store-config.js';
|
|
5
5
|
import { upsertKnowledgeRefinementTask } from './store-refinement.js';
|
|
6
|
+
import { deleteKnowledgeSpaceRows, } from './store-space-delete.js';
|
|
7
|
+
import { deleteKnowledgeSchedule, upsertKnowledgeSchedule, } from './store-schedules.js';
|
|
6
8
|
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';
|
|
7
9
|
import { loadKnowledgeStoreSnapshot } from './store-load.js';
|
|
8
10
|
export class KnowledgeStore {
|
|
@@ -602,52 +604,29 @@ export class KnowledgeStore {
|
|
|
602
604
|
}
|
|
603
605
|
async upsertSchedule(input) {
|
|
604
606
|
await this.init();
|
|
605
|
-
|
|
606
|
-
const now = nowMs();
|
|
607
|
-
const record = {
|
|
608
|
-
id: existing?.id ?? input.id ?? `ksched-${randomUUID().slice(0, 8)}`,
|
|
609
|
-
jobId: input.jobId,
|
|
610
|
-
label: input.label.trim(),
|
|
611
|
-
enabled: input.enabled ?? existing?.enabled ?? true,
|
|
612
|
-
schedule: input.schedule,
|
|
613
|
-
...(typeof input.lastRunAt === 'number' ? { lastRunAt: input.lastRunAt } : existing?.lastRunAt ? { lastRunAt: existing.lastRunAt } : {}),
|
|
614
|
-
...(typeof input.nextRunAt === 'number' ? { nextRunAt: input.nextRunAt } : existing?.nextRunAt ? { nextRunAt: existing.nextRunAt } : {}),
|
|
615
|
-
metadata: {
|
|
616
|
-
...(existing?.metadata ?? {}),
|
|
617
|
-
...(input.metadata ?? {}),
|
|
618
|
-
},
|
|
619
|
-
createdAt: existing?.createdAt ?? now,
|
|
620
|
-
updatedAt: now,
|
|
621
|
-
};
|
|
622
|
-
this.sqlite.run(`
|
|
623
|
-
INSERT OR REPLACE INTO knowledge_schedules (
|
|
624
|
-
id, job_id, label, enabled, schedule, last_run_at, next_run_at, metadata, created_at, updated_at
|
|
625
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
626
|
-
`, [
|
|
627
|
-
record.id,
|
|
628
|
-
record.jobId,
|
|
629
|
-
record.label,
|
|
630
|
-
record.enabled ? 1 : 0,
|
|
631
|
-
JSON.stringify(record.schedule),
|
|
632
|
-
record.lastRunAt ?? null,
|
|
633
|
-
record.nextRunAt ?? null,
|
|
634
|
-
JSON.stringify(record.metadata),
|
|
635
|
-
record.createdAt,
|
|
636
|
-
record.updatedAt,
|
|
637
|
-
]);
|
|
638
|
-
this.schedules.set(record.id, record);
|
|
639
|
-
await this.sqlite.save();
|
|
640
|
-
return record;
|
|
607
|
+
return upsertKnowledgeSchedule(this.sqlite, this.schedules, input, () => `ksched-${randomUUID().slice(0, 8)}`);
|
|
641
608
|
}
|
|
642
609
|
async deleteSchedule(id) {
|
|
643
610
|
await this.init();
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
this.
|
|
648
|
-
this.
|
|
611
|
+
return deleteKnowledgeSchedule(this.sqlite, this.schedules, id);
|
|
612
|
+
}
|
|
613
|
+
async deleteKnowledgeSpace(spaceId) {
|
|
614
|
+
await this.init();
|
|
615
|
+
const deleted = deleteKnowledgeSpaceRows(this.sqlite, {
|
|
616
|
+
sources: this.sources,
|
|
617
|
+
nodes: this.nodes,
|
|
618
|
+
edges: this.edges,
|
|
619
|
+
issues: this.issues,
|
|
620
|
+
extractions: this.extractions,
|
|
621
|
+
jobRuns: this.jobRuns,
|
|
622
|
+
refinementTasks: this.refinementTasks,
|
|
623
|
+
usageRecords: this.usageRecords,
|
|
624
|
+
consolidationCandidates: this.consolidationCandidates,
|
|
625
|
+
consolidationReports: this.consolidationReports,
|
|
626
|
+
schedules: this.schedules,
|
|
627
|
+
}, spaceId);
|
|
649
628
|
await this.sqlite.save();
|
|
650
|
-
return
|
|
629
|
+
return deleted;
|
|
651
630
|
}
|
|
652
631
|
async initialize() {
|
|
653
632
|
await this.sqlite.init(createSchema);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
let version = '0.28.
|
|
3
|
+
let version = '0.28.10';
|
|
4
4
|
try {
|
|
5
5
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
|
|
6
6
|
version = pkg.version ?? version;
|