actoviq-agent-sdk 0.4.13 → 0.4.14
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 +35 -0
- package/dist/src/cli/hadamard-tui.js +5 -4
- package/dist/src/cli/hadamard-tui.js.map +1 -1
- package/dist/src/config/modelConfigurationCatalog.d.ts +4 -0
- package/dist/src/config/modelConfigurationCatalog.d.ts.map +1 -1
- package/dist/src/config/modelConfigurationCatalog.js +8 -0
- package/dist/src/config/modelConfigurationCatalog.js.map +1 -1
- package/dist/src/config/projectSettings.d.ts +8 -1
- package/dist/src/config/projectSettings.d.ts.map +1 -1
- package/dist/src/config/projectSettings.js +15 -0
- package/dist/src/config/projectSettings.js.map +1 -1
- package/dist/src/gui/hadamardGui.d.ts.map +1 -1
- package/dist/src/gui/hadamardGui.js +58 -15
- package/dist/src/gui/hadamardGui.js.map +1 -1
- package/dist/src/memory/projectContext.d.ts +16 -11
- package/dist/src/memory/projectContext.d.ts.map +1 -1
- package/dist/src/memory/projectContext.js +45 -37
- package/dist/src/memory/projectContext.js.map +1 -1
- package/dist/src/prompts/systemPrompt.js +2 -2
- package/dist/src/prompts/systemPrompt.js.map +1 -1
- package/dist/src/runtime/agentClient.d.ts.map +1 -1
- package/dist/src/runtime/agentClient.js +36 -3
- package/dist/src/runtime/agentClient.js.map +1 -1
- package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
- package/dist/src/runtime/conversationEngine.js +3 -2
- package/dist/src/runtime/conversationEngine.js.map +1 -1
- package/dist/src/tui/hadamardTui.d.ts.map +1 -1
- package/dist/src/tui/hadamardTui.js +105 -23
- package/dist/src/tui/hadamardTui.js.map +1 -1
- package/dist/src/ui/commandSurface.d.ts.map +1 -1
- package/dist/src/ui/commandSurface.js +18 -8
- package/dist/src/ui/commandSurface.js.map +1 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationEngine.d.ts","sourceRoot":"","sources":["../../../src/runtime/conversationEngine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"conversationEngine.d.ts","sourceRoot":"","sources":["../../../src/runtime/conversationEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,6 +59,7 @@ export async function executeConversation(options) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
const resolvedTools = await options.mcpManager.resolveToolAdapters(options.tools ?? [], options.mcpServers ?? [], { signal: options.signal, timeoutMs: options.config.mcpTimeoutMs });
|
|
62
|
+
const fixedRequestTokens = estimateFixedRequestTokens(options.systemPrompt ?? options.config.systemPrompt, resolvedTools);
|
|
62
63
|
const toolMap = new Map(resolvedTools.map((tool) => [tool.publicName, tool]));
|
|
63
64
|
const requestSummaries = [];
|
|
64
65
|
const toolCalls = [];
|
|
@@ -94,7 +95,7 @@ export async function executeConversation(options) {
|
|
|
94
95
|
lastRequestInputTokens,
|
|
95
96
|
tokenEstimateMultiplier,
|
|
96
97
|
compactWindowPrefixTokens,
|
|
97
|
-
fixedInputTokens:
|
|
98
|
+
fixedInputTokens: fixedRequestTokens,
|
|
98
99
|
runKey: options.runId,
|
|
99
100
|
signal: options.signal,
|
|
100
101
|
});
|
|
@@ -161,7 +162,7 @@ export async function executeConversation(options) {
|
|
|
161
162
|
signal: options.signal,
|
|
162
163
|
};
|
|
163
164
|
const requestByteLength = getRequestByteLength(request);
|
|
164
|
-
const requestTokenEstimate = Math.ceil(preparedMessages.tokenEstimateAfter * tokenEstimateMultiplier);
|
|
165
|
+
const requestTokenEstimate = Math.ceil((preparedMessages.tokenEstimateAfter + fixedRequestTokens) * tokenEstimateMultiplier);
|
|
165
166
|
// Prompt caching: cache stable system/tools prefixes and the latest message
|
|
166
167
|
// on Anthropic API hosts. Multiple breakpoints improve cache retention when
|
|
167
168
|
// only the tail changes between tool-loop iterations.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversationEngine.js","sourceRoot":"","sources":["../../../src/runtime/conversationEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversationEngine.js","sourceRoot":"","sources":["../../../src/runtime/conversationEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hadamardTui.d.ts","sourceRoot":"","sources":["../../../src/tui/hadamardTui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hadamardTui.d.ts","sourceRoot":"","sources":["../../../src/tui/hadamardTui.ts"],"names":[],"mappings":"AA+FA,OAAO,KAAK,EAIV,sBAAsB,EAMtB,cAAc,EAGf,MAAM,aAAa,CAAC;AA4FrB,eAAO,MAAM,kBAAkB,wBAAgC,CAAC;AA4ChE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3D;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,OAAO,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYzC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAoDD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,EAAE,CAqCtG;AA+ED,wBAAsB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8qLpF"}
|
|
@@ -18,11 +18,12 @@ import { parseCrushSessionReferenceDetails } from '../parity/crushSessionHistory
|
|
|
18
18
|
import { readProjectMeta } from '../gui/projectMeta.js';
|
|
19
19
|
import { readWorkspaceRegistry } from '../gui/workspaceRegistry.js';
|
|
20
20
|
import { persistHadamardSettingsStore, resolveHadamardSettingsStore, } from '../config/hadamardSettingsStore.js';
|
|
21
|
+
import { readProjectSettings, writeProjectSettings, } from '../config/projectSettings.js';
|
|
21
22
|
import { createPreToolUseHookClassifier, readPreToolUseHooks, readPostToolUseHooks, runPostToolUseHooks, readSessionStartHooks, runSessionStartHooks } from '../hooks/userHooks.js';
|
|
22
23
|
import { parseTypedHooks } from '../hooks/hookConfig.js';
|
|
23
24
|
import { isRecord } from '../runtime/helpers.js';
|
|
24
25
|
import { getLoadedJsonConfig } from '../config/loadJsonConfigFile.js';
|
|
25
|
-
import { buildModelConfigurationCatalog, findModelConfiguration, resolveHadamardConfigurationModel, } from '../config/modelConfigurationCatalog.js';
|
|
26
|
+
import { buildModelConfigurationCatalog, findModelConfiguration, isModelCredentialConfigured, resolveHadamardConfigurationModel, } from '../config/modelConfigurationCatalog.js';
|
|
26
27
|
import { findBridgeConfig, maskApiKey, readBridgeConfigs, addBridgeConfig, removeBridgeConfig, isManagedExternalCliRuntime, } from '../parity/bridgeConfigs.js';
|
|
27
28
|
import { buildRouteModelApi } from '../router/modelRouter.js';
|
|
28
29
|
import { addMcpServer, readMcpServerConfig, removeMcpServer } from '../mcp/mcpServerConfig.js';
|
|
@@ -172,7 +173,7 @@ export function renderRichText(text, width, opts = {}) {
|
|
|
172
173
|
}
|
|
173
174
|
return out;
|
|
174
175
|
}
|
|
175
|
-
function buildSystemPrompt(workDir) {
|
|
176
|
+
function buildSystemPrompt(workDir, projectSettings, hadamardHomeDir) {
|
|
176
177
|
let isGit = false;
|
|
177
178
|
try {
|
|
178
179
|
execSync('git rev-parse --is-inside-work-tree', { cwd: workDir, stdio: 'ignore' });
|
|
@@ -181,11 +182,14 @@ function buildSystemPrompt(workDir) {
|
|
|
181
182
|
catch {
|
|
182
183
|
// not a git repo
|
|
183
184
|
}
|
|
184
|
-
// Load
|
|
185
|
+
// Load Hadamard instruction files (AGENTS.md by default) so the agent
|
|
185
186
|
// picks up project-specific instructions — the canonical Claude Code behavior.
|
|
186
|
-
const project = loadProjectContext(workDir
|
|
187
|
+
const project = loadProjectContext(workDir, {
|
|
188
|
+
projectInstructionMode: projectSettings.context.instructionMode,
|
|
189
|
+
hadamardHomeDir,
|
|
190
|
+
});
|
|
187
191
|
const projectSection = project.text
|
|
188
|
-
? `\n\n# Project context (
|
|
192
|
+
? `\n\n# Project context (AGENTS.md)\n\nThe following instruction files are authoritative guidance for this workspace.\n\n${project.text}\n`
|
|
189
193
|
: '';
|
|
190
194
|
return (`You are Hadamard Agent, an interactive CLI agent. Working directory: ${workDir}\n\n` +
|
|
191
195
|
`<env>\nWorking directory: ${workDir}\nIs git repo: ${isGit ? 'Yes' : 'No'}\nPlatform: ${process.platform}\nDate: ${new Date().toISOString().slice(0, 10)}\n</env>\n\n` +
|
|
@@ -237,7 +241,6 @@ async function onboardCredentials(configPath) {
|
|
|
237
241
|
export async function runHadamardTui(options = {}) {
|
|
238
242
|
const workDir = path.resolve(options.workDir ?? process.cwd());
|
|
239
243
|
const permissionMode = options.permissionMode ?? 'bypassPermissions';
|
|
240
|
-
const systemPrompt = buildSystemPrompt(workDir);
|
|
241
244
|
try {
|
|
242
245
|
if (options.configPath) {
|
|
243
246
|
await loadJsonConfigFile(options.configPath);
|
|
@@ -249,6 +252,9 @@ export async function runHadamardTui(options = {}) {
|
|
|
249
252
|
catch {
|
|
250
253
|
// Missing local config is fine; env vars may carry credentials.
|
|
251
254
|
}
|
|
255
|
+
const hadamardHomeDir = resolveHadamardHome();
|
|
256
|
+
let projectSettings = await readProjectSettings(workDir, hadamardHomeDir);
|
|
257
|
+
let systemPrompt = buildSystemPrompt(workDir, projectSettings, hadamardHomeDir);
|
|
252
258
|
let applyPlanPermission = null;
|
|
253
259
|
let managedPluginRuntime = null;
|
|
254
260
|
let tools = [];
|
|
@@ -654,6 +660,8 @@ export async function runHadamardTui(options = {}) {
|
|
|
654
660
|
let spinnerTimer = null;
|
|
655
661
|
let dynamicRenderTimer = null;
|
|
656
662
|
let runStartedAt = 0;
|
|
663
|
+
let requestStartedAt = 0;
|
|
664
|
+
let providerActivitySeen = false;
|
|
657
665
|
let runToolCount = 0;
|
|
658
666
|
let lastTokenEstimate;
|
|
659
667
|
// Running token + USD totals for /cost and /usage. Per-config breakdown
|
|
@@ -665,6 +673,11 @@ export async function runHadamardTui(options = {}) {
|
|
|
665
673
|
function recordUsage(model, usage) {
|
|
666
674
|
const inT = usage?.input_tokens ?? 0;
|
|
667
675
|
const outT = usage?.output_tokens ?? 0;
|
|
676
|
+
const reportedContextTokens = inT
|
|
677
|
+
+ (usage?.cache_creation_input_tokens ?? 0)
|
|
678
|
+
+ (usage?.cache_read_input_tokens ?? 0);
|
|
679
|
+
if (reportedContextTokens > 0)
|
|
680
|
+
lastTokenEstimate = reportedContextTokens;
|
|
668
681
|
totalInputTokens += inT;
|
|
669
682
|
totalOutputTokens += outT;
|
|
670
683
|
const cost = estimateCost(model, inT, outT);
|
|
@@ -1049,8 +1062,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
1049
1062
|
const selected = index === menuSelected;
|
|
1050
1063
|
const command = `/${name}`.padEnd(commandWidth);
|
|
1051
1064
|
const label = selected ? `${A.inverse}${command}${A.reset}` : command;
|
|
1052
|
-
const
|
|
1053
|
-
const unavailable = running && interactiveCommandRunPolicy(commandName) === 'idle-only';
|
|
1065
|
+
const unavailable = running && interactiveCommandRunPolicy(name) === 'idle-only';
|
|
1054
1066
|
const summary = TUI_SLASH_COMMANDS[name] ?? SUBCOMMAND_DESCRIPTIONS[name] ?? '';
|
|
1055
1067
|
const description = truncateToWidth(unavailable ? `${summary} · after current run` : summary, descriptionWidth);
|
|
1056
1068
|
return `${label} ${A.dim}${description}${A.reset}`;
|
|
@@ -1068,7 +1080,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
1068
1080
|
const selected = matches[Math.min(menuSelected, matches.length - 1)];
|
|
1069
1081
|
if (selected) {
|
|
1070
1082
|
const commandName = selected.split(/\s/u, 1)[0] ?? selected;
|
|
1071
|
-
const availability = interactiveCommandRunPolicy(
|
|
1083
|
+
const availability = interactiveCommandRunPolicy(selected) === 'during-run'
|
|
1072
1084
|
? 'available while working'
|
|
1073
1085
|
: 'idle session';
|
|
1074
1086
|
lines.push(`${A.dim} ${interactiveCommandUsage(commandName)} · ${availability}${A.reset}`);
|
|
@@ -1472,13 +1484,19 @@ export async function runHadamardTui(options = {}) {
|
|
|
1472
1484
|
}
|
|
1473
1485
|
running = true;
|
|
1474
1486
|
runStartedAt = Date.now();
|
|
1487
|
+
requestStartedAt = 0;
|
|
1488
|
+
providerActivitySeen = false;
|
|
1475
1489
|
runToolCount = 0;
|
|
1476
|
-
statusNote = '';
|
|
1490
|
+
statusNote = 'preparing locally';
|
|
1477
1491
|
streamedTextSeen = false;
|
|
1478
1492
|
lastTokenEstimate = undefined;
|
|
1479
1493
|
abortCtrl = new AbortController();
|
|
1480
1494
|
spinnerTimer = setInterval(() => {
|
|
1481
1495
|
spinnerFrame += 1;
|
|
1496
|
+
if (requestStartedAt > 0 && !providerActivitySeen) {
|
|
1497
|
+
const waitingSeconds = Math.max(Math.round((Date.now() - requestStartedAt) / 1000), 0);
|
|
1498
|
+
statusNote = `waiting for model ${waitingSeconds}s`;
|
|
1499
|
+
}
|
|
1482
1500
|
renderDynamic();
|
|
1483
1501
|
}, 120);
|
|
1484
1502
|
appendStatic(formatUserPrompt(text));
|
|
@@ -1632,6 +1650,9 @@ export async function runHadamardTui(options = {}) {
|
|
|
1632
1650
|
reasoningDisplay.reset();
|
|
1633
1651
|
return;
|
|
1634
1652
|
case 'request.started':
|
|
1653
|
+
requestStartedAt = Date.now();
|
|
1654
|
+
providerActivitySeen = false;
|
|
1655
|
+
statusNote = 'waiting for model 0s';
|
|
1635
1656
|
lastTokenEstimate = typeof data.requestTokenEstimate === 'number'
|
|
1636
1657
|
? data.requestTokenEstimate
|
|
1637
1658
|
: undefined;
|
|
@@ -1641,6 +1662,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
1641
1662
|
const delta = typeof data.delta === 'string' ? data.delta : '';
|
|
1642
1663
|
if (!delta)
|
|
1643
1664
|
return;
|
|
1665
|
+
providerActivitySeen = true;
|
|
1644
1666
|
collapseReasoning();
|
|
1645
1667
|
streamedTextSeen = true;
|
|
1646
1668
|
const flushed = flusher.push(delta);
|
|
@@ -1653,11 +1675,13 @@ export async function runHadamardTui(options = {}) {
|
|
|
1653
1675
|
const delta = typeof data.delta === 'string' ? data.delta : '';
|
|
1654
1676
|
if (!delta)
|
|
1655
1677
|
return;
|
|
1678
|
+
providerActivitySeen = true;
|
|
1656
1679
|
reasoningDisplay.append(delta);
|
|
1657
1680
|
scheduleDynamicRender();
|
|
1658
1681
|
return;
|
|
1659
1682
|
}
|
|
1660
1683
|
case 'tool.input.delta': {
|
|
1684
|
+
providerActivitySeen = true;
|
|
1661
1685
|
const name = typeof data.name === 'string' && data.name ? data.name : 'tool';
|
|
1662
1686
|
const snapshot = typeof data.snapshot === 'string'
|
|
1663
1687
|
? data.snapshot.trim().replace(/\s+/g, ' ')
|
|
@@ -1668,6 +1692,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
1668
1692
|
return;
|
|
1669
1693
|
}
|
|
1670
1694
|
case 'model.content': {
|
|
1695
|
+
providerActivitySeen = true;
|
|
1671
1696
|
const content = isRecord(data.content) ? data.content : undefined;
|
|
1672
1697
|
if (data.kind === 'content' && content?.type === 'thinking' && !reasoningDisplay.hasStreamedContent) {
|
|
1673
1698
|
const thinking = typeof content.thinking === 'string' ? content.thinking : '';
|
|
@@ -1677,6 +1702,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
1677
1702
|
return;
|
|
1678
1703
|
}
|
|
1679
1704
|
case 'tool.started': {
|
|
1705
|
+
providerActivitySeen = true;
|
|
1680
1706
|
collapseReasoning();
|
|
1681
1707
|
const callId = typeof data.callId === 'string' ? data.callId : '';
|
|
1682
1708
|
const publicName = typeof data.publicName === 'string'
|
|
@@ -1813,6 +1839,43 @@ export async function runHadamardTui(options = {}) {
|
|
|
1813
1839
|
if (selected)
|
|
1814
1840
|
await resumeSession(selected);
|
|
1815
1841
|
}
|
|
1842
|
+
async function configureContextSettings(requestedMode = '') {
|
|
1843
|
+
const normalized = requestedMode.trim().toLowerCase();
|
|
1844
|
+
let instructionMode;
|
|
1845
|
+
if (normalized === 'agents' || normalized === 'claude' || normalized === 'both') {
|
|
1846
|
+
instructionMode = normalized;
|
|
1847
|
+
}
|
|
1848
|
+
else if (normalized) {
|
|
1849
|
+
appendStatic([...formatErrorLine('usage: /context settings [agents|claude|both]'), '']);
|
|
1850
|
+
return;
|
|
1851
|
+
}
|
|
1852
|
+
else {
|
|
1853
|
+
const selected = await selectItem({
|
|
1854
|
+
title: 'Context settings',
|
|
1855
|
+
subtitle: `Current project mode: ${projectSettings.context.instructionMode}`,
|
|
1856
|
+
searchable: false,
|
|
1857
|
+
items: [
|
|
1858
|
+
{ id: 'agents', label: 'AGENTS.md', description: 'Recommended Hadamard default' },
|
|
1859
|
+
{ id: 'claude', label: 'CLAUDE.md', description: 'Project-level Claude compatibility' },
|
|
1860
|
+
{ id: 'both', label: 'AGENTS.md + CLAUDE.md', description: 'Load both project instruction formats' },
|
|
1861
|
+
],
|
|
1862
|
+
});
|
|
1863
|
+
if (selected === 'agents' || selected === 'claude' || selected === 'both') {
|
|
1864
|
+
instructionMode = selected;
|
|
1865
|
+
}
|
|
1866
|
+
}
|
|
1867
|
+
if (!instructionMode)
|
|
1868
|
+
return;
|
|
1869
|
+
projectSettings = await writeProjectSettings(workDir, hadamardHomeDir, {
|
|
1870
|
+
context: { instructionMode },
|
|
1871
|
+
});
|
|
1872
|
+
systemPrompt = buildSystemPrompt(workDir, projectSettings, hadamardHomeDir);
|
|
1873
|
+
appendStatic([
|
|
1874
|
+
...formatInfoLine(`context instructions: ${instructionMode}`),
|
|
1875
|
+
...formatInfoLine('Global rules remain ~/.hadamard/AGENTS.md.'),
|
|
1876
|
+
'',
|
|
1877
|
+
]);
|
|
1878
|
+
}
|
|
1816
1879
|
async function chooseModel() {
|
|
1817
1880
|
const catalog = buildModelConfigurationCatalog({
|
|
1818
1881
|
model: sdk.config.model,
|
|
@@ -1923,7 +1986,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
1923
1986
|
{
|
|
1924
1987
|
id: 'api-key',
|
|
1925
1988
|
label: 'API key',
|
|
1926
|
-
description: env
|
|
1989
|
+
description: isModelCredentialConfigured(env, sdk.config) ? 'configured' : 'not configured',
|
|
1927
1990
|
},
|
|
1928
1991
|
{
|
|
1929
1992
|
id: 'base-url',
|
|
@@ -3517,7 +3580,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
3517
3580
|
const spaceIndex = raw.indexOf(' ');
|
|
3518
3581
|
const name = (spaceIndex === -1 ? raw.slice(1) : raw.slice(1, spaceIndex)).toLowerCase();
|
|
3519
3582
|
const args = spaceIndex === -1 ? '' : raw.slice(spaceIndex + 1).trim();
|
|
3520
|
-
if (!canRunInteractiveCommand(
|
|
3583
|
+
if (!canRunInteractiveCommand(raw.slice(1), running)) {
|
|
3521
3584
|
appendStatic(formatInfoLine(`/${name} requires an idle session; it will be available after this run`));
|
|
3522
3585
|
return;
|
|
3523
3586
|
}
|
|
@@ -3551,10 +3614,10 @@ export async function runHadamardTui(options = {}) {
|
|
|
3551
3614
|
renderDynamic();
|
|
3552
3615
|
return;
|
|
3553
3616
|
case 'init': {
|
|
3554
|
-
// Bootstrap
|
|
3555
|
-
// write concise guidance
|
|
3617
|
+
// Bootstrap AGENTS.md by having the agent explore the repo and
|
|
3618
|
+
// write concise guidance for subsequent Hadamard sessions.
|
|
3556
3619
|
// generated file is then injected into every system prompt).
|
|
3557
|
-
await startRun('Create or update
|
|
3620
|
+
await startRun('Create or update an AGENTS.md at the repo root with concise guidance for AI coding assistants: build/test/lint/run commands, a short architecture overview, key conventions, and non-obvious gotchas. Explore with Glob, Grep, and Read first (package.json, README, existing AGENTS.md, key source dirs). If AGENTS.md already exists, improve it without discarding user-authored sections. Keep it focused and avoid filler.');
|
|
3558
3621
|
return;
|
|
3559
3622
|
}
|
|
3560
3623
|
case 'exit':
|
|
@@ -3927,9 +3990,22 @@ export async function runHadamardTui(options = {}) {
|
|
|
3927
3990
|
return;
|
|
3928
3991
|
}
|
|
3929
3992
|
case 'context': {
|
|
3993
|
+
const contextArgs = args.trim();
|
|
3994
|
+
if (contextArgs === 'setting' || contextArgs === 'settings') {
|
|
3995
|
+
await configureContextSettings();
|
|
3996
|
+
return;
|
|
3997
|
+
}
|
|
3998
|
+
if (contextArgs.startsWith('setting ') || contextArgs.startsWith('settings ')) {
|
|
3999
|
+
await configureContextSettings(contextArgs.replace(/^settings?\s+/u, ''));
|
|
4000
|
+
return;
|
|
4001
|
+
}
|
|
4002
|
+
if (contextArgs) {
|
|
4003
|
+
appendStatic([...formatErrorLine('usage: /context [settings [agents|claude|both]]'), '']);
|
|
4004
|
+
return;
|
|
4005
|
+
}
|
|
3930
4006
|
// Break down what is consuming the context window (gap #9 vs
|
|
3931
4007
|
// claude-code's /context) — usage, messages, system prompt, tools,
|
|
3932
|
-
// the loaded
|
|
4008
|
+
// the loaded project instruction sources, and the active config.
|
|
3933
4009
|
const { resolveHadamardCompactBudget } = await import('../runtime/hadamardCompact.js');
|
|
3934
4010
|
const compactBudget = resolveHadamardCompactBudget(sdk.config.compact);
|
|
3935
4011
|
const window = compactBudget.effectiveContextWindowTokens;
|
|
@@ -3941,7 +4017,10 @@ export async function runHadamardTui(options = {}) {
|
|
|
3941
4017
|
const messages = session.messages.length;
|
|
3942
4018
|
const sysChars = systemPrompt.length;
|
|
3943
4019
|
const mcpCount = toolMetadata.filter(t => t.provider === 'mcp').length;
|
|
3944
|
-
const project = loadProjectContext(sdk.config.workDir
|
|
4020
|
+
const project = loadProjectContext(sdk.config.workDir, {
|
|
4021
|
+
projectInstructionMode: projectSettings.context.instructionMode,
|
|
4022
|
+
hadamardHomeDir,
|
|
4023
|
+
});
|
|
3945
4024
|
const team = activeTeamName ?? 'none';
|
|
3946
4025
|
const router = activeRouter ? activeRouter.name : 'off';
|
|
3947
4026
|
const bridge = bridgeMode && activeBridgeConfig ? activeBridgeConfig.name : 'off';
|
|
@@ -3953,7 +4032,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
3953
4032
|
` ${A.dim}messages${A.reset} ${messages}`,
|
|
3954
4033
|
` ${A.dim}system prompt${A.reset} ~${sysChars} chars`,
|
|
3955
4034
|
` ${A.dim}tools${A.reset} ${toolMetadata.length}${mcpCount > 0 ? ` (${mcpCount} MCP)` : ''}`,
|
|
3956
|
-
` ${A.dim}
|
|
4035
|
+
` ${A.dim}instruction files${A.reset} ${project.sources.length ? project.sources.join(', ') : '(none loaded)'}`,
|
|
3957
4036
|
` ${A.dim}active${A.reset} model=${session.model} · effort=${currentEffort() ?? 'auto'} · team=${team} · router=${router} · bridge=${bridge}`,
|
|
3958
4037
|
'',
|
|
3959
4038
|
]);
|
|
@@ -4015,8 +4094,11 @@ export async function runHadamardTui(options = {}) {
|
|
|
4015
4094
|
lines.push(` ${ok(true)} permission mode ${A.dim}${currentPermissionMode()}${A.reset}`);
|
|
4016
4095
|
lines.push(` ${ok(toolMetadata.length > 0)} tools ${A.dim}${toolMetadata.length}${A.reset}`);
|
|
4017
4096
|
// Context memory
|
|
4018
|
-
const project = loadProjectContext(cfg.workDir
|
|
4019
|
-
|
|
4097
|
+
const project = loadProjectContext(cfg.workDir, {
|
|
4098
|
+
projectInstructionMode: projectSettings.context.instructionMode,
|
|
4099
|
+
hadamardHomeDir,
|
|
4100
|
+
});
|
|
4101
|
+
lines.push(` ${ok(project.sources.length > 0)} instruction files ${A.dim}${project.sources.length ? project.sources.join(', ') : '(none)'}${A.reset}`);
|
|
4020
4102
|
// Bridge runtimes
|
|
4021
4103
|
const detections = await withSpinner('detecting runtimes', detectBridgeProviders);
|
|
4022
4104
|
const avail = detections.filter(d => d.available);
|
|
@@ -4106,7 +4188,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
4106
4188
|
case 'compact': {
|
|
4107
4189
|
try {
|
|
4108
4190
|
const summaryInstructions = args || undefined;
|
|
4109
|
-
const result = await session.compact({
|
|
4191
|
+
const result = await session.compact({ summaryInstructions });
|
|
4110
4192
|
if (!result.compacted) {
|
|
4111
4193
|
appendStatic([
|
|
4112
4194
|
...formatErrorLine(result.error ?? `compact skipped: ${result.reason}`),
|
|
@@ -5416,7 +5498,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
5416
5498
|
recalledFollowUp = null;
|
|
5417
5499
|
editor.clear();
|
|
5418
5500
|
menuSelected = 0;
|
|
5419
|
-
if (running && !canRunInteractiveCommand(
|
|
5501
|
+
if (running && !canRunInteractiveCommand(selectedCommand.slice(1), true)) {
|
|
5420
5502
|
appendStatic(formatInfoLine(`/${selectedName} requires an idle session; it will be available after this run`));
|
|
5421
5503
|
renderDynamic();
|
|
5422
5504
|
return;
|
|
@@ -5445,7 +5527,7 @@ export async function runHadamardTui(options = {}) {
|
|
|
5445
5527
|
restoreAbandonedFollowUp(session, recalledFollowUp);
|
|
5446
5528
|
recalledFollowUp = null;
|
|
5447
5529
|
const command = text.slice(1).trim().split(/\s/u, 1)[0]?.toLowerCase() ?? '';
|
|
5448
|
-
if (!canRunInteractiveCommand(
|
|
5530
|
+
if (!canRunInteractiveCommand(text.slice(1), true)) {
|
|
5449
5531
|
appendStatic(formatInfoLine(`/${command} requires an idle session; it will be available after this run`));
|
|
5450
5532
|
renderDynamic();
|
|
5451
5533
|
return;
|