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.
Files changed (33) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/src/cli/hadamard-tui.js +5 -4
  3. package/dist/src/cli/hadamard-tui.js.map +1 -1
  4. package/dist/src/config/modelConfigurationCatalog.d.ts +4 -0
  5. package/dist/src/config/modelConfigurationCatalog.d.ts.map +1 -1
  6. package/dist/src/config/modelConfigurationCatalog.js +8 -0
  7. package/dist/src/config/modelConfigurationCatalog.js.map +1 -1
  8. package/dist/src/config/projectSettings.d.ts +8 -1
  9. package/dist/src/config/projectSettings.d.ts.map +1 -1
  10. package/dist/src/config/projectSettings.js +15 -0
  11. package/dist/src/config/projectSettings.js.map +1 -1
  12. package/dist/src/gui/hadamardGui.d.ts.map +1 -1
  13. package/dist/src/gui/hadamardGui.js +58 -15
  14. package/dist/src/gui/hadamardGui.js.map +1 -1
  15. package/dist/src/memory/projectContext.d.ts +16 -11
  16. package/dist/src/memory/projectContext.d.ts.map +1 -1
  17. package/dist/src/memory/projectContext.js +45 -37
  18. package/dist/src/memory/projectContext.js.map +1 -1
  19. package/dist/src/prompts/systemPrompt.js +2 -2
  20. package/dist/src/prompts/systemPrompt.js.map +1 -1
  21. package/dist/src/runtime/agentClient.d.ts.map +1 -1
  22. package/dist/src/runtime/agentClient.js +36 -3
  23. package/dist/src/runtime/agentClient.js.map +1 -1
  24. package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
  25. package/dist/src/runtime/conversationEngine.js +3 -2
  26. package/dist/src/runtime/conversationEngine.js.map +1 -1
  27. package/dist/src/tui/hadamardTui.d.ts.map +1 -1
  28. package/dist/src/tui/hadamardTui.js +105 -23
  29. package/dist/src/tui/hadamardTui.js.map +1 -1
  30. package/dist/src/ui/commandSurface.d.ts.map +1 -1
  31. package/dist/src/ui/commandSurface.js +18 -8
  32. package/dist/src/ui/commandSurface.js.map +1 -1
  33. 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: estimateFixedRequestTokens(options.systemPrompt ?? options.config.systemPrompt, resolvedTools),
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":"AAyFA,OAAO,KAAK,EAIV,sBAAsB,EAMtB,cAAc,EAGf,MAAM,aAAa,CAAC;AA2FrB,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;AAwED,wBAAsB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6lLpF"}
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 the CLAUDE.md hierarchy (user + project, with @includes) so the agent
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 (CLAUDE.md)\n\nThe following project instructions were loaded from CLAUDE.md files. Treat them as authoritative guidance for this workspace.\n\n${project.text}\n`
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 commandName = name.split(/\s/u, 1)[0] ?? name;
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(commandName) === 'during-run'
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.HADAMARD_API_KEY || env.HADAMARD_AUTH_TOKEN ? 'configured' : 'not configured',
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(name, running)) {
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 a CLAUDE.md by having the agent explore the repo and
3555
- // write concise guidance — complements the CLAUDE.md loader (the
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 a CLAUDE.md at the repo root with concise guidance for AI coding assistants: the 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 CLAUDE.md, key source dirs). If a CLAUDE.md already exists, improve it without discarding user-authored sections. Keep it focused — no filler.');
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 CLAUDE.md sources, and the active config.
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}CLAUDE.md${A.reset} ${project.sources.length ? project.sources.join(', ') : '(none loaded)'}`,
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
- lines.push(` ${ok(project.sources.length > 0)} CLAUDE.md ${A.dim}${project.sources.length ? project.sources.join(', ') : '(none)'}${A.reset}`);
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({ force: true, summaryInstructions });
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(selectedName, true)) {
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(command, true)) {
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;