dsh-data-domain-knowledge 0.1.0-alpha.13 → 0.1.0-alpha.15
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/README.md +89 -56
- package/cordis.patch.yml +36 -129
- package/eval/benchmark-extraction-format.mjs +20 -0
- package/lib/client.js +3262 -4142
- package/lib/doc-page.js +1 -1
- package/lib/pages.js +1147 -364
- package/lib/types/axis-registry.d.ts +8 -1
- package/lib/types/axis-registry.d.ts.map +1 -1
- package/lib/types/axis-registry.js +62 -7
- package/lib/types/axis-registry.js.map +1 -1
- package/lib/types/convert/host.d.ts.map +1 -1
- package/lib/types/convert/host.js +3 -0
- package/lib/types/convert/host.js.map +1 -1
- package/lib/types/convert/ingest.d.ts +9 -0
- package/lib/types/convert/ingest.d.ts.map +1 -1
- package/lib/types/convert/ingest.js +68 -9
- package/lib/types/convert/ingest.js.map +1 -1
- package/lib/types/diagnosis/cards.d.ts +7 -3
- package/lib/types/diagnosis/cards.d.ts.map +1 -1
- package/lib/types/diagnosis/cards.js +13 -8
- package/lib/types/diagnosis/cards.js.map +1 -1
- package/lib/types/diagnosis/run.d.ts +4 -13
- package/lib/types/diagnosis/run.d.ts.map +1 -1
- package/lib/types/diagnosis/run.js +26 -16
- package/lib/types/diagnosis/run.js.map +1 -1
- package/lib/types/diagnosis/schema.js +2 -2
- package/lib/types/diagnosis/schema.js.map +1 -1
- package/lib/types/diagnosis/seed-source.d.ts +1 -1
- package/lib/types/diagnosis/seed-source.d.ts.map +1 -1
- package/lib/types/diagnosis/seed-source.js +5 -4
- package/lib/types/diagnosis/seed-source.js.map +1 -1
- package/lib/types/diagnosis/seed.d.ts +4 -4
- package/lib/types/diagnosis/seed.d.ts.map +1 -1
- package/lib/types/diagnosis/seed.js +6 -8
- package/lib/types/diagnosis/seed.js.map +1 -1
- package/lib/types/diagnosis/store.d.ts +18 -17
- package/lib/types/diagnosis/store.d.ts.map +1 -1
- package/lib/types/diagnosis/store.js +94 -66
- package/lib/types/diagnosis/store.js.map +1 -1
- package/lib/types/diagnosis/types.d.ts +10 -16
- package/lib/types/diagnosis/types.d.ts.map +1 -1
- package/lib/types/diagnosis/types.js.map +1 -1
- package/lib/types/environment/dsh-python.d.ts +77 -0
- package/lib/types/environment/dsh-python.d.ts.map +1 -0
- package/lib/types/environment/dsh-python.js +139 -0
- package/lib/types/environment/dsh-python.js.map +1 -0
- package/lib/types/environment/install.d.ts +9 -1
- package/lib/types/environment/install.d.ts.map +1 -1
- package/lib/types/environment/install.js +149 -24
- package/lib/types/environment/install.js.map +1 -1
- package/lib/types/environment/model-catalog.d.ts +34 -2
- package/lib/types/environment/model-catalog.d.ts.map +1 -1
- package/lib/types/environment/model-catalog.js +40 -2
- package/lib/types/environment/model-catalog.js.map +1 -1
- package/lib/types/environment/service.d.ts +13 -3
- package/lib/types/environment/service.d.ts.map +1 -1
- package/lib/types/environment/service.js +127 -23
- package/lib/types/environment/service.js.map +1 -1
- package/lib/types/environment/types.d.ts +9 -0
- package/lib/types/environment/types.d.ts.map +1 -1
- package/lib/types/events.d.ts +2 -0
- package/lib/types/events.d.ts.map +1 -1
- package/lib/types/events.js +13 -0
- package/lib/types/events.js.map +1 -1
- package/lib/types/extract-contract.d.ts +1 -1
- package/lib/types/extract-contract.d.ts.map +1 -1
- package/lib/types/extract-contract.js +34 -31
- package/lib/types/extract-contract.js.map +1 -1
- package/lib/types/extract-model.d.ts +2 -0
- package/lib/types/extract-model.d.ts.map +1 -1
- package/lib/types/extract-model.js.map +1 -1
- package/lib/types/extract-table-contract.d.ts +3 -0
- package/lib/types/extract-table-contract.d.ts.map +1 -0
- package/lib/types/extract-table-contract.js +30 -0
- package/lib/types/extract-table-contract.js.map +1 -0
- package/lib/types/extract-table.d.ts +8 -0
- package/lib/types/extract-table.d.ts.map +1 -0
- package/lib/types/extract-table.js +151 -0
- package/lib/types/extract-table.js.map +1 -0
- package/lib/types/extraction-runs.d.ts +30 -6
- package/lib/types/extraction-runs.d.ts.map +1 -1
- package/lib/types/extraction-runs.js +69 -8
- package/lib/types/extraction-runs.js.map +1 -1
- package/lib/types/fs-atomic.d.ts +0 -7
- package/lib/types/fs-atomic.d.ts.map +1 -1
- package/lib/types/fs-atomic.js +17 -2
- package/lib/types/fs-atomic.js.map +1 -1
- package/lib/types/images.d.ts +1 -1
- package/lib/types/images.d.ts.map +1 -1
- package/lib/types/images.js +2 -2
- package/lib/types/images.js.map +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +232 -50
- package/lib/types/index.js.map +1 -1
- package/lib/types/intent/scope.d.ts.map +1 -1
- package/lib/types/intent/scope.js +1 -0
- package/lib/types/intent/scope.js.map +1 -1
- package/lib/types/intent/tools.d.ts +19 -0
- package/lib/types/intent/tools.d.ts.map +1 -1
- package/lib/types/intent/tools.js +37 -1
- package/lib/types/intent/tools.js.map +1 -1
- package/lib/types/knowledge-bases.d.ts.map +1 -1
- package/lib/types/knowledge-bases.js +5 -16
- package/lib/types/knowledge-bases.js.map +1 -1
- package/lib/types/knowledge.d.ts +3 -0
- package/lib/types/knowledge.d.ts.map +1 -1
- package/lib/types/knowledge.js +21 -5
- package/lib/types/knowledge.js.map +1 -1
- package/lib/types/materialize-snapshot.d.ts +49 -0
- package/lib/types/materialize-snapshot.d.ts.map +1 -0
- package/lib/types/materialize-snapshot.js +2 -0
- package/lib/types/materialize-snapshot.js.map +1 -0
- package/lib/types/model-text.d.ts +1 -1
- package/lib/types/model-text.d.ts.map +1 -1
- package/lib/types/model-text.js +5 -4
- package/lib/types/model-text.js.map +1 -1
- package/lib/types/oplog.d.ts.map +1 -1
- package/lib/types/oplog.js +7 -0
- package/lib/types/oplog.js.map +1 -1
- package/lib/types/pipeline/engine.d.ts +60 -0
- package/lib/types/pipeline/engine.d.ts.map +1 -0
- package/lib/types/pipeline/engine.js +338 -0
- package/lib/types/pipeline/engine.js.map +1 -0
- package/lib/types/pipeline/store.d.ts +73 -0
- package/lib/types/pipeline/store.d.ts.map +1 -0
- package/lib/types/pipeline/store.js +143 -0
- package/lib/types/pipeline/store.js.map +1 -0
- package/lib/types/pipeline/types.d.ts +101 -0
- package/lib/types/pipeline/types.d.ts.map +1 -0
- package/lib/types/pipeline/types.js +5 -0
- package/lib/types/pipeline/types.js.map +1 -0
- package/lib/types/present.d.ts +2 -0
- package/lib/types/present.d.ts.map +1 -1
- package/lib/types/present.js +9 -4
- package/lib/types/present.js.map +1 -1
- package/lib/types/retention.d.ts +39 -0
- package/lib/types/retention.d.ts.map +1 -0
- package/lib/types/retention.js +42 -0
- package/lib/types/retention.js.map +1 -0
- package/lib/types/runtime.d.ts +115 -5
- package/lib/types/runtime.d.ts.map +1 -1
- package/lib/types/runtime.js +862 -132
- package/lib/types/runtime.js.map +1 -1
- package/lib/types/source-evidence.d.ts +9 -1
- package/lib/types/source-evidence.d.ts.map +1 -1
- package/lib/types/source-evidence.js +13 -5
- package/lib/types/source-evidence.js.map +1 -1
- package/lib/types/store/axis-references.js +3 -3
- package/lib/types/store/axis-references.js.map +1 -1
- package/lib/types/store/derived.d.ts +1 -1
- package/lib/types/store/derived.d.ts.map +1 -1
- package/lib/types/store/derived.js +41 -7
- package/lib/types/store/derived.js.map +1 -1
- package/lib/types/store/knowledge-db.d.ts +18 -0
- package/lib/types/store/knowledge-db.d.ts.map +1 -1
- package/lib/types/store/knowledge-db.js +111 -6
- package/lib/types/store/knowledge-db.js.map +1 -1
- package/lib/types/store/migrate.js +1 -1
- package/lib/types/store/migrate.js.map +1 -1
- package/lib/types/trajectory-types.d.ts +172 -0
- package/lib/types/trajectory-types.d.ts.map +1 -0
- package/lib/types/trajectory-types.js +36 -0
- package/lib/types/trajectory-types.js.map +1 -0
- package/lib/types/types.d.ts +3 -4
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/types.js.map +1 -1
- package/lib/types/wiki-finalize.d.ts +16 -0
- package/lib/types/wiki-finalize.d.ts.map +1 -1
- package/lib/types/wiki-finalize.js +26 -0
- package/lib/types/wiki-finalize.js.map +1 -1
- package/lib/types/wiki-materialize.d.ts.map +1 -1
- package/lib/types/wiki-materialize.js +3 -15
- package/lib/types/wiki-materialize.js.map +1 -1
- package/lib/types/wiki-trial-types.d.ts +3 -0
- package/lib/types/wiki-trial-types.d.ts.map +1 -1
- package/lib/types/wiki-trial.d.ts +2 -0
- package/lib/types/wiki-trial.d.ts.map +1 -1
- package/lib/types/wiki-trial.js +31 -7
- package/lib/types/wiki-trial.js.map +1 -1
- package/package.json +6 -3
- package/preset/tita-data-agent/agent.cordis.yml +36 -129
- package/src/axis-registry.ts +57 -9
- package/src/client/AttributionEventGuide.tsx +10 -9
- package/src/client/CompileDialogs.tsx +10 -2
- package/src/client/EnvironmentSetup.tsx +76 -16
- package/src/client/ExpansionGraph.tsx +13 -7
- package/src/client/ExtractionTasksPage.tsx +543 -156
- package/src/client/ImportFilesDialog.tsx +2 -13
- package/src/client/IntentTab.tsx +3 -1
- package/src/client/KnowledgeBaseTab.tsx +139 -122
- package/src/client/KnowledgeLayerSection.tsx +19 -2
- package/src/client/KnowledgePanel.tsx +17 -3
- package/src/client/ListPager.tsx +15 -5
- package/src/client/MaterializeTrajectoryView.tsx +124 -0
- package/src/client/NodeSettings.tsx +90 -25
- package/src/client/NormalizeTrajectoryView.tsx +136 -0
- package/src/client/PipelineNotice.tsx +26 -0
- package/src/client/RecallPanel.tsx +55 -25
- package/src/client/TabGuide.tsx +4 -4
- package/src/client/TrialReportView.tsx +61 -16
- package/src/client/TypeDefinitionDrawer.tsx +33 -9
- package/src/client/WikiCardPreview.tsx +43 -10
- package/src/client/WikiFlowPanel.tsx +4 -4
- package/src/client/architecture.tsx +1 -1
- package/src/client/attribution/AttributionTab.tsx +37 -36
- package/src/client/attribution/CaseView.tsx +3 -1
- package/src/client/attribution/EventView.tsx +14 -4
- package/src/client/attribution/RunView.tsx +2 -2
- package/src/client/attribution/ViewSwitch.tsx +20 -5
- package/src/client/attribution/graph-options.ts +38 -31
- package/src/client/attribution/model.ts +16 -9
- package/src/client/graph/palette.ts +165 -0
- package/src/client/pages.css +224 -28
- package/src/client/pages.tsx +33 -11
- package/src/client/styles.css +61 -6
- package/src/client/wiki-trial.ts +30 -1
- package/src/convert/host.ts +3 -0
- package/src/convert/ingest.ts +73 -9
- package/src/diagnosis/cards.ts +13 -8
- package/src/diagnosis/run.ts +27 -17
- package/src/diagnosis/schema.ts +2 -2
- package/src/diagnosis/seed-source.ts +5 -4
- package/src/diagnosis/seed.ts +6 -8
- package/src/diagnosis/store.ts +99 -69
- package/src/diagnosis/types.ts +10 -16
- package/src/environment/dsh-python.ts +156 -0
- package/src/environment/install.ts +134 -19
- package/src/environment/model-catalog.ts +45 -3
- package/src/environment/service.ts +111 -23
- package/src/environment/types.ts +6 -0
- package/src/events.ts +12 -0
- package/src/extract-contract.ts +6 -3
- package/src/extract-model.ts +2 -0
- package/src/extract-table-contract.ts +29 -0
- package/src/extract-table.ts +126 -0
- package/src/extraction-runs.ts +70 -11
- package/src/fs-atomic.ts +19 -2
- package/src/images.ts +2 -2
- package/src/index.ts +207 -72
- package/src/intent/scope.ts +1 -0
- package/src/intent/tools.ts +38 -1
- package/src/knowledge-bases.ts +4 -12
- package/src/knowledge.ts +24 -4
- package/src/materialize-snapshot.ts +46 -0
- package/src/model-text.ts +5 -3
- package/src/oplog.ts +7 -0
- package/src/pipeline/engine.ts +312 -0
- package/src/pipeline/store.ts +147 -0
- package/src/pipeline/types.ts +92 -0
- package/src/present.ts +10 -4
- package/src/retention.ts +76 -0
- package/src/runtime.ts +853 -131
- package/src/source-evidence.ts +12 -5
- package/src/store/axis-references.ts +3 -3
- package/src/store/derived.ts +40 -7
- package/src/store/knowledge-db.ts +111 -5
- package/src/store/migrate.ts +1 -1
- package/src/trajectory-types.ts +142 -0
- package/src/types.ts +3 -4
- package/src/wiki-finalize.ts +28 -0
- package/src/wiki-materialize.ts +3 -14
- package/src/wiki-trial-types.ts +3 -0
- package/src/wiki-trial.ts +26 -7
- package/src/client/convert/ConvertPanel.tsx +0 -583
- package/src/client/convert/styles.css +0 -138
- package/src/client/convert/styles.ts +0 -49
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { SqliteDatabase } from '../fts.js';
|
|
2
|
+
import type { TrialReport } from '../wiki-trial-types.js';
|
|
3
|
+
import type { PipelineEvent, PipelineTask } from './types.js';
|
|
4
|
+
export interface ExtractionCheckpoint {
|
|
5
|
+
id: string;
|
|
6
|
+
sourceId: string;
|
|
7
|
+
sourceVersion: number;
|
|
8
|
+
sourceHash: string;
|
|
9
|
+
fingerprint: string;
|
|
10
|
+
report: TrialReport;
|
|
11
|
+
createdAt: string;
|
|
12
|
+
normalized?: {
|
|
13
|
+
report: TrialReport;
|
|
14
|
+
knowledgeIds: Record<string, string>;
|
|
15
|
+
eventIds: Record<string, string>;
|
|
16
|
+
fingerprint: string;
|
|
17
|
+
unresolvedKnowledgeIds?: string[];
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/** Business checkpoints live with truth; execution history lives with extraction audits. */
|
|
21
|
+
export declare class PipelineStore {
|
|
22
|
+
readonly truth: SqliteDatabase;
|
|
23
|
+
private readonly audit;
|
|
24
|
+
constructor(truth: SqliteDatabase, audit: SqliteDatabase);
|
|
25
|
+
putTask(task: PipelineTask): void;
|
|
26
|
+
/**
|
|
27
|
+
* 审计库的保留上限(0070)。
|
|
28
|
+
*
|
|
29
|
+
* 实时预览每 250ms 或每 1KB 落一行,一次五分钟的抽取就能加一千行,而这里原来一条
|
|
30
|
+
* `DELETE` 都没有。上限是「水位以上保留」:升级那一刻已有的任务与事件一行不删
|
|
31
|
+
* (见 `retention.ts`)。任务的保留上限同时也是事件的:先按任务裁,再把已经不存在的
|
|
32
|
+
* 那些任务的事件(同样只在水位以上)删掉,最后兜一层总量。
|
|
33
|
+
*/
|
|
34
|
+
private pruneAudit;
|
|
35
|
+
task(id: string): PipelineTask | undefined;
|
|
36
|
+
tasks(limit?: number, offset?: number): {
|
|
37
|
+
tasks: PipelineTask[];
|
|
38
|
+
total: number;
|
|
39
|
+
};
|
|
40
|
+
event(taskId: string, kind: PipelineEvent['kind'], text: string, sourceId?: string, stage?: PipelineEvent['stage']): void;
|
|
41
|
+
events(taskId: string, after?: number, limit?: number): {
|
|
42
|
+
events: PipelineEvent[];
|
|
43
|
+
next: number;
|
|
44
|
+
hasMore: boolean;
|
|
45
|
+
};
|
|
46
|
+
checkpoint(id: string): ExtractionCheckpoint | undefined;
|
|
47
|
+
cached(sourceId: string, version: number, fingerprint: string): ExtractionCheckpoint | undefined;
|
|
48
|
+
head(sourceId: string): {
|
|
49
|
+
extracted?: ExtractionCheckpoint;
|
|
50
|
+
normalized?: ExtractionCheckpoint;
|
|
51
|
+
};
|
|
52
|
+
saveExtraction(value: ExtractionCheckpoint): void;
|
|
53
|
+
selectExtraction(sourceId: string, id: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* 刷新一份抽取检查点的指纹(0070)。
|
|
56
|
+
*
|
|
57
|
+
* 指纹里含「本文提到的实体清单」,而归一会往注册表里学新实体 —— 它们本来就在这份
|
|
58
|
+
* 文档里,所以学完之后指纹必然变。不刷新的话,同一份未改动的文档下次抽取一定复用不上
|
|
59
|
+
* (每次都要再调一次模型)。归一成功后把这一行改成学完之后的值,复用才成立。
|
|
60
|
+
*/
|
|
61
|
+
refreshFingerprint(id: string, fingerprint: string): void;
|
|
62
|
+
saveNormalization(value: ExtractionCheckpoint, normalized: NonNullable<ExtractionCheckpoint['normalized']>): void;
|
|
63
|
+
unresolvedKnowledge(): {
|
|
64
|
+
ids: Set<string>;
|
|
65
|
+
sources: Set<string>;
|
|
66
|
+
};
|
|
67
|
+
materialization(key: string): {
|
|
68
|
+
fingerprint: string;
|
|
69
|
+
cardId: string;
|
|
70
|
+
} | undefined;
|
|
71
|
+
materialized(key: string, fingerprint: string, cardId: string): void;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/pipeline/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { applyRetention } from '../retention.js';
|
|
2
|
+
/** Business checkpoints live with truth; execution history lives with extraction audits. */
|
|
3
|
+
export class PipelineStore {
|
|
4
|
+
truth;
|
|
5
|
+
audit;
|
|
6
|
+
constructor(truth, audit) {
|
|
7
|
+
this.truth = truth;
|
|
8
|
+
this.audit = audit;
|
|
9
|
+
truth.exec(`
|
|
10
|
+
CREATE TABLE IF NOT EXISTS pipeline_extractions (
|
|
11
|
+
id TEXT PRIMARY KEY, source_id TEXT NOT NULL, source_version INTEGER NOT NULL,
|
|
12
|
+
source_hash TEXT NOT NULL, fingerprint TEXT NOT NULL, report TEXT NOT NULL,
|
|
13
|
+
normalized TEXT, created_at TEXT NOT NULL
|
|
14
|
+
);
|
|
15
|
+
CREATE INDEX IF NOT EXISTS pipeline_extract_cache ON pipeline_extractions(source_id, source_version, fingerprint);
|
|
16
|
+
CREATE TABLE IF NOT EXISTS pipeline_sources (source_id TEXT PRIMARY KEY, extracted_id TEXT, normalized_id TEXT);
|
|
17
|
+
CREATE TABLE IF NOT EXISTS pipeline_materializations (group_key TEXT PRIMARY KEY, fingerprint TEXT NOT NULL, card_id TEXT NOT NULL);
|
|
18
|
+
`);
|
|
19
|
+
audit.exec(`
|
|
20
|
+
CREATE TABLE IF NOT EXISTS pipeline_tasks (id TEXT PRIMARY KEY, queued_at TEXT NOT NULL, state TEXT NOT NULL, payload TEXT NOT NULL);
|
|
21
|
+
CREATE INDEX IF NOT EXISTS pipeline_tasks_time ON pipeline_tasks(queued_at DESC);
|
|
22
|
+
CREATE TABLE IF NOT EXISTS pipeline_events (
|
|
23
|
+
seq INTEGER PRIMARY KEY AUTOINCREMENT, task_id TEXT NOT NULL, kind TEXT NOT NULL,
|
|
24
|
+
text TEXT NOT NULL, source_id TEXT, at TEXT NOT NULL, stage TEXT
|
|
25
|
+
);
|
|
26
|
+
CREATE INDEX IF NOT EXISTS pipeline_events_task ON pipeline_events(task_id, seq);
|
|
27
|
+
`);
|
|
28
|
+
const eventColumns = audit.prepare('PRAGMA table_info(pipeline_events)').all();
|
|
29
|
+
if (!eventColumns.some(column => column.name === 'stage'))
|
|
30
|
+
audit.exec('ALTER TABLE pipeline_events ADD COLUMN stage TEXT');
|
|
31
|
+
// A new runtime never claims that an abandoned request is still running.
|
|
32
|
+
for (const task of audit.prepare("SELECT payload FROM pipeline_tasks WHERE state IN ('queued','running','pausing','paused','cancelling')").all().map(row => JSON.parse(row.payload))) {
|
|
33
|
+
if (['queued', 'running', 'pausing', 'paused', 'cancelling'].includes(task.state)) {
|
|
34
|
+
this.putTask({ ...task, state: 'interrupted', finishedAt: new Date().toISOString(), summary: '服务已重新启动;已完成的阶段保留,可重新运行此任务。' });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
putTask(task) {
|
|
39
|
+
this.audit.prepare('INSERT INTO pipeline_tasks(id, queued_at, state, payload) VALUES (?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET state=excluded.state, payload=excluded.payload')
|
|
40
|
+
.run(task.id, task.queuedAt, task.state, JSON.stringify(task));
|
|
41
|
+
this.pruneAudit();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 审计库的保留上限(0070)。
|
|
45
|
+
*
|
|
46
|
+
* 实时预览每 250ms 或每 1KB 落一行,一次五分钟的抽取就能加一千行,而这里原来一条
|
|
47
|
+
* `DELETE` 都没有。上限是「水位以上保留」:升级那一刻已有的任务与事件一行不删
|
|
48
|
+
* (见 `retention.ts`)。任务的保留上限同时也是事件的:先按任务裁,再把已经不存在的
|
|
49
|
+
* 那些任务的事件(同样只在水位以上)删掉,最后兜一层总量。
|
|
50
|
+
*/
|
|
51
|
+
pruneAudit() {
|
|
52
|
+
applyRetention(this.audit, 'pipeline_tasks', { table: 'pipeline_tasks', key: 'rowid', keep: 200 });
|
|
53
|
+
applyRetention(this.audit, 'pipeline_events', { table: 'pipeline_events', key: 'seq', keep: 50_000, where: 'task_id NOT IN (SELECT id FROM pipeline_tasks)' });
|
|
54
|
+
applyRetention(this.audit, 'pipeline_events', { table: 'pipeline_events', key: 'seq', keep: 50_000 });
|
|
55
|
+
}
|
|
56
|
+
task(id) {
|
|
57
|
+
const row = this.audit.prepare('SELECT payload FROM pipeline_tasks WHERE id=?').get(id);
|
|
58
|
+
return row ? JSON.parse(row.payload) : undefined;
|
|
59
|
+
}
|
|
60
|
+
tasks(limit = 20, offset = 0) {
|
|
61
|
+
const rows = this.audit.prepare("SELECT payload FROM pipeline_tasks ORDER BY CASE WHEN state IN ('queued','running','pausing','paused','cancelling') THEN 0 ELSE 1 END, queued_at DESC LIMIT ? OFFSET ?")
|
|
62
|
+
.all(Math.max(1, Math.min(10000, limit)), Math.max(0, offset));
|
|
63
|
+
const total = Number(this.audit.prepare('SELECT COUNT(*) AS n FROM pipeline_tasks').get().n);
|
|
64
|
+
return { tasks: rows.map(row => JSON.parse(row.payload)), total };
|
|
65
|
+
}
|
|
66
|
+
event(taskId, kind, text, sourceId, stage) {
|
|
67
|
+
this.audit.prepare('INSERT INTO pipeline_events(task_id,kind,text,source_id,at,stage) VALUES (?,?,?,?,?,?)')
|
|
68
|
+
.run(taskId, kind, text, sourceId ?? null, new Date().toISOString(), stage ?? null);
|
|
69
|
+
}
|
|
70
|
+
events(taskId, after = 0, limit = 100) {
|
|
71
|
+
const take = Number.isFinite(limit) ? Math.max(1, Math.min(500, Math.trunc(limit))) : 100;
|
|
72
|
+
after = Number.isFinite(after) ? Math.max(0, Math.trunc(after)) : 0;
|
|
73
|
+
const rows = this.audit.prepare('SELECT * FROM pipeline_events WHERE task_id=? AND seq>? ORDER BY seq LIMIT ?')
|
|
74
|
+
.all(taskId, after, take + 1);
|
|
75
|
+
const hasMore = rows.length > take;
|
|
76
|
+
const events = rows.slice(0, take).map(row => ({ seq: Number(row.seq), taskId: String(row.task_id), kind: String(row.kind), text: String(row.text), ...(row.source_id ? { sourceId: String(row.source_id) } : {}), ...(row.stage ? { stage: String(row.stage) } : {}), at: String(row.at) }));
|
|
77
|
+
return { events, next: events.at(-1)?.seq ?? after, hasMore };
|
|
78
|
+
}
|
|
79
|
+
checkpoint(id) {
|
|
80
|
+
const row = this.truth.prepare('SELECT * FROM pipeline_extractions WHERE id=?').get(id);
|
|
81
|
+
return row ? { id: String(row.id), sourceId: String(row.source_id), sourceVersion: Number(row.source_version), sourceHash: String(row.source_hash), fingerprint: String(row.fingerprint), report: JSON.parse(String(row.report)), createdAt: String(row.created_at), ...(row.normalized ? { normalized: JSON.parse(String(row.normalized)) } : {}) } : undefined;
|
|
82
|
+
}
|
|
83
|
+
cached(sourceId, version, fingerprint) {
|
|
84
|
+
const row = this.truth.prepare('SELECT id FROM pipeline_extractions WHERE source_id=? AND source_version=? AND fingerprint=? ORDER BY created_at DESC, rowid DESC LIMIT 1')
|
|
85
|
+
.get(sourceId, version, fingerprint);
|
|
86
|
+
return row ? this.checkpoint(row.id) : undefined;
|
|
87
|
+
}
|
|
88
|
+
head(sourceId) {
|
|
89
|
+
const row = this.truth.prepare('SELECT extracted_id,normalized_id FROM pipeline_sources WHERE source_id=?').get(sourceId);
|
|
90
|
+
return { extracted: row?.extracted_id ? this.checkpoint(row.extracted_id) : undefined, normalized: row?.normalized_id ? this.checkpoint(row.normalized_id) : undefined };
|
|
91
|
+
}
|
|
92
|
+
saveExtraction(value) {
|
|
93
|
+
this.truth.exec('SAVEPOINT pipeline_extract');
|
|
94
|
+
try {
|
|
95
|
+
this.truth.prepare('INSERT INTO pipeline_extractions(id,source_id,source_version,source_hash,fingerprint,report,created_at) VALUES (?,?,?,?,?,?,?)')
|
|
96
|
+
.run(value.id, value.sourceId, value.sourceVersion, value.sourceHash, value.fingerprint, JSON.stringify(value.report), value.createdAt);
|
|
97
|
+
this.selectExtraction(value.sourceId, value.id);
|
|
98
|
+
this.truth.exec('RELEASE pipeline_extract');
|
|
99
|
+
}
|
|
100
|
+
catch (cause) {
|
|
101
|
+
this.truth.exec('ROLLBACK TO pipeline_extract; RELEASE pipeline_extract');
|
|
102
|
+
throw cause;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
selectExtraction(sourceId, id) {
|
|
106
|
+
this.truth.prepare('INSERT INTO pipeline_sources(source_id,extracted_id) VALUES (?,?) ON CONFLICT(source_id) DO UPDATE SET extracted_id=excluded.extracted_id').run(sourceId, id);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* 刷新一份抽取检查点的指纹(0070)。
|
|
110
|
+
*
|
|
111
|
+
* 指纹里含「本文提到的实体清单」,而归一会往注册表里学新实体 —— 它们本来就在这份
|
|
112
|
+
* 文档里,所以学完之后指纹必然变。不刷新的话,同一份未改动的文档下次抽取一定复用不上
|
|
113
|
+
* (每次都要再调一次模型)。归一成功后把这一行改成学完之后的值,复用才成立。
|
|
114
|
+
*/
|
|
115
|
+
refreshFingerprint(id, fingerprint) {
|
|
116
|
+
this.truth.prepare('UPDATE pipeline_extractions SET fingerprint=? WHERE id=?').run(fingerprint, id);
|
|
117
|
+
}
|
|
118
|
+
saveNormalization(value, normalized) {
|
|
119
|
+
this.truth.prepare('UPDATE pipeline_extractions SET normalized=? WHERE id=?').run(JSON.stringify(normalized), value.id);
|
|
120
|
+
this.truth.prepare('INSERT INTO pipeline_sources(source_id,normalized_id) VALUES (?,?) ON CONFLICT(source_id) DO UPDATE SET normalized_id=excluded.normalized_id').run(value.sourceId, value.id);
|
|
121
|
+
}
|
|
122
|
+
unresolvedKnowledge() {
|
|
123
|
+
const rows = this.truth.prepare('SELECT s.source_id, e.normalized FROM pipeline_sources s JOIN pipeline_extractions e ON e.id=s.normalized_id WHERE e.normalized IS NOT NULL').all();
|
|
124
|
+
const ids = new Set();
|
|
125
|
+
const sources = new Set();
|
|
126
|
+
for (const row of rows) {
|
|
127
|
+
const pending = JSON.parse(row.normalized).unresolvedKnowledgeIds ?? [];
|
|
128
|
+
if (pending.length)
|
|
129
|
+
sources.add(row.source_id);
|
|
130
|
+
for (const id of pending)
|
|
131
|
+
ids.add(id);
|
|
132
|
+
}
|
|
133
|
+
return { ids, sources };
|
|
134
|
+
}
|
|
135
|
+
materialization(key) {
|
|
136
|
+
const row = this.truth.prepare('SELECT fingerprint,card_id FROM pipeline_materializations WHERE group_key=?').get(key);
|
|
137
|
+
return row ? { fingerprint: row.fingerprint, cardId: row.card_id } : undefined;
|
|
138
|
+
}
|
|
139
|
+
materialized(key, fingerprint, cardId) {
|
|
140
|
+
this.truth.prepare('INSERT INTO pipeline_materializations(group_key,fingerprint,card_id) VALUES (?,?,?) ON CONFLICT(group_key) DO UPDATE SET fingerprint=excluded.fingerprint,card_id=excluded.card_id').run(key, fingerprint, cardId);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/pipeline/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/** Shared, browser-safe contracts for independently runnable knowledge stages. */
|
|
2
|
+
export type PipelineStage = 'extract' | 'normalize' | 'materialize' | 'build' | 'all';
|
|
3
|
+
export type PipelineState = 'queued' | 'running' | 'pausing' | 'paused' | 'cancelling' | 'succeeded' | 'partial' | 'failed' | 'cancelled' | 'interrupted';
|
|
4
|
+
export type PipelineAction = 'pause' | 'resume' | 'cancel';
|
|
5
|
+
export interface PipelineSelection {
|
|
6
|
+
sourceIds?: string[];
|
|
7
|
+
groupKeys?: string[];
|
|
8
|
+
force?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface PipelineModel {
|
|
11
|
+
provider?: string;
|
|
12
|
+
model?: string;
|
|
13
|
+
reasoningEffort?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface PipelineTask {
|
|
16
|
+
id: string;
|
|
17
|
+
stage: PipelineStage;
|
|
18
|
+
state: PipelineState;
|
|
19
|
+
selection: PipelineSelection;
|
|
20
|
+
model: PipelineModel;
|
|
21
|
+
queuedAt: string;
|
|
22
|
+
startedAt?: string;
|
|
23
|
+
finishedAt?: string;
|
|
24
|
+
currentStage?: Exclude<PipelineStage, 'all'>;
|
|
25
|
+
done: number;
|
|
26
|
+
total: number;
|
|
27
|
+
reused: number;
|
|
28
|
+
failed: number;
|
|
29
|
+
summary: string;
|
|
30
|
+
warnings: string[];
|
|
31
|
+
results?: Partial<Record<Exclude<PipelineStage, 'all'>, {
|
|
32
|
+
done: number;
|
|
33
|
+
total: number;
|
|
34
|
+
reused: number;
|
|
35
|
+
failed: number;
|
|
36
|
+
summary?: string;
|
|
37
|
+
skipped?: boolean;
|
|
38
|
+
}>>;
|
|
39
|
+
legacy?: boolean;
|
|
40
|
+
reportId?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface PipelineEvent {
|
|
43
|
+
seq: number;
|
|
44
|
+
taskId: string;
|
|
45
|
+
kind: 'output' | 'progress' | 'warning' | 'report';
|
|
46
|
+
text: string;
|
|
47
|
+
sourceId?: string;
|
|
48
|
+
stage?: Exclude<PipelineStage, 'all'>;
|
|
49
|
+
at: string;
|
|
50
|
+
}
|
|
51
|
+
export interface MaterializationGroup {
|
|
52
|
+
key: string;
|
|
53
|
+
title: string;
|
|
54
|
+
coordinate: {
|
|
55
|
+
objectId: string;
|
|
56
|
+
actionId: string;
|
|
57
|
+
sceneId: string;
|
|
58
|
+
};
|
|
59
|
+
knowledgeCount: number;
|
|
60
|
+
eventCount: number;
|
|
61
|
+
sourceIds: string[];
|
|
62
|
+
cardId?: string;
|
|
63
|
+
state: 'new' | 'changed' | 'current' | 'withdrawn' | 'blocked';
|
|
64
|
+
reason?: string;
|
|
65
|
+
fingerprint: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 物化阶段的批(宿主产生、宿主消费)。
|
|
69
|
+
*
|
|
70
|
+
* `snapshot` 对引擎是**不透明的**:它的字段类型来自服务端模块(Knowledge / EventEntity /
|
|
71
|
+
* 图片 / 相关推荐),而那些模块都依赖 `node:*`。本模块被客户端 import 取值,所以这里
|
|
72
|
+
* 不能描述它 —— 真正的形状在 `materialize-snapshot.ts`,只有服务端看得见。
|
|
73
|
+
* 引擎只负责把 `snapshot` 原样传回 `materialize()`。
|
|
74
|
+
*/
|
|
75
|
+
export interface MaterializationBatch {
|
|
76
|
+
groups: MaterializationGroup[];
|
|
77
|
+
/** 坐标仍有歧义 + 等待归一,两部分的合计。 */
|
|
78
|
+
blocked: number;
|
|
79
|
+
blockedAmbiguous: number;
|
|
80
|
+
blockedAwaitingNormalize: number;
|
|
81
|
+
snapshot: unknown;
|
|
82
|
+
}
|
|
83
|
+
export interface PipelineStatus {
|
|
84
|
+
sources: Array<{
|
|
85
|
+
id: string;
|
|
86
|
+
title: string;
|
|
87
|
+
version: number;
|
|
88
|
+
extractionId?: string;
|
|
89
|
+
normalizedId?: string;
|
|
90
|
+
state: 'pending' | 'extracted' | 'normalized' | 'outdated';
|
|
91
|
+
}>;
|
|
92
|
+
groups: MaterializationGroup[];
|
|
93
|
+
blocked: number;
|
|
94
|
+
pendingNew: number;
|
|
95
|
+
pendingUpdated: number;
|
|
96
|
+
pendingWithdrawn: number;
|
|
97
|
+
indexPending: boolean;
|
|
98
|
+
}
|
|
99
|
+
export declare const PIPELINE_STAGE_LABEL: Record<PipelineStage, string>;
|
|
100
|
+
export declare const PIPELINE_ACTIVE_STATES: readonly PipelineState[];
|
|
101
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pipeline/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const PIPELINE_STAGE_LABEL = {
|
|
2
|
+
extract: '抽取 Knowledge / Event', normalize: '归一合并', materialize: '物化 WikiCard', build: '构建检索索引', all: '全链路运行',
|
|
3
|
+
};
|
|
4
|
+
export const PIPELINE_ACTIVE_STATES = ['queued', 'running', 'pausing', 'paused', 'cancelling'];
|
|
5
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/pipeline/types.ts"],"names":[],"mappings":"AAwFA,MAAM,CAAC,MAAM,oBAAoB,GAAkC;IACjE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO;CAC9G,CAAA;AACD,MAAM,CAAC,MAAM,sBAAsB,GAA6B,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA"}
|
package/lib/types/present.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present.d.ts","sourceRoot":"","sources":["../../src/present.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,8CAA8C;AAC9C,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;AA4B1F,MAAM,WAAW,gBAAgB;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACrF,MAAM,WAAW,iBAAiB;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACnG,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACrC;AACD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC3B,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAClC;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACrE,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC5B,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;CACnC,GAAG,UAAU,CAiBb;AAED,gCAAgC;AAChC,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAWnJ;AAED,yCAAyC;AACzC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"present.d.ts","sourceRoot":"","sources":["../../src/present.ts"],"names":[],"mappings":"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"}
|
package/lib/types/present.js
CHANGED
|
@@ -70,7 +70,7 @@ export function importCallView(args) {
|
|
|
70
70
|
return {
|
|
71
71
|
card: 'generic',
|
|
72
72
|
kind: 'edit',
|
|
73
|
-
title: `导入 ${count} 份来源${args?.compile ===
|
|
73
|
+
title: `导入 ${count} 份来源${args?.compile === true ? '并处理知识' : ''}`,
|
|
74
74
|
rawInput: titles.length > 0 ? titles.map(title => short(title)) : { 份数: count },
|
|
75
75
|
};
|
|
76
76
|
}
|
|
@@ -82,11 +82,16 @@ export function importResultMarkdown(meta) {
|
|
|
82
82
|
for (const item of meta.failed)
|
|
83
83
|
lines.push(`- 第 ${item.index + 1} 份${item.title ? `「${short(item.title)}」` : ''}失败:${item.code} ${item.message}`);
|
|
84
84
|
if (meta.compile) {
|
|
85
|
-
const { cardsCreated, cardsUpdated, cardsReused, notesReused, notesRecompiled, embedding, version } = meta.compile;
|
|
85
|
+
const { cardsCreated, cardsUpdated, cardsReused, notesReused, notesRecompiled, embedding, version, state, taskId } = meta.compile;
|
|
86
|
+
if (state) {
|
|
87
|
+
const label = state === 'succeeded' ? '已完成' : state === 'partial' ? '部分完成' : state === 'cancelled' ? '已停止' : '未完成';
|
|
88
|
+
lines.push('', `知识处理${label}:新建 ${cardsCreated} 张、更新 ${cardsUpdated} 张。${taskId ? `任务:${taskId}。` : ''}详情请打开「知识处理」页的运行记录。`);
|
|
89
|
+
return lines.join('\n');
|
|
90
|
+
}
|
|
86
91
|
lines.push('', `编译:新建 ${cardsCreated} 张、并入 ${cardsUpdated} 张、复用 ${cardsReused ?? 0} 张;召回片段复用 ${notesReused ?? 0} 条、重编 ${notesRecompiled ?? 0} 条;索引 v${version ?? '?'}${embedding ? `(向量 ${embedding})` : ''}。`);
|
|
87
92
|
}
|
|
88
93
|
else {
|
|
89
|
-
lines.push('', '
|
|
94
|
+
lines.push('', '这次只保存来源(默认 `compile: false`)。下一步使用 `run_knowledge_pipeline` 分别抽取、归一、物化,最后构建检索索引。');
|
|
90
95
|
}
|
|
91
96
|
return lines.join('\n');
|
|
92
97
|
}
|
|
@@ -214,7 +219,7 @@ export function addSourceCallView(args) {
|
|
|
214
219
|
};
|
|
215
220
|
}
|
|
216
221
|
export function addSourceResultMarkdown(meta) {
|
|
217
|
-
return `**来源已写入** —— 「${meta.title ? short(meta.title) : meta.sourceId}」(${meta.bytes} 字符)。\n\n下一步:\`
|
|
222
|
+
return `**来源已写入** —— 「${meta.title ? short(meta.title) : meta.sourceId}」(${meta.bytes} 字符)。\n\n下一步:\`run_knowledge_pipeline\` 分别抽取、归一和物化,最后构建检索索引。`;
|
|
218
223
|
}
|
|
219
224
|
export function writeCardsMetaOf(value, sourceId) {
|
|
220
225
|
const rejected = (value.rejected ?? []).map(item => {
|
package/lib/types/present.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present.js","sourceRoot":"","sources":["../../src/present.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"present.js","sourceRoot":"","sources":["../../src/present.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AACjC,CAAC;AAED,yCAAyC;AACzC,SAAS,KAAK,CAAC,OAA4D;IACzE,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;SAC5E,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;SAC5C,IAAI,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC;AAED,wCAAwC;AACxC,SAAS,KAAK,CAAC,IAAY,EAAE,GAAG,GAAG,EAAE;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7C,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5D,CAAC;AAqBD,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAAC,KAK5B;IACC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;QACxF,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;SACvB,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;KAC/B,CAAA;AACH,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,cAAc,CAAC,IAAgD;IAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;SACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAQ,IAA4B,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,IAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACnJ,MAAM,CAAC,OAAO,CAAC,CAAA;IAClB,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM,KAAK,OAAO,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAChE,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE;KAChF,CAAA;AACH,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,SAAS,gBAAgB,IAAI,CAAC,OAAO,CAAC,MAAM,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAA;IACzG,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,KAAK,KAAK,CAAC,CAAA;IAC9H,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACjJ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QACjI,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;YAClH,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,YAAY,SAAS,YAAY,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAA;YAC3H,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,YAAY,SAAS,YAAY,SAAS,WAAW,IAAI,CAAC,aAAa,WAAW,IAAI,CAAC,SAAS,eAAe,IAAI,CAAC,UAAU,OAAO,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACjN,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kFAAkF,CAAC,CAAA;IACpG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AA+BD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAY5B;IACC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;QAChC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE;QACtC,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC,CAAC,CAAA;IACH,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;QACxB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;QAC/B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,QAAQ;QACxC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC;QACjC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC;QACnC,qDAAqD;QACrD,mBAAmB;QACnB,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpF,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACnG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAChG,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,KAAK,IAAI;QACzD,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS;QAC/C,IAAI;QACJ,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;KACnH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAuD;IACpF,MAAM,KAAK,GAAG,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAChG,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG;QAChC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE;KAChE,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,OAAO,wBAAwB,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,yCAAyC,CAAA;IAC/F,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC;QACjB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;QAC/B,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAClC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI;gBACzB,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrJ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;QAC1C,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;KAC1B,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAA;QAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACzF,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,QAAQ,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAA;IAC9G,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAoBD,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAkD;IAC5F,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;QACrC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;QACrC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAuB;IACrD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,CAAA;IAChC,MAAM,IAAI,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAA;IACzH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,IAAI,EAAE,EAAE,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,yCAAyC,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI,CAAA;IACzF,MAAM,IAAI,GAAG,KAAK,CAAC;QACjB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;QACzE,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;QACtB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KACpE,CAAC,CAAA;IACF,OAAO,eAAe,IAAI,GAAG,CAAA;AAC/B,CAAC;AAMD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAA0C,EAAE,KAA2C;IACrH,MAAM,OAAO,GAAG,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE;QAC/B,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE;QACvB,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,KAAK,EAAE,OAAO,CAAC,MAAM;KACtB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAA0C;IAC1E,MAAM,KAAK,GAAG,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChG,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,QAAQ,KAAK,GAAG;QACvB,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;KAC9E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAmB;IACzD,OAAO,iBAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,8DAA8D,CAAA;AACrJ,CAAC;AAeD,MAAM,UAAU,gBAAgB,CAAC,KAAmE,EAAE,QAAgB;IACpH,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACjD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QACrD,MAAM,MAAM,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAA+B,CAAC,CAAC,CAAC,EAAE,CAAA;QACtF,OAAO;YACL,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAA;IACH,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAA;AAC1F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAmD;IACpF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;SACnC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAQ,IAA4B,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,IAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACnJ,MAAM,CAAC,OAAO,CAAC,CAAA;IAClB,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM,KAAK,aAAa;QAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE;KACvG,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAChI,MAAM,KAAK,GAAG,CAAC,kBAAkB,IAAI,SAAS,IAAI,CAAC,QAAQ,MAAM,EAAE,EAAE,EAAE,wBAAwB,CAAC,CAAA;IAChG,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACjE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAA;IACvI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 保留上限(0070)。
|
|
3
|
+
*
|
|
4
|
+
* 文档里写着保留策略(「命名永久 + 最近 100 + 每日末版;机器版本只活到硬上限」),
|
|
5
|
+
* 而代码里对这几张表一条 `DELETE` 都没有:`revision` / `blob` / `tree` / `operations` /
|
|
6
|
+
* `pipeline_extractions` / `pipeline_events` 只增不减。这个模块把**新数据**的上限补上。
|
|
7
|
+
*
|
|
8
|
+
* ## 为什么是「水位 + 上限」,而不是直接按条数删
|
|
9
|
+
*
|
|
10
|
+
* 上限一旦生效,第一次裁剪就会把库里**已有的**历史删掉 —— 那是不可逆的,而用户的决定是
|
|
11
|
+
* 「只对新数据加上限,不动存量」。所以每张表第一次裁剪时先把当前最大键记成**水位**:
|
|
12
|
+
* 水位以下的既有行永不删除;水位以上的新行按上限保留。代价是总量变成
|
|
13
|
+
* 「升级那一刻的存量 + 上限」,而不是「上限」—— 这是「不动存量」能给出的最强的界。
|
|
14
|
+
*
|
|
15
|
+
* ## 键列的要求
|
|
16
|
+
*
|
|
17
|
+
* `key` 必须是单调递增的整数列(`rowid` 或自增 `seq`)。用时间戳当键不行:同一毫秒里
|
|
18
|
+
* 两行的顺序不确定,裁剪会随机丢一行。
|
|
19
|
+
*/
|
|
20
|
+
import type { SqliteDatabase } from './fts.js';
|
|
21
|
+
export interface RetentionSpec {
|
|
22
|
+
/** 表名。内插进 SQL,所以调用方只能传常量。 */
|
|
23
|
+
table: string;
|
|
24
|
+
/** 单调递增的整数键列,例如 `rowid` 或 `seq`。 */
|
|
25
|
+
key: string;
|
|
26
|
+
/** 水位以上保留多少行;`0` 表示水位以上的匹配行全部删掉(用于回收无引用的 blob)。 */
|
|
27
|
+
keep: number;
|
|
28
|
+
/** 额外的行条件(可含子查询)。同样只允许常量 SQL。 */
|
|
29
|
+
where?: string;
|
|
30
|
+
/** 分组表达式:给了就是「每组保留 keep 行」,而不是全表保留。 */
|
|
31
|
+
groupBy?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 裁掉水位以上的超限行,返回删掉的行数。
|
|
35
|
+
*
|
|
36
|
+
* 幂等且可反复调用:没有超限时最多花一次索引区间计数。
|
|
37
|
+
*/
|
|
38
|
+
export declare function applyRetention(db: SqliteDatabase, name: string, spec: RetentionSpec): number;
|
|
39
|
+
//# sourceMappingURL=retention.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../../src/retention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAiBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAqB5F"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** 水位表的表名。它跟着所在的那个库走(审计库与 knowledge.db 各有一份)。 */
|
|
2
|
+
const FLOOR_TABLE = 'retention_floor';
|
|
3
|
+
function ensureFloors(db) {
|
|
4
|
+
db.exec(`CREATE TABLE IF NOT EXISTS ${FLOOR_TABLE} (name TEXT PRIMARY KEY, floor INTEGER NOT NULL, at TEXT NOT NULL)`);
|
|
5
|
+
}
|
|
6
|
+
function floorOf(db, name, table, key) {
|
|
7
|
+
const row = db.prepare(`SELECT floor FROM ${FLOOR_TABLE} WHERE name = ?`).get(name);
|
|
8
|
+
if (row !== undefined)
|
|
9
|
+
return Number(row.floor ?? 0);
|
|
10
|
+
const max = Number(db.prepare(`SELECT COALESCE(MAX(${key}), 0) AS m FROM ${table}`).get()?.m ?? 0);
|
|
11
|
+
db.prepare(`INSERT OR IGNORE INTO ${FLOOR_TABLE}(name, floor, at) VALUES (?, ?, ?)`).run(name, max, new Date().toISOString());
|
|
12
|
+
return max;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 裁掉水位以上的超限行,返回删掉的行数。
|
|
16
|
+
*
|
|
17
|
+
* 幂等且可反复调用:没有超限时最多花一次索引区间计数。
|
|
18
|
+
*/
|
|
19
|
+
export function applyRetention(db, name, spec) {
|
|
20
|
+
ensureFloors(db);
|
|
21
|
+
const floor = floorOf(db, name, spec.table, spec.key);
|
|
22
|
+
const filter = spec.where === undefined ? '' : ` AND (${spec.where})`;
|
|
23
|
+
const above = Number(db.prepare(`SELECT COUNT(*) AS n FROM ${spec.table} WHERE ${spec.key} > ?${filter}`).get(floor)?.n ?? 0);
|
|
24
|
+
if (above <= spec.keep)
|
|
25
|
+
return 0;
|
|
26
|
+
if (spec.groupBy === undefined) {
|
|
27
|
+
const changes = spec.keep <= 0
|
|
28
|
+
? db.prepare(`DELETE FROM ${spec.table} WHERE ${spec.key} > ?${filter}`).run(floor)
|
|
29
|
+
: db.prepare(`DELETE FROM ${spec.table} WHERE ${spec.key} > ? AND ${spec.key} < (
|
|
30
|
+
SELECT ${spec.key} FROM ${spec.table} WHERE ${spec.key} > ?${filter} ORDER BY ${spec.key} DESC LIMIT 1 OFFSET ?
|
|
31
|
+
)${filter}`).run(floor, floor, spec.keep - 1);
|
|
32
|
+
return Number(changes?.changes ?? 0);
|
|
33
|
+
}
|
|
34
|
+
const changes = db.prepare(`DELETE FROM ${spec.table} WHERE ${spec.key} IN (
|
|
35
|
+
SELECT ${spec.key} FROM (
|
|
36
|
+
SELECT ${spec.key}, ROW_NUMBER() OVER (PARTITION BY ${spec.groupBy} ORDER BY ${spec.key} DESC) AS rn
|
|
37
|
+
FROM ${spec.table} WHERE ${spec.key} > ?${filter}
|
|
38
|
+
) WHERE rn > ?
|
|
39
|
+
)`).run(floor, spec.keep);
|
|
40
|
+
return Number(changes?.changes ?? 0);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=retention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retention.js","sourceRoot":"","sources":["../../src/retention.ts"],"names":[],"mappings":"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"}
|