Download src/gee/cli.ts from CosmosMind/RSI-Harness: direct link, hf CLI and curl.
- Browser
- Download file 1.8 kB
-
https://huggingface.co/CosmosMind/RSI-Harness/resolve/main/src/gee/cli.ts
- Command line
-
hf download hf://CosmosMind/RSI-Harness/src/gee/cli.ts
-
curl -L -o cli.ts https://huggingface.co/CosmosMind/RSI-Harness/resolve/main/src/gee/cli.ts
1.8 kB
| import { resolve } from "node:path"; | |
| import { pathToFileURL } from "node:url"; | |
| // Importing the rsih entry sets PI_PACKAGE_DIR, RSIH_CODING_AGENT_DIR and the | |
| // version-check opt-out in one place. `gee` must not duplicate that setup. | |
| import { runCli } from "../cli.ts"; | |
| import { expandGenomeShorthand } from "../cli/genome-shorthand.ts"; | |
| const GENOME = "harness-rsi"; | |
| /** | |
| * `gee` is `rsih --genome harness-rsi`. It starts the same interactive session, | |
| * whose job is to author a Genome from the user's own session history. | |
| * | |
| * The historical `harness-rsi` subcommand is accepted and dropped, since it is | |
| * now the only thing `gee` does. An explicit `--genome` wins — including the | |
| * `:name` / `+name` shorthand, which is expanded first — so `gee` stays usable | |
| * as a plain rsih alias. | |
| */ | |
| export function geeArgs(argv) { | |
| const stripped = argv[0] === "harness-rsi" ? argv.slice(1) : [...argv]; | |
| const args = expandGenomeShorthand(stripped); | |
| const spec = args.findIndex( | |
| (arg) => arg === "--spec" || arg.startsWith("--spec="), | |
| ); | |
| if (spec !== -1) { | |
| throw new Error( | |
| "gee no longer takes --spec. Genome authoring is interactive now: run `gee` (or `rsih --genome harness-rsi`) and answer the questions.", | |
| ); | |
| } | |
| const hasGenome = args.some( | |
| (arg) => arg === "--genome" || arg.startsWith("--genome="), | |
| ); | |
| return hasGenome ? args : ["--genome", GENOME, ...args]; | |
| } | |
| export async function runGeeCli(argv = process.argv.slice(2)) { | |
| return runCli(geeArgs(argv)); | |
| } | |
| const isMain = | |
| process.argv[1] && | |
| import.meta.url === pathToFileURL(resolve(process.argv[1])).href; | |
| if (isMain) { | |
| runGeeCli().catch((error) => { | |
| console.error(`gee: ${error instanceof Error ? error.message : String(error)}`); | |
| process.exitCode = 1; | |
| }); | |
| } | |