@rubytech/create-maxy 1.0.698 → 1.0.699
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
CHANGED
|
@@ -259,8 +259,8 @@ ON EACH [k.summary, k.content];
|
|
|
259
259
|
|
|
260
260
|
// ----------------------------------------------------------
|
|
261
261
|
// Conversation node — persistent conversation sessions
|
|
262
|
-
// One Conversation per sessionKey.
|
|
263
|
-
//
|
|
262
|
+
// One Conversation per sessionKey. Account scope is encoded by the
|
|
263
|
+
// `accountId` property on the node itself — every read filters by it.
|
|
264
264
|
// Public conversations carry a visitorId (browser cookie) and
|
|
265
265
|
// agentSlug for session resume across page reloads and server restarts.
|
|
266
266
|
// Task 621 — carries a `summary` string denormalised from the first
|
|
@@ -463,8 +463,9 @@ FOR (sr:StepResult) ON (sr.runId);
|
|
|
463
463
|
|
|
464
464
|
// ----------------------------------------------------------
|
|
465
465
|
// UserProfile node — structured knowledge about the business owner
|
|
466
|
-
// Platform-native (no Schema.org equivalent). One per
|
|
467
|
-
// Linked via (
|
|
466
|
+
// Platform-native (no Schema.org equivalent). One per (accountId, userId).
|
|
467
|
+
// Linked via (AdminUser)-[:HAS_PROFILE]->(UserProfile). Account scope is
|
|
468
|
+
// encoded by the `accountId` property on the node itself.
|
|
468
469
|
//
|
|
469
470
|
// Created automatically on first admin session start via MERGE.
|
|
470
471
|
// Properties populated progressively through conversation and
|
|
@@ -717,3 +718,31 @@ FOR (n:Trashed) ON (n.accountId);
|
|
|
717
718
|
|
|
718
719
|
CREATE INDEX trashed_at IF NOT EXISTS
|
|
719
720
|
FOR (n:Trashed) ON (n.trashedAt);
|
|
721
|
+
|
|
722
|
+
// ----------------------------------------------------------
|
|
723
|
+
// Person.linkedinUrl — natural key for LinkedIn-origin Persons.
|
|
724
|
+
// Indexed (not uniquely constrained) so a Person can appear
|
|
725
|
+
// first from another source (email-first) and later have its
|
|
726
|
+
// linkedinUrl filled in without collision. Schema-base requires
|
|
727
|
+
// `email or telephone` on :Person, but LinkedIn basic exports
|
|
728
|
+
// rarely emit either for connections; `linkedinUrl` is the
|
|
729
|
+
// reliable dedup key for the linkedin-import skill.
|
|
730
|
+
// ----------------------------------------------------------
|
|
731
|
+
CREATE INDEX person_linkedin_url IF NOT EXISTS
|
|
732
|
+
FOR (p:Person) ON (p.linkedinUrl);
|
|
733
|
+
|
|
734
|
+
// ----------------------------------------------------------
|
|
735
|
+
// Credential — schema:EducationalOccupationalCredential.
|
|
736
|
+
// Professional certifications (e.g. LinkedIn's Certifications.csv,
|
|
737
|
+
// or credentials entered through memory-write). Natural key is
|
|
738
|
+
// the triple (accountId, name, authority) — a credential is
|
|
739
|
+
// identified by what it is and who issued it, within a tenant.
|
|
740
|
+
// No existing Maxy label covers this semantics, so a new label
|
|
741
|
+
// is warranted (unlike articles → :CreativeWork, recommendations
|
|
742
|
+
// → :Review, skills → :DefinedTerm, which all reuse existing labels).
|
|
743
|
+
// ----------------------------------------------------------
|
|
744
|
+
CREATE CONSTRAINT credential_unique IF NOT EXISTS
|
|
745
|
+
FOR (c:Credential) REQUIRE (c.accountId, c.name, c.authority) IS UNIQUE;
|
|
746
|
+
|
|
747
|
+
CREATE INDEX credential_account IF NOT EXISTS
|
|
748
|
+
FOR (c:Credential) ON (c.accountId);
|