dsh-logicprobe 0.4.0 → 0.5.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.
- package/README.en-US.md +7 -1
- package/README.md +7 -1
- package/lib/concurrency-tool.js +34 -0
- package/lib/concurrency.js +76 -0
- package/lib/data-engine.js +930 -0
- package/lib/data-tool.js +61 -0
- package/lib/engine.js +1622 -1364
- package/lib/index.js +291 -277
- package/lib/tool.js +57 -57
- package/lib/types/concurrency-tool.d.ts +8 -0
- package/lib/types/concurrency.d.ts +20 -0
- package/lib/types/data-engine.d.ts +199 -0
- package/lib/types/data-tool.d.ts +10 -0
- package/lib/types/engine.d.ts +171 -151
- package/package.json +79 -78
- package/skills/logicprobe/SKILL.md +285 -268
- package/skills/logicprobe/references/__pycache__/verification-harness.cpython-312.pyc +0 -0
- package/skills/logicprobe/references/concurrency-risk-guide.md +54 -0
- package/skills/logicprobe/references/dsh-model-schema.md +145 -129
- package/skills/logicprobe/references/logic-verification-guide.md +463 -413
- package/skills/logicprobe/references/verification-harness.py +806 -582
- package/skills/logicprobe-datamodel/SKILL.md +124 -0
- package/skills/logicprobe-datamodel/references/__pycache__/data-model-harness.cpython-312.pyc +0 -0
- package/skills/logicprobe-datamodel/references/data-model-guide.md +62 -0
- package/skills/logicprobe-datamodel/references/data-model-harness.py +528 -0
- package/skills/logicprobe-datamodel/references/data-model-schema.md +128 -0
- package/src/concurrency-tool.ts +37 -0
- package/src/concurrency.ts +102 -0
- package/src/data-engine.ts +1001 -0
- package/src/data-tool.ts +65 -0
- package/src/engine.ts +234 -0
- package/src/index.ts +315 -301
- package/src/tool.ts +60 -60
package/lib/data-tool.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { defineTool } from '@deepseek-ai/dsh-tools';
|
|
2
|
+
import { runDataVerification, DATA_ENGINE_SCHEMA_VERSION } from './data-engine.js';
|
|
3
|
+
export const LOGICPROBE_DATAMODEL_VERIFY_TOOL_NAME = 'logicprobe_datamodel_verify';
|
|
4
|
+
/**
|
|
5
|
+
* Model-visible DSH tool wrapping the bundled data-model verification engine.
|
|
6
|
+
* The model passes a DataModelV1 object; the engine validates it and returns
|
|
7
|
+
* DS/DA/DD checks. Optional beforeModel/fieldMapping/copyPairs/migrationMappings
|
|
8
|
+
* enable before/after data-model regression and migration coverage checks.
|
|
9
|
+
*/
|
|
10
|
+
export const logicProbeDataModelVerifyTool = defineTool({
|
|
11
|
+
name: LOGICPROBE_DATAMODEL_VERIFY_TOOL_NAME,
|
|
12
|
+
description: 'Run executable data-model verification (logicprobe-datamodel). Takes a DataModelV1 object with schemaVersion=1, entities ({name, fields, primaryKey?, uniqueKeys?, indexes?}), relationships?, invariants?, boundaryChecks?. Optional beforeModel/fieldMapping/copyPairs/migrationMappings/backupPairs enable migration coverage, copy consistency, rollback symmetry, and before/after data regression (DD1-DD4). Returns a report with DS/DA/DD checks. See skills/logicprobe-datamodel/references/data-model-schema.md.',
|
|
13
|
+
parameters: {
|
|
14
|
+
model: {
|
|
15
|
+
type: 'json',
|
|
16
|
+
required: true,
|
|
17
|
+
description: 'DataModelV1 data model to verify.',
|
|
18
|
+
},
|
|
19
|
+
beforeModel: {
|
|
20
|
+
type: 'json',
|
|
21
|
+
description: 'Optional BEFORE DataModelV1 data model for regression comparison.',
|
|
22
|
+
},
|
|
23
|
+
fieldMapping: {
|
|
24
|
+
type: 'json',
|
|
25
|
+
description: 'Optional object mapping BEFORE "Entity.field" paths to AFTER "Entity.field" paths.',
|
|
26
|
+
},
|
|
27
|
+
copyPairs: {
|
|
28
|
+
type: 'json',
|
|
29
|
+
description: 'Optional copy pairs: { id, sourceEntity, targetEntity, mapping: {sourceField: targetField} }.',
|
|
30
|
+
},
|
|
31
|
+
migrationMappings: {
|
|
32
|
+
type: 'json',
|
|
33
|
+
description: 'Optional migration mappings: { from: "Entity.field", to: "Entity.field", transform?, note? }.',
|
|
34
|
+
},
|
|
35
|
+
backupPairs: {
|
|
36
|
+
type: 'json',
|
|
37
|
+
description: 'Optional backup/restore pairs for DA7 rollback symmetry.',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
output: {
|
|
41
|
+
schema: {
|
|
42
|
+
type: 'json',
|
|
43
|
+
description: 'logicprobe-datamodel verification report with summary and per-check findings.',
|
|
44
|
+
},
|
|
45
|
+
render(_args, value) {
|
|
46
|
+
return [{ type: 'text', text: JSON.stringify(value, null, 2) }];
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
timeoutMs: 10_000,
|
|
50
|
+
isConcurrencySafe: () => true,
|
|
51
|
+
async execute(args) {
|
|
52
|
+
return runDataVerification(args.model, {
|
|
53
|
+
beforeModel: args.beforeModel,
|
|
54
|
+
fieldMapping: args.fieldMapping,
|
|
55
|
+
copyPairs: args.copyPairs,
|
|
56
|
+
migrationMappings: args.migrationMappings,
|
|
57
|
+
backupPairs: args.backupPairs,
|
|
58
|
+
});
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
export { DATA_ENGINE_SCHEMA_VERSION };
|