@rubytech/create-maxy-code 0.1.118 → 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.
- package/package.json +1 -1
- package/payload/platform/neo4j/schema.cypher +95 -4
- package/payload/platform/package-lock.json +141 -125
- package/payload/platform/plugins/aeo/PLUGIN.md +1 -1
- package/payload/platform/plugins/aeo/mcp/dist/__tests__/audit-heuristics.test.d.ts +2 -0
- package/payload/platform/plugins/aeo/mcp/dist/__tests__/audit-heuristics.test.d.ts.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/__tests__/audit-heuristics.test.js +121 -0
- package/payload/platform/plugins/aeo/mcp/dist/__tests__/audit-heuristics.test.js.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/__tests__/schema-mapping.test.d.ts +2 -0
- package/payload/platform/plugins/aeo/mcp/dist/__tests__/schema-mapping.test.d.ts.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/__tests__/schema-mapping.test.js +129 -0
- package/payload/platform/plugins/aeo/mcp/dist/__tests__/schema-mapping.test.js.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/index.d.ts +2 -0
- package/payload/platform/plugins/aeo/mcp/dist/index.d.ts.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/index.js +171 -0
- package/payload/platform/plugins/aeo/mcp/dist/index.js.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/audit-heuristics.d.ts +27 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/audit-heuristics.d.ts.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/audit-heuristics.js +274 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/audit-heuristics.js.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/neo4j.d.ts +5 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/neo4j.d.ts.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/neo4j.js +38 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/neo4j.js.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/schema-mapping.d.ts +48 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/schema-mapping.d.ts.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/schema-mapping.js +254 -0
- package/payload/platform/plugins/aeo/mcp/dist/lib/schema-mapping.js.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-audit-page.d.ts +25 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-audit-page.d.ts.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-audit-page.js +78 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-audit-page.js.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-emit-jsonld.d.ts +18 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-emit-jsonld.d.ts.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-emit-jsonld.js +56 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-emit-jsonld.js.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-write-llms-txt.d.ts +37 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-write-llms-txt.d.ts.map +1 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-write-llms-txt.js +94 -0
- package/payload/platform/plugins/aeo/mcp/dist/tools/aeo-write-llms-txt.js.map +1 -0
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.d.ts +12 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.d.ts.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.js +34 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-erase.js.map +1 -1
- package/payload/platform/plugins/docs/references/aeo.md +2 -2
- package/payload/platform/plugins/docs/references/visitor-graph.md +82 -0
- package/payload/platform/plugins/memory/references/schema-base.md +44 -0
- package/payload/server/{chunk-FJCI6X3H.js → chunk-HCYM5FLU.js} +2 -0
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/public/privacy.html +66 -0
- package/payload/server/public/v.js +191 -0
- package/payload/server/server.js +473 -85
package/package.json
CHANGED
|
@@ -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,
|
|
@@ -1102,7 +1102,6 @@ CREATE INDEX cloudflare_hostname_account IF NOT EXISTS
|
|
|
1102
1102
|
FOR (h:CloudflareHostname) ON (h.accountId);
|
|
1103
1103
|
|
|
1104
1104
|
// ----------------------------------------------------------
|
|
1105
|
-
<<<<<<< HEAD
|
|
1106
1105
|
// Estate-agent ontology (Task 358) — Listing-centric model
|
|
1107
1106
|
// documented at platform/plugins/memory/references/schema-estate-agent.md.
|
|
1108
1107
|
//
|
|
@@ -1174,7 +1173,9 @@ FOR (i:ImageObject) ON (i.accountId);
|
|
|
1174
1173
|
// label before the first :PostalAddress write lands.
|
|
1175
1174
|
CREATE INDEX postal_address_postcode IF NOT EXISTS
|
|
1176
1175
|
FOR (a:PostalAddress) ON (a.postalCode);
|
|
1177
|
-
|
|
1176
|
+
|
|
1177
|
+
// ----------------------------------------------------------
|
|
1178
|
+
<<<<<<< HEAD
|
|
1178
1179
|
// AEOAudit — Answer Engine Optimisation audit history (Task 354).
|
|
1179
1180
|
// Written by the aeo plugin's aeo-audit-page tool when invoked
|
|
1180
1181
|
// with persist=true. Append-only audit trail; each invocation
|
|
@@ -1204,4 +1205,94 @@ FOR (a:AEOAudit) ON (a.target);
|
|
|
1204
1205
|
|
|
1205
1206
|
CREATE INDEX aeo_audit_run_at IF NOT EXISTS
|
|
1206
1207
|
FOR (a:AEOAudit) ON (a.runAt);
|
|
1207
|
-
|
|
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
|