@spinalfluid/ultrac 0.1.6 → 0.1.9
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/README.md +61 -6
- package/dist/cli.js +675 -110
- 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.
|
|
38
|
+
npm install -g ./spinalfluid-ultrac-0.1.7.tgz
|
|
39
39
|
ultrac login
|
|
40
40
|
```
|
|
41
41
|
|
|
@@ -142,12 +142,17 @@ Inside a session:
|
|
|
142
142
|
|
|
143
143
|
- Type to talk to Ultrac; it inspects the repository with tools as needed.
|
|
144
144
|
- You can type another message while Ultrac is working. It is queued and inserted after the current
|
|
145
|
-
tool
|
|
146
|
-
the main prompt instead of entering model context.
|
|
147
|
-
-
|
|
145
|
+
tool call finishes, before the next model request. Remaining tools in that batch are skipped.
|
|
146
|
+
Slash commands wait for the main prompt instead of entering model context.
|
|
147
|
+
- Esc stops the current turn at a safe boundary and returns to the prompt. Ctrl-C exits and saves
|
|
148
|
+
the session.
|
|
148
149
|
- Gated tools (file writes, shell, network) prompt for approval: `once` / `always` / `no`.
|
|
149
150
|
- Coding commands: `/plan [task]`, `/coding`, `/review [focus]`, `/diff [--staged]`,
|
|
150
151
|
`/test [instructions]`, `/init`, `/max-steps [number]`.
|
|
152
|
+
- Quiet output: `/ghost [on|off|status]` hides activity headers and progress for the current
|
|
153
|
+
session. Answers, errors, permission prompts, and private diagnostics remain visible or
|
|
154
|
+
recorded. `/logs` shows the current diagnostic log path. Ghost mode does not change
|
|
155
|
+
network routing, identities, or permissions.
|
|
151
156
|
- Context and sessions: `/context`, `/compact [focus]`, `/usage`, `/status`, `/save`,
|
|
152
157
|
`/sessions`, `/resume <id>`, `/new`, `/clear`.
|
|
153
158
|
- Controls: `/help`, `/model [name]`, `/mode [name]`, `/permissions [readonly|workspace|full]`,
|
|
@@ -168,6 +173,15 @@ Inside a session:
|
|
|
168
173
|
rules or automatically delete session data: exclude `.ultrac/sessions/` from version control and
|
|
169
174
|
manage retention yourself.
|
|
170
175
|
|
|
176
|
+
Tool activity stays compact. Interactive sessions keep successful tool bodies out of the
|
|
177
|
+
main conversation. Use `/output` to inspect the latest saved tool result, `/output list`
|
|
178
|
+
to find its number, or `/output 3` to inspect a particular result. This display preference
|
|
179
|
+
does not shorten model answers or alter the tool results stored in the session.
|
|
180
|
+
|
|
181
|
+
One-shot runs and `tools run` show at most six preview lines per result, with a hidden-line
|
|
182
|
+
count. Failed results retain the end of the log. Pass `--verbose-tools` for complete
|
|
183
|
+
results; `run --json` and `tools run --result-json` also keep their complete structured output.
|
|
184
|
+
|
|
171
185
|
Non-interactive, scriptable one-shot runs:
|
|
172
186
|
|
|
173
187
|
```bash
|
|
@@ -388,7 +402,12 @@ Successful `ask_user` answers are kept whole so a constraint at the end is not l
|
|
|
388
402
|
count against the context window, so an oversized request fails locally before it reaches the API.
|
|
389
403
|
|
|
390
404
|
**Every request is measured before it is sent.** The provider adds up the system prompt, the
|
|
391
|
-
serialised tools, and the transcript.
|
|
405
|
+
serialised tools, and the transcript. During longer tasks, the harness also attempts a
|
|
406
|
+
periodic summary every 12 completed steps when eligible older evidence exceeds 12,000
|
|
407
|
+
characters. Set `ULTRAC_SUMMARY_INTERVAL_STEPS` to an integer from 0 to 1000; 0 disables
|
|
408
|
+
periodic summaries. Every user instruction and the latest two complete assistant/tool
|
|
409
|
+
units are retained. Failed summaries leave the transcript intact. Checkpoints preserve
|
|
410
|
+
successful summaries across resume, while archived tool results remain available. Over 60% of the window, the harness first tries to compact
|
|
392
411
|
the oldest turns that would otherwise be dropped into a bounded `[compacted-context]` summary.
|
|
393
412
|
If summarising fails or there is not enough room, it falls back to dropping whole old turns, so an
|
|
394
413
|
assistant `tool_calls` entry and its `tool` replies are removed together. The system prompt, pinned
|
|
@@ -496,7 +515,7 @@ custom skills. Each skill is a folder with a `SKILL.md` (YAML frontmatter + Mark
|
|
|
496
515
|
```
|
|
497
516
|
|
|
498
517
|
```bash
|
|
499
|
-
ultrac skills create open-pr --description "Open a pull request" \
|
|
518
|
+
ultrac skills create open-pr --description "Open a pull request" --command open-pr \
|
|
500
519
|
--when "the user asks to open a PR" --permissions shell,network
|
|
501
520
|
ultrac skills list
|
|
502
521
|
ultrac skills show open-pr
|
|
@@ -673,3 +692,39 @@ revocable, non-transferable right to *run* the published build - nothing more. C
|
|
|
673
692
|
modification, redistribution, and reverse engineering are reserved. The full terms are in the
|
|
674
693
|
`LICENSE` file that ships inside the package, and they are the whole agreement: nothing on this
|
|
675
694
|
page grants a right the licence withholds.
|
|
695
|
+
|
|
696
|
+
### Recovery during unattended tasks
|
|
697
|
+
|
|
698
|
+
Autonomous runs resume from completed-step checkpoints, use cancellation-aware exponential
|
|
699
|
+
backoff for transient failed rounds (1 second up to 30 seconds), and stop on permanent
|
|
700
|
+
provider failures or repeated unchanged progress. Recovery defaults to five rounds and a
|
|
701
|
+
six-hour elapsed budget. Diagnostics record round timing, retry categories, summary events,
|
|
702
|
+
and stop reasons without prompts or tool bodies. Checkpoints do not guarantee rollback or
|
|
703
|
+
exactly-once execution for a tool interrupted before its completed result was saved.
|
|
704
|
+
|
|
705
|
+
### Configuring MCP servers
|
|
706
|
+
|
|
707
|
+
The harness connects to local stdio MCP servers, discovers their tools, and makes them
|
|
708
|
+
available to agent turns after workspace approval. Add and inspect a server with:
|
|
709
|
+
|
|
710
|
+
```sh
|
|
711
|
+
ultrac mcp add my-server node -- /absolute/path/to/server.js
|
|
712
|
+
ultrac trust
|
|
713
|
+
ultrac mcp list
|
|
714
|
+
ultrac mcp call my-server tool-name --input '{"query":"example"}'
|
|
715
|
+
ultrac mcp remove my-server
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
Use `--env-pass TOKEN_VARIABLE` to forward a named environment variable without writing
|
|
719
|
+
its value to configuration. Setup changes preserve unrelated settings and require renewed
|
|
720
|
+
workspace approval. HTTP/SSE MCP servers are not supported by this transport yet.
|
|
721
|
+
|
|
722
|
+
Create a reusable skill and expose it as a slash command with:
|
|
723
|
+
|
|
724
|
+
```sh
|
|
725
|
+
ultrac skills create project-check --description "Run project checks" --command project-check
|
|
726
|
+
```
|
|
727
|
+
|
|
728
|
+
Edit the generated `SKILL.md` instructions, approve the project workspace, and invoke
|
|
729
|
+
`/project-check` in the terminal. The agent can also write a new `SKILL.md` with its file tools and load it with
|
|
730
|
+
`skill`; normal write and tool permissions still apply.
|