deepadata-edm-sdk 0.6.0-alpha
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/LICENSE +21 -0
- package/README.md +240 -0
- package/dist/assembler.d.ts +37 -0
- package/dist/assembler.d.ts.map +1 -0
- package/dist/assembler.js +204 -0
- package/dist/assembler.js.map +1 -0
- package/dist/extractors/domain-extractors.d.ts +8 -0
- package/dist/extractors/domain-extractors.d.ts.map +1 -0
- package/dist/extractors/domain-extractors.js +173 -0
- package/dist/extractors/domain-extractors.js.map +1 -0
- package/dist/extractors/image-analyzer.d.ts +38 -0
- package/dist/extractors/image-analyzer.d.ts.map +1 -0
- package/dist/extractors/image-analyzer.js +101 -0
- package/dist/extractors/image-analyzer.js.map +1 -0
- package/dist/extractors/kimi-extractor.d.ts +22 -0
- package/dist/extractors/kimi-extractor.d.ts.map +1 -0
- package/dist/extractors/kimi-extractor.js +137 -0
- package/dist/extractors/kimi-extractor.js.map +1 -0
- package/dist/extractors/llm-extractor.d.ts +43 -0
- package/dist/extractors/llm-extractor.d.ts.map +1 -0
- package/dist/extractors/llm-extractor.js +295 -0
- package/dist/extractors/llm-extractor.js.map +1 -0
- package/dist/extractors/openai-extractor.d.ts +17 -0
- package/dist/extractors/openai-extractor.d.ts.map +1 -0
- package/dist/extractors/openai-extractor.js +97 -0
- package/dist/extractors/openai-extractor.js.map +1 -0
- package/dist/extractors/profile-prompts.d.ts +32 -0
- package/dist/extractors/profile-prompts.d.ts.map +1 -0
- package/dist/extractors/profile-prompts.js +283 -0
- package/dist/extractors/profile-prompts.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/schema/edm-schema.d.ts +1645 -0
- package/dist/schema/edm-schema.d.ts.map +1 -0
- package/dist/schema/edm-schema.js +345 -0
- package/dist/schema/edm-schema.js.map +1 -0
- package/dist/schema/types.d.ts +94 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +79 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/stateless.d.ts +28 -0
- package/dist/stateless.d.ts.map +1 -0
- package/dist/stateless.js +100 -0
- package/dist/stateless.js.map +1 -0
- package/dist/validator.d.ts +24 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +154 -0
- package/dist/validator.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a stateless version of an EDM artifact
|
|
3
|
+
* Removes identifying information while preserving emotional structure
|
|
4
|
+
*/
|
|
5
|
+
export function createStatelessArtifact(artifact) {
|
|
6
|
+
return {
|
|
7
|
+
...artifact,
|
|
8
|
+
meta: {
|
|
9
|
+
...artifact.meta,
|
|
10
|
+
owner_user_id: null, // Required null in stateless mode
|
|
11
|
+
parent_id: null, // Break threading chain
|
|
12
|
+
tags: [], // Remove user-defined tags
|
|
13
|
+
},
|
|
14
|
+
milky_way: nullifyMilkyWay(artifact.milky_way),
|
|
15
|
+
gravity: nullifyGravity(artifact.gravity),
|
|
16
|
+
// Governance: strengthen privacy settings
|
|
17
|
+
governance: {
|
|
18
|
+
...artifact.governance,
|
|
19
|
+
exportability: "restricted",
|
|
20
|
+
},
|
|
21
|
+
// System: clear any waypoints
|
|
22
|
+
system: {
|
|
23
|
+
embeddings: [],
|
|
24
|
+
indices: {
|
|
25
|
+
waypoint_ids: [],
|
|
26
|
+
sector_weights: artifact.system.indices.sector_weights,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Null out identifying fields in milky_way domain
|
|
33
|
+
*/
|
|
34
|
+
function nullifyMilkyWay(milkyWay) {
|
|
35
|
+
return {
|
|
36
|
+
event_type: milkyWay.event_type, // Keep - categorical, not identifying
|
|
37
|
+
location_context: null, // Null - could be identifying
|
|
38
|
+
associated_people: [], // Clear - directly identifying
|
|
39
|
+
visibility_context: milkyWay.visibility_context, // Keep - categorical
|
|
40
|
+
tone_shift: milkyWay.tone_shift, // Keep - emotional, not identifying
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Null out identifying fields in gravity domain
|
|
45
|
+
*/
|
|
46
|
+
function nullifyGravity(gravity) {
|
|
47
|
+
return {
|
|
48
|
+
...gravity,
|
|
49
|
+
// Keep emotional structure
|
|
50
|
+
emotional_weight: gravity.emotional_weight,
|
|
51
|
+
emotional_density: gravity.emotional_density,
|
|
52
|
+
valence: gravity.valence,
|
|
53
|
+
viscosity: gravity.viscosity,
|
|
54
|
+
gravity_type: gravity.gravity_type,
|
|
55
|
+
tether_type: gravity.tether_type,
|
|
56
|
+
legacy_embed: gravity.legacy_embed,
|
|
57
|
+
recurrence_pattern: gravity.recurrence_pattern,
|
|
58
|
+
strength_score: gravity.strength_score,
|
|
59
|
+
temporal_decay: gravity.temporal_decay,
|
|
60
|
+
resilience_markers: gravity.resilience_markers,
|
|
61
|
+
adaptation_trajectory: gravity.adaptation_trajectory,
|
|
62
|
+
// Null out potentially identifying retrieval fields
|
|
63
|
+
recall_triggers: [], // Could contain identifying details
|
|
64
|
+
retrieval_keys: [], // Could contain identifying details
|
|
65
|
+
nearby_themes: gravity.nearby_themes, // Keep - abstract themes
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Check if an artifact is in stateless mode
|
|
70
|
+
*/
|
|
71
|
+
export function isStateless(artifact) {
|
|
72
|
+
return (artifact.meta.owner_user_id === null &&
|
|
73
|
+
artifact.milky_way.associated_people.length === 0 &&
|
|
74
|
+
artifact.milky_way.location_context === null &&
|
|
75
|
+
artifact.gravity.recall_triggers.length === 0 &&
|
|
76
|
+
artifact.gravity.retrieval_keys.length === 0);
|
|
77
|
+
}
|
|
78
|
+
export function validateStateless(artifact) {
|
|
79
|
+
const violations = [];
|
|
80
|
+
if (artifact.meta.owner_user_id !== null) {
|
|
81
|
+
violations.push("meta.owner_user_id must be null in stateless mode");
|
|
82
|
+
}
|
|
83
|
+
if (artifact.milky_way.associated_people.length > 0) {
|
|
84
|
+
violations.push("milky_way.associated_people must be empty in stateless mode");
|
|
85
|
+
}
|
|
86
|
+
if (artifact.milky_way.location_context !== null) {
|
|
87
|
+
violations.push("milky_way.location_context must be null in stateless mode");
|
|
88
|
+
}
|
|
89
|
+
if (artifact.gravity.recall_triggers.length > 0) {
|
|
90
|
+
violations.push("gravity.recall_triggers must be empty in stateless mode");
|
|
91
|
+
}
|
|
92
|
+
if (artifact.gravity.retrieval_keys.length > 0) {
|
|
93
|
+
violations.push("gravity.retrieval_keys must be empty in stateless mode");
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
compliant: violations.length === 0,
|
|
97
|
+
violations,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=stateless.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateless.js","sourceRoot":"","sources":["../src/stateless.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { EdmArtifact, ValidationResult } from "./schema/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Validate an EDM artifact against the v0.5.0 schema
|
|
4
|
+
*/
|
|
5
|
+
export declare function validateEDM(artifact: unknown): ValidationResult;
|
|
6
|
+
/**
|
|
7
|
+
* Validate and return typed artifact or throw
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateEDMStrict(artifact: unknown): EdmArtifact;
|
|
10
|
+
/**
|
|
11
|
+
* Validate specific domain
|
|
12
|
+
*/
|
|
13
|
+
export type DomainName = "meta" | "core" | "constellation" | "milky_way" | "gravity" | "impulse" | "governance" | "telemetry" | "system" | "crosswalks";
|
|
14
|
+
export declare function validateDomain(domain: DomainName, data: unknown): ValidationResult;
|
|
15
|
+
/**
|
|
16
|
+
* Validate artifact completeness (non-null required fields)
|
|
17
|
+
*/
|
|
18
|
+
export interface CompletenessResult {
|
|
19
|
+
complete: boolean;
|
|
20
|
+
missingFields: string[];
|
|
21
|
+
populationRate: number;
|
|
22
|
+
}
|
|
23
|
+
export declare function validateCompleteness(artifact: EdmArtifact): CompletenessResult;
|
|
24
|
+
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AAExF;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,gBAAgB,CAc/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,WAAW,CAEhE;AAaD;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,GACN,eAAe,GACf,WAAW,GACX,SAAS,GACT,SAAS,GACT,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,YAAY,CAAC;AA4BjB,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAkBlF;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,GAAG,kBAAkB,CA6E9E"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { EdmArtifactSchema } from "./schema/edm-schema.js";
|
|
2
|
+
/**
|
|
3
|
+
* Validate an EDM artifact against the v0.5.0 schema
|
|
4
|
+
*/
|
|
5
|
+
export function validateEDM(artifact) {
|
|
6
|
+
const result = EdmArtifactSchema.safeParse(artifact);
|
|
7
|
+
if (result.success) {
|
|
8
|
+
return {
|
|
9
|
+
valid: true,
|
|
10
|
+
errors: [],
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
valid: false,
|
|
15
|
+
errors: formatZodErrors(result.error),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Validate and return typed artifact or throw
|
|
20
|
+
*/
|
|
21
|
+
export function validateEDMStrict(artifact) {
|
|
22
|
+
return EdmArtifactSchema.parse(artifact);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Format Zod errors into ValidationError array
|
|
26
|
+
*/
|
|
27
|
+
function formatZodErrors(error) {
|
|
28
|
+
return error.errors.map((issue) => ({
|
|
29
|
+
path: issue.path.join("."),
|
|
30
|
+
message: issue.message,
|
|
31
|
+
code: issue.code,
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
import { MetaSchema, CoreSchema, ConstellationSchema, MilkyWaySchema, GravitySchema, ImpulseSchema, GovernanceSchema, TelemetrySchema, SystemSchema, CrosswalksSchema, } from "./schema/edm-schema.js";
|
|
35
|
+
const domainSchemas = {
|
|
36
|
+
meta: MetaSchema,
|
|
37
|
+
core: CoreSchema,
|
|
38
|
+
constellation: ConstellationSchema,
|
|
39
|
+
milky_way: MilkyWaySchema,
|
|
40
|
+
gravity: GravitySchema,
|
|
41
|
+
impulse: ImpulseSchema,
|
|
42
|
+
governance: GovernanceSchema,
|
|
43
|
+
telemetry: TelemetrySchema,
|
|
44
|
+
system: SystemSchema,
|
|
45
|
+
crosswalks: CrosswalksSchema,
|
|
46
|
+
};
|
|
47
|
+
export function validateDomain(domain, data) {
|
|
48
|
+
const schema = domainSchemas[domain];
|
|
49
|
+
const result = schema.safeParse(data);
|
|
50
|
+
if (result.success) {
|
|
51
|
+
return {
|
|
52
|
+
valid: true,
|
|
53
|
+
errors: [],
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
valid: false,
|
|
58
|
+
errors: formatZodErrors(result.error).map((err) => ({
|
|
59
|
+
...err,
|
|
60
|
+
path: `${domain}.${err.path}`,
|
|
61
|
+
})),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function validateCompleteness(artifact) {
|
|
65
|
+
const missingFields = [];
|
|
66
|
+
let totalFields = 0;
|
|
67
|
+
let populatedFields = 0;
|
|
68
|
+
// Check required fields across domains
|
|
69
|
+
const requiredPaths = [
|
|
70
|
+
"meta.version",
|
|
71
|
+
"meta.created_at",
|
|
72
|
+
"meta.visibility",
|
|
73
|
+
"meta.pii_tier",
|
|
74
|
+
"meta.source_type",
|
|
75
|
+
"meta.consent_basis",
|
|
76
|
+
"constellation.emotion_subtone",
|
|
77
|
+
"constellation.transformational_pivot",
|
|
78
|
+
"milky_way.associated_people",
|
|
79
|
+
"gravity.emotional_weight",
|
|
80
|
+
"gravity.recall_triggers",
|
|
81
|
+
"gravity.retrieval_keys",
|
|
82
|
+
"gravity.nearby_themes",
|
|
83
|
+
"gravity.legacy_embed",
|
|
84
|
+
"gravity.strength_score",
|
|
85
|
+
"gravity.resilience_markers",
|
|
86
|
+
"governance.subject_rights",
|
|
87
|
+
"governance.exportability",
|
|
88
|
+
"governance.policy_labels",
|
|
89
|
+
"governance.masking_rules",
|
|
90
|
+
"telemetry.entry_confidence",
|
|
91
|
+
"system.embeddings",
|
|
92
|
+
"system.indices",
|
|
93
|
+
];
|
|
94
|
+
for (const path of requiredPaths) {
|
|
95
|
+
totalFields++;
|
|
96
|
+
const value = getNestedValue(artifact, path);
|
|
97
|
+
if (value === null || value === undefined) {
|
|
98
|
+
missingFields.push(path);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
populatedFields++;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// Also count optional field population
|
|
105
|
+
const optionalPaths = [
|
|
106
|
+
"core.anchor",
|
|
107
|
+
"core.spark",
|
|
108
|
+
"core.wound",
|
|
109
|
+
"core.fuel",
|
|
110
|
+
"core.bridge",
|
|
111
|
+
"core.echo",
|
|
112
|
+
"core.narrative",
|
|
113
|
+
"constellation.emotion_primary",
|
|
114
|
+
"constellation.narrative_arc",
|
|
115
|
+
"constellation.relational_dynamics",
|
|
116
|
+
"constellation.temporal_context",
|
|
117
|
+
"constellation.memory_type",
|
|
118
|
+
"constellation.narrative_archetype",
|
|
119
|
+
"milky_way.event_type",
|
|
120
|
+
"milky_way.location_context",
|
|
121
|
+
"impulse.primary_energy",
|
|
122
|
+
"impulse.drive_state",
|
|
123
|
+
"impulse.motivational_orientation",
|
|
124
|
+
];
|
|
125
|
+
for (const path of optionalPaths) {
|
|
126
|
+
totalFields++;
|
|
127
|
+
const value = getNestedValue(artifact, path);
|
|
128
|
+
if (value !== null && value !== undefined && value !== "") {
|
|
129
|
+
populatedFields++;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
complete: missingFields.length === 0,
|
|
134
|
+
missingFields,
|
|
135
|
+
populationRate: Math.round((populatedFields / totalFields) * 100) / 100,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function getNestedValue(obj, path) {
|
|
139
|
+
const parts = path.split(".");
|
|
140
|
+
let current = obj;
|
|
141
|
+
for (const part of parts) {
|
|
142
|
+
if (current === null || current === undefined) {
|
|
143
|
+
return undefined;
|
|
144
|
+
}
|
|
145
|
+
if (typeof current === "object") {
|
|
146
|
+
current = current[part];
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return current;
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "deepadata-edm-sdk",
|
|
3
|
+
"version": "0.6.0-alpha",
|
|
4
|
+
"description": "SDK for assembling EDM v0.6.0 artifacts from user content. LLM-assisted extraction with interpretation constraints and profile support.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"prepare": "npm run build",
|
|
17
|
+
"test": "vitest run",
|
|
18
|
+
"test:watch": "vitest",
|
|
19
|
+
"typecheck": "tsc --noEmit",
|
|
20
|
+
"clean": "rimraf dist"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"edm",
|
|
24
|
+
"emotional-data-model",
|
|
25
|
+
"deepadata",
|
|
26
|
+
"llm",
|
|
27
|
+
"extraction"
|
|
28
|
+
],
|
|
29
|
+
"author": "DeepAData",
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@anthropic-ai/sdk": "^0.52.0",
|
|
33
|
+
"openai": "^6.17.0",
|
|
34
|
+
"zod": "^3.23.8"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@types/node": "^22.10.0",
|
|
38
|
+
"rimraf": "^6.0.1",
|
|
39
|
+
"tsx": "^4.19.0",
|
|
40
|
+
"typescript": "^5.7.0",
|
|
41
|
+
"vitest": "^2.1.0"
|
|
42
|
+
},
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"deepadata-ddna-tools": ">=0.1.0"
|
|
45
|
+
},
|
|
46
|
+
"peerDependenciesMeta": {
|
|
47
|
+
"deepadata-ddna-tools": {
|
|
48
|
+
"optional": true
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=18.0.0"
|
|
53
|
+
},
|
|
54
|
+
"files": [
|
|
55
|
+
"dist",
|
|
56
|
+
"README.md",
|
|
57
|
+
"LICENSE"
|
|
58
|
+
]
|
|
59
|
+
}
|