@nexus-cortex/core 4.67.0 → 4.69.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.
- package/dist/config/tuiOnboarding.d.ts +27 -0
- package/dist/config/tuiOnboarding.d.ts.map +1 -0
- package/dist/config/tuiOnboarding.js +56 -0
- package/dist/config/tuiOnboarding.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware/permissions/DefaultPolicies.d.ts.map +1 -1
- package/dist/middleware/permissions/DefaultPolicies.js +32 -14
- package/dist/middleware/permissions/DefaultPolicies.js.map +1 -1
- package/dist/middleware/permissions/bashCommandView.d.ts +34 -0
- package/dist/middleware/permissions/bashCommandView.d.ts.map +1 -0
- package/dist/middleware/permissions/bashCommandView.js +92 -0
- package/dist/middleware/permissions/bashCommandView.js.map +1 -0
- package/dist/models/cards/huggingface/hf-space-models.d.ts.map +1 -1
- package/dist/models/cards/huggingface/hf-space-models.js +5 -0
- package/dist/models/cards/huggingface/hf-space-models.js.map +1 -1
- package/package.json +4 -4
|
@@ -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
|
@@ -56,4 +56,5 @@ 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
58
|
export { TUI_KEYMAP, keymapFooterHint, keymapHelpRows, keymapKey, type TuiSurface, type KeyBinding } from './config/tuiKeymap.js';
|
|
59
|
+
export { onboardingLines, shouldShowOnboarding, markOnboardingShown } from './config/tuiOnboarding.js';
|
|
59
60
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -73,4 +73,5 @@ 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
75
|
export { TUI_KEYMAP, keymapFooterHint, keymapHelpRows, keymapKey } from './config/tuiKeymap.js';
|
|
76
|
+
export { onboardingLines, shouldShowOnboarding, markOnboardingShown } from './config/tuiOnboarding.js';
|
|
76
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":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultPolicies.d.ts","sourceRoot":"","sources":["../../../src/middleware/permissions/DefaultPolicies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"DefaultPolicies.d.ts","sourceRoot":"","sources":["../../../src/middleware/permissions/DefaultPolicies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,gBAiK7B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,EAAE,gBAiC5B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,gBAqG7B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,EAI7C,CAAC"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* @version 1.0.0
|
|
10
10
|
* @created 2025-11-13
|
|
11
11
|
*/
|
|
12
|
+
import { analyzeBashCommand } from './bashCommandView.js';
|
|
12
13
|
/**
|
|
13
14
|
* Whitelist Policy: Safe research/read operations that never need approval
|
|
14
15
|
*
|
|
@@ -120,29 +121,40 @@ export const whitelistPolicy = {
|
|
|
120
121
|
'time', // Command timing
|
|
121
122
|
'cd' // Change directory (safe)
|
|
122
123
|
];
|
|
124
|
+
// Heredoc/redirect-aware structural analysis (2026-08-22). The old rule
|
|
125
|
+
// here was `cmd.match(/[<>]/)` — ANY angle bracket (every heredoc, every
|
|
126
|
+
// `2>/dev/null`, a `<` in a quoted string) ejected the command from the
|
|
127
|
+
// whitelist. Built when models were unreliable with heredocs; the
|
|
128
|
+
// narrow-door program showed they no longer are. Now: only a REAL file
|
|
129
|
+
// write (`>`/`>>` to a non-sink target) leaves the whitelist — as a
|
|
130
|
+
// graylist WRITE (parity with the Write tool), not a hard ejection.
|
|
131
|
+
// Stdin feeds (`<`), heredocs (`<<`), and null sinks stay whitelistable;
|
|
132
|
+
// matching runs on the heredoc-body-free view (bodies are data).
|
|
133
|
+
const structure = analyzeBashCommand(cmd);
|
|
134
|
+
if (structure.hasFileWriteRedirect) {
|
|
135
|
+
return { allowed: true }; // A write — pass-through to graylist
|
|
136
|
+
}
|
|
137
|
+
const matchText = structure.view.trim();
|
|
123
138
|
// Check if command matches any safe command (with or without args)
|
|
124
139
|
const isSafeCommand = safeReadCommands.some((safe) => {
|
|
125
140
|
// Exact match (e.g., "ls" === "ls")
|
|
126
|
-
if (
|
|
141
|
+
if (matchText === safe)
|
|
127
142
|
return true;
|
|
128
143
|
// Command with arguments (e.g., "ls -la" starts with "ls ")
|
|
129
144
|
// Works for both single-word ("ls") and multi-word ("git status") commands
|
|
130
|
-
if (
|
|
145
|
+
if (matchText.startsWith(safe + ' '))
|
|
131
146
|
return true;
|
|
132
147
|
return false;
|
|
133
148
|
});
|
|
134
|
-
//
|
|
135
|
-
//
|
|
136
|
-
|
|
137
|
-
const hasUnsafeOperators = cmd.match(/[<>]/);
|
|
138
|
-
if (hasUnsafeOperators) {
|
|
139
|
-
// Has redirects - not safe even if commands are safe
|
|
140
|
-
return { allowed: true }; // Pass-through to graylist
|
|
141
|
-
}
|
|
142
|
-
// Split by safe operators and check if all parts are safe commands
|
|
143
|
-
const commandParts = cmd.split(/\s*(?:&&|\|\||[|;])\s*/).filter(Boolean);
|
|
149
|
+
// Split by safe operators (&&, ||, |, ;) and check if all parts are safe.
|
|
150
|
+
// Redirect operators inside parts were handled structurally above.
|
|
151
|
+
const commandParts = matchText.split(/\s*(?:&&|\|\||[|;])\s*/).filter(Boolean);
|
|
144
152
|
const allPartsAreSafe = commandParts.every((part) => {
|
|
145
|
-
|
|
153
|
+
// Strip stdin/heredoc operator tails so `sort < file` / `cat <<'EOF'`
|
|
154
|
+
// match on their command head.
|
|
155
|
+
const trimmed = part.trim().replace(/\s*<<?-?\s*.*$/, '').trim();
|
|
156
|
+
if (!trimmed)
|
|
157
|
+
return true; // pure operator remnant
|
|
146
158
|
return safeReadCommands.some((safe) => {
|
|
147
159
|
// Check if this part matches a safe command
|
|
148
160
|
return trimmed === safe || trimmed.startsWith(safe + ' ');
|
|
@@ -244,7 +256,13 @@ export const blacklistPolicy = {
|
|
|
244
256
|
'pkill -9',
|
|
245
257
|
'killall',
|
|
246
258
|
];
|
|
247
|
-
|
|
259
|
+
// Heredoc bodies are DATA unless fed to an interpreter that executes
|
|
260
|
+
// stdin (2026-08-22): `cat > deploy.sh <<EOF` containing `rm -rf ./dist`
|
|
261
|
+
// is a WRITE of text, not an execution — scan the body-free view.
|
|
262
|
+
// `bash <<EOF` DOES execute its body — scan the full command.
|
|
263
|
+
const bl = analyzeBashCommand(cmd);
|
|
264
|
+
const scanText = bl.interpreterFed ? cmd : bl.view;
|
|
265
|
+
const isDangerous = dangerousPatterns.some((pattern) => scanText.includes(pattern));
|
|
248
266
|
if (isDangerous) {
|
|
249
267
|
const previewCmd = cmd.substring(0, 50) + (cmd.length > 50 ? '...' : '');
|
|
250
268
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultPolicies.js","sourceRoot":"","sources":["../../../src/middleware/permissions/DefaultPolicies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"DefaultPolicies.js","sourceRoot":"","sources":["../../../src/middleware/permissions/DefaultPolicies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,IAAI,EAAE,oCAAoC;IAC1C,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,IAAI;IAEb,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,wDAAwD;QACxD,MAAM,cAAc,GAAG;YACrB,MAAM;YACN,MAAM;YACN,MAAM;YACN,YAAY;YACZ,WAAW;YACX,UAAU;YACV,cAAc;YACd,yBAAyB;YACzB,kBAAkB;YAClB,wBAAwB;YACxB,0BAA0B;YAC1B,cAAc;YACd,aAAa;YACb,0BAA0B;YAC1B,2BAA2B;YAC3B,UAAU;YACV,aAAa;YACb,uEAAuE;YACvE,0DAA0D;YAC1D,mBAAmB;YACnB,kBAAkB;SACnB,CAAC;QAEF,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,WAAW,EAAE,uDAAuD;aAC3E,CAAC;QACJ,CAAC;QAED,mEAAmE;QACnE,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAEtD,0CAA0C;YAC1C,MAAM,gBAAgB,GAAG;gBACvB,IAAI,EAAE,KAAK,EAAY,aAAa;gBACpC,KAAK,EAAkB,0BAA0B;gBACjD,QAAQ,EAAE,IAAI,EAAS,YAAY;gBACnC,MAAM,EAAiB,aAAa;gBACpC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAG,aAAa;gBACrD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAU,SAAS;gBACjD,MAAM,EAAE,QAAQ,EAAO,aAAa;gBACpC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAG,kBAAkB;gBAC/C,KAAK,EAAE,UAAU,EAAM,cAAc;gBACrC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAG,cAAc;gBAC7C,OAAO,EAAE,MAAM,EAAQ,cAAc;gBACrC,IAAI,EAAE,IAAI,EAAa,aAAa;gBACpC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAI,eAAe;gBACtC,SAAS,EAAc,kBAAkB;gBACzC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAG,kBAAkB;gBACzC,MAAM,EAAE,KAAK,EAAU,kBAAkB;gBACzC,MAAM,EAAE,MAAM,EAAS,YAAY;gBACnC,MAAM,EAAiB,iBAAiB;gBAExC,gDAAgD;gBAChD,YAAY,EAAW,oDAAoD;gBAC3E,SAAS,EAAc,gCAAgC;gBACvD,UAAU,EAAa,2CAA2C;gBAClE,UAAU,EAAa,wBAAwB;gBAC/C,YAAY,EAAW,gBAAgB;gBACvC,YAAY,EAAW,eAAe;gBACtC,SAAS,EAAc,YAAY;gBACnC,YAAY,EAAW,iBAAiB;gBACxC,WAAW,EAAY,yBAAyB;gBAChD,cAAc,EAAS,mBAAmB;gBAC1C,cAAc,EAAS,qBAAqB;gBAC5C,aAAa,EAAU,oBAAoB;gBAC3C,UAAU,EAAa,oBAAoB;gBAC3C,mBAAmB,EAAI,cAAc;gBACrC,kBAAkB,EAAK,mBAAmB;gBAC1C,eAAe,EAAQ,kBAAkB;gBACzC,kBAAkB,EAAK,qBAAqB;gBAC5C,kBAAkB,EAAK,eAAe;gBACtC,cAAc,EAAS,eAAe;gBACtC,cAAc,EAAS,oBAAoB;gBAC3C,mBAAmB,EAAI,gBAAgB;gBACvC,mBAAmB,EAAI,iBAAiB;gBACxC,gBAAgB,EAAO,cAAc;gBACrC,kBAAkB,EAAK,kBAAkB;gBACzC,gBAAgB,EAAO,mBAAmB;gBAC1C,eAAe,EAAQ,yBAAyB;gBAChD,qBAAqB,EAAE,gBAAgB;gBACvC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAc,eAAe;gBACjE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAO,8BAA8B;gBAChF,cAAc,EAAE,mBAAmB,EAAe,sBAAsB;gBACxE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAG,eAAe;gBACvE,SAAS,EAAE,cAAc,EAAG,oDAAoD;gBAChF,KAAK,EAAE,cAAc,EAAO,+BAA+B;gBAC3D,QAAQ,EAAE,UAAU,EAAQ,kCAAkC;gBAC9D,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAG,eAAe;gBAC3C,SAAS,EAAc,oDAAoD;gBAC3E,IAAI,EAAE,IAAI,EAAa,uBAAuB;gBAC9C,KAAK,EAAE,KAAK,EAAW,8CAA8C;gBACrE,SAAS,EAAE,aAAa,EAAG,qBAAqB;gBAChD,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAG,kCAAkC;gBAC5E,SAAS,EAAc,kBAAkB;gBACzC,MAAM,EAAiB,iBAAiB;gBACxC,IAAI,CAAC,0BAA0B;aAChC,CAAC;YAEF,wEAAwE;YACxE,yEAAyE;YACzE,wEAAwE;YACxE,kEAAkE;YAClE,uEAAuE;YACvE,oEAAoE;YACpE,oEAAoE;YACpE,yEAAyE;YACzE,iEAAiE;YACjE,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,SAAS,CAAC,oBAAoB,EAAE,CAAC;gBACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,qCAAqC;YACjE,CAAC;YACD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAExC,mEAAmE;YACnE,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnD,oCAAoC;gBACpC,IAAI,SAAS,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBAEpC,4DAA4D;gBAC5D,2EAA2E;gBAC3E,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAElD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,0EAA0E;YAC1E,mEAAmE;YACnE,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/E,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAY,EAAE,EAAE;gBAC1D,sEAAsE;gBACtE,+BAA+B;gBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC,CAAC,wBAAwB;gBACnD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACpC,4CAA4C;oBAC5C,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;gBACrC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,WAAW,EAAE,uDAAuD;iBAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,4CAA4C;IACxE,CAAC;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,IAAI;IAEb,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAExD,6BAA6B;QAC7B,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,8BAA8B;gBACzD,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,UAAU,EAAE,uBAAuB;aAC1C,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,6DAA6D;QAC7D,2CAA2C;QAC3C,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,wDAAwD;gBAChE,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,UAAU;aACjB,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,eAAe;IAC3C,CAAC;CACF,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,IAAI,EAAE,gCAAgC;IACtC,QAAQ,EAAE,IAAI,EAAE,mCAAmC;IACnD,OAAO,EAAE,IAAI;IAEb,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,0BAA0B;QAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;YAC7C,MAAM,iBAAiB,GAAG;gBACxB,QAAQ;gBACR,QAAQ;gBACR,QAAQ;gBACR,MAAM;gBACN,aAAa,EAAE,YAAY;gBAC3B,WAAW;gBACX,cAAc;gBACd,UAAU;gBACV,MAAM;gBACN,MAAM;gBACN,OAAO;gBACP,uBAAuB;gBACvB,gBAAgB;gBAChB,aAAa;gBACb,aAAa;gBACb,aAAa;gBACb,WAAW;gBACX,WAAW;gBACX,UAAU;gBACV,QAAQ;gBACR,UAAU;gBACV,OAAO;gBACP,SAAS;gBACT,UAAU;gBACV,SAAS;aACV,CAAC;YAEF,qEAAqE;YACrE,yEAAyE;YACzE,kEAAkE;YAClE,8DAA8D;YAC9D,MAAM,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;YACnD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzE,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,cAAc,UAAU,6BAA6B;oBAC7D,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,WAAW,EAAE,2BAA2B;iBAC/C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAExG,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAE3E,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,iCAAiC,QAAQ,EAAE;oBACnD,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,WAAW;iBAClB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,iEAAiE;QACjE,eAAe;QACf,yFAAyF;QACzF,iFAAiF;QACjF,uDAAuD;QACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;YAE7C,2FAA2F;YAC3F,sEAAsE;YACtE,gFAAgF;YAChF,0FAA0F;YAC1F,MAAM,mBAAmB,GAAG,kHAAkH,CAAC;YAE/I,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,gDAAgD;oBACxD,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,WAAW;iBAClB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,eAAe;IAC3C,CAAC;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD,eAAe,EAAE,gCAAgC;IACjD,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,6BAA6B;CAC9C,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Heredoc/redirect-aware structural view of a bash command for permission
|
|
3
|
+
* analysis (2026-08-22, operator-commissioned).
|
|
4
|
+
*
|
|
5
|
+
* WHY: the original whitelist rule treated EVERY `<`/`>` character as an
|
|
6
|
+
* unsafe operator, so all heredocs — including pure stdin feeds that write
|
|
7
|
+
* nothing — fell out of the safe whitelist. That rule dates from when models
|
|
8
|
+
* were unreliable with heredocs; the narrow-door program showed current and
|
|
9
|
+
* bash-focused trained models use them proficiently, so the analysis becomes
|
|
10
|
+
* structural:
|
|
11
|
+
*
|
|
12
|
+
* - heredoc BODIES are data, not commands — they are stripped from the view
|
|
13
|
+
* used for whitelist matching and (for non-interpreter targets) dangerous-
|
|
14
|
+
* pattern scanning. Writing a script that CONTAINS `rm -rf ./dist` is a
|
|
15
|
+
* write, not an execution.
|
|
16
|
+
* - a heredoc fed to an INTERPRETER (`bash <<EOF`) IS executed — those
|
|
17
|
+
* bodies stay in scope for danger scans (`interpreterFed`).
|
|
18
|
+
* - `>`/`>>` to a real file = a WRITE (graylist tier, parity with the Write
|
|
19
|
+
* tool). Null sinks (`>/dev/null`, `2>&1`, fd dups) are not writes.
|
|
20
|
+
* - `<` stdin feeds are reads and never disqualify a safe command.
|
|
21
|
+
*/
|
|
22
|
+
export interface BashCommandView {
|
|
23
|
+
/** Command text with heredoc bodies removed (operators/markers retained). */
|
|
24
|
+
view: string;
|
|
25
|
+
/** At least one heredoc (`<<`/`<<-`) operator was present. */
|
|
26
|
+
hadHeredoc: boolean;
|
|
27
|
+
/** A `>`/`>>` redirect targets a real file (null sinks/fd dups excluded). */
|
|
28
|
+
hasFileWriteRedirect: boolean;
|
|
29
|
+
/** The command line feeds stdin to an interpreter that executes it. */
|
|
30
|
+
interpreterFed: boolean;
|
|
31
|
+
}
|
|
32
|
+
/** Analyze a bash command into its permission-relevant structure. */
|
|
33
|
+
export declare function analyzeBashCommand(command: string): BashCommandView;
|
|
34
|
+
//# sourceMappingURL=bashCommandView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bashCommandView.d.ts","sourceRoot":"","sources":["../../../src/middleware/permissions/bashCommandView.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uEAAuE;IACvE,cAAc,EAAE,OAAO,CAAC;CACzB;AA8BD,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAsCnE"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Heredoc/redirect-aware structural view of a bash command for permission
|
|
3
|
+
* analysis (2026-08-22, operator-commissioned).
|
|
4
|
+
*
|
|
5
|
+
* WHY: the original whitelist rule treated EVERY `<`/`>` character as an
|
|
6
|
+
* unsafe operator, so all heredocs — including pure stdin feeds that write
|
|
7
|
+
* nothing — fell out of the safe whitelist. That rule dates from when models
|
|
8
|
+
* were unreliable with heredocs; the narrow-door program showed current and
|
|
9
|
+
* bash-focused trained models use them proficiently, so the analysis becomes
|
|
10
|
+
* structural:
|
|
11
|
+
*
|
|
12
|
+
* - heredoc BODIES are data, not commands — they are stripped from the view
|
|
13
|
+
* used for whitelist matching and (for non-interpreter targets) dangerous-
|
|
14
|
+
* pattern scanning. Writing a script that CONTAINS `rm -rf ./dist` is a
|
|
15
|
+
* write, not an execution.
|
|
16
|
+
* - a heredoc fed to an INTERPRETER (`bash <<EOF`) IS executed — those
|
|
17
|
+
* bodies stay in scope for danger scans (`interpreterFed`).
|
|
18
|
+
* - `>`/`>>` to a real file = a WRITE (graylist tier, parity with the Write
|
|
19
|
+
* tool). Null sinks (`>/dev/null`, `2>&1`, fd dups) are not writes.
|
|
20
|
+
* - `<` stdin feeds are reads and never disqualify a safe command.
|
|
21
|
+
*/
|
|
22
|
+
/** Interpreters that execute their stdin — heredoc bodies fed to these are
|
|
23
|
+
* live code and must stay visible to dangerous-pattern scanning. */
|
|
24
|
+
const STDIN_INTERPRETERS = new Set([
|
|
25
|
+
'bash', 'sh', 'zsh', 'dash', 'ksh', 'fish',
|
|
26
|
+
'node', 'python', 'python2', 'python3', 'perl', 'ruby', 'php', 'deno', 'bun',
|
|
27
|
+
]);
|
|
28
|
+
const HEREDOC_RE = /<<-?\s*(["']?)([A-Za-z_][\w]*)\1/;
|
|
29
|
+
/** Strip one heredoc body (marker line retained). Returns null when no
|
|
30
|
+
* heredoc remains. Unterminated bodies extend to end-of-string. */
|
|
31
|
+
function stripFirstHeredocBody(text) {
|
|
32
|
+
const m = HEREDOC_RE.exec(text);
|
|
33
|
+
if (!m)
|
|
34
|
+
return null;
|
|
35
|
+
const markerEnd = m.index + m[0].length;
|
|
36
|
+
const delim = m[2];
|
|
37
|
+
const bodyStart = text.indexOf('\n', markerEnd);
|
|
38
|
+
if (bodyStart === -1)
|
|
39
|
+
return text; // marker but no body yet — nothing to strip
|
|
40
|
+
// Body runs to a line that is exactly the delimiter (leading tabs ok for <<-).
|
|
41
|
+
const lines = text.slice(bodyStart + 1).split('\n');
|
|
42
|
+
let end = lines.length; // unterminated → strip to end
|
|
43
|
+
for (let i = 0; i < lines.length; i++) {
|
|
44
|
+
if (lines[i].replace(/^\t+/, '') === delim) {
|
|
45
|
+
end = i;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const after = lines.slice(end + 1).join('\n');
|
|
50
|
+
return text.slice(0, bodyStart) + (after ? '\n' + after : '');
|
|
51
|
+
}
|
|
52
|
+
/** Analyze a bash command into its permission-relevant structure. */
|
|
53
|
+
export function analyzeBashCommand(command) {
|
|
54
|
+
const raw = command ?? '';
|
|
55
|
+
const hadHeredoc = HEREDOC_RE.test(raw);
|
|
56
|
+
let view = raw;
|
|
57
|
+
if (hadHeredoc) {
|
|
58
|
+
// Iteratively strip bodies; guard against pathological loops.
|
|
59
|
+
for (let i = 0; i < 8; i++) {
|
|
60
|
+
const next = stripFirstHeredocBody(view);
|
|
61
|
+
if (next === null || next === view)
|
|
62
|
+
break;
|
|
63
|
+
view = next;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Write redirects on the BODY-FREE view: `>`/`>>` (optionally fd-prefixed)
|
|
67
|
+
// to a target that is not /dev/null and not an fd duplication (`>&1`).
|
|
68
|
+
let hasFileWriteRedirect = false;
|
|
69
|
+
const redir = /(?<![<>])[0-9]?>{1,2}\s*([^\s|;&<>]+)/g;
|
|
70
|
+
for (const m of view.matchAll(redir)) {
|
|
71
|
+
const target = m[1];
|
|
72
|
+
if (target.startsWith('&'))
|
|
73
|
+
continue; // fd dup (2>&1)
|
|
74
|
+
if (target === '/dev/null')
|
|
75
|
+
continue; // null sink
|
|
76
|
+
hasFileWriteRedirect = true;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
// Interpreter-fed heredoc: first command token (skipping env prefixes and
|
|
80
|
+
// sudo) is a stdin interpreter.
|
|
81
|
+
let interpreterFed = false;
|
|
82
|
+
if (hadHeredoc) {
|
|
83
|
+
const tokens = view.trim().split(/\s+/);
|
|
84
|
+
let idx = 0;
|
|
85
|
+
while (idx < tokens.length && (/^[A-Za-z_][\w]*=/.test(tokens[idx]) || tokens[idx] === 'sudo' || tokens[idx] === 'env'))
|
|
86
|
+
idx++;
|
|
87
|
+
const base = (tokens[idx] ?? '').split('/').pop() ?? '';
|
|
88
|
+
interpreterFed = STDIN_INTERPRETERS.has(base);
|
|
89
|
+
}
|
|
90
|
+
return { view, hadHeredoc, hasFileWriteRedirect, interpreterFed };
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=bashCommandView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bashCommandView.js","sourceRoot":"","sources":["../../../src/middleware/permissions/bashCommandView.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hf-space-models.d.ts","sourceRoot":"","sources":["../../../../src/models/cards/huggingface/hf-space-models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"hf-space-models.d.ts","sourceRoot":"","sources":["../../../../src/models/cards/huggingface/hf-space-models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AA4FlE,eAAO,MAAM,iBAAiB,EAAE,WAAW,EAE1C,CAAC"}
|
|
@@ -32,6 +32,11 @@ const SPECS = [
|
|
|
32
32
|
{ envSlug: 'LFM2_5_350M', id: 'lfm2.5-350m-space', displayName: 'LFM2.5 350M (HF Space)', family: 'lfm2.5', repo: 'LiquidAI/LFM2.5-350M', contextWindow: 32768, reasoning: false, defaultTemperature: 0.3 },
|
|
33
33
|
{ envSlug: 'LFM2_5_1_2B', id: 'lfm2.5-1.2b-space', displayName: 'LFM2.5 1.2B (HF Space)', family: 'lfm2.5', repo: 'LiquidAI/LFM2.5-1.2B-Instruct', contextWindow: 32768, reasoning: false, defaultTemperature: 0.3 },
|
|
34
34
|
{ envSlug: 'LFM2_5_1_2B_THINKING', id: 'lfm2.5-1.2b-thinking-space', displayName: 'LFM2.5 1.2B Thinking (HF Space)', family: 'lfm2.5', repo: 'LiquidAI/LFM2.5-1.2B-Thinking', contextWindow: 32768, reasoning: true, defaultTemperature: 0.3 },
|
|
35
|
+
// New-generation LFM2.5 (128K vocab lineage; both always-think). Vendor temps
|
|
36
|
+
// (2.6B gen_config 0.1 / 8B 0.2); rep-penalty is NOT expressible via the card
|
|
37
|
+
// — confound-check degenerate recursion before believing any 0/N.
|
|
38
|
+
{ envSlug: 'LFM2_5_2_6B', id: 'lfm2.5-2.6b-space', displayName: 'LFM2.5 2.6B (HF Space)', family: 'lfm2.5', repo: 'LiquidAI/LFM2.5-2.6B', contextWindow: 32768, reasoning: true, defaultTemperature: 0.1 },
|
|
39
|
+
{ envSlug: 'LFM2_5_8B_A1B', id: 'lfm2.5-8b-a1b-space', displayName: 'LFM2.5 8B-A1B MoE (HF Space)', family: 'lfm2.5', repo: 'LiquidAI/LFM2.5-8B-A1B', contextWindow: 32768, reasoning: true, defaultTemperature: 0.2 },
|
|
35
40
|
// MiniCPM5 1.08B (dense Llama arch, apache-2.0; hybrid <think>; own XML tool
|
|
36
41
|
// family — see normalize.ts). Temp 0.3 = tool-stability override (vendor chat
|
|
37
42
|
// default is 0.9/0.95, but router-bench r8/r8b: 100/300 @0.9 vs 250/300 @0.3 —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hf-space-models.js","sourceRoot":"","sources":["../../../../src/models/cards/huggingface/hf-space-models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hf-space-models.js","sourceRoot":"","sources":["../../../../src/models/cards/huggingface/hf-space-models.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.
|
|
3
|
+
"version": "4.69.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.
|
|
51
|
-
"@nexus-cortex/types": "4.
|
|
50
|
+
"@nexus-cortex/executors": "4.69.0",
|
|
51
|
+
"@nexus-cortex/types": "4.69.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.
|
|
59
|
+
"nexus-canon": "1.9.5"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@types/node": "^20.0.0",
|