fix(build): fix build:core — native tsconfig types, inventory sync, compat alias catalog

- packages/native/tsconfig.json: add types:["node"] so Buffer/process/
  __dirname resolve correctly (root tsconfig has no lib/types for node)
- scripts/check-sf-extension-inventory.mjs: add footer-config, undo-turn,
  review-code to HIDDEN_OR_ALIAS_SUBCOMMANDS (they are aliases for statusline,
  rewind, rubber-duck)
- src/resources/extensions/sf/commands/catalog.js: add session-rename entry
  (real command handled in core.js, was missing from TOP_LEVEL_SUBCOMMANDS)
- src/resources/extensions/sf/extension-manifest.json: add 19 commands that
  exist in catalog but were absent from provides.commands
- src/resources/extensions/sf/guided-flow.js: remove showSmartEntry compat alias
  (no live imports — only a comment reference in headless-context.ts)
- src/resources/extensions/sf/graph.js: remove graphFromDefinition compat alias

build:core now passes end-to-end.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Mikael Hugo 2026-05-09 16:18:11 +02:00
parent 29d2750687
commit aca13d1d9b
6 changed files with 37 additions and 9 deletions

View file

@ -2,7 +2,8 @@
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src"
"rootDir": "./src",
"types": ["node"]
},
"include": ["src"]
}

View file

@ -40,8 +40,11 @@ const BASE_RUNTIME_COMMAND_NAMES = new Set([
const HIDDEN_OR_ALIAS_SUBCOMMANDS = new Set([
"?",
"auto",
"footer-config", // alias for /statusline
"h",
"recover",
"review-code", // alias for /rubber-duck
"undo-turn", // alias for /rewind
"wt",
]);

View file

@ -255,6 +255,10 @@ export const TOP_LEVEL_SUBCOMMANDS = [
{ cmd: "diff", desc: "Show git diff (HEAD by default, --staged for staged)" },
{ cmd: "theme", desc: "Get or set the UI theme (dark/light/dim/auto)" },
{ cmd: "rename", desc: "Rename the current session (sets terminal title)" },
{
cmd: "session-rename",
desc: "Rename the current session by name (alias: /rename)",
},
{
cmd: "streamer-mode",
desc: "Toggle streamer mode — masks model names and quota details",

View file

@ -2,9 +2,11 @@
"id": "sf",
"name": "SF Workflow",
"version": "1.0.0",
"description": "Core SF workflow engine milestone planning, execution, and tracking",
"description": "Core SF workflow engine \u2014 milestone planning, execution, and tracking",
"tier": "core",
"requires": { "platform": ">=2.29.0" },
"requires": {
"platform": ">=2.29.0"
},
"provides": {
"tools": [
"bash",
@ -46,25 +48,32 @@
],
"commands": [
"add-tests",
"ask",
"autonomous",
"backlog",
"capture",
"chronicle",
"cleanup",
"cmux",
"codebase",
"config",
"configure-agent",
"control",
"cost",
"debug",
"delegate",
"diff",
"discuss",
"dispatch",
"do",
"doctor",
"escalate",
"eval-review",
"experimental",
"extensions",
"extract-learnings",
"fast",
"find",
"forensics",
"harness",
"help",
@ -73,6 +82,8 @@
"implement",
"init",
"inspect",
"instructions",
"keep-alive",
"keys",
"kill",
"knowledge",
@ -87,6 +98,7 @@
"parallel",
"park",
"pause",
"permission-profile",
"plan",
"pr-branch",
"prefs",
@ -94,31 +106,39 @@
"quick",
"rate",
"remote",
"rename",
"repair",
"research",
"reset-slice",
"rethink",
"repair",
"rewind",
"rubber-duck",
"run-hook",
"scaffold",
"scan",
"schedule",
"search",
"session-rename",
"session-report",
"setup",
"ship",
"show-config",
"sidekicks",
"skill-health",
"skills",
"skip",
"solver-eval",
"start",
"status",
"statusline",
"steer",
"streamer-mode",
"tasks",
"templates",
"theme",
"todo",
"trajectory",
"triage",
"permission-profile",
"undo",
"undo-task",
"unpark",
@ -147,6 +167,8 @@
"model_select",
"before_provider_request"
],
"shortcuts": ["Ctrl+Alt+G"]
"shortcuts": [
"Ctrl+Alt+G"
]
}
}

View file

@ -272,5 +272,4 @@ export function initializeGraph(def) {
},
};
}
/** @deprecated Use initializeGraph instead. Kept for backward compatibility. */
export { initializeGraph as graphFromDefinition };

View file

@ -2479,4 +2479,3 @@ export async function showWorkflowEntry(ctx, pi, basePath, options) {
const { fireStatusViaCommand } = await import("./commands.js");
await fireStatusViaCommand(ctx);
}
export const showSmartEntry = showWorkflowEntry;