@rubytech/create-maxy 1.0.762 → 1.0.763
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 +50 -0
- package/payload/server/chunk-S3M2NZMA.js +3136 -0
- package/payload/server/chunk-SGBNY4NP.js +9540 -0
- package/payload/server/client-pool-5V5GX3UT.js +28 -0
- package/payload/server/maxy-edge.js +2 -2
- package/payload/server/public/assets/{admin-7vGwd7wu.js → admin-V6NDkEoR.js} +2 -2
- package/payload/server/public/index.html +1 -1
- package/payload/server/server.js +104 -6
package/package.json
CHANGED
|
@@ -802,6 +802,56 @@ FOR (tc:ToolCall) REQUIRE tc.callId IS UNIQUE;
|
|
|
802
802
|
CREATE INDEX tool_call_account_started IF NOT EXISTS
|
|
803
803
|
FOR (tc:ToolCall) ON (tc.accountId, tc.startedAt);
|
|
804
804
|
|
|
805
|
+
// ----------------------------------------------------------
|
|
806
|
+
// Component — Task 815 admin-resume rehydration.
|
|
807
|
+
//
|
|
808
|
+
// Every render-component event emitted on an assistant turn
|
|
809
|
+
// produces one Component node linked to its parent Message via
|
|
810
|
+
// (Message)-[:HAS_COMPONENT]->(Component). The agent's narrative
|
|
811
|
+
// text stays on Message.content; component name + data JSON +
|
|
812
|
+
// position-relative-to-text live here. Sibling-node design (not
|
|
813
|
+
// JSON-on-Message) avoids Neo4j's 128KB property soft-limit when
|
|
814
|
+
// document-editor bodies are large.
|
|
815
|
+
//
|
|
816
|
+
// Atomicity: persisted in the same Cypher transaction as the
|
|
817
|
+
// parent Message — no orphan Component possible. Reader is a
|
|
818
|
+
// single round-trip via OPTIONAL MATCH + collect (sort-before-
|
|
819
|
+
// collect: WITH m, c ORDER BY c.ordinal ASC, then collect).
|
|
820
|
+
//
|
|
821
|
+
// Properties:
|
|
822
|
+
// componentId — UUID, primary key
|
|
823
|
+
// conversationId / accountId / messageId — denormalised for
|
|
824
|
+
// account-scoped reads and cross-account isolation audits
|
|
825
|
+
// name — component name (document-editor, action-buttons,
|
|
826
|
+
// single-select, etc.)
|
|
827
|
+
// data — JSON-encoded payload string. Validated structurally
|
|
828
|
+
// on read (parseable, non-null object); per-component
|
|
829
|
+
// schema validation lives in validateComponentData.
|
|
830
|
+
// ordinal — 0-indexed sequence within the parent Message,
|
|
831
|
+
// tiebreak for components with the same textOffset.
|
|
832
|
+
// textOffset — length of Message.content at the moment this
|
|
833
|
+
// component arrived in the SSE stream. Reader uses
|
|
834
|
+
// it to interleave text-runs and components when
|
|
835
|
+
// reconstructing events: AdminEvent[].
|
|
836
|
+
// submitted — true once a PERSISTENT_COMPONENT (action-list,
|
|
837
|
+
// document-editor, rich-content-editor, grid-editor)
|
|
838
|
+
// was submitted by the user. Server-side detection
|
|
839
|
+
// of `_componentDone:true` user turns flips this.
|
|
840
|
+
// submittedAt — datetime when submitted=true was set (null otherwise)
|
|
841
|
+
// createdAt — datetime when the component was persisted
|
|
842
|
+
//
|
|
843
|
+
// (:Message)-[:HAS_COMPONENT]->(:Component)
|
|
844
|
+
// ----------------------------------------------------------
|
|
845
|
+
|
|
846
|
+
CREATE CONSTRAINT component_id_unique IF NOT EXISTS
|
|
847
|
+
FOR (c:Component) REQUIRE c.componentId IS UNIQUE;
|
|
848
|
+
|
|
849
|
+
CREATE INDEX component_message IF NOT EXISTS
|
|
850
|
+
FOR (c:Component) ON (c.messageId);
|
|
851
|
+
|
|
852
|
+
CREATE INDEX component_account IF NOT EXISTS
|
|
853
|
+
FOR (c:Component) ON (c.accountId);
|
|
854
|
+
|
|
805
855
|
// ----------------------------------------------------------
|
|
806
856
|
// :Trashed — Task 576 soft-delete primitive.
|
|
807
857
|
//
|