@spinalfluid/ultrac 0.1.0 → 0.1.6

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 (3) hide show
  1. package/README.md +23 -5
  2. package/dist/cli.js +1309 -427
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -35,7 +35,7 @@ For local testing before a registry release, build and install the verified tarb
35
35
  pnpm check
36
36
  pnpm verify:install
37
37
  npm pack
38
- npm install -g ./spinalfluid-ultrac-0.1.0.tgz
38
+ npm install -g ./spinalfluid-ultrac-0.1.6.tgz
39
39
  ultrac login
40
40
  ```
41
41
 
@@ -53,7 +53,17 @@ ultrac logout # drop local credentials and revoke the minted key
53
53
 
54
54
  For interactive use, `ultrac login` opens `https://ultrac.io/cli/login` (or the same path on a local
55
55
  site). Approve the CLI using your existing website account; the site mints a key and the CLI stores
56
- it in `~/.ultrac/auth.json` with `0600` permissions. You do not need to create or paste a key.
56
+ it in `~/.ultrac/auth.json`. The browser return is bound to the initiating CLI with loopback,
57
+ state, and PKCE checks. Confirm that the browser and terminal show the same reference code; you do
58
+ not enter that code during the normal flow. If the browser cannot reach the loopback callback, the
59
+ CLI accepts the short-lived, one-time completion code from the failed
60
+ localhost callback URL and exchanges it with the same PKCE verifier. This recovery path never asks
61
+ for a permanent API key. `--no-browser` prints the authorization URL instead of opening it.
62
+
63
+ Credentials use an owner-only `0600` file because the package intentionally avoids native keychain
64
+ dependencies. On filesystems that do not enforce Unix permission bits, protect the account and home
65
+ directory with the operating system's access controls. You do not need to create or paste a key for
66
+ normal browser sign-in.
57
67
 
58
68
  For scripts and CI, do not run the browser sign-in flow. Create a dedicated API key in the account's
59
69
  `/keys` page, store it in your CI secret manager, and expose it to the command as `ULTRAC_API_KEY`.
@@ -62,8 +72,10 @@ for an existing key, and `ultrac login --key <key>` verifies and stores one; use
62
72
  intentionally need a local saved credential, not as the default CI setup. Avoid putting secrets in
63
73
  shell history, command arguments, project config, or source control. An approved Ultrac account is required for model access.
64
74
 
65
- The minted key is checked with `GET <base>/models` before it is saved: a 401/403 is refused and
66
- nothing is written; if the API cannot be reached the key is saved anyway with a warning.
75
+ Every key is checked with `GET <base>/models` before it is saved. A browser-issued key is stored only
76
+ after the API accepts it; a 401/403 or unavailable verification writes nothing. For compatibility,
77
+ an explicitly supplied `--key` or `--manual` key may still be saved with a warning when verification
78
+ is unavailable, but a rejected key is never saved.
67
79
 
68
80
  ### Cosmic 1, in a repo
69
81
 
@@ -128,7 +140,11 @@ ultrac "Find the main entry points and summarize the architecture"
128
140
 
129
141
  Inside a session:
130
142
 
131
- - Type to talk to Ultrac; it gathers repository context first and can call tools.
143
+ - Type to talk to Ultrac; it inspects the repository with tools as needed.
144
+ - You can type another message while Ultrac is working. It is queued and inserted after the current
145
+ tool batch or completed model response, before the next model request. Slash commands wait for
146
+ the main prompt instead of entering model context.
147
+ - Ctrl-C stops active work at a safe boundary. At an idle prompt, Ctrl-C exits and saves the session.
132
148
  - Gated tools (file writes, shell, network) prompt for approval: `once` / `always` / `no`.
133
149
  - Coding commands: `/plan [task]`, `/coding`, `/review [focus]`, `/diff [--staged]`,
134
150
  `/test [instructions]`, `/init`, `/max-steps [number]`.
@@ -158,6 +174,8 @@ Non-interactive, scriptable one-shot runs:
158
174
  ultrac run "Review this patch" --mode review
159
175
  ultrac run "Inspect this repo" --provider echo # offline smoke provider, no key
160
176
  ultrac run --continue <session-id> "Follow up on the last result"
177
+ ultrac run "Finish the remaining tests" --autonomous
178
+ ultrac notify setup # Telegram or SMS for unattended questions
161
179
  ```
162
180
 
163
181
  One prompt, one reply, no tools or workspace context - the smallest end-to-end check of the wiring: