@timmeck/brain-core 2.36.21 → 2.36.22

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.
@@ -606,7 +606,7 @@ canvas{display:block;width:100%;height:100%}
606
606
  const state = {
607
607
  ecosystem:null, engines:[], watchdog:[], plugins:[], borg:null, analytics:null,
608
608
  llm:null, thoughts:[], connected:false, lastThoughtTime:0,
609
- errors:null, selfmod:null, missions:null, knowledge:null
609
+ errors:null, selfmod:null, missions:null, knowledge:null, debates:null
610
610
  };
611
611
 
612
612
  // ── Navigation ────────────────────────────────────────────
@@ -973,7 +973,10 @@ function renderAnalytics() {
973
973
  if (a.trading) {
974
974
  const t = a.trading;
975
975
  setText('tp-signals', num(t.signals));
976
+ setText('tp-analysis', num(t.rules));
976
977
  setText('tp-trades', num(t.trades));
978
+ setText('tp-pnl', t.pnl != null ? (t.pnl >= 0 ? '+' : '') + '$' + Number(t.pnl).toFixed(0) : '0');
979
+ setText('tp-learned', num(t.rules));
977
980
  setText('tradingWinRate', t.winRate ? (Number(t.winRate)*100).toFixed(1)+'%' : '--');
978
981
  setText('tradingEquity', t.equity ? '$'+Number(t.equity).toLocaleString() : '--');
979
982
  setText('tradingPositions', num(t.positions));
@@ -981,8 +984,12 @@ function renderAnalytics() {
981
984
  if (a.marketing) {
982
985
  const m = a.marketing;
983
986
  setText('mp-posts', num(m.posts));
984
- setText('mp-engagement', num(m.engagement));
987
+ setText('mp-engagement', num(m.strategies));
988
+ setText('mp-patterns', num(m.rules));
989
+ setText('mp-campaigns', num(m.campaigns));
985
990
  setText('marketingCampaigns', num(m.campaigns));
991
+ setText('marketingTopContent', num(m.templates) > 0 ? num(m.templates) + ' Templates' : '--');
992
+ setText('marketingAudience', num(m.strategies) > 0 ? num(m.strategies) + ' Strategien' : '--');
986
993
  }
987
994
  }
988
995
  function num(v) { if (v == null) return 0; if (typeof v === 'object') return v.total || v.count || v.length || Object.keys(v).length || 0; return Number(v) || 0; }
@@ -24,11 +24,18 @@ export interface AggregatedAnalytics {
24
24
  trades: number;
25
25
  winRate: number;
26
26
  signals: number;
27
+ equity?: number;
28
+ positions?: number;
29
+ pnl?: number;
30
+ rules?: number;
27
31
  };
28
32
  marketing?: {
29
33
  posts: number;
30
34
  campaigns: number;
31
35
  engagement: number;
36
+ strategies?: number;
37
+ rules?: number;
38
+ templates?: number;
32
39
  };
33
40
  }
34
41
  export declare class EcosystemService {
@@ -60,10 +60,11 @@ export class EcosystemService {
60
60
  */
61
61
  async getAggregatedAnalytics() {
62
62
  const analytics = {};
63
- const [brainResult, tradingResult, marketingResult] = await Promise.all([
63
+ const [brainResult, tradingResult, marketingResult, paperResult] = await Promise.all([
64
64
  this.crossBrain.query('brain', 'analytics.summary'),
65
65
  this.crossBrain.query('trading-brain', 'analytics.summary'),
66
66
  this.crossBrain.query('marketing-brain', 'analytics.summary'),
67
+ this.crossBrain.query('trading-brain', 'paper.status'),
67
68
  ]);
68
69
  if (brainResult != null) {
69
70
  const data = brainResult;
@@ -75,18 +76,34 @@ export class EcosystemService {
75
76
  }
76
77
  if (tradingResult != null) {
77
78
  const data = tradingResult;
79
+ const trades = data.trades;
80
+ const rules = data.rules;
81
+ const network = data.network;
82
+ const paper = paperResult;
78
83
  analytics.trading = {
79
- trades: data.trades ?? 0,
80
- winRate: data.winRate ?? 0,
81
- signals: data.signals ?? 0,
84
+ trades: typeof trades === 'object' ? trades?.total ?? 0 : Number(trades) || 0,
85
+ winRate: typeof trades === 'object' ? (trades?.recentWinRate ?? 0) / 100 : 0,
86
+ signals: network?.synapses ?? 0,
87
+ rules: typeof rules === 'object' ? rules?.total ?? 0 : 0,
88
+ equity: Number(paper?.equity) || 0,
89
+ positions: Number(paper?.openPositions) || 0,
90
+ pnl: Number(paper?.totalPnL) || 0,
82
91
  };
83
92
  }
84
93
  if (marketingResult != null) {
85
94
  const data = marketingResult;
95
+ const posts = data.posts;
96
+ const campaigns = data.campaigns;
97
+ const strategies = data.strategies;
98
+ const rules = data.rules;
99
+ const templates = data.templates;
86
100
  analytics.marketing = {
87
- posts: data.posts ?? 0,
88
- campaigns: data.campaigns ?? 0,
89
- engagement: data.engagement ?? 0,
101
+ posts: typeof posts === 'object' ? posts?.total ?? 0 : Number(posts) || 0,
102
+ campaigns: typeof campaigns === 'object' ? campaigns?.total ?? 0 : Number(campaigns) || 0,
103
+ engagement: 0, // computed client-side from posts
104
+ strategies: typeof strategies === 'object' ? strategies?.total ?? 0 : 0,
105
+ rules: typeof rules === 'object' ? rules?.active ?? rules?.total ?? 0 : 0,
106
+ templates: typeof templates === 'object' ? templates?.total ?? 0 : 0,
90
107
  };
91
108
  }
92
109
  this.logger.debug('Aggregated analytics collected', {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/ecosystem/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/ecosystem/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timmeck/brain-core",
3
- "version": "2.36.21",
3
+ "version": "2.36.22",
4
4
  "description": "Shared core infrastructure for the Brain ecosystem — IPC, MCP, CLI, DB connection, and utilities",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",