@nexus-cortex/core 4.66.1 → 4.68.0

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,39 @@
1
+ /**
2
+ * TUI keymap-as-data (L-08, TUI_UX_BACKLOG_2026-08-16).
3
+ *
4
+ * THE canonical source for keybinding hints/help across every TUI surface.
5
+ * Before this table, hints were hardcoded in four places with contradictory
6
+ * contracts — the ink help screen advertised Shift+Enter where the handler
7
+ * implements Ctrl+J, and the chalk splash advertised "Ctrl+J new line" on a
8
+ * stack whose RawInput treats '\n' (what Ctrl+J sends in raw mode) as SUBMIT.
9
+ *
10
+ * RULES:
11
+ * - Entries document what the HANDLERS actually do, per surface. Changing a
12
+ * handler means changing its entry in the same commit (and vice versa).
13
+ * - TUIs render hints/help FROM this table — never hardcode key strings.
14
+ * - This file changes bindings' WORDS only; it never changes behavior.
15
+ *
16
+ * Surfaces:
17
+ * - 'ink-app' : the full Ink application (neoncortex — ink-ui/CortexApp.tsx)
18
+ * - 'ink-chat' : the lightweight Ink chat UI (cortex.tsx → ChatInput/MultiLineInput)
19
+ * - 'chalk' : the chalk/raw-tty stack (fuzzycortex — ui/RawInput.ts)
20
+ */
21
+ export type TuiSurface = 'ink-app' | 'ink-chat' | 'chalk';
22
+ export interface KeyBinding {
23
+ /** Stable action id. */
24
+ action: string;
25
+ /** Human key label, universal notation (no mac-only glyphs). */
26
+ key: string;
27
+ /** Short hint text (footer style). */
28
+ hint: string;
29
+ /** Caveat surfaced in full help, when honesty needs a footnote. */
30
+ caveat?: string;
31
+ }
32
+ export declare const TUI_KEYMAP: Record<TuiSurface, KeyBinding[]>;
33
+ /** Footer-style one-line hint: "/ commands • ↑↓ history • ..." */
34
+ export declare function keymapFooterHint(surface: TuiSurface): string;
35
+ /** Help-screen rows: [key label, description(+caveat)]. */
36
+ export declare function keymapHelpRows(surface: TuiSurface): Array<[string, string]>;
37
+ /** Lookup one binding's key label (e.g. for inline placeholders). */
38
+ export declare function keymapKey(surface: TuiSurface, action: string): string | undefined;
39
+ //# sourceMappingURL=tuiKeymap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuiKeymap.d.ts","sourceRoot":"","sources":["../../src/config/tuiKeymap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAE1D,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,CAoBvD,CAAC;AAEF,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAE5D;AAED,2DAA2D;AAC3D,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAU3E;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjF"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * TUI keymap-as-data (L-08, TUI_UX_BACKLOG_2026-08-16).
3
+ *
4
+ * THE canonical source for keybinding hints/help across every TUI surface.
5
+ * Before this table, hints were hardcoded in four places with contradictory
6
+ * contracts — the ink help screen advertised Shift+Enter where the handler
7
+ * implements Ctrl+J, and the chalk splash advertised "Ctrl+J new line" on a
8
+ * stack whose RawInput treats '\n' (what Ctrl+J sends in raw mode) as SUBMIT.
9
+ *
10
+ * RULES:
11
+ * - Entries document what the HANDLERS actually do, per surface. Changing a
12
+ * handler means changing its entry in the same commit (and vice versa).
13
+ * - TUIs render hints/help FROM this table — never hardcode key strings.
14
+ * - This file changes bindings' WORDS only; it never changes behavior.
15
+ *
16
+ * Surfaces:
17
+ * - 'ink-app' : the full Ink application (neoncortex — ink-ui/CortexApp.tsx)
18
+ * - 'ink-chat' : the lightweight Ink chat UI (cortex.tsx → ChatInput/MultiLineInput)
19
+ * - 'chalk' : the chalk/raw-tty stack (fuzzycortex — ui/RawInput.ts)
20
+ */
21
+ const COMMON = [
22
+ { action: 'commands', key: '/', hint: '/ commands' },
23
+ { action: 'history', key: '↑↓', hint: '↑↓ history' },
24
+ { action: 'cursor', key: '←→', hint: '←→ cursor' },
25
+ ];
26
+ export const TUI_KEYMAP = {
27
+ 'ink-app': [
28
+ ...COMMON,
29
+ { action: 'newline', key: 'Ctrl+J', hint: 'Ctrl+J new line' },
30
+ { action: 'submit', key: 'Enter', hint: 'Enter send' },
31
+ ],
32
+ 'ink-chat': [
33
+ ...COMMON,
34
+ {
35
+ action: 'newline', key: 'Shift+Enter', hint: 'Shift+Enter new line',
36
+ caveat: 'requires a terminal that distinguishes Shift+Enter (e.g. kitty keyboard protocol); plain terminals send Enter',
37
+ },
38
+ { action: 'submit', key: 'Enter', hint: 'Enter send' },
39
+ ],
40
+ // The chalk RawInput stack has NO newline-insert: '\n' (Ctrl+J) submits,
41
+ // same as Enter. Do not advertise multiline here until a handler exists.
42
+ 'chalk': [
43
+ ...COMMON,
44
+ { action: 'submit', key: 'Enter', hint: 'Enter send' },
45
+ ],
46
+ };
47
+ /** Footer-style one-line hint: "/ commands • ↑↓ history • ..." */
48
+ export function keymapFooterHint(surface) {
49
+ return TUI_KEYMAP[surface].map((b) => b.hint).join(' • ');
50
+ }
51
+ /** Help-screen rows: [key label, description(+caveat)]. */
52
+ export function keymapHelpRows(surface) {
53
+ return TUI_KEYMAP[surface].map((b) => [
54
+ b.key,
55
+ b.action === 'newline'
56
+ ? `Multi-line input (new line)${b.caveat ? ` — ${b.caveat}` : ''}`
57
+ : b.action === 'submit' ? 'Send message'
58
+ : b.action === 'commands' ? 'Slash commands'
59
+ : b.action === 'history' ? 'Input history'
60
+ : 'Move cursor',
61
+ ]);
62
+ }
63
+ /** Lookup one binding's key label (e.g. for inline placeholders). */
64
+ export function keymapKey(surface, action) {
65
+ return TUI_KEYMAP[surface].find((b) => b.action === action)?.key;
66
+ }
67
+ //# sourceMappingURL=tuiKeymap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuiKeymap.js","sourceRoot":"","sources":["../../src/config/tuiKeymap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAeH,MAAM,MAAM,GAAiB;IAC3B,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;IACpD,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE;IACpD,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAqC;IAC1D,SAAS,EAAE;QACT,GAAG,MAAM;QACT,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE;QAC7D,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;KACvD;IACD,UAAU,EAAE;QACV,GAAG,MAAM;QACT;YACE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAsB;YACnE,MAAM,EAAE,+GAA+G;SACxH;QACD,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;KACvD;IACD,yEAAyE;IACzE,yEAAyE;IACzE,OAAO,EAAE;QACP,GAAG,MAAM;QACT,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;KACvD;CACF,CAAC;AAEF,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,OAAmB;IAClD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,cAAc,CAAC,OAAmB;IAChD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,MAAM,KAAK,SAAS;YACpB,CAAC,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAClE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc;gBACxC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB;oBAC5C,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe;wBAC1C,CAAC,CAAC,aAAa;KAClB,CAAC,CAAC;AACL,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,SAAS,CAAC,OAAmB,EAAE,MAAc;IAC3D,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC;AACnE,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * TUI first-run onboarding block (L-05 + S-03, TUI_UX_BACKLOG_2026-08-16).
3
+ *
4
+ * Before this, first paint was a bare prompt: no statement of what the tool
5
+ * is, no example, no pointer to the slash-command surface — the splash screen
6
+ * existed but was reachable only via /about. Canonical-in-the-library: the
7
+ * CONTENT lives here; each TUI wrapper styles and prints it.
8
+ *
9
+ * RULES:
10
+ * - Advertise ONLY features that exist on the surface rendering the block.
11
+ * (The backlog's own "@file/!shell" phrasing was ungrounded — neither is
12
+ * implemented anywhere in this repo; they are deliberately absent here.)
13
+ * - Key hints come from TUI_KEYMAP, never hardcoded (L-08 rule).
14
+ * - Shown once per machine (~/.cortex/onboarded marker), because the block
15
+ * is orientation, not chrome. Wrappers may re-show it via /about.
16
+ */
17
+ import { type TuiSurface } from './tuiKeymap.js';
18
+ /** Plain-text onboarding lines — wrappers apply their own styling. */
19
+ export declare function onboardingLines(surface: TuiSurface): string[];
20
+ /** True when this machine has never shown the first-run block. Fails closed
21
+ * (returns false) on filesystem errors so a broken home dir never loops the
22
+ * block forever. `configDir` is injectable for tests (vitest worker threads
23
+ * proxy process.env, so os.homedir() can't be steered via $HOME there). */
24
+ export declare function shouldShowOnboarding(configDir?: string): boolean;
25
+ /** Persist the shown-once marker. Non-fatal on failure. */
26
+ export declare function markOnboardingShown(configDir?: string): void;
27
+ //# sourceMappingURL=tuiOnboarding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuiOnboarding.d.ts","sourceRoot":"","sources":["../../src/config/tuiOnboarding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEnE,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAU7D;AAID;;;4EAG4E;AAC5E,wBAAgB,oBAAoB,CAAC,SAAS,GAAE,MAA6B,GAAG,OAAO,CAMtF;AAED,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,MAA6B,GAAG,IAAI,CAOlF"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * TUI first-run onboarding block (L-05 + S-03, TUI_UX_BACKLOG_2026-08-16).
3
+ *
4
+ * Before this, first paint was a bare prompt: no statement of what the tool
5
+ * is, no example, no pointer to the slash-command surface — the splash screen
6
+ * existed but was reachable only via /about. Canonical-in-the-library: the
7
+ * CONTENT lives here; each TUI wrapper styles and prints it.
8
+ *
9
+ * RULES:
10
+ * - Advertise ONLY features that exist on the surface rendering the block.
11
+ * (The backlog's own "@file/!shell" phrasing was ungrounded — neither is
12
+ * implemented anywhere in this repo; they are deliberately absent here.)
13
+ * - Key hints come from TUI_KEYMAP, never hardcoded (L-08 rule).
14
+ * - Shown once per machine (~/.cortex/onboarded marker), because the block
15
+ * is orientation, not chrome. Wrappers may re-show it via /about.
16
+ */
17
+ import * as fs from 'fs';
18
+ import * as path from 'path';
19
+ import { getGlobalConfigDir } from './SettingsLoader.js';
20
+ import { keymapFooterHint } from './tuiKeymap.js';
21
+ /** Plain-text onboarding lines — wrappers apply their own styling. */
22
+ export function onboardingLines(surface) {
23
+ return [
24
+ 'cortex — an agentic coding assistant in your terminal.',
25
+ 'Ask in plain language; it reads files, runs commands, and edits code.',
26
+ '',
27
+ 'Try: explain this repo or fix the failing test in src/',
28
+ '',
29
+ 'Type / for the command palette — /help lists everything, /model switches models.',
30
+ keymapFooterHint(surface),
31
+ ];
32
+ }
33
+ const ONBOARDED_MARKER = 'onboarded';
34
+ /** True when this machine has never shown the first-run block. Fails closed
35
+ * (returns false) on filesystem errors so a broken home dir never loops the
36
+ * block forever. `configDir` is injectable for tests (vitest worker threads
37
+ * proxy process.env, so os.homedir() can't be steered via $HOME there). */
38
+ export function shouldShowOnboarding(configDir = getGlobalConfigDir()) {
39
+ try {
40
+ return !fs.existsSync(path.join(configDir, ONBOARDED_MARKER));
41
+ }
42
+ catch {
43
+ return false;
44
+ }
45
+ }
46
+ /** Persist the shown-once marker. Non-fatal on failure. */
47
+ export function markOnboardingShown(configDir = getGlobalConfigDir()) {
48
+ try {
49
+ fs.mkdirSync(configDir, { recursive: true });
50
+ fs.writeFileSync(path.join(configDir, ONBOARDED_MARKER), `${new Date().toISOString()}\n`);
51
+ }
52
+ catch {
53
+ /* non-fatal — worst case the block shows again next launch */
54
+ }
55
+ }
56
+ //# sourceMappingURL=tuiOnboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuiOnboarding.js","sourceRoot":"","sources":["../../src/config/tuiOnboarding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAEnE,sEAAsE;AACtE,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,OAAO;QACL,wDAAwD;QACxD,uEAAuE;QACvE,EAAE;QACF,+DAA+D;QAC/D,EAAE;QACF,kFAAkF;QAClF,gBAAgB,CAAC,OAAO,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAErC;;;4EAG4E;AAC5E,MAAM,UAAU,oBAAoB,CAAC,YAAoB,kBAAkB,EAAE;IAC3E,IAAI,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,mBAAmB,CAAC,YAAoB,kBAAkB,EAAE;IAC1E,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -55,4 +55,6 @@ export type { ExperimentArms, RunExperimentOptions, ExperimentResult, Experiment
55
55
  export * as RuntimeInterfaces from './interfaces/index.js';
56
56
  export { NodeConfigProvider, NodeHistoryStoreAdapter, NodeToolExecutorAdapter, NodePermissionAdapter, GitHistoryStore } from './adapters/node/index.js';
57
57
  export type { GitHistoryStoreConfig } from './adapters/node/index.js';
58
+ export { TUI_KEYMAP, keymapFooterHint, keymapHelpRows, keymapKey, type TuiSurface, type KeyBinding } from './config/tuiKeymap.js';
59
+ export { onboardingLines, shouldShowOnboarding, markOnboardingShown } from './config/tuiOnboarding.js';
58
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -72,4 +72,6 @@ export { runExperiment } from './training/ExperimentRunner.js';
72
72
  export * as RuntimeInterfaces from './interfaces/index.js';
73
73
  // Node.js runtime adapters (wraps existing services behind runtime-agnostic interfaces)
74
74
  export { NodeConfigProvider, NodeHistoryStoreAdapter, NodeToolExecutorAdapter, NodePermissionAdapter, GitHistoryStore } from './adapters/node/index.js';
75
+ export { TUI_KEYMAP, keymapFooterHint, keymapHelpRows, keymapKey } from './config/tuiKeymap.js';
76
+ export { onboardingLines, shouldShowOnboarding, markOnboardingShown } from './config/tuiOnboarding.js';
75
77
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gDAAgD;AAChD,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AAEjC,yBAAyB;AACzB,cAAc,mBAAmB,CAAC;AAElC,uDAAuD;AACvD,kCAAkC;AAClC,2FAA2F;AAC3F,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAExF,oDAAoD;AACpD,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB;AACpB,qBAAqB;AACrB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAAE,sCAAsC;AAC1D,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB;AACjB,oEAAoE;AACpE,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,2BAA2B,EAC3B,qBAAqB,EACrB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAa/B,oDAAoD;AACpD,6BAA6B;AAC7B,oEAAoE;AACpE,iEAAiE;AACjE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG3F,2BAA2B;AAC3B,cAAc,kBAAkB,CAAC;AAEjC,6BAA6B;AAC7B,cAAc,gBAAgB,CAAC;AAE/B,+BAA+B;AAC/B,cAAc,mBAAmB,CAAC;AAElC,wBAAwB;AACxB,uBAAuB;AACvB,cAAc,yBAAyB,CAAC;AAExC,2CAA2C;AAC3C,0BAA0B;AAC1B,cAAc,0BAA0B,CAAC;AAEzC,0BAA0B;AAC1B,cAAc,4BAA4B,CAAC;AAE3C,2BAA2B;AAC3B,cAAc,mBAAmB,CAAC;AAElC,+BAA+B;AAC/B,cAAc,qBAAqB,CAAC;AAEpC,kBAAkB;AAClB,cAAc,kBAAkB,CAAC;AAEjC,6DAA6D;AAC7D,cAAc,eAAe,CAAC;AAE9B,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,YAAY,IAAI,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC9H,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAG3H,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,eAAe,IAAI,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE9G,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEhG,OAAO,EACL,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,eAAe,EACjF,eAAe,EAAE,UAAU,GAC5B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,kBAAkB,IAAI,8BAA8B,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEvH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK7E,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAK/D,mEAAmE;AACnE,qGAAqG;AACrG,OAAO,KAAK,iBAAiB,MAAM,uBAAuB,CAAC;AAE3D,wFAAwF;AACxF,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.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.66.1",
3
+ "version": "4.68.0",
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.66.1",
51
- "@nexus-cortex/types": "4.66.1",
50
+ "@nexus-cortex/executors": "4.68.0",
51
+ "@nexus-cortex/types": "4.68.0",
52
52
  "@types/uuid": "^10.0.0",
53
53
  "ajv": "^8.12.0",
54
54
  "chokidar": "^3.6.0",
@@ -56,7 +56,7 @@
56
56
  "tiktoken": "^1.0.22",
57
57
  "undici": "^5.28.4",
58
58
  "uuid": "^13.0.0",
59
- "nexus-canon": "1.9.3"
59
+ "nexus-canon": "1.9.4"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@types/node": "^20.0.0",