@rubytech/create-maxy 1.0.705 → 1.0.707

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 (107) hide show
  1. package/dist/__tests__/apt-resolve.test.js +179 -0
  2. package/dist/apt-resolve.js +73 -0
  3. package/dist/index.js +48 -46
  4. package/package.json +3 -3
  5. package/payload/platform/lib/graph-mcp/dist/__tests__/schema-cypher-parser.test.d.ts +2 -0
  6. package/payload/platform/lib/graph-mcp/dist/__tests__/schema-cypher-parser.test.d.ts.map +1 -0
  7. package/payload/platform/lib/graph-mcp/dist/__tests__/schema-cypher-parser.test.js +89 -0
  8. package/payload/platform/lib/graph-mcp/dist/__tests__/schema-cypher-parser.test.js.map +1 -0
  9. package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.d.ts +42 -0
  10. package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.d.ts.map +1 -0
  11. package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.js +87 -0
  12. package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.js.map +1 -0
  13. package/payload/platform/lib/graph-mcp/src/__tests__/schema-cypher-parser.test.ts +99 -0
  14. package/payload/platform/lib/graph-mcp/src/schema-cypher-parser.ts +84 -0
  15. package/payload/platform/neo4j/schema.cypher +23 -0
  16. package/payload/platform/plugins/admin/PLUGIN.md +1 -0
  17. package/payload/platform/plugins/admin/mcp/dist/index.js +30 -0
  18. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  19. package/payload/platform/plugins/admin/skills/business-profile/SKILL.md +2 -2
  20. package/payload/platform/plugins/admin/skills/onboarding/SKILL.md +47 -6
  21. package/payload/platform/plugins/docs/references/adherence.md +1 -1
  22. package/payload/platform/plugins/memory/PLUGIN.md +25 -16
  23. package/payload/platform/plugins/memory/mcp/dist/index.js +146 -38
  24. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  25. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.d.ts +2 -0
  26. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.d.ts.map +1 -0
  27. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.js +92 -0
  28. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.js.map +1 -0
  29. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.d.ts +2 -0
  30. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.d.ts.map +1 -0
  31. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +51 -0
  32. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -0
  33. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.d.ts +2 -0
  34. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.d.ts.map +1 -0
  35. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js +222 -0
  36. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js.map +1 -0
  37. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.d.ts +1 -7
  38. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.d.ts.map +1 -1
  39. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js +27 -14
  40. package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js.map +1 -1
  41. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.d.ts +16 -0
  42. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.d.ts.map +1 -1
  43. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js +38 -11
  44. package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js.map +1 -1
  45. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts +136 -0
  46. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts.map +1 -0
  47. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js +180 -0
  48. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js.map +1 -0
  49. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +126 -0
  50. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +1 -0
  51. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +253 -0
  52. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +1 -0
  53. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts +11 -2
  54. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts.map +1 -1
  55. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js +6 -3
  56. package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js.map +1 -1
  57. package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.d.ts +44 -22
  58. package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.d.ts.map +1 -1
  59. package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.js +94 -57
  60. package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.js.map +1 -1
  61. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts +34 -0
  62. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts.map +1 -0
  63. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +46 -0
  64. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js.map +1 -0
  65. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.d.ts +1 -2
  66. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.d.ts.map +1 -1
  67. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js +8 -9
  68. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js.map +1 -1
  69. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.d.ts +5 -17
  70. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.d.ts.map +1 -1
  71. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js +26 -49
  72. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js.map +1 -1
  73. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.d.ts.map +1 -1
  74. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js +4 -25
  75. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js.map +1 -1
  76. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +23 -14
  77. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
  78. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +410 -164
  79. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  80. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts +7 -5
  81. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
  82. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +2 -2
  83. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
  84. package/payload/platform/plugins/memory/references/schema-base.md +33 -0
  85. package/payload/platform/plugins/memory/skills/document-ingest/SKILL.md +112 -0
  86. package/payload/platform/templates/agents/admin/IDENTITY.md +1 -2
  87. package/payload/platform/templates/specialists/agents/content-producer.md +10 -77
  88. package/payload/platform/templates/specialists/agents/database-operator.md +21 -13
  89. package/payload/server/chunk-PE76FPYP.js +12040 -0
  90. package/payload/server/maxy-edge.js +1 -1
  91. package/payload/server/public/assets/{Checkbox-B2Lk8F4X.js → Checkbox-CjbS9JcG.js} +1 -1
  92. package/payload/server/public/assets/{admin-agtgi48Q.js → admin-Ce9DbUuu.js} +1 -1
  93. package/payload/server/public/assets/{data-B7nsyBTV.js → data-C-SxjLC9.js} +1 -1
  94. package/payload/server/public/assets/{file-DHWTu8LP.js → file-D4cbAAuo.js} +1 -1
  95. package/payload/server/public/assets/{graph-ChDwqqhJ.js → graph-BRD96pKD.js} +8 -8
  96. package/payload/server/public/assets/{house-CfjnRPO6.js → house-CYsVygEQ.js} +1 -1
  97. package/payload/server/public/assets/{jsx-runtime-81wg0w0Q.css → jsx-runtime-DPXE45W9.css} +1 -1
  98. package/payload/server/public/assets/{public-CE1kyVnz.js → public-BTOF98iO.js} +1 -1
  99. package/payload/server/public/assets/{share-2-CAd1beVT.js → share-2-B-sbkB36.js} +1 -1
  100. package/payload/server/public/assets/{useVoiceRecorder-LSAU68Eo.js → useVoiceRecorder-DLVFx3ms.js} +1 -1
  101. package/payload/server/public/assets/{x-B0xK3Aoq.js → x-BNidzSAn.js} +1 -1
  102. package/payload/server/public/data.html +6 -6
  103. package/payload/server/public/graph.html +7 -7
  104. package/payload/server/public/index.html +8 -8
  105. package/payload/server/public/public.html +5 -5
  106. package/payload/server/server.js +6 -10
  107. /package/payload/server/public/assets/{jsx-runtime-DhzH26q8.js → jsx-runtime-BUs3sHtV.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"schema-loader.js","sourceRoot":"","sources":["../../src/lib/schema-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,KAAa;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,sBAAsB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAEhE,+EAA+E;IAC/E,2EAA2E;IAC3E,oDAAoD;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,EAAE,CAAC;QACV,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CACxB,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACnD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACpC,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,+FAA+F;IAC/F,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC/E,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAC3D,CAAC;IAED,iEAAiE;IACjE,8DAA8D;IAC9D,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAWD;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,uEAAuE;QACvE,uDAAuD;QACvD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACxC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAS;QACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAErC,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,mDAAmD;QACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAEjC,MAAM,IAAI,GAAe,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,MAAM;YAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAChC,8DAA8D;YAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,oCAAoC,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,MAAM,yBAAyB,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAC/G,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,CAAC;QACN,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,eAAe,CAAC,OAAiB,EAAE,IAAY;IACtD,OAAO,OAAO,CAAC,SAAS,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAC9C,CAAC;AACJ,CAAC;AAWD,SAAS,iBAAiB,CACxB,MAAuB,EACvB,UAAkB;IAElB,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAC1E,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,SAAS,CAAC,sBAAsB;QAE3E,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAoB;gBAClC,KAAK;gBACL,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC9C,UAAU;aACX,CAAC;YACF,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YAChD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAuB,EACvB,UAAkB;IAElB,MAAM,OAAO,GAA6D,EAAE,CAAC;IAC7E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC;YAAE,SAAS;QAEnD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,mEAAmE;YACnE,uEAAuE;YACvE,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YAEzC,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;YAEjD,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK;oBACL,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE;iBACtC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,QAAgB;IAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,wEAAwE;IACxE,6EAA6E;IAC7E,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACpC,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,SAAS,kBAAkB,CACzB,QAAsC;IAEtC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,YAAY;YAAE,SAAS;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,yBAAyB,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,UAAU,oBAAoB,GAAG,CAAC,YAAY,2DAA2D,CACtJ,CAAC;QACJ,CAAC;QACD,mEAAmE;QACnE,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,IAAI,GAAG,CAAC,CAAgB,EAAE,EAAE;YAChC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,OAAO;gBACnC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC;QACtB,OAAO,GAAG,CAAC,YAAY,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,aAAa,GAAG,OAAO,CAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,EACnB,qBAAqB,CACtB,CAAC;IAEF,IAAI,SAAmB,CAAC;IACxB,IAAI,CAAC;QACH,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpD,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yDAAyD,aAAa,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9H,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,gDAAgD,aAAa,EAAE,CAChE,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,yCAAyC;IACzC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,GAAG,EAG3B,CAAC;IAEJ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,iEAAiE;gBACjE,8DAA8D;gBAC9D,+DAA+D;gBAC/D,iEAAiE;gBACjE,iDAAiD;gBACjD,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAClD,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS,CAAC,kBAAkB;YAC3D,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE7B,wEAAwE;IACxE,wEAAwE;IACxE,6CAA6C;IAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IACjC,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0BAA0B,UAAU,eAAe,YAAY,8BAA8B,SAAS,CAAC,MAAM,WAAW,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACjJ,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,cAAc;QACd,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"schema-loader.js","sourceRoot":"","sources":["../../src/lib/schema-loader.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,59 @@
1
1
  /**
2
- * Schema validator — validates memory-write inputs against the LoadedSchema
3
- * produced by schema-loader.ts. Pure function, no I/O, no side effects.
2
+ * Schema validator — validates memory-write inputs against two sources of
3
+ * truth (Task 736):
4
+ *
5
+ * 1. `LiveSchemaSource` — recognised-label set = `db.labels()` snapshot
6
+ * ∪ `schema.cypher` constraint/index declarations. This is the gate.
7
+ * A label is recognised iff it appears in either set.
8
+ * 2. `LoadedSchema` (markdown sidecar) — required-property and naming-rule
9
+ * metadata for documented labels. Markdown is no longer a label-existence
10
+ * gate; required-property checks are skipped (with a log line) when the
11
+ * label is recognised by the live source but absent from markdown.
4
12
  *
5
13
  * Checks run in order; first failure throws with a descriptive message.
6
- * Every error names the specific violation and the source file that defined
7
- * the rule so the agent can self-correct on retry.
8
14
  *
9
- * 1. accountId: non-empty trimmed string
10
- * 2. label: at least one input label is recognised in the loaded schema
11
- * 3. synonyms: no property key appears in the wrongToCorrect map — this
12
- * runs BEFORE required-props so that a `firstName` typo is reported as
13
- * "rename firstName givenName" (actionable) instead of
14
- * "missing required property givenName" (leaves the agent to figure
15
- * out why their write was incomplete).
16
- * 4. required properties: for the primary (first recognised) label, every
17
- * required group is satisfied simple groups by presence, any-of
18
- * groups by at least one disjunct present
15
+ * 1. accountId non-empty trimmed string
16
+ * 2. label existence — at least one input label is in live declared.
17
+ * Rejection cites both sources and the nearest
18
+ * documented match (Levenshtein) when there is one
19
+ * 3. property synonym — no property key is a known wrong-name alias.
20
+ * Runs before required-props so a `firstName`
21
+ * typo is reported as "rename firstName →
22
+ * givenName" rather than "missing givenName"
23
+ * 4. required properties — for the primary label, fires only when the
24
+ * label is documented in markdown. Skipped (with
25
+ * a structured log line) when the label is
26
+ * recognised but undocumented — that's a
27
+ * stale-doc signal, not a write error
28
+ *
29
+ * The `[schema-validator]` log lines are the single observability surface.
30
+ * Operators reading server.log can distinguish "validation didn't run" from
31
+ * "validation passed" from "validation rejected" without source access.
19
32
  *
20
- * "Present" means the properties object has the key and the value is not
21
- * null, not undefined, and not an empty string after trimming. `0`, `false`,
22
- * and empty arrays are considered present — those are legitimate values the
23
- * agent may want to persist.
33
+ * "Present" semantics for required-property values: defined, not null, and
34
+ * not a whitespace-only string. Numeric `0`, boolean `false`, and empty
35
+ * arrays count as present — the agent may legitimately persist those.
24
36
  */
25
37
  import type { LoadedSchema } from "./schema-loader.js";
38
+ import type { LiveSchemaSource } from "./live-schema-source.js";
26
39
  export interface ValidateWriteInput {
27
40
  labels: string[];
28
41
  properties: Record<string, unknown>;
29
42
  accountId?: string;
30
43
  }
44
+ export interface ValidatorEnv {
45
+ /** Markdown sidecar — required-property + synonym metadata. */
46
+ schema: LoadedSchema;
47
+ /** Live ∪ declared label source — gates label existence. */
48
+ liveSource: LiveSchemaSource;
49
+ /** Test-injectable log emitter. Default: process.stderr. */
50
+ emit?: (line: string) => void;
51
+ }
31
52
  /**
32
- * Validate a write against the loaded schema. Throws on the first violation.
33
- * The caller is responsible for logging the error before re-throwing this
34
- * function deliberately does not write to stderr so it stays a pure unit.
53
+ * Validate a write. Throws on the first violation. Caller is responsible
54
+ * for logging the thrown error in addition to the structured outcome lines
55
+ * this function emits this stays a (mostly) pure unit so test fixtures
56
+ * can capture both the throw path and the emit stream.
35
57
  */
36
- export declare function validateWrite(input: ValidateWriteInput, schema: LoadedSchema): void;
58
+ export declare function validateWrite(input: ValidateWriteInput, env: ValidatorEnv): void;
37
59
  //# sourceMappingURL=schema-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../src/lib/schema-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,YAAY,GACnB,IAAI,CA8EN"}
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../src/lib/schema-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,MAAM,EAAE,YAAY,CAAC;IACrB,4DAA4D;IAC5D,UAAU,EAAE,gBAAgB,CAAC;IAC7B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,YAAY,GAChB,IAAI,CA+GN"}
@@ -1,34 +1,50 @@
1
1
  /**
2
- * Schema validator — validates memory-write inputs against the LoadedSchema
3
- * produced by schema-loader.ts. Pure function, no I/O, no side effects.
2
+ * Schema validator — validates memory-write inputs against two sources of
3
+ * truth (Task 736):
4
+ *
5
+ * 1. `LiveSchemaSource` — recognised-label set = `db.labels()` snapshot
6
+ * ∪ `schema.cypher` constraint/index declarations. This is the gate.
7
+ * A label is recognised iff it appears in either set.
8
+ * 2. `LoadedSchema` (markdown sidecar) — required-property and naming-rule
9
+ * metadata for documented labels. Markdown is no longer a label-existence
10
+ * gate; required-property checks are skipped (with a log line) when the
11
+ * label is recognised by the live source but absent from markdown.
4
12
  *
5
13
  * Checks run in order; first failure throws with a descriptive message.
6
- * Every error names the specific violation and the source file that defined
7
- * the rule so the agent can self-correct on retry.
8
14
  *
9
- * 1. accountId: non-empty trimmed string
10
- * 2. label: at least one input label is recognised in the loaded schema
11
- * 3. synonyms: no property key appears in the wrongToCorrect map — this
12
- * runs BEFORE required-props so that a `firstName` typo is reported as
13
- * "rename firstName givenName" (actionable) instead of
14
- * "missing required property givenName" (leaves the agent to figure
15
- * out why their write was incomplete).
16
- * 4. required properties: for the primary (first recognised) label, every
17
- * required group is satisfied simple groups by presence, any-of
18
- * groups by at least one disjunct present
15
+ * 1. accountId non-empty trimmed string
16
+ * 2. label existence — at least one input label is in live declared.
17
+ * Rejection cites both sources and the nearest
18
+ * documented match (Levenshtein) when there is one
19
+ * 3. property synonym — no property key is a known wrong-name alias.
20
+ * Runs before required-props so a `firstName`
21
+ * typo is reported as "rename firstName →
22
+ * givenName" rather than "missing givenName"
23
+ * 4. required properties — for the primary label, fires only when the
24
+ * label is documented in markdown. Skipped (with
25
+ * a structured log line) when the label is
26
+ * recognised but undocumented — that's a
27
+ * stale-doc signal, not a write error
28
+ *
29
+ * The `[schema-validator]` log lines are the single observability surface.
30
+ * Operators reading server.log can distinguish "validation didn't run" from
31
+ * "validation passed" from "validation rejected" without source access.
19
32
  *
20
- * "Present" means the properties object has the key and the value is not
21
- * null, not undefined, and not an empty string after trimming. `0`, `false`,
22
- * and empty arrays are considered present — those are legitimate values the
23
- * agent may want to persist.
33
+ * "Present" semantics for required-property values: defined, not null, and
34
+ * not a whitespace-only string. Numeric `0`, boolean `false`, and empty
35
+ * arrays count as present — the agent may legitimately persist those.
24
36
  */
37
+ import { nearestLabel } from "../../../../../lib/graph-mcp/dist/schema-cypher-parser.js";
25
38
  /**
26
- * Validate a write against the loaded schema. Throws on the first violation.
27
- * The caller is responsible for logging the error before re-throwing this
28
- * function deliberately does not write to stderr so it stays a pure unit.
39
+ * Validate a write. Throws on the first violation. Caller is responsible
40
+ * for logging the thrown error in addition to the structured outcome lines
41
+ * this function emits this stays a (mostly) pure unit so test fixtures
42
+ * can capture both the throw path and the emit stream.
29
43
  */
30
- export function validateWrite(input, schema) {
44
+ export function validateWrite(input, env) {
45
+ const startedMs = Date.now();
31
46
  const { labels, properties, accountId } = input;
47
+ const emit = env.emit ?? defaultEmit;
32
48
  // ---------------------------------------------------------------------
33
49
  // 1. accountId non-empty
34
50
  // ---------------------------------------------------------------------
@@ -36,67 +52,77 @@ export function validateWrite(input, schema) {
36
52
  throw new Error("memory-write: accountId is required and must be a non-empty string");
37
53
  }
38
54
  // ---------------------------------------------------------------------
39
- // 2. At least one label is recognised
55
+ // 2. At least one label is recognised by the live source
56
+ // (recognised = live ∪ declared)
40
57
  // ---------------------------------------------------------------------
41
58
  if (!Array.isArray(labels) || labels.length === 0) {
42
59
  throw new Error("memory-write: labels is required and must contain at least one Neo4j label");
43
60
  }
44
- const recognisedLabels = labels.filter((l) => schema.labels.has(l));
45
- if (recognisedLabels.length === 0) {
46
- const known = Array.from(schema.labels.keys()).sort().join(", ");
47
- throw new Error(`memory-write: unknown Neo4j label(s) [${labels.join(", ")}]. Recognised labels loaded from schema references: ${known}`);
61
+ const live = env.liveSource.liveLabels();
62
+ const declared = env.liveSource.declaredLabels();
63
+ const recognised = env.liveSource.recognisedLabels();
64
+ const hits = [];
65
+ for (const label of labels) {
66
+ if (recognised.has(label))
67
+ hits.push(label);
68
+ }
69
+ if (hits.length === 0) {
70
+ const liveList = [...live].sort().join(", ");
71
+ const declaredList = [...declared].sort().join(", ");
72
+ const suggestion = nearestLabel(labels[0], recognised);
73
+ const suggestionFragment = suggestion
74
+ ? ` Did you mean '${suggestion}'?`
75
+ : "";
76
+ const labelStr = labels.join(", ");
77
+ emit(`[schema-validator] check label=${primaryForLog(labels)} outcome=rejected source=neither ms=${Date.now() - startedMs}`);
78
+ throw new Error(`memory-write: unknown Neo4j label(s) [${labelStr}].${suggestionFragment} Live db.labels(): [${liveList}]. Declared in schema.cypher: [${declaredList}].`);
48
79
  }
49
- // The "primary" label is the first recognised one. If an input has
50
- // multiple recognised labels (e.g. ["Person", "Applicant"] where both are
51
- // defined) we take the first — the agent's stated intent comes first.
52
- const primaryLabelName = recognisedLabels[0];
53
- const primary = schema.labels.get(primaryLabelName);
80
+ const primaryLabel = hits[0];
81
+ const inLive = live.has(primaryLabel);
82
+ const inDeclared = declared.has(primaryLabel);
83
+ const recognisedSource = inLive && inDeclared ? "both" : inLive ? "live" : "declared";
54
84
  // ---------------------------------------------------------------------
55
85
  // 3. No property key is a known Schema.org synonym (wrong name)
56
86
  //
57
- // Runs before the required-properties check so that a `firstName` typo
58
- // is reported as "rename firstName givenName" (actionable) instead of
59
- // "missing required property givenName" (leaves the agent guessing why
60
- // the write was incomplete).
61
- //
62
- // Only the agent-supplied keys are checked — `accountId` is platform-
63
- // injected and never a synonym candidate.
87
+ // Synonym map is independent of label `firstName` is wrong on every
88
+ // Person variant. Runs even when the label is markdown-undocumented;
89
+ // the synonyms apply to property semantics, not to specific labels.
64
90
  // ---------------------------------------------------------------------
65
91
  for (const key of Object.keys(properties)) {
66
- const hit = schema.wrongToCorrect.get(key);
92
+ const hit = env.schema.wrongToCorrect.get(key);
67
93
  if (hit) {
68
94
  throw new Error(`memory-write: property name '${key}' is not Schema.org — use '${hit.correct}' instead (${hit.sourceFile} property naming rules)`);
69
95
  }
70
96
  }
71
97
  // ---------------------------------------------------------------------
72
- // 4. Required properties for the primary label
73
- //
74
- // The evaluation uses the EFFECTIVE node properties — what memory-write
75
- // will actually persist to Neo4j. That's the agent-supplied `properties`
76
- // merged with the top-level `accountId` parameter, which memoryWrite()
77
- // always spreads into the node at write time. Without this merge, the
78
- // schema's "accountId is required" rule would reject every write because
79
- // `accountId` arrives as a separate top-level param, not inside
80
- // `properties`.
98
+ // 4. Required-property check only when the primary label is documented
99
+ // in markdown. Markdown-undocumented labels (e.g. AdminUser,
100
+ // LocalBusiness, KnowledgeDocument as of 2026-04-25) are accepted by
101
+ // label existence but their property shape is the agent's responsibility
102
+ // until a markdown row is added.
81
103
  // ---------------------------------------------------------------------
104
+ const definition = env.schema.markdownLabels.get(primaryLabel);
105
+ if (!definition) {
106
+ emit(`[schema-validator] check label=${primaryLabel} outcome=accepted source=${recognisedSource} ms=${Date.now() - startedMs}`);
107
+ emit(`[schema-validator] markdown-undocumented label=${primaryLabel}`);
108
+ return;
109
+ }
82
110
  const effectiveProperties = {
83
111
  ...properties,
84
112
  accountId,
85
113
  };
86
- for (const group of primary.required) {
114
+ for (const group of definition.required) {
87
115
  if (!groupIsSatisfied(group, effectiveProperties)) {
88
- throw new Error(`memory-write: missing required property ${formatGroup(group)} for label ${primaryLabelName} (${primary.sourceFile})`);
116
+ emit(`[schema-validator] required-props label=${primaryLabel} outcome=missing-group group=${formatGroupForLog(group)}`);
117
+ throw new Error(`memory-write: missing required property ${formatGroup(group)} for label ${primaryLabel} (${definition.sourceFile})`);
89
118
  }
90
119
  }
120
+ emit(`[schema-validator] required-props label=${primaryLabel} outcome=satisfied`);
121
+ emit(`[schema-validator] check label=${primaryLabel} outcome=accepted source=${recognisedSource} ms=${Date.now() - startedMs}`);
91
122
  }
92
123
  // ---------------------------------------------------------------------------
93
124
  // Helpers
94
125
  // ---------------------------------------------------------------------------
95
- /**
96
- * A value is "present" if it is defined, not null, and not an empty string
97
- * after trimming. Numeric zero, boolean false, and empty arrays count as
98
- * present — the agent may legitimately want to persist those.
99
- */
100
126
  function isPresent(value) {
101
127
  if (value === undefined || value === null)
102
128
  return false;
@@ -108,7 +134,6 @@ function groupIsSatisfied(group, properties) {
108
134
  if (group.kind === "simple") {
109
135
  return isPresent(properties[group.name]);
110
136
  }
111
- // any-of
112
137
  return group.names.some((name) => isPresent(properties[name]));
113
138
  }
114
139
  function formatGroup(group) {
@@ -116,4 +141,16 @@ function formatGroup(group) {
116
141
  return `'${group.name}'`;
117
142
  return group.names.map((n) => `'${n}'`).join(" or ");
118
143
  }
144
+ function formatGroupForLog(group) {
145
+ if (group.kind === "simple")
146
+ return group.name;
147
+ return group.names.join("|");
148
+ }
149
+ /** Pick a representative label for the rejection log line. */
150
+ function primaryForLog(labels) {
151
+ return labels[0] ?? "<empty>";
152
+ }
153
+ function defaultEmit(line) {
154
+ process.stderr.write(`${line}\n`);
155
+ }
119
156
  //# sourceMappingURL=schema-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../src/lib/schema-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../src/lib/schema-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * memory-classify MCP tool — classifies an unstructured document into typed
3
+ * sections via Claude Haiku, ready for memory-ingest to write as typed
4
+ * graph nodes (Task 737).
5
+ *
6
+ * Pairs with memory-ingest-extract (which produces the text) and memory-ingest
7
+ * (which consumes the typed structure). The classifier output is a deterministic
8
+ * JSON shape — every `kind` is verified against the live ontology label set
9
+ * before reaching this tool's caller, so a hallucinated label can never reach
10
+ * the graph writer.
11
+ */
12
+ import { type ClassifyResult } from "../lib/llm-classifier.js";
13
+ import type { LiveSchemaSource } from "../lib/live-schema-source.js";
14
+ export interface MemoryClassifyParams {
15
+ accountId: string;
16
+ /**
17
+ * The attachmentId from memory-ingest-extract — its cache holds the
18
+ * extracted text. The classifier never re-reads the file from disk.
19
+ */
20
+ attachmentId: string;
21
+ /**
22
+ * Anchor description — a short human sentence the classifier reads to
23
+ * decide which ontology edges fit. Examples:
24
+ * "subject = UserProfile (the account owner)"
25
+ * "subject = LocalBusiness (the operator's business)"
26
+ * "subject = Person {name: 'Jane Smith'} (a third party)"
27
+ */
28
+ anchorDescription: string;
29
+ /** Live ∪ declared label source — used to verify every classifier `kind`. */
30
+ liveSchemaSource: LiveSchemaSource;
31
+ }
32
+ export type MemoryClassifyResult = ClassifyResult;
33
+ export declare function memoryClassify(params: MemoryClassifyParams): Promise<MemoryClassifyResult>;
34
+ //# sourceMappingURL=memory-classify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-classify.d.ts","sourceRoot":"","sources":["../../src/tools/memory-classify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAgBlD,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAuB/B"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * memory-classify MCP tool — classifies an unstructured document into typed
3
+ * sections via Claude Haiku, ready for memory-ingest to write as typed
4
+ * graph nodes (Task 737).
5
+ *
6
+ * Pairs with memory-ingest-extract (which produces the text) and memory-ingest
7
+ * (which consumes the typed structure). The classifier output is a deterministic
8
+ * JSON shape — every `kind` is verified against the live ontology label set
9
+ * before reaching this tool's caller, so a hallucinated label can never reach
10
+ * the graph writer.
11
+ */
12
+ import { extractCache } from "./memory-ingest-extract.js";
13
+ import { classifyDocument } from "../lib/llm-classifier.js";
14
+ /** Natural-edge map pasted into the classifier prompt. Mirrors schema-base.md. */
15
+ const NATURAL_EDGE_MAP = `Section kind | Anchor edge (use direction "from-anchor")
16
+ Position | (anchor:UserProfile)-[:HAS_POSITION]->(typed:Position); typed -[:AT]-> related:Organization (merge:true)
17
+ Education | (anchor:UserProfile)-[:ATTENDED {degree, startDate, endDate}]->(typed:Organization {organizationCategory:'educational'})
18
+ Certification | (anchor:UserProfile)-[:HOLDS]->(typed:Credential)
19
+ Skill | (anchor:UserProfile)-[:HAS_SKILL]->(typed:DefinedTerm {category:'skill'})
20
+ Service | (anchor:LocalBusiness)-[:OFFERS]->(typed:Service)
21
+ Person | no anchor edge — typed:Person referenced via (KnowledgeDocument)-[:REFERENCES]->(Person), added by the writer
22
+ Organization | no anchor edge — typed:Organization referenced via (KnowledgeDocument)-[:REFERENCES]->(Organization), added by the writer
23
+ CreativeWork | no anchor edge — typed:CreativeWork referenced via (KnowledgeDocument)-[:REFERENCES]->(CreativeWork), added by the writer
24
+ UNMAPPED | no anchor edge — generic :Section fallback, added by the writer
25
+
26
+ Set "anchorEdge" to null for kinds whose row says "no anchor edge". For all others, emit { "type": "<edge>", "direction": "from-anchor", "properties": { ... edge properties if any } }.`;
27
+ export async function memoryClassify(params) {
28
+ const { accountId, attachmentId, anchorDescription, liveSchemaSource } = params;
29
+ const cached = extractCache.get(attachmentId);
30
+ if (!cached) {
31
+ throw new Error(`No cached extract found for attachment "${attachmentId}". ` +
32
+ `Call memory-ingest-extract first.`);
33
+ }
34
+ // Live ∪ declared labels — the gate the validator uses for memory-write.
35
+ // The classifier sees the same set so its output and the validator agree
36
+ // by construction.
37
+ const ontologyLabels = liveSchemaSource.recognisedLabels();
38
+ return classifyDocument({
39
+ accountId,
40
+ anchorDescription,
41
+ ontologyLabels,
42
+ naturalEdgeMap: NATURAL_EDGE_MAP,
43
+ documentText: cached.text,
44
+ });
45
+ }
46
+ //# sourceMappingURL=memory-classify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-classify.js","sourceRoot":"","sources":["../../src/tools/memory-classify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAuB,MAAM,0BAA0B,CAAC;AAwBjF,kFAAkF;AAClF,MAAM,gBAAgB,GAAG;;;;;;;;;;;yLAWgK,CAAC;AAE1L,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B;IAE5B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAEhF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,2CAA2C,YAAY,KAAK;YAC5D,mCAAmC,CACpC,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,mBAAmB;IACnB,MAAM,cAAc,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAE3D,OAAO,gBAAgB,CAAC;QACtB,SAAS;QACT,iBAAiB;QACjB,cAAc;QACd,cAAc,EAAE,gBAAgB;QAChC,YAAY,EAAE,MAAM,CAAC,IAAI;KAC1B,CAAC,CAAC;AACL,CAAC"}
@@ -10,8 +10,7 @@ export interface EditResult {
10
10
  oldSizeBytes: number;
11
11
  newSizeBytes: number;
12
12
  cachePopulated: boolean;
13
- extractSections?: number;
14
- extractChunks?: number;
13
+ extractTextLength?: number;
15
14
  }
16
15
  export declare function memoryEditAttachment(params: EditParams): Promise<EditResult>;
17
16
  //# sourceMappingURL=memory-edit-attachment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-edit-attachment.d.ts","sourceRoot":"","sources":["../../src/tools/memory-edit-attachment.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,UAAU,CAAC,CAsGrB"}
1
+ {"version":3,"file":"memory-edit-attachment.d.ts","sourceRoot":"","sources":["../../src/tools/memory-edit-attachment.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,UAAU,CAAC,CAkGrB"}
@@ -54,10 +54,11 @@ export async function memoryEditAttachment(params) {
54
54
  const metaPath = resolve(attachmentDir(accountId, attachmentId), `${attachmentId}.meta.json`);
55
55
  await writeFile(metaPath, JSON.stringify(updatedMeta, null, 2));
56
56
  log("meta-updated", `${oldSizeBytes} → ${newSizeBytes} bytes`);
57
- // Re-extract to populate the cache for memory-ingest
57
+ // Re-extract to populate the cache for memory-classify + memory-ingest.
58
+ // Post-Task-737: extract caches text only (no chunking); the typed-node
59
+ // ingest pipeline classifies and writes via memory-classify + memory-ingest.
58
60
  let cachePopulated = false;
59
- let extractSections;
60
- let extractChunks;
61
+ let extractTextLength;
61
62
  try {
62
63
  const extractResult = await memoryIngestExtract({
63
64
  storagePath: dataFile,
@@ -66,16 +67,15 @@ export async function memoryEditAttachment(params) {
66
67
  attachmentId,
67
68
  });
68
69
  cachePopulated = true;
69
- extractSections = extractResult.sections.length;
70
- extractChunks = extractResult.sections.reduce((n, s) => n + s.chunkCount, 0);
71
- log("cache-populated", `${extractSections} sections, ${extractChunks} chunks`);
70
+ extractTextLength = extractResult.textLength;
71
+ log("cache-populated", `${extractTextLength} chars`);
72
72
  }
73
73
  catch (err) {
74
74
  const msg = err instanceof Error ? err.message : String(err);
75
75
  log("cache-failed", msg);
76
76
  console.error(`[memory-edit-attachment] [${tag}] WARNING: file was updated on disk ` +
77
77
  `but extract cache could not be populated. The agent will need to call ` +
78
- `memory-ingest-extract manually before memory-ingest. Error: ${msg}`);
78
+ `memory-ingest-extract manually before memory-classify / memory-ingest. Error: ${msg}`);
79
79
  }
80
80
  log("complete", `${meta.filename} — ${oldSizeBytes} → ${newSizeBytes} bytes — cache ${cachePopulated ? "populated" : "FAILED"}`);
81
81
  return {
@@ -85,8 +85,7 @@ export async function memoryEditAttachment(params) {
85
85
  oldSizeBytes,
86
86
  newSizeBytes,
87
87
  cachePopulated,
88
- extractSections,
89
- extractChunks,
88
+ extractTextLength,
90
89
  };
91
90
  }
92
91
  //# sourceMappingURL=memory-edit-attachment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-edit-attachment.js","sourceRoot":"","sources":["../../src/tools/memory-edit-attachment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-edit-attachment.js","sourceRoot":"","sources":["../../src/tools/memory-edit-attachment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,8EAA8E;AAC9E,4EAA4E;AAC5E,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,iEAAiE;AACjE,0EAA0E;AAC1E,6EAA6E;AAC7E,gCAAgC;AAChC,EAAE;AACF,sEAAsE;AACtE,qEAAqE;AACrE,wEAAwE;AACxE,8EAA8E;AAE9E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;AAkBrE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAkB;IAElB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEpD,UAAU,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAEzC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,MAAe,EAAE,EAAE,CAC7C,OAAO,CAAC,KAAK,CACX,6BAA6B,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CACnG,CAAC;IAEJ,GAAG,CAAC,OAAO,CAAC,CAAC;IAEb,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,eAAe,YAAY,eAAe;YACxC,8DAA8D,CACjE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,gBAAgB,IAAI,CAAC,QAAQ,4DAA4D;YACvF,4BAA4B,IAAI,CAAC,QAAQ,IAAI,CAChD,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,eAAe,YAAY,iDAAiD,CAC7E,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAElC,oCAAoC;IACpC,GAAG,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAElC,sCAAsC;IACtC,MAAM,WAAW,GAAG;QAClB,GAAG,IAAI;QACP,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACnC,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CACtB,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,EACtC,GAAG,YAAY,YAAY,CAC5B,CAAC;IACF,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,GAAG,CAAC,cAAc,EAAE,GAAG,YAAY,MAAM,YAAY,QAAQ,CAAC,CAAC;IAE/D,wEAAwE;IACxE,wEAAwE;IACxE,6EAA6E;IAC7E,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,iBAAqC,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC;YAC9C,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY;SACb,CAAC,CAAC;QACH,cAAc,GAAG,IAAI,CAAC;QACtB,iBAAiB,GAAG,aAAa,CAAC,UAAU,CAAC;QAC7C,GAAG,CAAC,iBAAiB,EAAE,GAAG,iBAAiB,QAAQ,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACzB,OAAO,CAAC,KAAK,CACX,6BAA6B,GAAG,sCAAsC;YACpE,wEAAwE;YACxE,iFAAiF,GAAG,EAAE,CACzF,CAAC;IACJ,CAAC;IAED,GAAG,CACD,UAAU,EACV,GAAG,IAAI,CAAC,QAAQ,MAAM,YAAY,MAAM,YAAY,kBAAkB,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAChH,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
@@ -1,35 +1,23 @@
1
- import { type ChunkedSection } from "../lib/semantic-chunker.js";
2
- export type { ChunkedSection };
3
1
  export interface CachedExtract {
4
2
  filename: string;
5
3
  mimeType: string;
6
- sections: ChunkedSection[];
4
+ text: string;
7
5
  }
8
- /** In-process cache consumed by memory-ingest. Keyed by attachmentId. */
9
6
  export declare const extractCache: Map<string, CachedExtract>;
10
7
  export interface ExtractResult {
11
8
  filename: string;
12
9
  mimeType: string;
13
10
  sizeBytes: number;
14
11
  textLength: number;
15
- sections: Array<{
16
- title: string;
17
- chunkCount: number;
18
- chunks: Array<{
19
- id: number;
20
- preview: string;
21
- }>;
22
- }>;
12
+ /** First 240 chars of the extracted text — for the agent's situational awareness. */
13
+ preview: string;
23
14
  }
24
15
  /**
25
- * Extract text content from a file attachment and chunk it server-side.
16
+ * Extract text from a file attachment. Caches the full text by attachmentId
17
+ * for memory-classify and memory-ingest to consume.
26
18
  *
27
19
  * Supports: application/pdf, text/plain, text/markdown.
28
20
  * Rejects: text/csv (structured data → memory-write), images (metadata-only).
29
- *
30
- * The full chunk content is cached in-process (keyed by attachmentId) for
31
- * retrieval by memory-ingest. The response includes only chunk previews
32
- * so the model can generate summaries without echoing full content.
33
21
  */
34
22
  export declare function memoryIngestExtract(opts: {
35
23
  storagePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-ingest-extract.d.ts","sourceRoot":"","sources":["../../src/tools/memory-ingest-extract.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5E,YAAY,EAAE,cAAc,EAAE,CAAC;AAgD/B,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,yEAAyE;AACzE,eAAO,MAAM,YAAY,4BAAmC,CAAC;AAM7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,KAAK,CAAC;YACZ,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,CAAC,CA+EzB"}
1
+ {"version":3,"file":"memory-ingest-extract.d.ts","sourceRoot":"","sources":["../../src/tools/memory-ingest-extract.ts"],"names":[],"mappings":"AAqDA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,YAAY,4BAAmC,CAAC;AAM7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,aAAa,CAAC,CA2DzB"}