a2a-memory 0.10.11 → 0.10.13

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 (55) hide show
  1. package/dist/a2a/client.d.ts +53 -0
  2. package/dist/a2a/client.d.ts.map +1 -0
  3. package/dist/a2a/client.js +252 -0
  4. package/dist/a2a/client.js.map +1 -0
  5. package/dist/a2a/discovery.d.ts +45 -0
  6. package/dist/a2a/discovery.d.ts.map +1 -0
  7. package/dist/a2a/discovery.js +115 -0
  8. package/dist/a2a/discovery.js.map +1 -0
  9. package/dist/a2a/index.d.ts +10 -0
  10. package/dist/a2a/index.d.ts.map +1 -0
  11. package/dist/a2a/index.js +8 -0
  12. package/dist/a2a/index.js.map +1 -0
  13. package/dist/a2a/types.d.ts +177 -0
  14. package/dist/a2a/types.d.ts.map +1 -0
  15. package/dist/a2a/types.js +42 -0
  16. package/dist/a2a/types.js.map +1 -0
  17. package/dist/cli/commands/setup-wizard.d.ts +40 -0
  18. package/dist/cli/commands/setup-wizard.d.ts.map +1 -0
  19. package/dist/cli/commands/setup-wizard.js +387 -0
  20. package/dist/cli/commands/setup-wizard.js.map +1 -0
  21. package/dist/cli/commands/setup.d.ts.map +1 -1
  22. package/dist/cli/commands/setup.js +14 -0
  23. package/dist/cli/commands/setup.js.map +1 -1
  24. package/dist/config/manager.js +2 -2
  25. package/dist/config/manager.js.map +1 -1
  26. package/dist/db/database.d.ts +48 -0
  27. package/dist/db/database.d.ts.map +1 -1
  28. package/dist/db/database.js +118 -2
  29. package/dist/db/database.js.map +1 -1
  30. package/dist/hooks/post-tool-use.d.ts.map +1 -1
  31. package/dist/hooks/post-tool-use.js +56 -0
  32. package/dist/hooks/post-tool-use.js.map +1 -1
  33. package/dist/hooks/session-end.d.ts.map +1 -1
  34. package/dist/hooks/session-end.js +17 -0
  35. package/dist/hooks/session-end.js.map +1 -1
  36. package/dist/hooks/session-start.d.ts.map +1 -1
  37. package/dist/hooks/session-start.js +50 -5
  38. package/dist/hooks/session-start.js.map +1 -1
  39. package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
  40. package/dist/hooks/user-prompt-submit.js +16 -0
  41. package/dist/hooks/user-prompt-submit.js.map +1 -1
  42. package/dist/lifecycle/cleanup.d.ts.map +1 -1
  43. package/dist/lifecycle/cleanup.js +14 -3
  44. package/dist/lifecycle/cleanup.js.map +1 -1
  45. package/dist/skill/evaluator.d.ts +10 -0
  46. package/dist/skill/evaluator.d.ts.map +1 -1
  47. package/dist/skill/evaluator.js +48 -1
  48. package/dist/skill/evaluator.js.map +1 -1
  49. package/dist/sync/queue.d.ts +9 -0
  50. package/dist/sync/queue.d.ts.map +1 -1
  51. package/dist/sync/queue.js +50 -20
  52. package/dist/sync/queue.js.map +1 -1
  53. package/dist/types/index.js +2 -2
  54. package/dist/types/index.js.map +1 -1
  55. package/package.json +1 -1
@@ -45,7 +45,7 @@ export class SkillEvaluator {
45
45
  }
46
46
  // 2. 클러스터링 (O(N²) 알고리즘이므로 입력 크기를 제한)
47
47
  // 적응형 윈도우: 최근 70% + 전체 랜덤 30% — 오래된 패턴도 반영
48
- const MAX_CLUSTER_INPUT = 100;
48
+ const MAX_CLUSTER_INPUT = 300;
49
49
  let clusterInput;
50
50
  if (targetMemories.length > MAX_CLUSTER_INPUT) {
51
51
  const sorted = [...targetMemories].sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());
@@ -458,5 +458,52 @@ export class SkillEvaluator {
458
458
  }
459
459
  return avg;
460
460
  }
461
+ /**
462
+ * 스킬 자동 갱신: 새 메모리가 기존 스킬과 유사하면 소스에 추가
463
+ *
464
+ * PostToolUse에서 새 메모리 생성 후 호출.
465
+ * 유사도 > 0.8인 스킬이 있으면 sourceMemoryIds에 추가하고 content 재생성.
466
+ */
467
+ absorbIntoSkill(newMemory) {
468
+ if (!newMemory.embedding || newMemory.category === 'skill') {
469
+ return { absorbed: false };
470
+ }
471
+ const skills = this.db.listMemories({ limit: 200 }).filter(m => m.category === 'skill');
472
+ for (const skill of skills) {
473
+ if (!skill.embedding)
474
+ continue;
475
+ const similarity = cosineSimilarity(newMemory.embedding, skill.embedding);
476
+ if (similarity < 0.8)
477
+ continue;
478
+ // 유사한 스킬 발견 — 소스에 추가
479
+ const metadata = this.extractMetadata(skill);
480
+ if (!metadata)
481
+ continue;
482
+ // 이미 소스에 포함되어 있으면 스킵
483
+ if (metadata.sourceMemoryIds.includes(newMemory.id)) {
484
+ return { absorbed: false };
485
+ }
486
+ // sourceMemoryIds에 추가
487
+ metadata.sourceMemoryIds.push(newMemory.id);
488
+ metadata.activationCount = (metadata.activationCount || 0) + 1;
489
+ metadata.lastActivatedAt = new Date().toISOString();
490
+ // 메타데이터 태그 재생성
491
+ const metaTag = `meta:${Buffer.from(JSON.stringify(metadata)).toString('base64')}`;
492
+ const otherTags = skill.tags.filter(t => !t.startsWith('meta:'));
493
+ // 스킬 content에 새 메모리 요약 추가 (최대 5개 패턴)
494
+ const newLine = `- ${newMemory.content.split('\n')[0].slice(0, 150)}`;
495
+ let updatedContent = skill.content;
496
+ const patternLines = updatedContent.split('\n').filter(l => l.startsWith('- '));
497
+ if (patternLines.length < 5) {
498
+ updatedContent = updatedContent.trimEnd() + '\n' + newLine;
499
+ }
500
+ this.db.updateMemory(skill.id, {
501
+ content: updatedContent,
502
+ tags: [...otherTags, metaTag],
503
+ });
504
+ return { absorbed: true, skillId: skill.id };
505
+ }
506
+ return { absorbed: false };
507
+ }
461
508
  }
462
509
  //# sourceMappingURL=evaluator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/skill/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAI/D,MAAM,OAAO,cAAc;IACjB,EAAE,CAAiB;IACnB,MAAM,CAAY;IAE1B,YAAY,EAAkB,EAAE,MAAiB;QAC/C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAoB,EAAE,MAAkB;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;YAC1B,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC;YACH,0CAA0C;YAC1C,6CAA6C;YAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC;gBACvC,KAAK,EAAE,GAAG;gBACV,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CACvE,CAAC;YAEF,IAAI,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;gBACvD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACzE,CAAC;YAED,qCAAqC;YACrC,2CAA2C;YAC3C,MAAM,iBAAiB,GAAG,GAAG,CAAC;YAC9B,IAAI,YAAmC,CAAC;YACxC,IAAI,cAAc,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAC5E,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;gBACxD,MAAM,WAAW,GAAG,iBAAiB,GAAG,WAAW,CAAC;gBACpD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChF,MAAM,YAAY,GAA0B,EAAE,CAAC;gBAC/C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC9C,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC;gBACD,YAAY,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,cAAc,CAAC;YAChC,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAC;YAErF,gBAAgB;YAChB,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YACxE,IAAI,cAAc,GAAG,WAAW,CAAC,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;YAElE,eAAe;YACf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,cAAc,IAAI,CAAC;oBAAE,MAAM;gBAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;gBACvG,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBAED,iDAAiD;gBACjD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACpE,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE3B,iBAAiB;gBACjB,IAAI,WAAW,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;oBAC1D,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBACpD,IAAI,CAAC,KAAK,EAAE,CAAC;4BACX,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;4BAC1B,SAAS;wBACX,CAAC;oBACH,CAAC;oBAAC,OAAO,MAAM,EAAE,CAAC;wBAChB,uBAAuB;wBACvB,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACrG,CAAC;gBACH,CAAC;gBAED,eAAe;gBACf,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC9C,OAAO,EAAE,CAAC;oBACV,cAAc,EAAE,CAAC;gBACnB,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC9G,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,QAAkB,EAAE,SAAiB;QACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,SAAS;YACtC,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,SAAS;YAEhC,MAAM,OAAO,GAAa,CAAC,MAAM,CAAC,CAAC;YACnC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAExB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAE,SAAS;gBACrC,IAAI,CAAC,KAAK,CAAC,SAAS;oBAAE,SAAS;gBAE/B,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACvE,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACpB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,eAAe,CACb,OAAiB,EACjB,cAAsB,EACtB,cAAsB;QAEtB,MAAM,sBAAsB,GAAG,GAAG,CAAC,CAAC,oCAAoC;QAExE,oBAAoB;QACpB,IAAI,OAAO,CAAC,MAAM,GAAG,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjD,+BAA+B;QAC/B,oEAAoE;QACpE,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,aAAa,GAAG,IAAI;YAAE,OAAO,IAAI,CAAC;QAEtC,qBAAqB;QACrB,IAAI,UAAU,GAAG,aAAa,CAAC;QAE/B,qCAAqC;QACrC,qDAAqD;QACrD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,UAAU,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACzB,UAAU,IAAI,GAAG,CAAC;QACpB,CAAC;QAED,qCAAqC;QACrC,oDAAoD;QACpD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,gBAAgB,GAAmB,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,cAAc,EAAE,CAAC;YAC1C,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACrB,QAAQ,GAAG,KAAK,CAAC;gBACjB,gBAAgB,GAAG,GAAqB,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACrC,UAAU,IAAI,GAAG,CAAC;QACpB,CAAC;QAED,yBAAyB;QACzB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,UAAU,GAAG,sBAAsB;YAAE,OAAO,IAAI,CAAC;QAErD,0CAA0C;QAC1C,IAAI,OAAe,CAAC;QACpB,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACjC,sBAAsB;YACtB,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,MAAM,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7B,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAU,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC3D,CAAC;YACH,CAAC;YACD,0BAA0B;YAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC;gBACvE,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;oBAClB,OAAO,GAAG,GAAG,CAAC;oBACd,OAAO,GAAG,CAAC,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChF,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAEvB,OAAO;YACL,SAAS,EAAE,UAAU,EAAE;YACvB,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,gBAAgB;YAC1B,UAAU;YACV,OAAO;YACP,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC;SACzC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,SAAyB;QAC7C,IAAI,CAAC;YACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhD,MAAM,MAAM,GAAG;gBACb,yEAAyE;gBACzE,iEAAiE;gBACjE,EAAE;gBACF,aAAa,SAAS,CAAC,QAAQ,EAAE;gBACjC,YAAY,SAAS,CAAC,OAAO,EAAE;gBAC/B,iBAAiB,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE;gBAClD,EAAE;gBACF,kBAAkB;gBAClB,GAAG,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;aAC9F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC;QAClH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,8BAA8B;YAC9B,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5F,+BAA+B;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,mBAAmB;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,SAAyB,EAAE,MAAkB;QACjE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,IAAI,CAC1B,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACxF,CAAC,WAAW,EAAE,CAAC;QAEhB,iBAAiB;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAElD,4BAA4B;QAC5B,IAAI,cAAc,GAMP,IAAI,CAAC;QAEhB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,cAAc,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;oBAC5C,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,cAAc,CAAC;oBACjG,QAAQ,EAAE,SAAS,CAAC,QAAQ;iBAC7B,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,QAAQ,GAAkB;YAC9B,eAAe,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,cAAc,EAAE,GAAG;YACnB,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,WAAW;YACX,eAAe,EAAE,CAAC;YAClB,kEAAkE;YAClE,GAAG,CAAC,cAAc,IAAI;gBACpB,cAAc,EAAE,cAAc,CAAC,MAAM;gBACrC,eAAe,EAAE,cAAc,CAAC,QAAQ,IAAI,SAAS;gBACrD,cAAc,EAAE,cAAc,CAAC,MAAM,IAAI,SAAS;gBAClD,iBAAiB,EAAE,cAAc,CAAC,SAAS,IAAI,SAAS;gBACxD,kBAAkB,EAAE,cAAc,CAAC,UAAU;aAC9C,CAAC;SACH,CAAC;QAEF,MAAM,WAAW,GAAG,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAEvF,yBAAyB;QACzB,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,YAAY,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;gBAC5B,YAAY,CAAC,IAAI,CAAC,YAAY,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1B,YAAY,CAAC,IAAI,CAAC,UAAU,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC;YAClC,OAAO;YACP,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,YAAY,EAAE,WAAW,CAAC;YACvD,WAAW,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW;SACtD,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;aACvB,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/E,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,QAAQ,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,GAAG,GAAG,SAAS;gBAAE,SAAS;YAE9B,8BAA8B;YAC9B,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1B,qCAAqC;gBACrC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE;oBAC7B,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,cAAc,CAAC;iBAChG,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,cAAc,GAAG,IAAI,IAAI,CAC7B,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACxF,CAAC,WAAW,EAAE,CAAC;gBAEhB,MAAM,WAAW,GAAkB;oBACjC,GAAG,QAAQ;oBACX,WAAW,EAAE,cAAc;oBAC3B,eAAe,EAAE,KAAK,CAAC,WAAW;oBAClC,eAAe,EAAE,KAAK,CAAC,cAAc;iBACtC,CAAC;gBAEF,MAAM,UAAU,GAAG,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE7B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;gBACtD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,+BAA+B;IAC/B,kBAAkB;IAClB,+BAA+B;IAEvB,wBAAwB,CAAC,OAAiB;QAChD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAEnC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBACjD,QAAQ,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC;oBAC3E,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEO,gBAAgB,CAAC,SAAyB,EAAE,cAAwB;QAC1E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAErE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1E,MAAM,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAE1E,wBAAwB;YACxB,IAAI,YAAY,IAAI,GAAG;gBAAE,OAAO,IAAI,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,SAAyB;QACjD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,YAAY,SAAS,CAAC,cAAc,CAAC,MAAM,WAAW,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEtE,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5B,kBAAkB;YAClB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,UAAsB;QAC9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;QAC9B,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/skill/evaluator.ts"],"names":[],"mappings":"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"}
@@ -36,8 +36,17 @@ export declare class SyncQueue {
36
36
  /**
37
37
  * pending 메모리를 배치로 일괄 push (100개씩)
38
38
  * 중복 제거: pending 내부 중복만 제거 (서버 측에서 synced 대비 중복은 처리)
39
+ *
40
+ * Parent-Child FK 안전:
41
+ * 1단계 — Parent (parentId 없는 항목) push → remote_id 획득
42
+ * 2단계 — Children의 parentId를 remote parent_id로 변환 후 push
39
43
  */
40
44
  flush(options?: FlushOptions): Promise<QueueFlushResult>;
45
+ /**
46
+ * 배치 단위 push 공통 로직
47
+ * parentRemoteMap: push 성공 시 local_id→remote_id 매핑 업데이트 (Phase 1→Phase 2 전달용)
48
+ */
49
+ private pushBatches;
41
50
  /**
42
51
  * 미동기화 tombstone을 원격 서버에서 삭제
43
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/sync/queue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAcD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAE5D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEhD;AASD,qBAAa,SAAS;IAElB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;gBADN,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,SAAS;IAG3B;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B;;;OAGG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqF9D;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgCvE;;OAEG;IACH,eAAe,IAAI,MAAM;CAI1B"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/sync/queue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAcD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAE5D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEhD;AASD,qBAAa,SAAS;IAElB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;gBADN,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,SAAS;IAG3B;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;;;;OAOG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkE9D;;;OAGG;YACW,WAAW;IAqDzB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgCvE;;OAEG;IACH,eAAe,IAAI,MAAM;CAI1B"}
@@ -48,6 +48,10 @@ export class SyncQueue {
48
48
  /**
49
49
  * pending 메모리를 배치로 일괄 push (100개씩)
50
50
  * 중복 제거: pending 내부 중복만 제거 (서버 측에서 synced 대비 중복은 처리)
51
+ *
52
+ * Parent-Child FK 안전:
53
+ * 1단계 — Parent (parentId 없는 항목) push → remote_id 획득
54
+ * 2단계 — Children의 parentId를 remote parent_id로 변환 후 push
51
55
  */
52
56
  async flush(options) {
53
57
  const startTime = Date.now();
@@ -76,37 +80,66 @@ export class SyncQueue {
76
80
  pendingHashes.set(hash, m.id);
77
81
  return true;
78
82
  });
79
- // Parent-first 정렬: Parent(parent_id IS NULL)가 Child보다 먼저 push
80
- // FK 제약 조건 준수를 위해 필요
81
- dedupedPending.sort((a, b) => {
82
- const aIsChild = a.parentId ? 1 : 0;
83
- const bIsChild = b.parentId ? 1 : 0;
84
- return aIsChild - bIsChild; // Parent (0) first, Child (1) second
85
- });
86
- for (let i = 0; i < dedupedPending.length; i += BATCH_SIZE) {
87
- // 타임아웃 체크 (timeoutMs=0이면 무제한)
83
+ // Parent/독립 메모리와 Children 분리
84
+ const parents = dedupedPending.filter(m => !m.parentId);
85
+ const children = dedupedPending.filter(m => !!m.parentId);
86
+ // local parent_id remote parent_id 매핑
87
+ // 이미 synced된 parent의 remote_id를 미리 조회
88
+ const parentRemoteMap = new Map();
89
+ for (const child of children) {
90
+ if (child.parentId && !parentRemoteMap.has(child.parentId)) {
91
+ const parentSync = this.db.getSyncStatus(child.parentId);
92
+ if (parentSync?.remoteId) {
93
+ parentRemoteMap.set(child.parentId, parentSync.remoteId);
94
+ }
95
+ }
96
+ }
97
+ // ── Phase 1: Parents + 독립 메모리 push ──
98
+ await this.pushBatches(parents, BATCH_SIZE, startTime, timeoutMs, result, parentRemoteMap);
99
+ // ── Phase 2: Children push (parent_id → remote_id 변환) ──
100
+ if (children.length > 0 && (timeoutMs === 0 || Date.now() - startTime < timeoutMs)) {
101
+ // 매핑 불가능한 children은 pending 유지
102
+ const mappable = children.filter(m => parentRemoteMap.has(m.parentId));
103
+ const unmappable = children.filter(m => !parentRemoteMap.has(m.parentId));
104
+ if (unmappable.length > 0) {
105
+ result.errors.push(`${unmappable.length}개 child — parent remote_id 미확인 (다음 flush에서 재시도)`);
106
+ }
107
+ await this.pushBatches(mappable, BATCH_SIZE, startTime, timeoutMs, result, parentRemoteMap);
108
+ }
109
+ result.duration = Date.now() - startTime;
110
+ return result;
111
+ }
112
+ /**
113
+ * 배치 단위 push 공통 로직
114
+ * parentRemoteMap: push 성공 시 local_id→remote_id 매핑 업데이트 (Phase 1→Phase 2 전달용)
115
+ */
116
+ async pushBatches(items, batchSize, startTime, timeoutMs, result, parentRemoteMap) {
117
+ for (let i = 0; i < items.length; i += batchSize) {
88
118
  if (timeoutMs > 0 && Date.now() - startTime > timeoutMs) {
89
- const remaining = dedupedPending.length - result.pushed - result.failed;
90
- result.errors.push(`타임아웃: ${result.pushed}/${dedupedPending.length} 처리 완료 (${remaining}개 미처리)`);
119
+ const remaining = items.length - i;
120
+ result.errors.push(`타임아웃: ${remaining}개 미처리`);
91
121
  result.failed += remaining;
92
122
  break;
93
123
  }
94
- const batch = dedupedPending.slice(i, i + BATCH_SIZE);
124
+ const batch = items.slice(i, i + batchSize);
95
125
  try {
96
126
  const batchResult = await this.client.createMemoriesBatch(batch.map((m) => ({
97
127
  content: m.content,
98
128
  category: mapCategory(m.category),
99
129
  tier: mapTier(m.tier),
100
130
  tags: m.tags,
101
- created_at: m.createdAt, // 로컬 생성 일시 보존
102
- parent_id: m.parentId ?? undefined,
131
+ created_at: m.createdAt,
132
+ // Children: local parent_id → remote parent_id 변환
133
+ parent_id: m.parentId ? parentRemoteMap.get(m.parentId) : undefined,
103
134
  chunk_index: m.chunkIndex ?? undefined,
104
135
  chunk_total: m.chunkTotal ?? undefined,
105
136
  })));
106
- // 성공한 항목들 synced로 업데이트
137
+ // 성공한 항목들 synced로 업데이트 + parentRemoteMap 갱신
107
138
  for (let j = 0; j < batchResult.ids.length; j++) {
108
- if (j < batch.length) {
139
+ if (j < batch.length && batchResult.ids[j]) {
109
140
  this.db.setSyncStatus(batch[j].id, batchResult.ids[j], 'synced');
141
+ // 이 항목이 다른 child의 parent일 수 있으므로 매핑 등록
142
+ parentRemoteMap.set(batch[j].id, batchResult.ids[j]);
110
143
  }
111
144
  }
112
145
  result.pushed += batchResult.created;
@@ -116,13 +149,10 @@ export class SyncQueue {
116
149
  }
117
150
  }
118
151
  catch (error) {
119
- // 배치 전체 실패 pending 상태 유지하여 다음 flush()에서 재시도
120
- result.errors.push(`배치 ${i / BATCH_SIZE + 1} 실패: ${error instanceof Error ? error.message : String(error)}`);
152
+ result.errors.push(`배치 실패: ${error instanceof Error ? error.message : String(error)}`);
121
153
  result.failed += batch.length;
122
154
  }
123
155
  }
124
- result.duration = Date.now() - startTime;
125
- return result;
126
156
  }
127
157
  /**
128
158
  * 미동기화 tombstone을 원격 서버에서 삭제
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/sync/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/sync/queue.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export const DEFAULT_CONFIG = {
21
21
  },
22
22
  lifecycle: {
23
23
  ttlDays: 90,
24
- maxMemories: 10000,
24
+ maxMemories: 20000,
25
25
  cleanupOnSessionEnd: true,
26
26
  qualityThreshold: 0.3,
27
27
  },
@@ -68,7 +68,7 @@ export const DEFAULT_CONFIG = {
68
68
  similarityThreshold: 0.85,
69
69
  minConfidence: 0.7,
70
70
  reviewCycleDays: 90,
71
- maxSkills: 50,
71
+ maxSkills: 100,
72
72
  llmValidation: true,
73
73
  },
74
74
  proficiency: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "a2a-memory",
3
- "version": "0.10.11",
3
+ "version": "0.10.13",
4
4
  "description": "Persistent AI memory for Claude Code - Session extraction, local DB, and hook automation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",