@ashlr/hub 2.2.0 → 3.0.1
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/CHANGELOG.md +73 -0
- package/README.md +95 -8
- package/dist/api/plugin.d.ts +1 -0
- package/dist/cli/backlog.js +2 -0
- package/dist/cli/backlog.js.map +1 -1
- package/dist/cli/digest.d.ts +6 -0
- package/dist/cli/digest.js +127 -2
- package/dist/cli/digest.js.map +1 -1
- package/dist/cli/eval-fixtures.d.ts +18 -0
- package/dist/cli/eval-fixtures.js +38 -0
- package/dist/cli/eval-fixtures.js.map +1 -0
- package/dist/cli/eval.d.ts +56 -0
- package/dist/cli/eval.js +283 -0
- package/dist/cli/eval.js.map +1 -0
- package/dist/cli/fleet.d.ts +27 -0
- package/dist/cli/fleet.js +222 -0
- package/dist/cli/fleet.js.map +1 -0
- package/dist/cli/goal.d.ts +15 -0
- package/dist/cli/goal.js +91 -0
- package/dist/cli/goal.js.map +1 -0
- package/dist/cli/help.js +10 -3
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/inbox.d.ts +6 -0
- package/dist/cli/inbox.js +183 -8
- package/dist/cli/inbox.js.map +1 -1
- package/dist/cli/index.js +50 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/loop.d.ts +16 -0
- package/dist/cli/loop.js +66 -0
- package/dist/cli/loop.js.map +1 -0
- package/dist/cli/mcp.d.ts +12 -0
- package/dist/cli/mcp.js +148 -0
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/onboard.d.ts +16 -0
- package/dist/cli/onboard.js +71 -0
- package/dist/cli/onboard.js.map +1 -1
- package/dist/cli/plugins.js +9 -8
- package/dist/cli/plugins.js.map +1 -1
- package/dist/cli/pulse.d.ts +10 -0
- package/dist/cli/pulse.js +261 -0
- package/dist/cli/pulse.js.map +1 -1
- package/dist/cli/run.js +21 -3
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/stack.d.ts +34 -0
- package/dist/cli/stack.js +221 -0
- package/dist/cli/stack.js.map +1 -0
- package/dist/cli/update.js +12 -5
- package/dist/cli/update.js.map +1 -1
- package/dist/core/daemon/loop.d.ts +10 -5
- package/dist/core/daemon/loop.js +167 -37
- package/dist/core/daemon/loop.js.map +1 -1
- package/dist/core/env-bridge.js +3 -2
- package/dist/core/env-bridge.js.map +1 -1
- package/dist/core/fleet/automerge-pass.d.ts +33 -0
- package/dist/core/fleet/automerge-pass.js +61 -0
- package/dist/core/fleet/automerge-pass.js.map +1 -0
- package/dist/core/fleet/quota.d.ts +70 -0
- package/dist/core/fleet/quota.js +198 -0
- package/dist/core/fleet/quota.js.map +1 -0
- package/dist/core/fleet/router.d.ts +46 -0
- package/dist/core/fleet/router.js +121 -0
- package/dist/core/fleet/router.js.map +1 -0
- package/dist/core/fleet/self.d.ts +58 -0
- package/dist/core/fleet/self.js +187 -0
- package/dist/core/fleet/self.js.map +1 -0
- package/dist/core/fleet/status.d.ts +54 -0
- package/dist/core/fleet/status.js +157 -0
- package/dist/core/fleet/status.js.map +1 -0
- package/dist/core/foundry/provenance.d.ts +78 -0
- package/dist/core/foundry/provenance.js +172 -0
- package/dist/core/foundry/provenance.js.map +1 -0
- package/dist/core/git.d.ts +13 -0
- package/dist/core/git.js +26 -0
- package/dist/core/git.js.map +1 -1
- package/dist/core/inbox/merge.d.ts +151 -0
- package/dist/core/inbox/merge.js +858 -0
- package/dist/core/inbox/merge.js.map +1 -0
- package/dist/core/inbox/store.js +10 -1
- package/dist/core/inbox/store.js.map +1 -1
- package/dist/core/integrations/markdown.d.ts +66 -0
- package/dist/core/integrations/markdown.js +132 -0
- package/dist/core/integrations/markdown.js.map +1 -0
- package/dist/core/integrations/secrets.d.ts +37 -0
- package/dist/core/integrations/secrets.js +67 -0
- package/dist/core/integrations/secrets.js.map +1 -0
- package/dist/core/integrations/stack.d.ts +47 -0
- package/dist/core/integrations/stack.js +107 -0
- package/dist/core/integrations/stack.js.map +1 -0
- package/dist/core/mcp-native-engineer.d.ts +123 -0
- package/dist/core/mcp-native-engineer.js +936 -0
- package/dist/core/mcp-native-engineer.js.map +1 -0
- package/dist/core/mcp-native.js +20 -42
- package/dist/core/mcp-native.js.map +1 -1
- package/dist/core/mcp-registry.js +2 -0
- package/dist/core/mcp-registry.js.map +1 -1
- package/dist/core/observability/codex-source.d.ts +53 -0
- package/dist/core/observability/codex-source.js +390 -0
- package/dist/core/observability/codex-source.js.map +1 -0
- package/dist/core/observability/estimate.d.ts +12 -0
- package/dist/core/observability/estimate.js +26 -0
- package/dist/core/observability/estimate.js.map +1 -1
- package/dist/core/observability/limits.d.ts +52 -0
- package/dist/core/observability/limits.js +316 -0
- package/dist/core/observability/limits.js.map +1 -0
- package/dist/core/observability/usage-source.js +3 -1
- package/dist/core/observability/usage-source.js.map +1 -1
- package/dist/core/portfolio/scanners.d.ts +1 -0
- package/dist/core/portfolio/scanners.js +40 -1
- package/dist/core/portfolio/scanners.js.map +1 -1
- package/dist/core/providers.js +4 -0
- package/dist/core/providers.js.map +1 -1
- package/dist/core/quality/health.js +1 -0
- package/dist/core/quality/health.js.map +1 -1
- package/dist/core/run/agent-loop.d.ts +8 -0
- package/dist/core/run/agent-loop.js +24 -14
- package/dist/core/run/agent-loop.js.map +1 -1
- package/dist/core/run/engine-registry.d.ts +48 -0
- package/dist/core/run/engine-registry.js +190 -0
- package/dist/core/run/engine-registry.js.map +1 -0
- package/dist/core/run/engines.d.ts +17 -3
- package/dist/core/run/engines.js +63 -44
- package/dist/core/run/engines.js.map +1 -1
- package/dist/core/run/learned-router.d.ts +121 -0
- package/dist/core/run/learned-router.js +374 -0
- package/dist/core/run/learned-router.js.map +1 -0
- package/dist/core/run/model-manager.js +3 -3
- package/dist/core/run/model-manager.js.map +1 -1
- package/dist/core/run/model-profile.d.ts +67 -0
- package/dist/core/run/model-profile.js +132 -0
- package/dist/core/run/model-profile.js.map +1 -0
- package/dist/core/run/orchestrator.d.ts +1 -1
- package/dist/core/run/orchestrator.js +642 -510
- package/dist/core/run/orchestrator.js.map +1 -1
- package/dist/core/run/prompts/budget.d.ts +25 -0
- package/dist/core/run/prompts/budget.js +51 -0
- package/dist/core/run/prompts/budget.js.map +1 -0
- package/dist/core/run/prompts/index.d.ts +14 -0
- package/dist/core/run/prompts/index.js +59 -0
- package/dist/core/run/prompts/index.js.map +1 -0
- package/dist/core/run/prompts/layers.d.ts +26 -0
- package/dist/core/run/prompts/layers.js +73 -0
- package/dist/core/run/prompts/layers.js.map +1 -0
- package/dist/core/run/prompts/roles.d.ts +23 -0
- package/dist/core/run/prompts/roles.js +48 -0
- package/dist/core/run/prompts/roles.js.map +1 -0
- package/dist/core/run/prompts/types.d.ts +38 -0
- package/dist/core/run/prompts/types.js +5 -0
- package/dist/core/run/prompts/types.js.map +1 -0
- package/dist/core/run/provider-client.d.ts +6 -24
- package/dist/core/run/provider-client.js +125 -61
- package/dist/core/run/provider-client.js.map +1 -1
- package/dist/core/run/router.js +8 -0
- package/dist/core/run/router.js.map +1 -1
- package/dist/core/run/sandboxed-engine.d.ts +66 -0
- package/dist/core/run/sandboxed-engine.js +262 -0
- package/dist/core/run/sandboxed-engine.js.map +1 -0
- package/dist/core/run/verify-commands.d.ts +83 -0
- package/dist/core/run/verify-commands.js +234 -0
- package/dist/core/run/verify-commands.js.map +1 -0
- package/dist/core/run/verify.d.ts +31 -1
- package/dist/core/run/verify.js +48 -0
- package/dist/core/run/verify.js.map +1 -1
- package/dist/core/sandbox/audit.d.ts +27 -0
- package/dist/core/sandbox/audit.js +34 -0
- package/dist/core/sandbox/audit.js.map +1 -1
- package/dist/core/sandbox/confine.d.ts +134 -0
- package/dist/core/sandbox/confine.js +370 -0
- package/dist/core/sandbox/confine.js.map +1 -0
- package/dist/core/types.d.ts +227 -5
- package/dist/core/web/api.js +77 -28
- package/dist/core/web/api.js.map +1 -1
- package/dist/core/web/control.d.ts +116 -0
- package/dist/core/web/control.js +307 -0
- package/dist/core/web/control.js.map +1 -0
- package/dist/core/web/public/app.js +512 -6
- package/dist/core/web/public/styles.css +468 -0
- package/package.json +3 -2
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* model-profile.ts — M41 model-adaptive capability profiles.
|
|
3
|
+
*
|
|
4
|
+
* Local models vary wildly: a 1.5B chat model and a 32B coder need very
|
|
5
|
+
* different scaffolding. A ModelProfile bundles the knobs that should adapt to
|
|
6
|
+
* the model actually serving a task — prompt verbosity, tool-call format,
|
|
7
|
+
* step cap, sampling temperature, and a prompt/context size budget.
|
|
8
|
+
*
|
|
9
|
+
* Resolution is by model-NAME pattern only (zero I/O, fully deterministic and
|
|
10
|
+
* testable), reusing the exact size/coder vocabulary already used by
|
|
11
|
+
* provider-client.pickModel and router.pickBestLocalModel so detection stays
|
|
12
|
+
* consistent across the codebase.
|
|
13
|
+
*
|
|
14
|
+
* EVERYTHING here is additive and gated: profiles only take effect when
|
|
15
|
+
* adaptive prompts are enabled (adaptivePromptsEnabled). With the flag off the
|
|
16
|
+
* harness behaves exactly as before.
|
|
17
|
+
*/
|
|
18
|
+
import type { AshlrConfig } from '../types.js';
|
|
19
|
+
export type PromptVerbosity = 'terse' | 'standard' | 'rich';
|
|
20
|
+
/**
|
|
21
|
+
* How a model best receives tool intent.
|
|
22
|
+
* - 'native': provider tool API (tool_calls) — capable models.
|
|
23
|
+
* - 'json': ask for a JSON tool-call block in content — weak/small models
|
|
24
|
+
* that fumble native tool calling but can emit structured text.
|
|
25
|
+
* - 'none': no tools (no-tool contract only).
|
|
26
|
+
*/
|
|
27
|
+
export type ToolFormat = 'native' | 'json' | 'none';
|
|
28
|
+
export interface ModelProfile {
|
|
29
|
+
/** Stable profile id (e.g. 'coder', 'general', 'small', 'default'). */
|
|
30
|
+
id: string;
|
|
31
|
+
/** Prompt verbosity tier — selects the layer variant during assembly. */
|
|
32
|
+
verbosity: PromptVerbosity;
|
|
33
|
+
/** Preferred tool-call format. */
|
|
34
|
+
toolFormat: ToolFormat;
|
|
35
|
+
/** Optional one-liner appended to the tool layer (e.g. JSON-block hint). */
|
|
36
|
+
toolFormatHint?: string;
|
|
37
|
+
/** Per-task ReAct step ceiling (overrides agent-loop TASK_STEP_CAP). */
|
|
38
|
+
stepCap: number;
|
|
39
|
+
/** Suggested sampling temperature (lower = more disciplined). */
|
|
40
|
+
temperature: number;
|
|
41
|
+
/** Hard character ceiling for the assembled system prompt. */
|
|
42
|
+
promptCharCap: number;
|
|
43
|
+
/** Approx context window in tokens (informs the prompt/memory budget). */
|
|
44
|
+
contextTokens: number;
|
|
45
|
+
}
|
|
46
|
+
/** Fallback when the model name is unknown — behaves like GENERAL. */
|
|
47
|
+
export declare const DEFAULT_PROFILE: ModelProfile;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve a ModelProfile from a model name. Deterministic, no I/O.
|
|
50
|
+
*
|
|
51
|
+
* Bands (most specific first):
|
|
52
|
+
* - small : labeled ≤3B or an explicitly-small family.
|
|
53
|
+
* - coder : coder-specialized name, OR a large (≥20B) capable model.
|
|
54
|
+
* - general: any other recognizable chat model.
|
|
55
|
+
* - default: unknown / undefined name.
|
|
56
|
+
*
|
|
57
|
+
* `overrides` allows per-id shallow tuning (e.g. cfg.models.profiles['coder']).
|
|
58
|
+
*/
|
|
59
|
+
export declare function resolveModelProfile(modelName?: string, overrides?: Record<string, Partial<ModelProfile>>): ModelProfile;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the M41 adaptive-prompt suite is active. Default OFF.
|
|
62
|
+
*
|
|
63
|
+
* Precedence: ASHLR_ADAPTIVE_PROMPTS env (1/true | 0/false) overrides config;
|
|
64
|
+
* otherwise cfg.models.adaptivePrompts === true. Absent everywhere → false, so
|
|
65
|
+
* the harness keeps its legacy prompts/step-cap untouched.
|
|
66
|
+
*/
|
|
67
|
+
export declare function adaptivePromptsEnabled(cfg?: AshlrConfig): boolean;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* model-profile.ts — M41 model-adaptive capability profiles.
|
|
3
|
+
*
|
|
4
|
+
* Local models vary wildly: a 1.5B chat model and a 32B coder need very
|
|
5
|
+
* different scaffolding. A ModelProfile bundles the knobs that should adapt to
|
|
6
|
+
* the model actually serving a task — prompt verbosity, tool-call format,
|
|
7
|
+
* step cap, sampling temperature, and a prompt/context size budget.
|
|
8
|
+
*
|
|
9
|
+
* Resolution is by model-NAME pattern only (zero I/O, fully deterministic and
|
|
10
|
+
* testable), reusing the exact size/coder vocabulary already used by
|
|
11
|
+
* provider-client.pickModel and router.pickBestLocalModel so detection stays
|
|
12
|
+
* consistent across the codebase.
|
|
13
|
+
*
|
|
14
|
+
* EVERYTHING here is additive and gated: profiles only take effect when
|
|
15
|
+
* adaptive prompts are enabled (adaptivePromptsEnabled). With the flag off the
|
|
16
|
+
* harness behaves exactly as before.
|
|
17
|
+
*/
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// Name-pattern vocabulary (kept in sync with provider-client / router)
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
/** Parse a parameter count in billions from a model name ("3b" / "7b" / "72b"). */
|
|
22
|
+
function sizeOf(name) {
|
|
23
|
+
const b = name.match(/(\d+(?:\.\d+)?)\s*b\b/i);
|
|
24
|
+
if (b)
|
|
25
|
+
return parseFloat(b[1]);
|
|
26
|
+
if (/mini|small|tiny|nano|phi/i.test(name))
|
|
27
|
+
return 3; // unlabeled small models
|
|
28
|
+
return -1; // unknown size
|
|
29
|
+
}
|
|
30
|
+
/** Coder/code-specialized models that reward richer engineering discipline. */
|
|
31
|
+
function isCoderModel(name) {
|
|
32
|
+
return /coder|codellama|code-?llama|codegemma|codestral|starcoder|deepseek-?coder|code-/i.test(name);
|
|
33
|
+
}
|
|
34
|
+
/** Explicitly small/weak families regardless of a labeled size. */
|
|
35
|
+
function isSmallName(name) {
|
|
36
|
+
return /tinyllama|tiny|nano|mini|gemma:?2b|phi-?[123]|qwen2?\.?5?:?(0\.5|1\.5|1|3)b/i.test(name);
|
|
37
|
+
}
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
// Named profiles
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
const SMALL_HINT = 'If native tool calls fail, emit ONE JSON object: {"tool":"<name>","arguments":{...}} and nothing else.';
|
|
42
|
+
/** Weak/small models (≤3B): tight prompt, lower step budget, JSON tool hint. */
|
|
43
|
+
const SMALL = {
|
|
44
|
+
id: 'small',
|
|
45
|
+
verbosity: 'terse',
|
|
46
|
+
toolFormat: 'json',
|
|
47
|
+
toolFormatHint: SMALL_HINT,
|
|
48
|
+
stepCap: 12,
|
|
49
|
+
temperature: 0.2,
|
|
50
|
+
promptCharCap: 1200,
|
|
51
|
+
contextTokens: 4096,
|
|
52
|
+
};
|
|
53
|
+
/** Capable general chat models (≈4–14B). Balanced defaults. */
|
|
54
|
+
const GENERAL = {
|
|
55
|
+
id: 'general',
|
|
56
|
+
verbosity: 'standard',
|
|
57
|
+
toolFormat: 'native',
|
|
58
|
+
stepCap: 20,
|
|
59
|
+
temperature: 0.3,
|
|
60
|
+
promptCharCap: 2200,
|
|
61
|
+
contextTokens: 8192,
|
|
62
|
+
};
|
|
63
|
+
/** Coder-specialized or large (≥20B) models: full discipline, more headroom. */
|
|
64
|
+
const CODER = {
|
|
65
|
+
id: 'coder',
|
|
66
|
+
verbosity: 'rich',
|
|
67
|
+
toolFormat: 'native',
|
|
68
|
+
stepCap: 28,
|
|
69
|
+
temperature: 0.2,
|
|
70
|
+
promptCharCap: 3200,
|
|
71
|
+
contextTokens: 16384,
|
|
72
|
+
};
|
|
73
|
+
/** Fallback when the model name is unknown — behaves like GENERAL. */
|
|
74
|
+
export const DEFAULT_PROFILE = { ...GENERAL, id: 'default' };
|
|
75
|
+
// ---------------------------------------------------------------------------
|
|
76
|
+
// Resolution
|
|
77
|
+
// ---------------------------------------------------------------------------
|
|
78
|
+
/**
|
|
79
|
+
* Resolve a ModelProfile from a model name. Deterministic, no I/O.
|
|
80
|
+
*
|
|
81
|
+
* Bands (most specific first):
|
|
82
|
+
* - small : labeled ≤3B or an explicitly-small family.
|
|
83
|
+
* - coder : coder-specialized name, OR a large (≥20B) capable model.
|
|
84
|
+
* - general: any other recognizable chat model.
|
|
85
|
+
* - default: unknown / undefined name.
|
|
86
|
+
*
|
|
87
|
+
* `overrides` allows per-id shallow tuning (e.g. cfg.models.profiles['coder']).
|
|
88
|
+
*/
|
|
89
|
+
export function resolveModelProfile(modelName, overrides) {
|
|
90
|
+
if (!modelName || modelName.trim().length === 0) {
|
|
91
|
+
return applyOverride(DEFAULT_PROFILE, overrides);
|
|
92
|
+
}
|
|
93
|
+
const name = modelName.trim();
|
|
94
|
+
const size = sizeOf(name);
|
|
95
|
+
const coder = isCoderModel(name);
|
|
96
|
+
let base;
|
|
97
|
+
if (isSmallName(name) || (size > 0 && size <= 3)) {
|
|
98
|
+
base = SMALL;
|
|
99
|
+
}
|
|
100
|
+
else if (coder || (size >= 20 && size < 900)) {
|
|
101
|
+
base = CODER;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
// Recognizable mid-size chat model, or unknown size that still names a
|
|
105
|
+
// known family → general. Truly unknown strings fall here too (safe).
|
|
106
|
+
base = GENERAL;
|
|
107
|
+
}
|
|
108
|
+
return applyOverride(base, overrides);
|
|
109
|
+
}
|
|
110
|
+
function applyOverride(profile, overrides) {
|
|
111
|
+
const o = overrides?.[profile.id];
|
|
112
|
+
return o ? { ...profile, ...o } : { ...profile };
|
|
113
|
+
}
|
|
114
|
+
// ---------------------------------------------------------------------------
|
|
115
|
+
// Feature gate
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
/**
|
|
118
|
+
* Whether the M41 adaptive-prompt suite is active. Default OFF.
|
|
119
|
+
*
|
|
120
|
+
* Precedence: ASHLR_ADAPTIVE_PROMPTS env (1/true | 0/false) overrides config;
|
|
121
|
+
* otherwise cfg.models.adaptivePrompts === true. Absent everywhere → false, so
|
|
122
|
+
* the harness keeps its legacy prompts/step-cap untouched.
|
|
123
|
+
*/
|
|
124
|
+
export function adaptivePromptsEnabled(cfg) {
|
|
125
|
+
const env = process.env.ASHLR_ADAPTIVE_PROMPTS?.trim().toLowerCase();
|
|
126
|
+
if (env === '1' || env === 'true' || env === 'on')
|
|
127
|
+
return true;
|
|
128
|
+
if (env === '0' || env === 'false' || env === 'off')
|
|
129
|
+
return false;
|
|
130
|
+
return cfg?.models?.adaptivePrompts === true;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=model-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-profile.js","sourceRoot":"","sources":["../../../src/core/run/model-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,7 +87,7 @@ export declare function saveRun(s: RunState): void;
|
|
|
87
87
|
export declare function planGoal(goal: string, client: ProviderClient, onUsage?: (usage: {
|
|
88
88
|
tokensIn: number;
|
|
89
89
|
tokensOut: number;
|
|
90
|
-
}) => void, memoryContext?: string): Promise<RunTask[]>;
|
|
90
|
+
}) => void, memoryContext?: string, adaptive?: boolean): Promise<RunTask[]>;
|
|
91
91
|
/**
|
|
92
92
|
* Top-level orchestrator driver. Builds/loads RunState, plans (unless resuming),
|
|
93
93
|
* executes the DAG with parallelism up to opts.parallel, enforces HARD budget,
|