@rubytech/create-realagent-code 0.1.117 → 0.1.120

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 (137) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/neo4j/schema.cypher +124 -1
  3. package/payload/platform/package-lock.json +141 -125
  4. package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
  5. package/payload/platform/plugins/aeo/.claude-plugin/plugin.json +17 -0
  6. package/payload/platform/plugins/aeo/PLUGIN.md +81 -0
  7. package/payload/platform/plugins/aeo/mcp/dist/__tests__/audit-heuristics.test.d.ts +2 -0
  8. package/payload/platform/plugins/aeo/mcp/dist/__tests__/audit-heuristics.test.d.ts.map +1 -0
  9. package/payload/platform/plugins/aeo/mcp/dist/__tests__/audit-heuristics.test.js +121 -0
  10. package/payload/platform/plugins/aeo/mcp/dist/__tests__/audit-heuristics.test.js.map +1 -0
  11. package/payload/platform/plugins/aeo/mcp/dist/__tests__/schema-mapping.test.d.ts +2 -0
  12. package/payload/platform/plugins/aeo/mcp/dist/__tests__/schema-mapping.test.d.ts.map +1 -0
  13. package/payload/platform/plugins/aeo/mcp/dist/__tests__/schema-mapping.test.js +129 -0
  14. package/payload/platform/plugins/aeo/mcp/dist/__tests__/schema-mapping.test.js.map +1 -0
  15. package/payload/platform/plugins/aeo/mcp/dist/index.d.ts +2 -0
  16. package/payload/platform/plugins/aeo/mcp/dist/index.d.ts.map +1 -0
  17. package/payload/platform/plugins/aeo/mcp/dist/index.js +171 -0
  18. package/payload/platform/plugins/aeo/mcp/dist/index.js.map +1 -0
  19. package/payload/platform/plugins/aeo/mcp/dist/lib/audit-heuristics.d.ts +27 -0
  20. package/payload/platform/plugins/aeo/mcp/dist/lib/audit-heuristics.d.ts.map +1 -0
  21. package/payload/platform/plugins/aeo/mcp/dist/lib/audit-heuristics.js +274 -0
  22. package/payload/platform/plugins/aeo/mcp/dist/lib/audit-heuristics.js.map +1 -0
  23. package/payload/platform/plugins/aeo/mcp/dist/lib/neo4j.d.ts +5 -0
  24. package/payload/platform/plugins/aeo/mcp/dist/lib/neo4j.d.ts.map +1 -0
  25. package/payload/platform/plugins/aeo/mcp/dist/lib/neo4j.js +38 -0
  26. package/payload/platform/plugins/aeo/mcp/dist/lib/neo4j.js.map +1 -0
  27. package/payload/platform/plugins/aeo/mcp/dist/lib/schema-mapping.d.ts +48 -0
  28. package/payload/platform/plugins/aeo/mcp/dist/lib/schema-mapping.d.ts.map +1 -0
  29. package/payload/platform/plugins/aeo/mcp/dist/lib/schema-mapping.js +254 -0
  30. package/payload/platform/plugins/aeo/mcp/dist/lib/schema-mapping.js.map +1 -0
  31. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-audit-page.d.ts +25 -0
  32. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-audit-page.d.ts.map +1 -0
  33. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-audit-page.js +78 -0
  34. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-audit-page.js.map +1 -0
  35. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-emit-jsonld.d.ts +18 -0
  36. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-emit-jsonld.d.ts.map +1 -0
  37. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-emit-jsonld.js +56 -0
  38. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-emit-jsonld.js.map +1 -0
  39. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-write-llms-txt.d.ts +37 -0
  40. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-write-llms-txt.d.ts.map +1 -0
  41. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-write-llms-txt.js +94 -0
  42. package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-write-llms-txt.js.map +1 -0
  43. package/payload/platform/plugins/aeo/mcp/package.json +22 -0
  44. package/payload/platform/plugins/aeo/mcp/vitest.config.ts +9 -0
  45. package/payload/platform/plugins/aeo/skills/structured-answer/SKILL.md +53 -0
  46. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.d.ts +12 -1
  47. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.d.ts.map +1 -1
  48. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.js +34 -1
  49. package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.js.map +1 -1
  50. package/payload/platform/plugins/docs/references/aeo.md +87 -0
  51. package/payload/platform/plugins/docs/references/visitor-graph.md +82 -0
  52. package/payload/platform/plugins/email/PLUGIN.md +6 -0
  53. package/payload/platform/plugins/email/skills/email-composition/SKILL.md +180 -0
  54. package/payload/platform/plugins/memory/mcp/dist/index.js +5 -0
  55. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  56. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.d.ts +2 -0
  57. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.d.ts.map +1 -0
  58. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.js +62 -0
  59. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/label-origin-gate.test.js.map +1 -0
  60. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.d.ts +18 -0
  61. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.d.ts.map +1 -0
  62. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.js +29 -0
  63. package/payload/platform/plugins/memory/mcp/dist/lib/label-origin-gate.js.map +1 -0
  64. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js +2 -0
  65. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-emit.test.js.map +1 -1
  66. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js +1 -1
  67. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-write-emit.test.js.map +1 -1
  68. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts +3 -0
  69. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -1
  70. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +9 -1
  71. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  72. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
  73. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +8 -0
  74. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
  75. package/payload/platform/plugins/memory/mcp/vitest.config.ts +2 -0
  76. package/payload/platform/plugins/memory/references/schema-base.md +49 -1
  77. package/payload/platform/scripts/smoke-boot-services.sh +30 -2
  78. package/payload/platform/templates/specialists/agents/signal-detector.md +1 -1
  79. package/payload/premium-plugins/real-agent/plugins/buyers/.claude-plugin/plugin.json +1 -1
  80. package/payload/premium-plugins/real-agent/plugins/buyers/PLUGIN.md +33 -3
  81. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/index.d.ts +2 -0
  82. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/index.d.ts.map +1 -0
  83. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/index.js +97 -0
  84. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/index.js.map +1 -0
  85. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/lib/neo4j.d.ts +5 -0
  86. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/lib/neo4j.d.ts.map +1 -0
  87. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/lib/neo4j.js +40 -0
  88. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/lib/neo4j.js.map +1 -0
  89. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-backfill-from-logs.d.ts +24 -0
  90. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-backfill-from-logs.d.ts.map +1 -0
  91. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-backfill-from-logs.js +156 -0
  92. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-backfill-from-logs.js.map +1 -0
  93. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-engagement-score.d.ts +21 -0
  94. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-engagement-score.d.ts.map +1 -0
  95. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-engagement-score.js +65 -0
  96. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-engagement-score.js.map +1 -0
  97. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-event-ingest.d.ts +26 -0
  98. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-event-ingest.d.ts.map +1 -0
  99. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-event-ingest.js +78 -0
  100. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-event-ingest.js.map +1 -0
  101. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recent-by-page.d.ts +19 -0
  102. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recent-by-page.d.ts.map +1 -0
  103. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recent-by-page.js +41 -0
  104. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recent-by-page.js.map +1 -0
  105. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recent-by-person.d.ts +20 -0
  106. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recent-by-person.d.ts.map +1 -0
  107. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recent-by-person.js +44 -0
  108. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recent-by-person.js.map +1 -0
  109. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recommendation-ctr.d.ts +22 -0
  110. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recommendation-ctr.d.ts.map +1 -0
  111. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recommendation-ctr.js +41 -0
  112. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-recommendation-ctr.js.map +1 -0
  113. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-session-detail.d.ts +32 -0
  114. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-session-detail.d.ts.map +1 -0
  115. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-session-detail.js +87 -0
  116. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/dist/tools/visitor-session-detail.js.map +1 -0
  117. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/package-lock.json +2566 -0
  118. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/package.json +21 -0
  119. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/src/index.ts +145 -0
  120. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/src/lib/neo4j.ts +45 -0
  121. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/src/tools/visitor-backfill-from-logs.ts +189 -0
  122. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/src/tools/visitor-engagement-score.ts +87 -0
  123. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/src/tools/visitor-event-ingest.ts +119 -0
  124. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/src/tools/visitor-recent-by-page.ts +61 -0
  125. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/src/tools/visitor-recent-by-person.ts +65 -0
  126. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/src/tools/visitor-recommendation-ctr.ts +67 -0
  127. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/src/tools/visitor-session-detail.ts +127 -0
  128. package/payload/premium-plugins/real-agent/plugins/buyers/mcp/tsconfig.json +20 -0
  129. package/payload/premium-plugins/real-agent/plugins/buyers/skills/property-recommender/SKILL.md +11 -0
  130. package/payload/premium-plugins/real-agent/plugins/leads/skills/lead-nurturing/SKILL.md +9 -0
  131. package/payload/premium-plugins/real-agent/plugins/leads/skills/morning-round/SKILL.md +11 -0
  132. package/payload/premium-plugins/real-agent/plugins/vendors/skills/vendor-updates/SKILL.md +13 -0
  133. package/payload/server/{chunk-FJCI6X3H.js → chunk-HCYM5FLU.js} +2 -0
  134. package/payload/server/maxy-edge.js +1 -1
  135. package/payload/server/public/privacy.html +66 -0
  136. package/payload/server/public/v.js +191 -0
  137. package/payload/server/server.js +473 -85
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-realagent-code",
3
- "version": "0.1.117",
3
+ "version": "0.1.120",
4
4
  "description": "Install Real Agent — Built for agents. By agents.",
5
5
  "bin": {
6
6
  "create-realagent-code": "./dist/index.js"
@@ -355,7 +355,7 @@ FOR (n:LocalBusiness|Service|PriceSpecification|OpeningHoursSpecification|Organi
355
355
  |Task|Project|Event
356
356
  |Workflow|WorkflowStep|WorkflowRun|StepResult
357
357
  |Email|EmailAccount
358
- |Position|Credential|Agent)
358
+ |Position|Credential|Agent|Idea)
359
359
  ON EACH [n.name, n.firstName, n.lastName, n.givenName, n.familyName,
360
360
  n.title, n.currentTitle, n.summary, n.body, n.content, n.text, n.description, n.headline, n.abstract,
361
361
  n.email, n.note, n.label, n.value, n.message, n.preview, n.tagline,
@@ -1173,3 +1173,126 @@ FOR (i:ImageObject) ON (i.accountId);
1173
1173
  // label before the first :PostalAddress write lands.
1174
1174
  CREATE INDEX postal_address_postcode IF NOT EXISTS
1175
1175
  FOR (a:PostalAddress) ON (a.postalCode);
1176
+
1177
+ // ----------------------------------------------------------
1178
+ <<<<<<< HEAD
1179
+ // AEOAudit — Answer Engine Optimisation audit history (Task 354).
1180
+ // Written by the aeo plugin's aeo-audit-page tool when invoked
1181
+ // with persist=true. Append-only audit trail; each invocation
1182
+ // produces a new node. Linked via
1183
+ // (KnowledgeDocument)-[:HAS_AEO_AUDIT]->(AEOAudit) when the audit
1184
+ // targets a stored document, otherwise standalone keyed on
1185
+ // (accountId, target, runAt).
1186
+ //
1187
+ // Properties: accountId, auditId (uuid), target (url or
1188
+ // '(inline html)'), score (0-100), heuristicsJson (serialized
1189
+ // per-heuristic result), runAt, createdByAgent, createdBySession,
1190
+ // createdAt.
1191
+ //
1192
+ // Monitor-related labels (:AEOPrompt, :AEOCheck, :AEOCitation) are
1193
+ // intentionally NOT declared in v1 — the multi-engine monitor is
1194
+ // filed as a follow-up task and the schema will land with it.
1195
+ // ----------------------------------------------------------
1196
+
1197
+ CREATE CONSTRAINT aeo_audit_id_unique IF NOT EXISTS
1198
+ FOR (a:AEOAudit) REQUIRE a.auditId IS UNIQUE;
1199
+
1200
+ CREATE INDEX aeo_audit_account IF NOT EXISTS
1201
+ FOR (a:AEOAudit) ON (a.accountId);
1202
+
1203
+ CREATE INDEX aeo_audit_target IF NOT EXISTS
1204
+ FOR (a:AEOAudit) ON (a.target);
1205
+
1206
+ CREATE INDEX aeo_audit_run_at IF NOT EXISTS
1207
+ FOR (a:AEOAudit) ON (a.runAt);
1208
+
1209
+ // ----------------------------------------------------------
1210
+ // Visitor graph (Task 357)
1211
+ //
1212
+ // Pixel emits pageview/click/scroll/dwell to POST /v/event. Events land
1213
+ // under :Session, attributed to :Person (via signed-token cookie) or
1214
+ // :AnonVisitor (cookie-less). When a previously anonymous browser
1215
+ // completes its first signed-token click, the AnonVisitor merges into
1216
+ // the Person and prior :Session edges reattribute. Schema-org-ish:
1217
+ // Session/PageView/Click are bespoke (no schema.org coverage of analytics);
1218
+ // Page is `schema:WebPage`-shaped (url, name).
1219
+ //
1220
+ // Multi-tenancy: every node carries accountId. Uniqueness constraints
1221
+ // are composite (accountId, idKey) — sessionId/visitorId/url collisions
1222
+ // across accounts are valid.
1223
+ //
1224
+ // Cascade: contact-erase on :Person trashes (:Session)-[:HAS_EVENT]->(*)
1225
+ // the same way profile-delete cascades preferences. :Page and :Listing
1226
+ // are content metadata and intentionally survive (no PII).
1227
+ // ----------------------------------------------------------
1228
+
1229
+ CREATE CONSTRAINT session_id_unique IF NOT EXISTS
1230
+ FOR (s:Session) REQUIRE (s.accountId, s.sessionId) IS UNIQUE;
1231
+
1232
+ CREATE INDEX session_account IF NOT EXISTS
1233
+ FOR (s:Session) ON (s.accountId);
1234
+
1235
+ CREATE INDEX session_started_at IF NOT EXISTS
1236
+ FOR (s:Session) ON (s.startedAt);
1237
+
1238
+ CREATE CONSTRAINT anon_visitor_id_unique IF NOT EXISTS
1239
+ FOR (av:AnonVisitor) REQUIRE (av.accountId, av.visitorId) IS UNIQUE;
1240
+
1241
+ CREATE INDEX anon_visitor_account IF NOT EXISTS
1242
+ FOR (av:AnonVisitor) ON (av.accountId);
1243
+
1244
+ CREATE CONSTRAINT page_url_unique IF NOT EXISTS
1245
+ FOR (pg:Page) REQUIRE (pg.accountId, pg.url) IS UNIQUE;
1246
+
1247
+ CREATE INDEX page_account IF NOT EXISTS
1248
+ FOR (pg:Page) ON (pg.accountId);
1249
+
1250
+ // PageView/Click/ScrollMilestone/Recommendation: no uniqueness, just
1251
+ // accountId index. ScrollMilestone is a roll-up (one per PageView,
1252
+ // updated in place) so a uniqueness constraint on (sessionId, pageViewId)
1253
+ // would also work — left as index until a write pattern needs it.
1254
+ CREATE INDEX pageview_account IF NOT EXISTS
1255
+ FOR (pv:PageView) ON (pv.accountId);
1256
+
1257
+ CREATE INDEX pageview_occurred_at IF NOT EXISTS
1258
+ FOR (pv:PageView) ON (pv.occurredAt);
1259
+
1260
+ CREATE INDEX click_account IF NOT EXISTS
1261
+ FOR (cl:Click) ON (cl.accountId);
1262
+
1263
+ CREATE INDEX click_occurred_at IF NOT EXISTS
1264
+ FOR (cl:Click) ON (cl.occurredAt);
1265
+
1266
+ CREATE INDEX scroll_milestone_account IF NOT EXISTS
1267
+ FOR (sm:ScrollMilestone) ON (sm.accountId);
1268
+
1269
+ CREATE INDEX recommendation_account IF NOT EXISTS
1270
+ FOR (rec:Recommendation) ON (rec.accountId);
1271
+
1272
+ CREATE INDEX recommendation_session_key IF NOT EXISTS
1273
+ FOR (rec:Recommendation) ON (rec.sessionKey);
1274
+ =======
1275
+ // Idea (Task 352) — original-thinking candidates extracted by
1276
+ // the signal-detector specialist from admin-side conversations.
1277
+ // Written via memory-write(labels:["Idea"], ...) with one edge
1278
+ // (:Conversation)-[:HAS_IDEA]->(:Idea). Forward-only write surface:
1279
+ // no historical backfill, no dedup, no clustering — let the brain
1280
+ // accumulate first. Declared here so memory-write's label validator
1281
+ // (db.labels() ∪ schema.cypher) registers the label on a fresh
1282
+ // deploy where no :Idea node has yet landed; without this, the
1283
+ // first write is rejected as "unknown label" and the specialist's
1284
+ // LOUD-FAIL surfaces the rejection without anything landing.
1285
+ // ----------------------------------------------------------
1286
+
1287
+ CREATE INDEX idea_account IF NOT EXISTS
1288
+ FOR (i:Idea) ON (i.accountId);
1289
+
1290
+ CREATE VECTOR INDEX idea_embedding IF NOT EXISTS
1291
+ FOR (i:Idea) ON (i.embedding)
1292
+ OPTIONS {
1293
+ indexConfig: {
1294
+ `vector.dimensions`: 768,
1295
+ `vector.similarity_function`: 'cosine'
1296
+ }
1297
+ };
1298
+ >>>>>>> worktree-task-352-idea-schema