spine-framework-cortex 0.1.5 → 0.1.7

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spine-framework-cortex",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Cortex — AI-powered support, CRM, and knowledge base app for Spine Framework",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -3,10 +3,10 @@
3
3
  "slug": "account_opportunities",
4
4
  "name": "Account Opportunities",
5
5
  "description": "Links accounts to their opportunity queue entries",
6
- "source_type_slug": "account",
7
- "target_type_slug": "item",
8
- "relationship_type": "many-to-many",
9
6
  "config": {
7
+ "source_type_slug": "account",
8
+ "target_type_slug": "item",
9
+ "relationship_type": "many-to-many",
10
10
  "cardinality": "many-to-many"
11
11
  },
12
12
  "is_active": true
@@ -15,10 +15,10 @@
15
15
  "slug": "account_signals",
16
16
  "name": "Account Signals",
17
17
  "description": "Links accounts to their funnel signals",
18
- "source_type_slug": "account",
19
- "target_type_slug": "item",
20
- "relationship_type": "many-to-many",
21
18
  "config": {
19
+ "source_type_slug": "account",
20
+ "target_type_slug": "item",
21
+ "relationship_type": "many-to-many",
22
22
  "cardinality": "many-to-many"
23
23
  },
24
24
  "is_active": true
@@ -27,10 +27,10 @@
27
27
  "slug": "analyzed_by",
28
28
  "name": "Analyzed By",
29
29
  "description": "Ticket analyzed by case analysis",
30
- "source_type_slug": "item",
31
- "target_type_slug": "item",
32
- "relationship_type": "many-to-many",
33
30
  "config": {
31
+ "source_type_slug": "item",
32
+ "target_type_slug": "item",
33
+ "relationship_type": "many-to-many",
34
34
  "forward_label": "analyzed by",
35
35
  "reverse_label": "analysis of"
36
36
  },
@@ -40,10 +40,10 @@
40
40
  "slug": "tagged_with",
41
41
  "name": "Tagged With",
42
42
  "description": "Entity tagged with a specific tag",
43
- "source_type_slug": "item",
44
- "target_type_slug": "item",
45
- "relationship_type": "many-to-many",
46
43
  "config": {
44
+ "source_type_slug": "item",
45
+ "target_type_slug": "item",
46
+ "relationship_type": "many-to-many",
47
47
  "forward_label": "tagged with",
48
48
  "reverse_label": "applied to"
49
49
  },
package/seed/roles.json CHANGED
@@ -1,7 +1,6 @@
1
1
  [
2
2
  {
3
3
  "slug": "support",
4
- "app_slug": "cortex",
5
4
  "name": "Support",
6
5
  "description": "Support agent with full CRM and support access",
7
6
  "permissions": ["*"],
@@ -4,8 +4,8 @@
4
4
  "description": "Automatically triggers case analysis when support tickets are resolved",
5
5
  "trigger_type": "event",
6
6
  "event_type": "item_updated",
7
- "scope": "account",
8
7
  "config": {
8
+ "scope": "account",
9
9
  "filters": [
10
10
  { "field": "status", "value": "resolved", "operator": "$eq" },
11
11
  { "field": "type_id", "type_slug": "support_ticket", "operator": "$eq" }
@@ -24,8 +24,8 @@
24
24
  "description": "Processes funnel signals to update lead scores and lifecycle stages",
25
25
  "trigger_type": "event",
26
26
  "event_type": "item_created",
27
- "scope": "account",
28
27
  "config": {
28
+ "scope": "account",
29
29
  "filters": {},
30
30
  "type_slug": "funnel_signal",
31
31
  "entity_type": "item"
@@ -39,8 +39,8 @@
39
39
  "description": "Hourly dashboard metric aggregation",
40
40
  "trigger_type": "cron",
41
41
  "event_type": null,
42
- "scope": "account",
43
42
  "config": {
43
+ "scope": "account",
44
44
  "function": "funnel-timers.aggregation",
45
45
  "schedule": "0 * * * *",
46
46
  "timezone": "UTC",
@@ -55,8 +55,8 @@
55
55
  "description": "Daily recalculation of account ratings for score decay",
56
56
  "trigger_type": "cron",
57
57
  "event_type": null,
58
- "scope": "account",
59
58
  "config": {
59
+ "scope": "account",
60
60
  "function": "funnel-timers.scoreDecay",
61
61
  "schedule": "59 23 * * *",
62
62
  "timezone": "UTC",
@@ -71,8 +71,8 @@
71
71
  "description": "Daily purge of expired anonymous sessions",
72
72
  "trigger_type": "cron",
73
73
  "event_type": null,
74
- "scope": "account",
75
74
  "config": {
75
+ "scope": "account",
76
76
  "function": "funnel-timers.sessionCleanup",
77
77
  "schedule": "0 2 * * *",
78
78
  "timezone": "UTC",
package/seed/types.json CHANGED
@@ -777,5 +777,59 @@
777
777
  "functionality": null
778
778
  },
779
779
  "validation_schema": {}
780
+ },
781
+ {
782
+ "kind": "item",
783
+ "slug": "support_ticket",
784
+ "name": "Support Ticket",
785
+ "description": "Customer support request or issue",
786
+ "icon": "ticket",
787
+ "color": "#F59E0B",
788
+ "ownership": "tenant",
789
+ "is_active": true,
790
+ "design_schema": {
791
+ "fields": {
792
+ "title": { "data_type": "text", "label": "Title", "required": true, "permissions": { "system_admin": ["read", "write"], "support": ["read", "write"], "member": ["read", "write"] } },
793
+ "description": { "data_type": "richtext", "label": "Description", "required": true, "permissions": { "system_admin": ["read", "write"], "support": ["read", "write"], "member": ["read", "write"] } },
794
+ "status": { "data_type": "select", "label": "Status", "required": true, "options": [{"label": "Open", "value": "open"}, {"label": "In Progress", "value": "in_progress"}, {"label": "Resolved", "value": "resolved"}, {"label": "Closed", "value": "closed"}], "permissions": { "system_admin": ["read", "write"], "support": ["read", "write"], "member": ["read"] } },
795
+ "priority": { "data_type": "select", "label": "Priority", "required": false, "options": [{"label": "Low", "value": "low"}, {"label": "Medium", "value": "medium"}, {"label": "High", "value": "high"}, {"label": "Urgent", "value": "urgent"}], "permissions": { "system_admin": ["read", "write"], "support": ["read", "write"], "member": ["read"] } },
796
+ "channel": { "data_type": "select", "label": "Channel", "required": false, "options": [{"label": "Email", "value": "email"}, {"label": "Chat", "value": "chat"}, {"label": "Portal", "value": "portal"}, {"label": "Phone", "value": "phone"}], "permissions": { "system_admin": ["read", "write"], "support": ["read", "write"], "member": ["read"] } },
797
+ "assignee_id": { "data_type": "uuid", "label": "Assigned To", "required": false, "permissions": { "system_admin": ["read", "write"], "support": ["read", "write"], "member": ["read"] } },
798
+ "resolved_at": { "data_type": "datetime", "label": "Resolved At", "required": false, "permissions": { "system_admin": ["read", "write"], "support": ["read", "write"], "member": ["read"] } },
799
+ "satisfaction_score": { "data_type": "number", "label": "Satisfaction Score", "required": false, "validation": { "min": 1, "max": 5 }, "permissions": { "system_admin": ["read", "write"], "support": ["read"], "member": ["read", "write"] } }
800
+ },
801
+ "views": {
802
+ "default_list": {
803
+ "type": "list",
804
+ "display": "table",
805
+ "label": "Support Tickets",
806
+ "fields": {
807
+ "title": { "sortable": true, "display_type": "text" },
808
+ "status": { "sortable": true, "display_type": "badge" },
809
+ "priority": { "sortable": true, "display_type": "badge" },
810
+ "channel": { "sortable": false, "display_type": "badge" }
811
+ },
812
+ "default_sort": { "field": "created_at", "direction": "desc" }
813
+ },
814
+ "default_detail": {
815
+ "type": "detail",
816
+ "label": "Support Ticket",
817
+ "sections": [
818
+ { "title": "Ticket", "fields": { "title": { "display_type": "input" }, "description": { "display_type": "richtext" }, "status": { "display_type": "select" }, "priority": { "display_type": "select" } } },
819
+ { "title": "Assignment", "fields": { "assignee_id": { "display_type": "text" }, "channel": { "display_type": "select" }, "resolved_at": { "display_type": "timestamp" } } },
820
+ { "title": "Feedback", "fields": { "satisfaction_score": { "display_type": "number" } } }
821
+ ]
822
+ }
823
+ },
824
+ "record_permissions": { "system_admin": ["create", "read", "update", "delete"], "support": ["create", "read", "update"], "member": ["create", "read"] },
825
+ "functionality": null
826
+ },
827
+ "validation_schema": {
828
+ "fields": {
829
+ "title": { "data_type": "text", "required": true },
830
+ "description": { "data_type": "richtext", "required": true },
831
+ "status": { "data_type": "text", "required": true }
832
+ }
833
+ }
780
834
  }
781
835
  ]