@memtensor/memos-local-openclaw-plugin 0.1.4 → 0.1.5

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 (104) hide show
  1. package/README.md +196 -84
  2. package/dist/ingest/dedup.d.ts +8 -0
  3. package/dist/ingest/dedup.d.ts.map +1 -1
  4. package/dist/ingest/dedup.js +21 -0
  5. package/dist/ingest/dedup.js.map +1 -1
  6. package/dist/ingest/providers/anthropic.d.ts +14 -0
  7. package/dist/ingest/providers/anthropic.d.ts.map +1 -1
  8. package/dist/ingest/providers/anthropic.js +104 -0
  9. package/dist/ingest/providers/anthropic.js.map +1 -1
  10. package/dist/ingest/providers/bedrock.d.ts +14 -0
  11. package/dist/ingest/providers/bedrock.d.ts.map +1 -1
  12. package/dist/ingest/providers/bedrock.js +100 -0
  13. package/dist/ingest/providers/bedrock.js.map +1 -1
  14. package/dist/ingest/providers/gemini.d.ts +14 -0
  15. package/dist/ingest/providers/gemini.d.ts.map +1 -1
  16. package/dist/ingest/providers/gemini.js +96 -0
  17. package/dist/ingest/providers/gemini.js.map +1 -1
  18. package/dist/ingest/providers/index.d.ts +22 -0
  19. package/dist/ingest/providers/index.d.ts.map +1 -1
  20. package/dist/ingest/providers/index.js +68 -0
  21. package/dist/ingest/providers/index.js.map +1 -1
  22. package/dist/ingest/providers/openai.d.ts +22 -0
  23. package/dist/ingest/providers/openai.d.ts.map +1 -1
  24. package/dist/ingest/providers/openai.js +143 -0
  25. package/dist/ingest/providers/openai.js.map +1 -1
  26. package/dist/ingest/task-processor.d.ts +2 -0
  27. package/dist/ingest/task-processor.d.ts.map +1 -1
  28. package/dist/ingest/task-processor.js +15 -0
  29. package/dist/ingest/task-processor.js.map +1 -1
  30. package/dist/ingest/worker.d.ts +2 -0
  31. package/dist/ingest/worker.d.ts.map +1 -1
  32. package/dist/ingest/worker.js +115 -12
  33. package/dist/ingest/worker.js.map +1 -1
  34. package/dist/recall/engine.d.ts.map +1 -1
  35. package/dist/recall/engine.js +1 -0
  36. package/dist/recall/engine.js.map +1 -1
  37. package/dist/skill/bundled-memory-guide.d.ts +6 -0
  38. package/dist/skill/bundled-memory-guide.d.ts.map +1 -0
  39. package/dist/skill/bundled-memory-guide.js +95 -0
  40. package/dist/skill/bundled-memory-guide.js.map +1 -0
  41. package/dist/skill/evaluator.d.ts +31 -0
  42. package/dist/skill/evaluator.d.ts.map +1 -0
  43. package/dist/skill/evaluator.js +194 -0
  44. package/dist/skill/evaluator.js.map +1 -0
  45. package/dist/skill/evolver.d.ts +22 -0
  46. package/dist/skill/evolver.d.ts.map +1 -0
  47. package/dist/skill/evolver.js +193 -0
  48. package/dist/skill/evolver.js.map +1 -0
  49. package/dist/skill/generator.d.ts +25 -0
  50. package/dist/skill/generator.d.ts.map +1 -0
  51. package/dist/skill/generator.js +477 -0
  52. package/dist/skill/generator.js.map +1 -0
  53. package/dist/skill/installer.d.ts +16 -0
  54. package/dist/skill/installer.d.ts.map +1 -0
  55. package/dist/skill/installer.js +89 -0
  56. package/dist/skill/installer.js.map +1 -0
  57. package/dist/skill/upgrader.d.ts +19 -0
  58. package/dist/skill/upgrader.d.ts.map +1 -0
  59. package/dist/skill/upgrader.js +263 -0
  60. package/dist/skill/upgrader.js.map +1 -0
  61. package/dist/skill/validator.d.ts +29 -0
  62. package/dist/skill/validator.d.ts.map +1 -0
  63. package/dist/skill/validator.js +227 -0
  64. package/dist/skill/validator.js.map +1 -0
  65. package/dist/storage/sqlite.d.ts +75 -1
  66. package/dist/storage/sqlite.d.ts.map +1 -1
  67. package/dist/storage/sqlite.js +417 -6
  68. package/dist/storage/sqlite.js.map +1 -1
  69. package/dist/types.d.ts +78 -0
  70. package/dist/types.d.ts.map +1 -1
  71. package/dist/types.js +6 -0
  72. package/dist/types.js.map +1 -1
  73. package/dist/viewer/html.d.ts +1 -1
  74. package/dist/viewer/html.d.ts.map +1 -1
  75. package/dist/viewer/html.js +1549 -113
  76. package/dist/viewer/html.js.map +1 -1
  77. package/dist/viewer/server.d.ts +13 -0
  78. package/dist/viewer/server.d.ts.map +1 -1
  79. package/dist/viewer/server.js +289 -4
  80. package/dist/viewer/server.js.map +1 -1
  81. package/index.ts +489 -181
  82. package/package.json +1 -1
  83. package/skill/memos-memory-guide/SKILL.md +86 -0
  84. package/src/ingest/dedup.ts +29 -0
  85. package/src/ingest/providers/anthropic.ts +130 -0
  86. package/src/ingest/providers/bedrock.ts +126 -0
  87. package/src/ingest/providers/gemini.ts +124 -0
  88. package/src/ingest/providers/index.ts +86 -4
  89. package/src/ingest/providers/openai.ts +174 -0
  90. package/src/ingest/task-processor.ts +16 -0
  91. package/src/ingest/worker.ts +126 -21
  92. package/src/recall/engine.ts +1 -0
  93. package/src/skill/bundled-memory-guide.ts +91 -0
  94. package/src/skill/evaluator.ts +220 -0
  95. package/src/skill/evolver.ts +169 -0
  96. package/src/skill/generator.ts +506 -0
  97. package/src/skill/installer.ts +59 -0
  98. package/src/skill/upgrader.ts +257 -0
  99. package/src/skill/validator.ts +227 -0
  100. package/src/storage/sqlite.ts +508 -6
  101. package/src/types.ts +77 -0
  102. package/src/viewer/html.ts +1549 -113
  103. package/src/viewer/server.ts +285 -4
  104. package/skill/SKILL.md +0 -59
package/src/types.ts CHANGED
@@ -13,6 +13,8 @@ export interface ConversationMessage {
13
13
 
14
14
  // ─── Chunk & Storage ───
15
15
 
16
+ export type DedupStatus = "active" | "duplicate" | "merged";
17
+
16
18
  export interface Chunk {
17
19
  id: string;
18
20
  sessionKey: string;
@@ -24,6 +26,13 @@ export interface Chunk {
24
26
  summary: string;
25
27
  embedding: number[] | null;
26
28
  taskId: string | null;
29
+ skillId: string | null;
30
+ dedupStatus: DedupStatus;
31
+ dedupTarget: string | null;
32
+ dedupReason: string | null;
33
+ mergeCount: number;
34
+ lastHitAt: number | null;
35
+ mergeHistory: string;
27
36
  createdAt: number;
28
37
  updatedAt: number;
29
38
  }
@@ -67,6 +76,7 @@ export interface SearchHit {
67
76
  ref: ChunkRef;
68
77
  score: number;
69
78
  taskId: string | null;
79
+ skillId: string | null;
70
80
  source: {
71
81
  ts: number;
72
82
  role: Role;
@@ -160,8 +170,68 @@ export interface EmbeddingConfig extends ProviderConfig {
160
170
  retry?: number;
161
171
  }
162
172
 
173
+ // ─── Skill ───
174
+
175
+ export type SkillStatus = "active" | "archived" | "draft";
176
+ export type SkillUpgradeType = "create" | "refine" | "extend" | "fix";
177
+ export type TaskSkillRelation = "generated_from" | "evolved_from" | "applied_to";
178
+
179
+ export interface Skill {
180
+ id: string;
181
+ name: string;
182
+ description: string;
183
+ version: number;
184
+ status: SkillStatus;
185
+ tags: string;
186
+ sourceType: "task" | "manual";
187
+ dirPath: string;
188
+ installed: number;
189
+ qualityScore: number | null;
190
+ createdAt: number;
191
+ updatedAt: number;
192
+ }
193
+
194
+ export interface SkillVersion {
195
+ id: string;
196
+ skillId: string;
197
+ version: number;
198
+ content: string;
199
+ changelog: string;
200
+ changeSummary: string;
201
+ upgradeType: SkillUpgradeType;
202
+ sourceTaskId: string | null;
203
+ metrics: string;
204
+ qualityScore: number | null;
205
+ createdAt: number;
206
+ }
207
+
208
+ export interface SkillGenerateOutput {
209
+ skill_md: string;
210
+ scripts: Array<{ filename: string; content: string }>;
211
+ references: Array<{ filename: string; content: string }>;
212
+ evals: Array<{ id: number; prompt: string; expectations: string[] }>;
213
+ }
214
+
215
+ export interface TaskSkillLink {
216
+ taskId: string;
217
+ skillId: string;
218
+ relation: TaskSkillRelation;
219
+ versionAt: number;
220
+ createdAt: number;
221
+ }
222
+
163
223
  // ─── Plugin Config ───
164
224
 
225
+ export interface SkillEvolutionConfig {
226
+ enabled?: boolean;
227
+ autoEvaluate?: boolean;
228
+ minChunksForEval?: number;
229
+ minConfidence?: number;
230
+ maxSkillLines?: number;
231
+ autoInstall?: boolean;
232
+ summarizer?: SummarizerConfig;
233
+ }
234
+
165
235
  export interface MemosLocalConfig {
166
236
  summarizer?: SummarizerConfig;
167
237
  embedding?: EmbeddingConfig;
@@ -183,6 +253,7 @@ export interface MemosLocalConfig {
183
253
  capture?: {
184
254
  evidenceWrapperTag?: string;
185
255
  };
256
+ skillEvolution?: SkillEvolutionConfig;
186
257
  }
187
258
 
188
259
  // ─── Defaults ───
@@ -207,6 +278,12 @@ export const DEFAULTS = {
207
278
  toolResultMaxChars: 2000,
208
279
  taskIdleTimeoutMs: 2 * 60 * 60 * 1000, // 2 hour gap → new task
209
280
  taskSummaryMaxTokens: 2000,
281
+ skillEvolutionEnabled: true,
282
+ skillAutoEvaluate: true,
283
+ skillMinChunksForEval: 6,
284
+ skillMinConfidence: 0.7,
285
+ skillMaxLines: 400,
286
+ skillAutoInstall: false,
210
287
  } as const;
211
288
 
212
289
  // ─── Plugin Hooks (OpenClaw integration) ───