@nexus-cortex/core 4.108.13 → 4.108.15

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.
@@ -0,0 +1,79 @@
1
+ /**
2
+ * herdrReporter — R145 HB-HERDR-LIFECYCLE.
3
+ *
4
+ * When the harness runs inside a herdr-managed pane (HERDR_ENV=1, `herdr` on PATH),
5
+ * the orchestrator reports its lifecycle to herdr so herdr's working/idle/blocked
6
+ * status is authoritative for nexus-cortex (waits, notifications, rollups).
7
+ *
8
+ * Wire shape (herdr 0.9.0, verified against `herdr pane report-agent --help` and
9
+ * `herdr api schema --json` — `pane.report_agent` requires `pane_id`; the CLI takes
10
+ * it as a positional and does NOT accept `--current` on report-agent):
11
+ *
12
+ * herdr pane report-agent <pane-id> --source custom:nexus-cortex --agent <name> --state <state>
13
+ * herdr pane report-metadata <pane-id> --source custom:nexus-cortex-display --token summary=<token>
14
+ *
15
+ * The pane id comes from HERDR_PANE_ID (exported into every herdr pane).
16
+ *
17
+ * Contract: fire-and-forget (detached spawn, stdio ignored), never throws, never
18
+ * awaited on the request path, de-duplicated, throttled (min 250 ms, latest wins),
19
+ * one [WARN] then self-disable when the binary fails.
20
+ */
21
+ export type HerdrState = 'working' | 'idle' | 'blocked';
22
+ export declare const HERDR_SOURCE = "custom:nexus-cortex";
23
+ export declare const HERDR_DISPLAY_SOURCE = "custom:nexus-cortex-display";
24
+ export declare const HERDR_MIN_INTERVAL_MS = 250;
25
+ export type HerdrExecFn = (binary: string, args: string[], onError: (err: Error) => void) => void;
26
+ export interface HerdrReportingResolution {
27
+ enabled: boolean;
28
+ reason?: string;
29
+ /** The resolved herdr binary path (CORTEX_HERDR_BIN/HERDR_BIN → HERDR_BIN_PATH → PATH probe). */
30
+ bin?: string;
31
+ paneId?: string;
32
+ agentName?: string;
33
+ }
34
+ /** Executable-file probe (mirrors TmuxManager's isExecutable — explicit paths only, no directory scans). */
35
+ export declare function isExecutableFile(path: string): boolean;
36
+ /** herdr agent names: `[a-z][a-z0-9_-]{0,31}` (herdr SKILL.md). */
37
+ export declare function sanitizeHerdrAgentName(raw: string | undefined): string;
38
+ /** Display token value: single token, no whitespace, bounded. */
39
+ export declare function sanitizeHerdrSummary(raw: string): string;
40
+ /**
41
+ * Enabled iff CORTEX_HERDR_REPORTING !== 'false', HERDR_ENV === '1', HERDR_PANE_ID is set,
42
+ * and `herdr` resolves. Binary order: CORTEX_HERDR_BIN (explicit override; legacy HERDR_BIN
43
+ * honored) → HERDR_BIN_PATH (herdr 0.9.0's own pane export, probed executable) → each PATH
44
+ * entry. Explicit-path probes only — never scans /nix/store.
45
+ */
46
+ export declare function resolveHerdrReporting(env?: NodeJS.ProcessEnv, isExecutable?: (path: string) => boolean): HerdrReportingResolution;
47
+ export interface HerdrReporterOptions {
48
+ binary: string;
49
+ paneId: string;
50
+ agentName?: string;
51
+ exec?: HerdrExecFn;
52
+ now?: () => number;
53
+ setTimer?: (fn: () => void, ms: number) => NodeJS.Timeout;
54
+ warn?: (line: string) => void;
55
+ minIntervalMs?: number;
56
+ }
57
+ export declare class HerdrReporter {
58
+ private readonly binary;
59
+ private readonly paneId;
60
+ private readonly agentName;
61
+ private readonly exec;
62
+ private readonly now;
63
+ private readonly setTimer;
64
+ private readonly warn;
65
+ private readonly minIntervalMs;
66
+ private lastEmitAt;
67
+ private lastState;
68
+ private lastSummary;
69
+ private pending;
70
+ private timerArmed;
71
+ disabled: boolean;
72
+ constructor(opts: HerdrReporterOptions);
73
+ /** Fire-and-forget lifecycle report. Never throws. */
74
+ report(state: HerdrState, summary?: string): void;
75
+ private flush;
76
+ private emit;
77
+ private disable;
78
+ }
79
+ //# sourceMappingURL=herdrReporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herdrReporter.d.ts","sourceRoot":"","sources":["../../src/orchestrator/herdrReporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAExD,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAClD,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAIzC,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,CAAC;AAElG,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4GAA4G;AAC5G,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQtD;AAED,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAItE;AAED,iEAAiE;AACjE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAA0B,GACzD,wBAAwB,CA6B1B;AAQD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC;IAC1D,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiD;IAC1E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,OAAO,CAAwD;IACvE,OAAO,CAAC,UAAU,CAAS;IACpB,QAAQ,UAAS;gBAEZ,IAAI,EAAE,oBAAoB;IAWtC,sDAAsD;IACtD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAoBjD,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,OAAO;CAOhB"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * herdrReporter — R145 HB-HERDR-LIFECYCLE.
3
+ *
4
+ * When the harness runs inside a herdr-managed pane (HERDR_ENV=1, `herdr` on PATH),
5
+ * the orchestrator reports its lifecycle to herdr so herdr's working/idle/blocked
6
+ * status is authoritative for nexus-cortex (waits, notifications, rollups).
7
+ *
8
+ * Wire shape (herdr 0.9.0, verified against `herdr pane report-agent --help` and
9
+ * `herdr api schema --json` — `pane.report_agent` requires `pane_id`; the CLI takes
10
+ * it as a positional and does NOT accept `--current` on report-agent):
11
+ *
12
+ * herdr pane report-agent <pane-id> --source custom:nexus-cortex --agent <name> --state <state>
13
+ * herdr pane report-metadata <pane-id> --source custom:nexus-cortex-display --token summary=<token>
14
+ *
15
+ * The pane id comes from HERDR_PANE_ID (exported into every herdr pane).
16
+ *
17
+ * Contract: fire-and-forget (detached spawn, stdio ignored), never throws, never
18
+ * awaited on the request path, de-duplicated, throttled (min 250 ms, latest wins),
19
+ * one [WARN] then self-disable when the binary fails.
20
+ */
21
+ import { spawn } from 'node:child_process';
22
+ import { existsSync, statSync } from 'node:fs';
23
+ import { delimiter, join } from 'node:path';
24
+ export const HERDR_SOURCE = 'custom:nexus-cortex';
25
+ export const HERDR_DISPLAY_SOURCE = 'custom:nexus-cortex-display';
26
+ export const HERDR_MIN_INTERVAL_MS = 250;
27
+ const DEFAULT_AGENT_NAME = 'cortex';
28
+ const SUMMARY_MAX_LEN = 64;
29
+ /** Executable-file probe (mirrors TmuxManager's isExecutable — explicit paths only, no directory scans). */
30
+ export function isExecutableFile(path) {
31
+ try {
32
+ if (!existsSync(path))
33
+ return false;
34
+ const stats = statSync(path);
35
+ return stats.isFile() && !!(stats.mode & 0o111);
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ }
41
+ /** herdr agent names: `[a-z][a-z0-9_-]{0,31}` (herdr SKILL.md). */
42
+ export function sanitizeHerdrAgentName(raw) {
43
+ const cleaned = (raw || '').trim().toLowerCase().replace(/[^a-z0-9_-]+/g, '-').replace(/^-+|-+$/g, '');
44
+ const name = cleaned.replace(/^[^a-z]+/, '').slice(0, 32);
45
+ return name || DEFAULT_AGENT_NAME;
46
+ }
47
+ /** Display token value: single token, no whitespace, bounded. */
48
+ export function sanitizeHerdrSummary(raw) {
49
+ return raw.trim().replace(/\s+/g, '_').slice(0, SUMMARY_MAX_LEN);
50
+ }
51
+ /**
52
+ * Enabled iff CORTEX_HERDR_REPORTING !== 'false', HERDR_ENV === '1', HERDR_PANE_ID is set,
53
+ * and `herdr` resolves. Binary order: CORTEX_HERDR_BIN (explicit override; legacy HERDR_BIN
54
+ * honored) → HERDR_BIN_PATH (herdr 0.9.0's own pane export, probed executable) → each PATH
55
+ * entry. Explicit-path probes only — never scans /nix/store.
56
+ */
57
+ export function resolveHerdrReporting(env = process.env, isExecutable = isExecutableFile) {
58
+ if ((env.CORTEX_HERDR_REPORTING || '').trim().toLowerCase() === 'false') {
59
+ return { enabled: false, reason: 'CORTEX_HERDR_REPORTING=false' };
60
+ }
61
+ if (env.HERDR_ENV !== '1') {
62
+ return { enabled: false, reason: 'HERDR_ENV is not 1 (not inside a herdr pane)' };
63
+ }
64
+ const paneId = (env.HERDR_PANE_ID || '').trim();
65
+ if (!paneId) {
66
+ return { enabled: false, reason: 'HERDR_PANE_ID unset (herdr report-agent needs the pane id)' };
67
+ }
68
+ let bin;
69
+ const override = (env.CORTEX_HERDR_BIN || env.HERDR_BIN || '').trim();
70
+ const paneExport = (env.HERDR_BIN_PATH || '').trim();
71
+ if (override && isExecutable(override)) {
72
+ bin = override;
73
+ }
74
+ else if (paneExport && isExecutable(paneExport)) {
75
+ bin = paneExport;
76
+ }
77
+ else {
78
+ for (const dir of (env.PATH || '').split(delimiter)) {
79
+ if (!dir)
80
+ continue;
81
+ const candidate = join(dir, 'herdr');
82
+ if (isExecutable(candidate)) {
83
+ bin = candidate;
84
+ break;
85
+ }
86
+ }
87
+ }
88
+ if (!bin) {
89
+ return { enabled: false, reason: 'herdr binary not found (CORTEX_HERDR_BIN, HERDR_BIN_PATH, PATH)' };
90
+ }
91
+ return { enabled: true, bin, paneId, agentName: sanitizeHerdrAgentName(env.CORTEX_HERDR_AGENT_NAME) };
92
+ }
93
+ const defaultExec = (binary, args, onError) => {
94
+ const child = spawn(binary, args, { detached: true, stdio: 'ignore' });
95
+ child.on('error', onError);
96
+ child.unref();
97
+ };
98
+ export class HerdrReporter {
99
+ binary;
100
+ paneId;
101
+ agentName;
102
+ exec;
103
+ now;
104
+ setTimer;
105
+ warn;
106
+ minIntervalMs;
107
+ lastEmitAt = -Infinity;
108
+ lastState = null;
109
+ lastSummary = null;
110
+ pending = null;
111
+ timerArmed = false;
112
+ disabled = false;
113
+ constructor(opts) {
114
+ this.binary = opts.binary;
115
+ this.paneId = opts.paneId;
116
+ this.agentName = sanitizeHerdrAgentName(opts.agentName);
117
+ this.exec = opts.exec || defaultExec;
118
+ this.now = opts.now || Date.now;
119
+ this.setTimer = opts.setTimer || ((fn, ms) => { const t = setTimeout(fn, ms); t.unref?.(); return t; });
120
+ this.warn = opts.warn || ((line) => console.warn(line));
121
+ this.minIntervalMs = opts.minIntervalMs ?? HERDR_MIN_INTERVAL_MS;
122
+ }
123
+ /** Fire-and-forget lifecycle report. Never throws. */
124
+ report(state, summary) {
125
+ if (this.disabled)
126
+ return;
127
+ try {
128
+ const clean = summary !== undefined ? sanitizeHerdrSummary(summary) : undefined;
129
+ const elapsed = this.now() - this.lastEmitAt;
130
+ if (elapsed >= this.minIntervalMs && !this.timerArmed) {
131
+ this.emit(state, clean);
132
+ return;
133
+ }
134
+ // Throttled: coalesce to the latest, flush when the window closes.
135
+ this.pending = { state, summary: clean };
136
+ if (!this.timerArmed) {
137
+ this.timerArmed = true;
138
+ this.setTimer(() => this.flush(), Math.max(0, this.minIntervalMs - elapsed));
139
+ }
140
+ }
141
+ catch (err) {
142
+ this.disable(err);
143
+ }
144
+ }
145
+ flush() {
146
+ this.timerArmed = false;
147
+ const p = this.pending;
148
+ this.pending = null;
149
+ if (!p || this.disabled)
150
+ return;
151
+ try {
152
+ this.emit(p.state, p.summary);
153
+ }
154
+ catch (err) {
155
+ this.disable(err);
156
+ }
157
+ }
158
+ emit(state, summary) {
159
+ const stateChanged = state !== this.lastState;
160
+ const summaryChanged = summary !== undefined && summary !== this.lastSummary;
161
+ if (!stateChanged && !summaryChanged)
162
+ return; // dedupe
163
+ this.lastEmitAt = this.now();
164
+ if (stateChanged) {
165
+ this.lastState = state;
166
+ this.exec(this.binary, ['pane', 'report-agent', this.paneId, '--source', HERDR_SOURCE, '--agent', this.agentName, '--state', state], (err) => this.disable(err));
167
+ }
168
+ if (summaryChanged && !this.disabled) {
169
+ this.lastSummary = summary;
170
+ this.exec(this.binary, ['pane', 'report-metadata', this.paneId, '--source', HERDR_DISPLAY_SOURCE, '--token', `summary=${summary}`], (err) => this.disable(err));
171
+ }
172
+ }
173
+ disable(err) {
174
+ if (this.disabled)
175
+ return;
176
+ this.disabled = true;
177
+ this.pending = null;
178
+ const msg = err instanceof Error ? err.message : String(err);
179
+ try {
180
+ this.warn(`[WARN] herdr lifecycle reporting disabled: ${msg} (bin ${this.binary})`);
181
+ }
182
+ catch { /* never throw */ }
183
+ }
184
+ }
185
+ //# sourceMappingURL=herdrReporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herdrReporter.js","sourceRoot":"","sources":["../../src/orchestrator/herdrReporter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cortex/core",
3
- "version": "4.108.13",
3
+ "version": "4.108.15",
4
4
  "description": "Core orchestration library implementing Claude CLI architecture patterns",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -47,8 +47,8 @@
47
47
  "@google/generative-ai": "^0.2.1",
48
48
  "@gradio/client": "^2.3.1",
49
49
  "@modelcontextprotocol/sdk": "^1.20.2",
50
- "@nexus-cortex/executors": "4.108.13",
51
- "@nexus-cortex/types": "4.108.13",
50
+ "@nexus-cortex/executors": "4.108.15",
51
+ "@nexus-cortex/types": "4.108.15",
52
52
  "@types/uuid": "^10.0.0",
53
53
  "ajv": "^8.12.0",
54
54
  "chokidar": "^3.6.0",