@agntn/harnesses 0.2.1 → 0.3.0

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 CHANGED
@@ -76,7 +76,7 @@ harnesses agents sync --check
76
76
  harnesses prompts sync --check
77
77
  ```
78
78
 
79
- `run` without `--tools` is the advisor. `--tools` is the full agent. `--read-only` asks the CLI for a sandbox and implies tools. Timeouts, `--cwd` and `--model` sit in the [CLI guide](https://harnesses.agntn.dev/guide/cli).
79
+ `run` without `--tools` is the advisor. `--tools` is the full agent. `--read-only` asks the CLI for a sandbox and implies tools, so pairing it with `--no-tools` is an error. Timeouts, `--cwd` and `--model` sit in the [CLI guide](https://harnesses.agntn.dev/guide/cli).
80
80
 
81
81
  ### Commands
82
82
 
@@ -103,14 +103,21 @@ import { getHarness, detectHarness } from "@agntn/harnesses";
103
103
  const claude = getHarness("claude");
104
104
  const paths = claude.resolve({ platform: "linux", homeDir: "/home/dev" });
105
105
  console.log(paths.skills);
106
+ console.log(paths.temp, claude.envOverrides);
106
107
 
107
108
  const active = detectHarness();
108
109
  if (active) console.log(active.id);
109
110
 
110
111
  await getHarness("codex").invoke("Review this patch", { readOnly: true });
112
+
113
+ const agy = getHarness("antigravity");
114
+ const [model] = (await agy.listModels({ search: "gemini" })).models;
115
+ if (model) await agy.invoke("Review this patch", { tools: true, model: agy.modelSelector(model) });
111
116
  ```
112
117
 
113
- That's most of it, really. `getHarness` wants an exact id. `detectHarness` uses env vars first, then a single project marker. `invoke()` talks to the CLI. A mode the CLI cannot run comes back as an error, not a quieter one. The rest: [Registry](https://harnesses.agntn.dev/guide/registry), [Invoke](https://harnesses.agntn.dev/guide/invoke), [MCP servers](https://harnesses.agntn.dev/guide/mcp-servers), [Instructions files](https://harnesses.agntn.dev/guide/agents-sync).
118
+ `temp` is where a harness drops its own temp files, and `envOverrides` names the variables that move its directories. `claude.resolve().temp` follows `CLAUDE_CODE_TMPDIR` when it's set, which is handy when `/tmp` is tmpfs and Claude's scratchpads are quietly eating RAM.
119
+
120
+ That's most of it, really. `getHarness` wants an exact id. `detectHarness` uses env vars first, then a single project marker. `invoke()` talks to the CLI. `listModels()` asks it what it can run, and `modelSelector()` turns one of those into what `model` takes, since Pi wants `provider/id` and Antigravity the bare id. A mode the CLI cannot run comes back as an error, not a quieter one. The rest: [Registry](https://harnesses.agntn.dev/guide/registry), [Invoke](https://harnesses.agntn.dev/guide/invoke), [MCP servers](https://harnesses.agntn.dev/guide/mcp-servers), [Instructions files](https://harnesses.agntn.dev/guide/agents-sync).
114
121
 
115
122
  ### Prompt templates
116
123
 
@@ -123,9 +130,11 @@ harnesses prompts sync --check
123
130
  harnesses prompts sync
124
131
  ```
125
132
 
126
- Markdown harnesses receive symlinks to those files. Gemini receives generated
127
- TOML commands, with `$ARGUMENTS` translated to `{{args}}`. Unmanaged files at a
128
- managed name are backed up under the same XDG data tree before replacement.
133
+ For a Markdown harness, the whole prompt directory becomes one symlink to that
134
+ directory, so a template added through any harness shows up in all of them.
135
+ Gemini gets generated TOML commands, with `$ARGUMENTS` translated to `{{args}}`,
136
+ and its commands directory keeps nothing else. Whatever was there before is
137
+ backed up under the same XDG data tree first.
129
138
 
130
139
  `getHarness("pi").promptTemplates` still lists every verified reusable prompt
131
140
  location. `promptTemplateSyncTarget` is the single stable user destination the
@@ -5434,6 +5434,6 @@ Union([
5434
5434
  path: String$2()
5435
5435
  })
5436
5436
  ]);
5437
- export { Check, Errors, typebox_exports };
5437
+ export { Check, Errors, IsObject, typebox_exports };
5438
5438
 
5439
5439
  //# sourceMappingURL=typebox.mjs.map