deepadata-edm-sdk 0.6.0-alpha → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +40 -10
  2. package/dist/assembler.d.ts +73 -4
  3. package/dist/assembler.d.ts.map +1 -1
  4. package/dist/assembler.js +216 -16
  5. package/dist/assembler.js.map +1 -1
  6. package/dist/extractors/domain-extractors.d.ts.map +1 -1
  7. package/dist/extractors/domain-extractors.js +1 -20
  8. package/dist/extractors/domain-extractors.js.map +1 -1
  9. package/dist/extractors/kimi-extractor.d.ts +1 -1
  10. package/dist/extractors/kimi-extractor.d.ts.map +1 -1
  11. package/dist/extractors/kimi-extractor.js +19 -4
  12. package/dist/extractors/kimi-extractor.js.map +1 -1
  13. package/dist/extractors/llm-extractor.d.ts +35 -12
  14. package/dist/extractors/llm-extractor.d.ts.map +1 -1
  15. package/dist/extractors/llm-extractor.js +182 -167
  16. package/dist/extractors/llm-extractor.js.map +1 -1
  17. package/dist/extractors/openai-extractor.d.ts +1 -1
  18. package/dist/extractors/openai-extractor.js +1 -1
  19. package/dist/extractors/profile-prompts.d.ts +10 -7
  20. package/dist/extractors/profile-prompts.d.ts.map +1 -1
  21. package/dist/extractors/profile-prompts.js +83 -118
  22. package/dist/extractors/profile-prompts.js.map +1 -1
  23. package/dist/index.d.ts +13 -11
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +14 -8
  26. package/dist/index.js.map +1 -1
  27. package/dist/schema/edm-schema.d.ts +486 -294
  28. package/dist/schema/edm-schema.d.ts.map +1 -1
  29. package/dist/schema/edm-schema.js +127 -42
  30. package/dist/schema/edm-schema.js.map +1 -1
  31. package/dist/schema/types.d.ts +6 -7
  32. package/dist/schema/types.d.ts.map +1 -1
  33. package/dist/schema/types.js.map +1 -1
  34. package/dist/stateless.d.ts.map +1 -1
  35. package/dist/stateless.js +0 -2
  36. package/dist/stateless.js.map +1 -1
  37. package/dist/validator.d.ts +38 -3
  38. package/dist/validator.d.ts.map +1 -1
  39. package/dist/validator.js +277 -16
  40. package/dist/validator.js.map +1 -1
  41. package/package.json +59 -59
  42. package/LICENSE +0 -21
package/README.md CHANGED
@@ -1,6 +1,22 @@
1
- # deepadata-edm-sdk
1
+ # DeepaData EDM SDK
2
2
 
3
- SDK for assembling EDM v0.6.0 artifacts from user content. LLM-assisted extraction with interpretation constraints (not inference). Supports text + image input, profile-aware extraction, stateless mode, and integrates with deepadata-ddna-tools for sealing.
3
+ The significance layer for AI memory.
4
+
5
+ EDM artifacts encode what mattered at capture time — emotional weight, recall triggers, identity thread, arc type — so every memory architecture gets a richer signal to retrieve against.
6
+
7
+ ## Why EDM
8
+
9
+ Most memory systems score relevance at retrieval time. EDM encodes significance at capture time.
10
+
11
+ The difference: a raw conversation chunk tells your retrieval system what was said. An EDM artifact tells it what mattered — and why it might matter again.
12
+
13
+ **What this enables:**
14
+ - Retrieve by emotional significance, not just semantic similarity
15
+ - Surface moments that keyword and vector search miss entirely
16
+ - Give memory platforms five retrieval axes instead of one
17
+ - Portable, governed artifacts that travel with the person across platforms
18
+
19
+ The spec is MIT licensed and published on Zenodo. The SDK is the extraction layer.
4
20
 
5
21
  ## Installation
6
22
 
@@ -45,7 +61,7 @@ console.log(JSON.stringify(artifact, null, 2));
45
61
 
46
62
  - **LLM-Assisted Extraction**: Uses Claude, OpenAI, or Kimi to extract emotional data from text and images
47
63
  - **EDM v0.6.0 Compliant**: Full support for all 10 EDM domains
48
- - **Profile Support**: Core (~20 fields), Extended (~45 fields), or Full (all fields)
64
+ - **Profile Support**: Essential (~20 fields), Extended (~45 fields), or Full (all fields)
49
65
  - **Text + Image Fusion**: Combines text narrative with image context
50
66
  - **Stateless Mode**: Privacy-preserving mode for session use
51
67
  - **Schema Validation**: Comprehensive Zod-based validation
@@ -57,16 +73,16 @@ EDM v0.6.0 introduces profile-aware extraction. Choose the profile that matches
57
73
 
58
74
  | Profile | Fields | Use Case |
59
75
  |---------|--------|----------|
60
- | **core** | ~20 | Memory platforms, agent frameworks, AI assistants |
76
+ | **essential** | ~20 | Memory platforms, agent frameworks, AI assistants |
61
77
  | **extended** | ~45 | Journaling apps, companion AI, workplace wellness |
62
78
  | **full** | 96 | Therapy tools, clinical applications, research |
63
79
 
64
80
  ```typescript
65
- // Core profile - minimal extraction
81
+ // Essential profile - minimal extraction
66
82
  const artifact = await extractFromContent({
67
83
  content: { text: "..." },
68
84
  metadata: { consentBasis: "consent" },
69
- profile: "core",
85
+ profile: "essential",
70
86
  });
71
87
 
72
88
  // Extended profile - balanced extraction
@@ -112,7 +128,7 @@ const artifact = await extractFromContent({
112
128
  },
113
129
  model: "claude-sonnet-4-20250514", // optional
114
130
  provider: "anthropic", // optional: "anthropic" | "openai" | "kimi"
115
- profile: "full", // optional: "core" | "extended" | "full"
131
+ profile: "full", // optional: "essential" | "extended" | "full"
116
132
  });
117
133
  ```
118
134
 
@@ -148,7 +164,7 @@ Validate stateless compliance with detailed violations.
148
164
 
149
165
  #### `validateEDM(artifact)`
150
166
 
151
- Validate against the complete EDM v0.4.0 schema.
167
+ Validate against the complete EDM v0.6.0 schema.
152
168
 
153
169
  ```typescript
154
170
  const result = validateEDM(artifact);
@@ -182,7 +198,7 @@ Create an empty artifact structure for manual population.
182
198
 
183
199
  Create an Anthropic client (uses `ANTHROPIC_API_KEY` env var if not provided).
184
200
 
185
- ## EDM v0.4.0 Domains
201
+ ## EDM v0.6.0 Domains
186
202
 
187
203
  The SDK supports all 10 EDM domains:
188
204
 
@@ -232,9 +248,23 @@ This SDK implements EDM v0.6.0. Key changes from v0.5:
232
248
  - Added `meta.profile` field for conformance level declaration
233
249
  - Profile-aware extraction with tailored system prompts
234
250
  - Profile-aware confidence scoring
235
- - Three conformance profiles: core (~20 fields), extended (~45 fields), full (96 fields)
251
+ - Three conformance profiles: essential (24 fields), extended (50 fields), full (96 fields)
236
252
  - Added Kimi K2 extractor support via MoonshotAI API
237
253
 
254
+ ## Works With Your Memory Stack
255
+
256
+ EDM artifacts are format-agnostic episodic memory records. The structured fields integrate naturally with the retrieval infrastructure you already use:
257
+
258
+ - **Embedding-based retrieval** — embed core.narrative for semantic similarity search against any vector store
259
+ - **Temporal knowledge graphs** — map associated_people and tether_type as graph nodes and edges; temporal_context and recurrence_pattern as edge properties
260
+ - **Lexical search (BM25)** — recall_triggers and retrieval_keys are designed for activation-path matching against conversation fragments
261
+ - **Hybrid retrieval** — combine any of the above; EDM fields give each axis a significance-weighted signal rather than raw text
262
+ - **Significance activation** — the DeepaData activation API returns ranked artifact IDs for the current conversation moment (deepadata.com/docs/activation)
263
+
264
+ EDM encodes the episodic layer. The retrieval architecture is yours.
265
+
266
+ See deepadata.com/docs for integration guides.
267
+
238
268
  ## License
239
269
 
240
270
  MIT
@@ -1,21 +1,83 @@
1
1
  /**
2
2
  * EDM Artifact Assembler v0.6.0
3
3
  * Combines LLM-extracted fields with metadata to create complete artifacts
4
- * Supports profile-aware extraction (core/extended/full)
4
+ * Enforces exact field-level profile filtering per EDM v0.6.0 spec
5
5
  */
6
6
  import Anthropic from "@anthropic-ai/sdk";
7
7
  import type { EdmArtifact, ExtractionOptions, LlmExtractedFields, EdmProfile } from "./schema/types.js";
8
+ /**
9
+ * Essential Profile: 5 domains, 24 fields
10
+ * Target: memory platforms, agent frameworks, AI assistants
11
+ */
12
+ export declare const ESSENTIAL_PROFILE_FIELDS: {
13
+ readonly meta: readonly ["id", "version", "profile", "created_at", "owner_user_id", "consent_basis", "visibility", "pii_tier"];
14
+ readonly core: readonly ["anchor", "spark", "wound", "fuel", "bridge", "echo"];
15
+ readonly constellation: readonly ["emotion_primary", "emotion_subtone", "narrative_arc"];
16
+ readonly governance: readonly ["jurisdiction", "retention_policy", "subject_rights"];
17
+ readonly telemetry: readonly ["entry_confidence", "extraction_model"];
18
+ };
19
+ /**
20
+ * Extended Profile: 8 domains, ~50 fields
21
+ * Target: journaling apps, companion AI, workplace wellness
22
+ */
23
+ /**
24
+ * Extended Profile: 7 domains, 50 fields
25
+ * Target: journaling apps, companion AI, workplace wellness
26
+ * Impulse domain is NOT included in Extended profile
27
+ */
28
+ export declare const EXTENDED_PROFILE_FIELDS: {
29
+ readonly meta: readonly ["id", "version", "profile", "created_at", "owner_user_id", "consent_basis", "visibility", "pii_tier"];
30
+ readonly core: readonly ["anchor", "spark", "wound", "fuel", "bridge", "echo", "narrative"];
31
+ readonly constellation: readonly ["emotion_primary", "emotion_subtone", "higher_order_emotion", "meta_emotional_state", "interpersonal_affect", "narrative_arc", "relational_dynamics", "temporal_context", "memory_type", "media_format", "narrative_archetype", "symbolic_anchor", "relational_perspective", "temporal_rhythm", "identity_thread", "expressed_insight", "transformational_pivot", "somatic_signature"];
32
+ readonly milky_way: readonly ["event_type", "location_context", "associated_people", "visibility_context", "tone_shift"];
33
+ readonly gravity: readonly ["emotional_weight", "valence", "tether_type", "recurrence_pattern", "strength_score"];
34
+ readonly governance: readonly ["jurisdiction", "retention_policy", "subject_rights"];
35
+ readonly telemetry: readonly ["entry_confidence", "extraction_model"];
36
+ };
37
+ /**
38
+ * Full Profile: all 10 domains, all fields
39
+ * Target: therapy platforms, clinical tools, regulated systems
40
+ */
41
+ export declare const FULL_PROFILE_FIELDS: {
42
+ readonly meta: readonly ["id", "version", "profile", "created_at", "updated_at", "locale", "owner_user_id", "parent_id", "visibility", "pii_tier", "source_type", "source_context", "consent_basis", "consent_scope", "consent_revoked_at", "tags"];
43
+ readonly core: readonly ["anchor", "spark", "wound", "fuel", "bridge", "echo", "narrative"];
44
+ readonly constellation: readonly ["emotion_primary", "emotion_subtone", "higher_order_emotion", "meta_emotional_state", "interpersonal_affect", "narrative_arc", "relational_dynamics", "temporal_context", "memory_type", "media_format", "narrative_archetype", "symbolic_anchor", "relational_perspective", "temporal_rhythm", "identity_thread", "expressed_insight", "transformational_pivot", "somatic_signature"];
45
+ readonly milky_way: readonly ["event_type", "location_context", "associated_people", "visibility_context", "tone_shift"];
46
+ readonly gravity: readonly ["emotional_weight", "emotional_density", "valence", "viscosity", "gravity_type", "tether_type", "recall_triggers", "retrieval_keys", "nearby_themes", "recurrence_pattern", "strength_score", "temporal_decay", "resilience_markers", "adaptation_trajectory"];
47
+ readonly impulse: readonly ["primary_energy", "drive_state", "motivational_orientation", "temporal_focus", "directionality", "social_visibility", "urgency", "risk_posture", "agency_level", "regulation_state", "attachment_style", "coping_style"];
48
+ readonly governance: readonly ["jurisdiction", "retention_policy", "subject_rights", "exportability", "k_anonymity", "policy_labels", "masking_rules"];
49
+ readonly telemetry: readonly ["entry_confidence", "extraction_model", "extraction_provider", "extraction_notes"];
50
+ readonly system: readonly ["embeddings", "indices"];
51
+ readonly crosswalks: readonly ["plutchik_primary", "geneva_emotion_wheel", "DSM5_specifiers", "ISO_27557_labels"];
52
+ };
53
+ /**
54
+ * Get profile field definitions
55
+ */
56
+ export declare function getProfileFields(profile: EdmProfile): Record<string, readonly string[]>;
57
+ /**
58
+ * Get domains included in a profile
59
+ */
60
+ export declare function getProfileDomains(profile: EdmProfile): string[];
61
+ /**
62
+ * Filter artifact to include only fields defined for the declared profile
63
+ * Per EDM v0.6.0 Profile Invariants: out-of-profile fields MUST be omitted entirely
64
+ */
65
+ export declare function filterByProfile(artifact: Record<string, unknown>, profile: EdmProfile): Record<string, unknown>;
66
+ /**
67
+ * Profile-specific extracted fields (union type)
68
+ */
69
+ type ProfileExtractedFields = Record<string, unknown>;
8
70
  /**
9
71
  * Extract a complete EDM artifact from content
10
72
  *
11
73
  * @param options - Extraction options including profile
12
- * @returns Complete EDM artifact
74
+ * @returns Profile-conformant EDM artifact
13
75
  */
14
- export declare function extractFromContent(options: ExtractionOptions): Promise<EdmArtifact>;
76
+ export declare function extractFromContent(options: ExtractionOptions): Promise<Record<string, unknown>>;
15
77
  /**
16
78
  * Extract from content with a provided Anthropic client
17
79
  */
18
- export declare function extractFromContentWithClient(client: Anthropic, options: ExtractionOptions): Promise<EdmArtifact>;
80
+ export declare function extractFromContentWithClient(client: Anthropic, options: ExtractionOptions): Promise<Record<string, unknown>>;
19
81
  interface AssemblyContext {
20
82
  confidence: number;
21
83
  model: string;
@@ -25,8 +87,15 @@ interface AssemblyContext {
25
87
  hasText: boolean;
26
88
  hasImage: boolean;
27
89
  }
90
+ /**
91
+ * Assemble a profile-specific EDM artifact from extracted fields and metadata
92
+ * Returns only the domains defined for the declared profile
93
+ */
94
+ export declare function assembleProfileArtifact(extracted: ProfileExtractedFields, metadata: ExtractionOptions["metadata"], context: AssemblyContext): Record<string, unknown>;
28
95
  /**
29
96
  * Assemble a complete EDM artifact from extracted fields and metadata
97
+ * Note: Returns full artifact structure; use filterByProfile to strip out-of-profile fields
98
+ * @deprecated Use assembleProfileArtifact for profile-aware assembly
30
99
  */
31
100
  export declare function assembleArtifact(extracted: LlmExtractedFields, metadata: ExtractionOptions["metadata"], context: AssemblyContext): EdmArtifact;
32
101
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../src/assembler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAaxG;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAyBzF;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACvC,OAAO,EAAE,eAAe,GACvB,WAAW,CAeb;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CA+HjD"}
1
+ {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../src/assembler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiBxG;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;CAM3B,CAAC;AAEX;;;GAGG;AACH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;CAc1B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;CAsCtB,CAAC;AAEX;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CASvF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAE/D;AA8DD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBzB;AAMD;;GAEG;AACH,KAAK,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+BrG;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsBlC;AAED,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,sBAAsB,EACjC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACvC,OAAO,EAAE,eAAe,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqCzB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACvC,OAAO,EAAE,eAAe,GACvB,WAAW,CAeb;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAsHjD"}
package/dist/assembler.js CHANGED
@@ -2,11 +2,179 @@ import { extractWithLlm, createAnthropicClient } from "./extractors/llm-extracto
2
2
  import { extractWithOpenAI, createOpenAIClient } from "./extractors/openai-extractor.js";
3
3
  import { extractWithKimi, createKimiClient, getKimiModelId } from "./extractors/kimi-extractor.js";
4
4
  import { createMeta, createGovernance, createTelemetry, createSystem, createCrosswalks, detectSourceType, } from "./extractors/domain-extractors.js";
5
+ // =============================================================================
6
+ // Profile Field Definitions (EDM v0.6.0 Spec)
7
+ // =============================================================================
8
+ /**
9
+ * Essential Profile: 5 domains, 24 fields
10
+ * Target: memory platforms, agent frameworks, AI assistants
11
+ */
12
+ export const ESSENTIAL_PROFILE_FIELDS = {
13
+ meta: ["id", "version", "profile", "created_at", "owner_user_id", "consent_basis", "visibility", "pii_tier"],
14
+ core: ["anchor", "spark", "wound", "fuel", "bridge", "echo"],
15
+ constellation: ["emotion_primary", "emotion_subtone", "narrative_arc"],
16
+ governance: ["jurisdiction", "retention_policy", "subject_rights"],
17
+ telemetry: ["entry_confidence", "extraction_model"],
18
+ };
19
+ /**
20
+ * Extended Profile: 8 domains, ~50 fields
21
+ * Target: journaling apps, companion AI, workplace wellness
22
+ */
23
+ /**
24
+ * Extended Profile: 7 domains, 50 fields
25
+ * Target: journaling apps, companion AI, workplace wellness
26
+ * Impulse domain is NOT included in Extended profile
27
+ */
28
+ export const EXTENDED_PROFILE_FIELDS = {
29
+ meta: ["id", "version", "profile", "created_at", "owner_user_id", "consent_basis", "visibility", "pii_tier"],
30
+ core: ["anchor", "spark", "wound", "fuel", "bridge", "echo", "narrative"],
31
+ constellation: [
32
+ "emotion_primary", "emotion_subtone", "higher_order_emotion", "meta_emotional_state",
33
+ "interpersonal_affect", "narrative_arc", "relational_dynamics", "temporal_context",
34
+ "memory_type", "media_format", "narrative_archetype", "symbolic_anchor",
35
+ "relational_perspective", "temporal_rhythm", "identity_thread", "expressed_insight",
36
+ "transformational_pivot", "somatic_signature"
37
+ ],
38
+ milky_way: ["event_type", "location_context", "associated_people", "visibility_context", "tone_shift"],
39
+ gravity: ["emotional_weight", "valence", "tether_type", "recurrence_pattern", "strength_score"],
40
+ governance: ["jurisdiction", "retention_policy", "subject_rights"],
41
+ telemetry: ["entry_confidence", "extraction_model"],
42
+ };
43
+ /**
44
+ * Full Profile: all 10 domains, all fields
45
+ * Target: therapy platforms, clinical tools, regulated systems
46
+ */
47
+ export const FULL_PROFILE_FIELDS = {
48
+ meta: [
49
+ "id", "version", "profile", "created_at", "updated_at", "locale",
50
+ "owner_user_id", "parent_id", "visibility", "pii_tier", "source_type",
51
+ "source_context", "consent_basis", "consent_scope", "consent_revoked_at", "tags"
52
+ ],
53
+ core: ["anchor", "spark", "wound", "fuel", "bridge", "echo", "narrative"],
54
+ constellation: [
55
+ "emotion_primary", "emotion_subtone", "higher_order_emotion", "meta_emotional_state",
56
+ "interpersonal_affect", "narrative_arc", "relational_dynamics", "temporal_context",
57
+ "memory_type", "media_format", "narrative_archetype", "symbolic_anchor",
58
+ "relational_perspective", "temporal_rhythm", "identity_thread", "expressed_insight",
59
+ "transformational_pivot", "somatic_signature"
60
+ ],
61
+ milky_way: ["event_type", "location_context", "associated_people", "visibility_context", "tone_shift"],
62
+ gravity: [
63
+ "emotional_weight", "emotional_density", "valence", "viscosity", "gravity_type",
64
+ "tether_type", "recall_triggers", "retrieval_keys", "nearby_themes",
65
+ "recurrence_pattern", "strength_score", "temporal_decay", "resilience_markers", "adaptation_trajectory"
66
+ ],
67
+ impulse: [
68
+ "primary_energy", "drive_state", "motivational_orientation", "temporal_focus",
69
+ "directionality", "social_visibility", "urgency", "risk_posture",
70
+ "agency_level", "regulation_state", "attachment_style", "coping_style"
71
+ ],
72
+ governance: [
73
+ "jurisdiction", "retention_policy", "subject_rights", "exportability",
74
+ "k_anonymity", "policy_labels", "masking_rules"
75
+ ],
76
+ telemetry: [
77
+ "entry_confidence", "extraction_model", "extraction_provider",
78
+ "extraction_notes"
79
+ ],
80
+ system: ["embeddings", "indices"],
81
+ crosswalks: [
82
+ "plutchik_primary", "geneva_emotion_wheel", "DSM5_specifiers",
83
+ "ISO_27557_labels"
84
+ ],
85
+ };
86
+ /**
87
+ * Get profile field definitions
88
+ */
89
+ export function getProfileFields(profile) {
90
+ switch (profile) {
91
+ case "essential":
92
+ return ESSENTIAL_PROFILE_FIELDS;
93
+ case "extended":
94
+ return EXTENDED_PROFILE_FIELDS;
95
+ case "full":
96
+ return FULL_PROFILE_FIELDS;
97
+ }
98
+ }
99
+ /**
100
+ * Get domains included in a profile
101
+ */
102
+ export function getProfileDomains(profile) {
103
+ return Object.keys(getProfileFields(profile));
104
+ }
105
+ // =============================================================================
106
+ // Profile Filtering
107
+ // =============================================================================
108
+ /**
109
+ * Filter an object to include only specified fields
110
+ */
111
+ function filterObjectFields(obj, allowedFields) {
112
+ const filtered = {};
113
+ for (const field of allowedFields) {
114
+ if (field in obj) {
115
+ filtered[field] = obj[field];
116
+ }
117
+ }
118
+ return filtered;
119
+ }
120
+ /**
121
+ * Filter nested governance fields for Essential/Extended profiles
122
+ */
123
+ function filterGovernanceFields(governance, allowedFields) {
124
+ const filtered = {};
125
+ for (const field of allowedFields) {
126
+ if (field in governance) {
127
+ const value = governance[field];
128
+ // For retention_policy, filter to basis, ttl_days, on_expiry only
129
+ if (field === "retention_policy" && value && typeof value === "object") {
130
+ const rp = value;
131
+ filtered[field] = {
132
+ basis: rp.basis,
133
+ ttl_days: rp.ttl_days,
134
+ on_expiry: rp.on_expiry,
135
+ };
136
+ }
137
+ // For subject_rights, filter to portable, erasable, explainable only
138
+ else if (field === "subject_rights" && value && typeof value === "object") {
139
+ const sr = value;
140
+ filtered[field] = {
141
+ portable: sr.portable,
142
+ erasable: sr.erasable,
143
+ explainable: sr.explainable,
144
+ };
145
+ }
146
+ else {
147
+ filtered[field] = value;
148
+ }
149
+ }
150
+ }
151
+ return filtered;
152
+ }
153
+ /**
154
+ * Filter artifact to include only fields defined for the declared profile
155
+ * Per EDM v0.6.0 Profile Invariants: out-of-profile fields MUST be omitted entirely
156
+ */
157
+ export function filterByProfile(artifact, profile) {
158
+ const profileFields = getProfileFields(profile);
159
+ const filtered = {};
160
+ for (const [domain, fields] of Object.entries(profileFields)) {
161
+ const domainData = artifact[domain];
162
+ if (domainData && typeof domainData === "object") {
163
+ if (domain === "governance") {
164
+ filtered[domain] = filterGovernanceFields(domainData, fields);
165
+ }
166
+ else {
167
+ filtered[domain] = filterObjectFields(domainData, fields);
168
+ }
169
+ }
170
+ }
171
+ return filtered;
172
+ }
5
173
  /**
6
174
  * Extract a complete EDM artifact from content
7
175
  *
8
176
  * @param options - Extraction options including profile
9
- * @returns Complete EDM artifact
177
+ * @returns Profile-conformant EDM artifact
10
178
  */
11
179
  export async function extractFromContent(options) {
12
180
  const { content, metadata, model, provider = "kimi", temperature, profile = "full" } = options;
@@ -23,8 +191,8 @@ export async function extractFromContent(options) {
23
191
  const client = createAnthropicClient();
24
192
  llmResult = await extractWithLlm(client, content, model, profile);
25
193
  }
26
- // Assemble complete artifact with profile
27
- return assembleArtifact(llmResult.extracted, metadata, {
194
+ // Assemble profile-specific artifact
195
+ const artifact = assembleProfileArtifact(llmResult.extracted, metadata, {
28
196
  confidence: llmResult.confidence,
29
197
  model: llmResult.model,
30
198
  profile: llmResult.profile,
@@ -33,6 +201,7 @@ export async function extractFromContent(options) {
33
201
  hasText: !!content.text,
34
202
  hasImage: !!content.image,
35
203
  });
204
+ return artifact;
36
205
  }
37
206
  /**
38
207
  * Extract from content with a provided Anthropic client
@@ -41,8 +210,8 @@ export async function extractFromContentWithClient(client, options) {
41
210
  const { content, metadata, model, profile = "full" } = options;
42
211
  // Extract with LLM
43
212
  const llmResult = await extractWithLlm(client, content, model, profile);
44
- // Assemble complete artifact (always Anthropic when using provided client)
45
- return assembleArtifact(llmResult.extracted, metadata, {
213
+ // Assemble profile-specific artifact
214
+ const artifact = assembleProfileArtifact(llmResult.extracted, metadata, {
46
215
  confidence: llmResult.confidence,
47
216
  model: llmResult.model,
48
217
  profile: llmResult.profile,
@@ -51,9 +220,49 @@ export async function extractFromContentWithClient(client, options) {
51
220
  hasText: !!content.text,
52
221
  hasImage: !!content.image,
53
222
  });
223
+ return artifact;
224
+ }
225
+ /**
226
+ * Assemble a profile-specific EDM artifact from extracted fields and metadata
227
+ * Returns only the domains defined for the declared profile
228
+ */
229
+ export function assembleProfileArtifact(extracted, metadata, context) {
230
+ const sourceType = detectSourceType(context.hasText, context.hasImage);
231
+ const profile = context.profile;
232
+ const profileFields = getProfileFields(profile);
233
+ // Create metadata domains
234
+ const meta = createMeta(metadata, sourceType, profile);
235
+ const governance = createGovernance(metadata);
236
+ const telemetry = createTelemetry(context.confidence, context.model, context.notes, context.provider);
237
+ // Build artifact with only profile-specific domains
238
+ const artifact = {
239
+ meta: filterObjectFields(meta, profileFields.meta ?? []),
240
+ core: extracted.core,
241
+ constellation: extracted.constellation,
242
+ governance: filterGovernanceFields(governance, profileFields.governance ?? []),
243
+ telemetry: filterObjectFields(telemetry, profileFields.telemetry ?? []),
244
+ };
245
+ // Add extended/full domains if present in extracted data
246
+ if (extracted.milky_way) {
247
+ artifact.milky_way = extracted.milky_way;
248
+ }
249
+ if (extracted.gravity) {
250
+ artifact.gravity = extracted.gravity;
251
+ }
252
+ if (extracted.impulse) {
253
+ artifact.impulse = extracted.impulse;
254
+ }
255
+ // Add full-only domains
256
+ if (profile === "full") {
257
+ artifact.system = createSystem();
258
+ artifact.crosswalks = createCrosswalks(extracted);
259
+ }
260
+ return artifact;
54
261
  }
55
262
  /**
56
263
  * Assemble a complete EDM artifact from extracted fields and metadata
264
+ * Note: Returns full artifact structure; use filterByProfile to strip out-of-profile fields
265
+ * @deprecated Use assembleProfileArtifact for profile-aware assembly
57
266
  */
58
267
  export function assembleArtifact(extracted, metadata, context) {
59
268
  const sourceType = detectSourceType(context.hasText, context.hasImage);
@@ -77,7 +286,8 @@ export function createEmptyArtifact() {
77
286
  return {
78
287
  meta: {
79
288
  id: null,
80
- version: "0.5.0",
289
+ version: "0.7.0",
290
+ profile: "full",
81
291
  created_at: new Date().toISOString(),
82
292
  updated_at: null,
83
293
  locale: null,
@@ -138,7 +348,6 @@ export function createEmptyArtifact() {
138
348
  recall_triggers: [],
139
349
  retrieval_keys: [],
140
350
  nearby_themes: [],
141
- legacy_embed: false,
142
351
  recurrence_pattern: null,
143
352
  strength_score: 0,
144
353
  temporal_decay: null,
@@ -177,26 +386,17 @@ export function createEmptyArtifact() {
177
386
  extraction_model: null,
178
387
  extraction_provider: null,
179
388
  extraction_notes: null,
180
- alignment_delta: null,
181
389
  },
182
390
  system: {
183
391
  embeddings: [],
184
392
  indices: {
185
393
  waypoint_ids: [],
186
- sector_weights: {
187
- episodic: 0,
188
- semantic: 0,
189
- procedural: 0,
190
- emotional: 0,
191
- reflective: 0,
192
- },
193
394
  },
194
395
  },
195
396
  crosswalks: {
196
397
  plutchik_primary: null,
197
398
  geneva_emotion_wheel: null,
198
399
  DSM5_specifiers: null,
199
- HMD_v2_memory_type: null,
200
400
  ISO_27557_labels: null,
201
401
  },
202
402
  };
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../src/assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../src/assembler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"domain-extractors.d.ts","sourceRoot":"","sources":["../../src/extractors/domain-extractors.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,SAAS,EACT,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAK5B,wBAAgB,UAAU,CACxB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAC/B,OAAO,GAAE,UAAmB,GAC3B,IAAI,CAmBN;AAKD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,UAAU,CAoBzE;AAuDD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAChD,SAAS,CAQX;AAKD,wBAAgB,YAAY,IAAI,MAAM,CAgBrC;AAKD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,UAAU,CAmC1E;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAQzF"}
1
+ {"version":3,"file":"domain-extractors.d.ts","sourceRoot":"","sources":["../../src/extractors/domain-extractors.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,SAAS,EACT,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAK5B,wBAAgB,UAAU,CACxB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAC/B,OAAO,GAAE,UAAmB,GAC3B,IAAI,CAmBN;AAKD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,UAAU,CAoBzE;AAuDD,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAChD,SAAS,CAOX;AAKD,wBAAgB,YAAY,IAAI,MAAM,CASrC;AAKD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,UAAU,CAsB1E;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAQzF"}
@@ -10,7 +10,7 @@ import { randomUUID } from "crypto";
10
10
  export function createMeta(metadata, sourceType, profile = "full") {
11
11
  return {
12
12
  id: randomUUID(),
13
- version: "0.6.0-alpha",
13
+ version: "0.7.0",
14
14
  profile,
15
15
  created_at: new Date().toISOString(),
16
16
  updated_at: null,
@@ -100,7 +100,6 @@ export function createTelemetry(confidence, model, notes, provider) {
100
100
  extraction_model: model,
101
101
  extraction_provider: provider ?? null,
102
102
  extraction_notes: notes,
103
- alignment_delta: null, // Populated by downstream systems
104
103
  };
105
104
  }
106
105
  // =============================================================================
@@ -113,13 +112,6 @@ export function createSystem() {
113
112
  embeddings: [],
114
113
  indices: {
115
114
  waypoint_ids: [],
116
- sector_weights: {
117
- episodic: 0,
118
- semantic: 0,
119
- procedural: 0,
120
- emotional: 0,
121
- reflective: 0,
122
- },
123
115
  },
124
116
  };
125
117
  }
@@ -140,21 +132,10 @@ export function createCrosswalks(extracted) {
140
132
  };
141
133
  const emotionPrimary = extracted.constellation.emotion_primary;
142
134
  const plutchikPrimary = emotionPrimary ? (plutchikMapping[emotionPrimary] ?? null) : null;
143
- // Map memory_type to HMD_v2
144
- const hmdMapping = {
145
- legacy_artifact: "autobiographical",
146
- fleeting_moment: "episodic",
147
- milestone: "flashbulb",
148
- reflection: "semantic",
149
- formative_experience: "autobiographical",
150
- };
151
- const memoryType = extracted.constellation.memory_type;
152
- const hmdType = memoryType ? (hmdMapping[memoryType] ?? null) : null;
153
135
  return {
154
136
  plutchik_primary: plutchikPrimary,
155
137
  geneva_emotion_wheel: null, // Requires more complex mapping
156
138
  DSM5_specifiers: null, // Should not be auto-populated
157
- HMD_v2_memory_type: hmdType,
158
139
  ISO_27557_labels: null, // Future standard
159
140
  };
160
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"domain-extractors.js","sourceRoot":"","sources":["../../src/extractors/domain-extractors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain-extractors.js","sourceRoot":"","sources":["../../src/extractors/domain-extractors.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Kimi K2 Extractor for EDM v0.6.0
3
3
  * Uses MoonshotAI's Kimi K2 model via OpenAI-compatible API
4
- * Supports profile-aware extraction (core/extended/full)
4
+ * Supports profile-aware extraction (essential/extended/full)
5
5
  */
6
6
  import OpenAI from "openai";
7
7
  import type { ExtractionInput, EdmProfile } from "../schema/types.js";