openclaw-cortex-memory 0.1.0-Alpha.1 → 0.1.0-Alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +119 -27
  2. package/SKILL.md +112 -30
  3. package/dist/index.d.ts +47 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +356 -19
  6. package/dist/index.js.map +1 -1
  7. package/dist/openclaw.plugin.json +157 -5
  8. package/dist/src/dedup/three_stage_deduplicator.d.ts +25 -0
  9. package/dist/src/dedup/three_stage_deduplicator.d.ts.map +1 -0
  10. package/dist/src/dedup/three_stage_deduplicator.js +225 -0
  11. package/dist/src/dedup/three_stage_deduplicator.js.map +1 -0
  12. package/dist/src/engine/memory_engine.d.ts +2 -1
  13. package/dist/src/engine/memory_engine.d.ts.map +1 -1
  14. package/dist/src/engine/ts_engine.d.ts +95 -0
  15. package/dist/src/engine/ts_engine.d.ts.map +1 -1
  16. package/dist/src/engine/ts_engine.js +849 -33
  17. package/dist/src/engine/ts_engine.js.map +1 -1
  18. package/dist/src/engine/types.d.ts +11 -0
  19. package/dist/src/engine/types.d.ts.map +1 -1
  20. package/dist/src/graph/ontology.d.ts +53 -0
  21. package/dist/src/graph/ontology.d.ts.map +1 -0
  22. package/dist/src/graph/ontology.js +252 -0
  23. package/dist/src/graph/ontology.js.map +1 -0
  24. package/dist/src/reflect/reflector.d.ts +7 -0
  25. package/dist/src/reflect/reflector.d.ts.map +1 -1
  26. package/dist/src/reflect/reflector.js +75 -1
  27. package/dist/src/reflect/reflector.js.map +1 -1
  28. package/dist/src/session/session_end.d.ts +55 -0
  29. package/dist/src/session/session_end.d.ts.map +1 -1
  30. package/dist/src/session/session_end.js +255 -55
  31. package/dist/src/session/session_end.js.map +1 -1
  32. package/dist/src/store/archive_store.d.ts +115 -0
  33. package/dist/src/store/archive_store.d.ts.map +1 -0
  34. package/dist/src/store/archive_store.js +446 -0
  35. package/dist/src/store/archive_store.js.map +1 -0
  36. package/dist/src/store/embedding_utils.d.ts +32 -0
  37. package/dist/src/store/embedding_utils.d.ts.map +1 -0
  38. package/dist/src/store/embedding_utils.js +173 -0
  39. package/dist/src/store/embedding_utils.js.map +1 -0
  40. package/dist/src/store/read_store.d.ts +59 -0
  41. package/dist/src/store/read_store.d.ts.map +1 -1
  42. package/dist/src/store/read_store.js +1114 -17
  43. package/dist/src/store/read_store.js.map +1 -1
  44. package/dist/src/store/vector_store.d.ts +43 -0
  45. package/dist/src/store/vector_store.d.ts.map +1 -0
  46. package/dist/src/store/vector_store.js +186 -0
  47. package/dist/src/store/vector_store.js.map +1 -0
  48. package/dist/src/store/write_store.d.ts +45 -0
  49. package/dist/src/store/write_store.d.ts.map +1 -1
  50. package/dist/src/store/write_store.js +230 -0
  51. package/dist/src/store/write_store.js.map +1 -1
  52. package/dist/src/sync/session_sync.d.ts +51 -2
  53. package/dist/src/sync/session_sync.d.ts.map +1 -1
  54. package/dist/src/sync/session_sync.js +465 -22
  55. package/dist/src/sync/session_sync.js.map +1 -1
  56. package/dist/src/utils/runtime_env.d.ts +4 -0
  57. package/dist/src/utils/runtime_env.d.ts.map +1 -0
  58. package/dist/src/utils/runtime_env.js +51 -0
  59. package/dist/src/utils/runtime_env.js.map +1 -0
  60. package/openclaw.plugin.json +157 -5
  61. package/package.json +21 -6
  62. package/scripts/cli.js +19 -14
  63. package/scripts/uninstall.js +22 -5
  64. package/index.ts +0 -2071
  65. package/scripts/install.js +0 -27
@@ -1 +1 @@
1
- {"version":3,"file":"ts_engine.js","sourceRoot":"","sources":["../../../src/engine/ts_engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts_engine.js","sourceRoot":"","sources":["../../../src/engine/ts_engine.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,10 @@ export interface StoreEventArgs {
30
30
  }
31
31
  export interface QueryGraphArgs {
32
32
  entity: string;
33
+ rel?: string;
34
+ dir?: "incoming" | "outgoing" | "both";
35
+ path_to?: string;
36
+ max_depth?: number;
33
37
  }
34
38
  export interface GetHotContextArgs {
35
39
  limit?: number;
@@ -50,4 +54,11 @@ export interface CleanupMemoriesArgs {
50
54
  days_old?: number;
51
55
  memory_type?: string;
52
56
  }
57
+ export interface BackfillEmbeddingsArgs {
58
+ layer?: "active" | "archive" | "all";
59
+ batch_size?: number;
60
+ max_retries?: number;
61
+ retry_failed_only?: boolean;
62
+ rebuild_mode?: "incremental" | "vector_only" | "full";
63
+ }
53
64
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engine/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC;AAE9B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engine/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC;AAE9B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,MAAM,CAAC;CACvD"}
@@ -0,0 +1,53 @@
1
+ export interface RelationRule {
2
+ type: string;
3
+ fromTypes: string[];
4
+ toTypes: string[];
5
+ allowSelfLoop: boolean;
6
+ }
7
+ export interface GraphSchemaConfig {
8
+ eventTypes: string[];
9
+ eventTypeAliases: Record<string, string>;
10
+ relationTypes: string[];
11
+ relationTypeAliases: Record<string, string>;
12
+ relationRules: RelationRule[];
13
+ defaultEntityType: string;
14
+ }
15
+ export declare function loadGraphSchema(projectRoot: string): GraphSchemaConfig;
16
+ export declare function normalizeEventType(raw: string, schema: GraphSchemaConfig): string;
17
+ export declare function normalizeRelationType(raw: string, schema: GraphSchemaConfig): string;
18
+ export declare function buildCanonicalId(args: {
19
+ eventType: string;
20
+ summary: string;
21
+ entities?: string[];
22
+ relations?: Array<{
23
+ source: string;
24
+ target: string;
25
+ type: string;
26
+ }>;
27
+ outcome?: string;
28
+ }): string;
29
+ export declare function validateRelations(args: {
30
+ relations: Array<{
31
+ source: string;
32
+ target: string;
33
+ type: string;
34
+ }>;
35
+ entities: string[];
36
+ entityTypes?: Record<string, string>;
37
+ schema: GraphSchemaConfig;
38
+ }): {
39
+ accepted: Array<{
40
+ source: string;
41
+ target: string;
42
+ type: string;
43
+ }>;
44
+ rejected: Array<{
45
+ reason: string;
46
+ relation: {
47
+ source: string;
48
+ target: string;
49
+ type: string;
50
+ };
51
+ }>;
52
+ };
53
+ //# sourceMappingURL=ontology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../../../src/graph/ontology.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAqGD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAwBtE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAYjF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAYpF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAaT;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG;IACF,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CACjG,CA8CA"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.loadGraphSchema = loadGraphSchema;
37
+ exports.normalizeEventType = normalizeEventType;
38
+ exports.normalizeRelationType = normalizeRelationType;
39
+ exports.buildCanonicalId = buildCanonicalId;
40
+ exports.validateRelations = validateRelations;
41
+ const crypto = __importStar(require("crypto"));
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ const DEFAULT_SCHEMA = {
45
+ eventTypes: [
46
+ "decision",
47
+ "issue",
48
+ "fix",
49
+ "preference",
50
+ "plan",
51
+ "risk",
52
+ "insight",
53
+ "action_item",
54
+ "conversation_summary",
55
+ "constraint",
56
+ "requirement",
57
+ "milestone",
58
+ "blocker",
59
+ "dependency",
60
+ "assumption",
61
+ "retrospective",
62
+ "follow_up",
63
+ ],
64
+ eventTypeAliases: {
65
+ problem: "issue",
66
+ error: "issue",
67
+ bug: "issue",
68
+ solution: "fix",
69
+ workaround: "fix",
70
+ todo: "action_item",
71
+ next_step: "action_item",
72
+ limitation: "constraint",
73
+ guardrail: "constraint",
74
+ spec: "requirement",
75
+ acceptance_criteria: "requirement",
76
+ deadline: "milestone",
77
+ target: "milestone",
78
+ roadblock: "blocker",
79
+ stuck: "blocker",
80
+ depends_on: "dependency",
81
+ upstream: "dependency",
82
+ hypothesis: "assumption",
83
+ lesson: "retrospective",
84
+ postmortem: "retrospective",
85
+ followup: "follow_up",
86
+ next_action: "follow_up",
87
+ },
88
+ relationTypes: [
89
+ "depends_on",
90
+ "blocks",
91
+ "related_to",
92
+ "causes",
93
+ "resolves",
94
+ "belongs_to",
95
+ "owned_by",
96
+ "references",
97
+ "prefers",
98
+ "implements",
99
+ "requires",
100
+ ],
101
+ relationTypeAliases: {
102
+ dependency: "depends_on",
103
+ blocked_by: "blocks",
104
+ linked_to: "related_to",
105
+ belongs: "belongs_to",
106
+ owner_of: "owned_by",
107
+ refer_to: "references",
108
+ preference_for: "prefers",
109
+ implement: "implements",
110
+ need: "requires",
111
+ },
112
+ relationRules: [
113
+ { type: "depends_on", fromTypes: ["Task", "Plan", "Milestone"], toTypes: ["Task", "Plan", "Milestone"], allowSelfLoop: false },
114
+ { type: "blocks", fromTypes: ["Issue", "Task", "Risk"], toTypes: ["Task", "Plan"], allowSelfLoop: false },
115
+ { type: "causes", fromTypes: ["Issue", "Risk", "Assumption"], toTypes: ["Issue", "Risk"], allowSelfLoop: false },
116
+ { type: "resolves", fromTypes: ["Fix", "Decision", "Action"], toTypes: ["Issue", "Blocker"], allowSelfLoop: false },
117
+ { type: "belongs_to", fromTypes: ["Task", "Issue", "Fix", "Decision"], toTypes: ["Project", "Plan", "Milestone"], allowSelfLoop: false },
118
+ { type: "owned_by", fromTypes: ["Task", "Plan", "Project", "Issue"], toTypes: ["Person", "Team"], allowSelfLoop: false },
119
+ ],
120
+ defaultEntityType: "Concept",
121
+ };
122
+ function toLowerMap(input) {
123
+ const output = {};
124
+ for (const [key, value] of Object.entries(input)) {
125
+ output[key.trim().toLowerCase()] = value.trim();
126
+ }
127
+ return output;
128
+ }
129
+ function toKeyedRules(input) {
130
+ const map = new Map();
131
+ for (const item of input) {
132
+ map.set(item.type.trim().toLowerCase(), item);
133
+ }
134
+ return map;
135
+ }
136
+ function schemaFilePath(projectRoot) {
137
+ return path.join(projectRoot, "schema", "graph.schema.yaml");
138
+ }
139
+ function loadGraphSchema(projectRoot) {
140
+ const filePath = schemaFilePath(projectRoot);
141
+ if (!fs.existsSync(filePath)) {
142
+ return DEFAULT_SCHEMA;
143
+ }
144
+ try {
145
+ const raw = fs.readFileSync(filePath, "utf-8").trim();
146
+ if (!raw) {
147
+ return DEFAULT_SCHEMA;
148
+ }
149
+ const parsed = JSON.parse(raw);
150
+ return {
151
+ eventTypes: Array.isArray(parsed.eventTypes) && parsed.eventTypes.length > 0 ? parsed.eventTypes : DEFAULT_SCHEMA.eventTypes,
152
+ eventTypeAliases: parsed.eventTypeAliases && typeof parsed.eventTypeAliases === "object" ? parsed.eventTypeAliases : DEFAULT_SCHEMA.eventTypeAliases,
153
+ relationTypes: Array.isArray(parsed.relationTypes) && parsed.relationTypes.length > 0 ? parsed.relationTypes : DEFAULT_SCHEMA.relationTypes,
154
+ relationTypeAliases: parsed.relationTypeAliases && typeof parsed.relationTypeAliases === "object" ? parsed.relationTypeAliases : DEFAULT_SCHEMA.relationTypeAliases,
155
+ relationRules: Array.isArray(parsed.relationRules) && parsed.relationRules.length > 0 ? parsed.relationRules : DEFAULT_SCHEMA.relationRules,
156
+ defaultEntityType: typeof parsed.defaultEntityType === "string" && parsed.defaultEntityType.trim()
157
+ ? parsed.defaultEntityType.trim()
158
+ : DEFAULT_SCHEMA.defaultEntityType,
159
+ };
160
+ }
161
+ catch {
162
+ return DEFAULT_SCHEMA;
163
+ }
164
+ }
165
+ function normalizeEventType(raw, schema) {
166
+ const value = raw.trim().toLowerCase();
167
+ const aliases = toLowerMap(schema.eventTypeAliases);
168
+ const eventTypes = new Set(schema.eventTypes.map(item => item.toLowerCase()));
169
+ if (eventTypes.has(value)) {
170
+ return value;
171
+ }
172
+ const mapped = aliases[value];
173
+ if (mapped) {
174
+ return mapped;
175
+ }
176
+ return "insight";
177
+ }
178
+ function normalizeRelationType(raw, schema) {
179
+ const value = raw.trim().toLowerCase();
180
+ const relationTypes = new Set(schema.relationTypes.map(item => item.toLowerCase()));
181
+ const aliases = toLowerMap(schema.relationTypeAliases);
182
+ if (relationTypes.has(value)) {
183
+ return value;
184
+ }
185
+ const mapped = aliases[value];
186
+ if (mapped) {
187
+ return mapped;
188
+ }
189
+ return "related_to";
190
+ }
191
+ function buildCanonicalId(args) {
192
+ const entities = (args.entities || []).map(item => item.trim().toLowerCase()).filter(Boolean).sort();
193
+ const relations = (args.relations || [])
194
+ .map(item => `${item.source.trim().toLowerCase()}|${item.type.trim().toLowerCase()}|${item.target.trim().toLowerCase()}`)
195
+ .sort();
196
+ const payload = JSON.stringify({
197
+ eventType: args.eventType.trim().toLowerCase(),
198
+ summary: args.summary.trim().toLowerCase(),
199
+ entities,
200
+ relations,
201
+ outcome: (args.outcome || "").trim().toLowerCase(),
202
+ });
203
+ return `can_${crypto.createHash("sha1").update(payload).digest("hex").slice(0, 20)}`;
204
+ }
205
+ function validateRelations(args) {
206
+ const accepted = [];
207
+ const rejected = [];
208
+ const entitySet = new Set(args.entities.map(item => item.trim()).filter(Boolean));
209
+ const rules = toKeyedRules(args.schema.relationRules);
210
+ const typeMap = {};
211
+ for (const [name, type] of Object.entries(args.entityTypes || {})) {
212
+ if (typeof name === "string" && typeof type === "string" && name.trim() && type.trim()) {
213
+ typeMap[name.trim()] = type.trim();
214
+ }
215
+ }
216
+ for (const relation of args.relations) {
217
+ const source = relation.source.trim();
218
+ const target = relation.target.trim();
219
+ const type = normalizeRelationType(relation.type, args.schema);
220
+ const normalized = { source, target, type };
221
+ if (!source || !target) {
222
+ rejected.push({ reason: "empty_edge", relation: normalized });
223
+ continue;
224
+ }
225
+ if (!entitySet.has(source) || !entitySet.has(target)) {
226
+ rejected.push({ reason: "edge_entity_missing", relation: normalized });
227
+ continue;
228
+ }
229
+ const rule = rules.get(type);
230
+ if (source === target && !(rule?.allowSelfLoop ?? false)) {
231
+ rejected.push({ reason: "self_loop_blocked", relation: normalized });
232
+ continue;
233
+ }
234
+ if (rule) {
235
+ const fromType = (typeMap[source] || args.schema.defaultEntityType).toLowerCase();
236
+ const toType = (typeMap[target] || args.schema.defaultEntityType).toLowerCase();
237
+ const allowedFrom = new Set(rule.fromTypes.map(item => item.toLowerCase()));
238
+ const allowedTo = new Set(rule.toTypes.map(item => item.toLowerCase()));
239
+ if (allowedFrom.size > 0 && !allowedFrom.has(fromType)) {
240
+ rejected.push({ reason: "from_type_invalid", relation: normalized });
241
+ continue;
242
+ }
243
+ if (allowedTo.size > 0 && !allowedTo.has(toType)) {
244
+ rejected.push({ reason: "to_type_invalid", relation: normalized });
245
+ continue;
246
+ }
247
+ }
248
+ accepted.push(normalized);
249
+ }
250
+ return { accepted, rejected };
251
+ }
252
+ //# sourceMappingURL=ontology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../../src/graph/ontology.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,13 @@ interface ReflectorOptions {
16
16
  reason?: string;
17
17
  };
18
18
  };
19
+ llm?: {
20
+ provider: string;
21
+ model: string;
22
+ apiKey?: string;
23
+ baseURL?: string;
24
+ baseUrl?: string;
25
+ };
19
26
  }
20
27
  export declare function createReflector(options: ReflectorOptions): {
21
28
  reflectMemory(): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"reflector.d.ts","sourceRoot":"","sources":["../../../src/reflect/reflector.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAClB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrD;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE;QACT,OAAO,CAAC,IAAI,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/F,CAAC;CACH;AA2BD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG;IAC1D,aAAa,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,aAAa,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE,CA+DA"}
1
+ {"version":3,"file":"reflector.d.ts","sourceRoot":"","sources":["../../../src/reflect/reflector.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAClB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACrD;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE;QACT,OAAO,CAAC,IAAI,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,GAAG;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/F,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAyFD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG;IAC1D,aAAa,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,aAAa,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE,CAkFA"}
@@ -60,6 +60,60 @@ function textOf(record) {
60
60
  }
61
61
  return "";
62
62
  }
63
+ function normalizeBaseUrl(value) {
64
+ if (!value)
65
+ return "";
66
+ return value.endsWith("/") ? value.slice(0, -1) : value;
67
+ }
68
+ async function requestRuleFromLlm(args) {
69
+ const endpoint = args.baseUrl.endsWith("/chat/completions")
70
+ ? args.baseUrl
71
+ : `${args.baseUrl}/chat/completions`;
72
+ const prompt = `事件摘要: ${args.summary}\n结果: ${args.outcome}\n请生成一条可复用的工程规则,要求简洁、可执行、单句输出。`;
73
+ const body = {
74
+ model: args.model,
75
+ temperature: 0.2,
76
+ messages: [
77
+ { role: "system", content: "你是工程规则提炼器。输出只包含规则正文,不要编号,不要解释。" },
78
+ { role: "user", content: prompt },
79
+ ],
80
+ };
81
+ let lastError = null;
82
+ for (let attempt = 0; attempt < 3; attempt += 1) {
83
+ const controller = new AbortController();
84
+ const timeoutId = setTimeout(() => controller.abort(), 15000);
85
+ try {
86
+ const response = await fetch(endpoint, {
87
+ method: "POST",
88
+ headers: {
89
+ "content-type": "application/json",
90
+ authorization: `Bearer ${args.apiKey}`,
91
+ },
92
+ body: JSON.stringify(body),
93
+ signal: controller.signal,
94
+ });
95
+ clearTimeout(timeoutId);
96
+ if (!response.ok) {
97
+ lastError = new Error(`llm_http_${response.status}`);
98
+ continue;
99
+ }
100
+ const json = await response.json();
101
+ const content = json?.choices?.[0]?.message?.content?.trim() || "";
102
+ if (content) {
103
+ return content.slice(0, 500);
104
+ }
105
+ lastError = new Error("llm_empty");
106
+ }
107
+ catch (error) {
108
+ clearTimeout(timeoutId);
109
+ lastError = error;
110
+ }
111
+ }
112
+ if (lastError) {
113
+ throw lastError;
114
+ }
115
+ return null;
116
+ }
63
117
  function createReflector(options) {
64
118
  const memoryRoot = options.dbPath ? path.resolve(options.dbPath) : path.join(options.projectRoot, "data", "memory");
65
119
  const activeSessionsPath = path.join(memoryRoot, "sessions", "active", "sessions.jsonl");
@@ -73,7 +127,27 @@ function createReflector(options) {
73
127
  continue;
74
128
  }
75
129
  const outcome = typeof record.outcome === "string" ? record.outcome : "unknown";
76
- const ruleText = `From historical event: ${summary}. Outcome: ${outcome}.`;
130
+ let ruleText = `From historical event: ${summary}. Outcome: ${outcome}.`;
131
+ const llmModel = options.llm?.model || "";
132
+ const llmApiKey = options.llm?.apiKey || "";
133
+ const llmBaseUrl = normalizeBaseUrl(options.llm?.baseURL || options.llm?.baseUrl);
134
+ if (llmModel && llmApiKey && llmBaseUrl) {
135
+ try {
136
+ const generated = await requestRuleFromLlm({
137
+ summary,
138
+ outcome,
139
+ model: llmModel,
140
+ apiKey: llmApiKey,
141
+ baseUrl: llmBaseUrl,
142
+ });
143
+ if (generated) {
144
+ ruleText = generated;
145
+ }
146
+ }
147
+ catch (error) {
148
+ options.logger.warn(`LLM reflection failed, fallback to template rule: ${error}`);
149
+ }
150
+ }
77
151
  const added = options.ruleStore.addRule({
78
152
  sectionTitle: "Reflected Rule",
79
153
  content: ruleText,
@@ -1 +1 @@
1
- {"version":3,"file":"reflector.js","sourceRoot":"","sources":["../../../src/reflect/reflector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflector.js","sourceRoot":"","sources":["../../../src/reflect/reflector.ts"],"names":[],"mappings":"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"}