@vainplex/openclaw-cortex 0.4.1 → 0.4.2

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/README.md CHANGED
@@ -436,7 +436,9 @@ Add a `traceAnalyzer` section to your external config (`~/.openclaw/plugins/open
436
436
  "nats": {
437
437
  "url": "nats://localhost:4222",
438
438
  "stream": "openclaw-events",
439
- "subjectPrefix": "openclaw.events"
439
+ "subjectPrefix": "openclaw.events",
440
+ "user": "your-nats-user",
441
+ "password": "your-nats-password"
440
442
  },
441
443
  "schedule": {
442
444
  "enabled": true,
@@ -464,6 +466,8 @@ Add a `traceAnalyzer` section to your external config (`~/.openclaw/plugins/open
464
466
  | `enabled` | `false` | Master switch for trace analysis |
465
467
  | `nats.url` | `nats://localhost:4222` | NATS server URL |
466
468
  | `nats.stream` | `openclaw-events` | JetStream stream name |
469
+ | `nats.user` | — | NATS username (required if auth enabled) |
470
+ | `nats.password` | — | NATS password (required if auth enabled) |
467
471
  | `schedule.enabled` | `false` | Enable scheduled analysis runs |
468
472
  | `schedule.intervalHours` | `24` | Hours between runs |
469
473
  | `chainGapMinutes` | `30` | Inactivity gap for chain boundary detection |
@@ -1 +1 @@
1
- {"version":3,"file":"nats-trace-source.d.ts","sourceRoot":"","sources":["../../../src/trace-analyzer/nats-trace-source.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAiFvD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACvC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAI7B"}
1
+ {"version":3,"file":"nats-trace-source.d.ts","sourceRoot":"","sources":["../../../src/trace-analyzer/nats-trace-source.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAuFvD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACvC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAI7B"}
@@ -93,39 +93,75 @@ class NatsTraceSourceImpl {
93
93
  }
94
94
  async *fetchByTimeRange(startMs, endMs, opts) {
95
95
  const sc = this.natsModule.StringCodec();
96
- const batchSize = opts?.batchSize ?? 500;
96
+ const info = await this.jsm.streams.info(this.config.stream);
97
+ const firstSeq = info.state.first_seq;
98
+ const lastSeq = info.state.last_seq;
99
+ // Binary search for approximate start sequence to avoid scanning from seq 1.
100
+ const startSeq = await this.findStartSequence(sc, firstSeq, lastSeq, startMs);
101
+ this.logger.info(`[trace-analyzer] Scanning seq ${startSeq}–${lastSeq} (skipped ${startSeq - firstSeq} of ${lastSeq - firstSeq + 1} events)`);
97
102
  let yieldedCount = 0;
98
- let exhausted = false;
99
- while (!exhausted) {
100
- const consumer = await this.js.consumers.get(this.config.stream);
101
- const messages = await consumer.consume({ max_messages: batchSize, idle_heartbeat: 5_000 });
102
- let batchCount = 0;
103
- let pastEnd = false;
103
+ let missCount = 0;
104
+ const maxConsecutiveMisses = 50;
105
+ for (let seq = startSeq; seq <= lastSeq; seq++) {
106
+ let raw;
104
107
  try {
105
- for await (const msg of messages) {
106
- batchCount++;
107
- const result = processMessage(msg, sc, startMs, endMs, opts);
108
- msg.ack();
109
- if (result === "skip")
110
- continue;
111
- if (result === "past-end") {
112
- messages.stop();
113
- pastEnd = true;
114
- break;
115
- }
116
- yieldedCount++;
117
- yield result.event;
118
- }
108
+ const stored = await this.jsm.streams.getMessage(this.config.stream, { seq });
109
+ raw = JSON.parse(sc.decode(stored.data));
110
+ missCount = 0;
119
111
  }
120
- catch (err) {
121
- this.logger.warn(`[trace-analyzer] Error during NATS fetch: ${err instanceof Error ? err.message : String(err)}`);
122
- break;
112
+ catch {
113
+ missCount++;
114
+ if (missCount > maxConsecutiveMisses)
115
+ break;
116
+ continue;
123
117
  }
124
- if (pastEnd || batchCount < batchSize)
125
- exhausted = true;
118
+ const event = normalizeEvent(raw, seq);
119
+ if (!event)
120
+ continue;
121
+ if (event.ts < startMs)
122
+ continue;
123
+ if (event.ts > endMs)
124
+ break;
125
+ if (opts?.eventTypes && !opts.eventTypes.includes(event.type))
126
+ continue;
127
+ if (opts?.agents && !opts.agents.includes(event.agent))
128
+ continue;
129
+ yieldedCount++;
130
+ yield event;
126
131
  }
127
132
  this.logger.info(`[trace-analyzer] Fetched ${yieldedCount} events in time range`);
128
133
  }
134
+ /**
135
+ * Binary search for the first sequence whose timestamp is >= targetMs.
136
+ * Falls back to firstSeq if all events are after targetMs.
137
+ */
138
+ async findStartSequence(sc, firstSeq, lastSeq, targetMs) {
139
+ let lo = firstSeq;
140
+ let hi = lastSeq;
141
+ while (lo < hi) {
142
+ const mid = Math.floor((lo + hi) / 2);
143
+ const ts = await this.getEventTimestamp(sc, mid);
144
+ if (ts === null || ts < targetMs) {
145
+ lo = mid + 1;
146
+ }
147
+ else {
148
+ hi = mid;
149
+ }
150
+ }
151
+ return lo;
152
+ }
153
+ /** Read the timestamp of a single event by sequence, returning null on failure. */
154
+ async getEventTimestamp(sc, seq) {
155
+ try {
156
+ const stored = await this.jsm.streams.getMessage(this.config.stream, { seq });
157
+ const raw = JSON.parse(sc.decode(stored.data));
158
+ const ts = (raw.ts ?? raw.timestamp);
159
+ return typeof ts === "number" ? ts : null;
160
+ }
161
+ catch {
162
+ return null;
163
+ }
164
+ }
129
165
  async *fetchByAgent(agent, startMs, endMs, opts) {
130
166
  yield* this.fetchByTimeRange(startMs, endMs, {
131
167
  ...opts,
@@ -1 +1 @@
1
- {"version":3,"file":"nats-trace-source.js","sourceRoot":"","sources":["../../../src/trace-analyzer/nats-trace-source.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;AAC/D,EAAE;AACF,8DAA8D;AAC9D,gEAAgE;AAChE,+BAA+B;AAC/B,EAAE;AACF,iEAAiE;AACjE,2DAA2D;AAC3D,+DAA+D;AAM/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA4C7C;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,MAAoB;IAChD,IAAI,CAAC;QACH,iEAAiE;QACjE,OAAO,MAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,MAAM,CAAyB,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,KAAK,UAAU,WAAW,CACxB,IAAgB,EAChB,UAAuC,EACvC,MAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACjD,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ;YAChD,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM;SAC3D,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,yCAAyC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACxC,OAAO,IAAI,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,4CAA4C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5G,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAuC,EACvC,MAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAKD,0DAA0D;AAC1D,SAAS,cAAc,CACrB,GAAiB,EACjB,EAAwC,EACxC,OAAe,EACf,KAAa,EACb,IAAgB;IAEhB,IAAI,GAA4B,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAA4B,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,MAAM,CAAC;IAAC,CAAC;IAE1B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,KAAK,CAAC,EAAE,GAAG,OAAO;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK;QAAE,OAAO,UAAU,CAAC;IACxC,IAAI,IAAI,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7E,IAAI,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEtE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,mBAAmB;IAIJ;IACA;IACA;IACA;IACA;IACA;IARX,MAAM,GAAG,KAAK,CAAC;IAEvB,YACmB,EAAkB,EAClB,EAAmB,EACnB,GAAqB,EACrB,MAAmC,EACnC,UAAsB,EACtB,MAAoB;QALpB,OAAE,GAAF,EAAE,CAAgB;QAClB,OAAE,GAAF,EAAE,CAAiB;QACnB,QAAG,GAAH,GAAG,CAAkB;QACrB,WAAM,GAAN,MAAM,CAA6B;QACnC,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAc;IACpC,CAAC;IAEJ,KAAK,CAAC,CAAC,gBAAgB,CACrB,OAAe,EACf,KAAa,EACb,IAAgB;QAEhB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,GAAG,CAAC;QACzC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,OAAO,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACjC,UAAU,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC7D,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,IAAI,MAAM,KAAK,MAAM;wBAAE,SAAS;oBAChC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;wBAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAAC,OAAO,GAAG,IAAI,CAAC;wBAAC,MAAM;oBAAC,CAAC;oBACtE,YAAY,EAAE,CAAC;oBACf,MAAM,MAAM,CAAC,KAAK,CAAC;gBACrB,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6CAA6C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChG,CAAC;gBACF,MAAM;YACR,CAAC;YAED,IAAI,OAAO,IAAI,UAAU,GAAG,SAAS;gBAAE,SAAS,GAAG,IAAI,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,YAAY,uBAAuB,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,CAAC,YAAY,CACjB,KAAa,EACb,OAAe,EACf,KAAa,EACb,IAAgB;QAEhB,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3C,GAAG,IAAI;YACP,MAAM,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"nats-trace-source.js","sourceRoot":"","sources":["../../../src/trace-analyzer/nats-trace-source.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,kDAAkD;AAClD,+DAA+D;AAC/D,EAAE;AACF,8DAA8D;AAC9D,gEAAgE;AAChE,+BAA+B;AAC/B,EAAE;AACF,iEAAiE;AACjE,2DAA2D;AAC3D,+DAA+D;AAM/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkD7C;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,MAAoB;IAChD,IAAI,CAAC;QACH,iEAAiE;QACjE,OAAO,MAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,MAAM,CAAyB,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,KAAK,UAAU,WAAW,CACxB,IAAgB,EAChB,UAAuC,EACvC,MAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACjD,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ;YAChD,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM;SAC3D,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,yCAAyC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACxC,OAAO,IAAI,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,4CAA4C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5G,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAuC,EACvC,MAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAKD,0DAA0D;AAC1D,SAAS,cAAc,CACrB,GAAiB,EACjB,EAAwC,EACxC,OAAe,EACf,KAAa,EACb,IAAgB;IAEhB,IAAI,GAA4B,CAAC;IACjC,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAA4B,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,MAAM,CAAC;IAAC,CAAC;IAE1B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,KAAK,CAAC,EAAE,GAAG,OAAO;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK;QAAE,OAAO,UAAU,CAAC;IACxC,IAAI,IAAI,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7E,IAAI,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEtE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,mBAAmB;IAIJ;IACA;IACA;IACA;IACA;IACA;IARX,MAAM,GAAG,KAAK,CAAC;IAEvB,YACmB,EAAkB,EAClB,EAAmB,EACnB,GAAqB,EACrB,MAAmC,EACnC,UAAsB,EACtB,MAAoB;QALpB,OAAE,GAAF,EAAE,CAAgB;QAClB,OAAE,GAAF,EAAE,CAAiB;QACnB,QAAG,GAAH,GAAG,CAAkB;QACrB,WAAM,GAAN,MAAM,CAA6B;QACnC,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAc;IACpC,CAAC;IAEJ,KAAK,CAAC,CAAC,gBAAgB,CACrB,OAAe,EACf,KAAa,EACb,IAAgB;QAEhB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAEpC,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iCAAiC,QAAQ,IAAI,OAAO,aAAa,QAAQ,GAAG,QAAQ,OAAO,OAAO,GAAG,QAAQ,GAAG,CAAC,UAAU,CAC5H,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,oBAAoB,GAAG,EAAE,CAAC;QAEhC,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YAC/C,IAAI,GAA4B,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9E,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAA4B,CAAC;gBACpE,SAAS,GAAG,CAAC,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,EAAE,CAAC;gBACZ,IAAI,SAAS,GAAG,oBAAoB;oBAAE,MAAM;gBAC5C,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,KAAK,CAAC,EAAE,GAAG,OAAO;gBAAE,SAAS;YACjC,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK;gBAAE,MAAM;YAC5B,IAAI,IAAI,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACxE,IAAI,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,SAAS;YAEjE,YAAY,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,YAAY,uBAAuB,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAC7B,EAAwC,EACxC,QAAgB,EAChB,OAAe,EACf,QAAgB;QAEhB,IAAI,EAAE,GAAG,QAAQ,CAAC;QAClB,IAAI,EAAE,GAAG,OAAO,CAAC;QAEjB,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;gBACjC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,EAAE,GAAG,GAAG,CAAC;YACX,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mFAAmF;IAC3E,KAAK,CAAC,iBAAiB,CAC7B,EAAwC,EACxC,GAAW;QAEX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAA4B,CAAC;YAC1E,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,SAAS,CAAuB,CAAC;YAC3D,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,YAAY,CACjB,KAAa,EACb,OAAe,EACf,KAAa,EACb,IAAgB;QAEhB,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3C,GAAG,IAAI;YACP,MAAM,EAAE,CAAC,KAAK,CAAC;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vainplex/openclaw-cortex",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "OpenClaw plugin: conversation intelligence — thread tracking, decision extraction, boot context, pre-compaction snapshots, trace analysis",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,11 +18,10 @@
18
18
  "test:watch": "vitest",
19
19
  "typecheck": "tsc --noEmit"
20
20
  },
21
- "dependencies": {},
22
21
  "devDependencies": {
23
- "vitest": "^3.0.0",
24
22
  "@types/node": "^22.0.0",
25
- "typescript": "^5.7.0"
23
+ "typescript": "^5.7.0",
24
+ "vitest": "^3.0.0"
26
25
  },
27
26
  "openclaw": {
28
27
  "extensions": [
@@ -49,5 +48,8 @@
49
48
  "directory": "packages/openclaw-cortex"
50
49
  },
51
50
  "homepage": "https://github.com/alberthild/vainplex-openclaw/tree/main/packages/openclaw-cortex",
52
- "author": "Albert Hild <a.hild@vainplex.de>"
51
+ "author": "Albert Hild <a.hild@vainplex.de>",
52
+ "optionalDependencies": {
53
+ "nats": "^2.29.3"
54
+ }
53
55
  }