@ours.network/fleet 1.2.0-nightly.12 → 1.2.0-nightly.13
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 +2 -0
- package/dist/application/model-catalog.d.ts +1 -1
- package/dist/application/model-catalog.js +5 -2
- package/dist/build-info.json +4 -4
- package/dist/init-wizard.js +10 -3
- package/package.json +1 -1
- package/presets/README.md +66 -0
- package/presets/brain-catalog.json +7 -2
- package/presets/fleet/brains/claude-fable-5-1-high.yaml +5 -0
- package/presets/fleet/brains/claude-fable-5-1-low.yaml +5 -0
- package/presets/fleet/brains/claude-fable-5-1-max.yaml +5 -0
- package/presets/fleet/brains/claude-fable-5-1-medium.yaml +5 -0
- package/presets/fleet/brains/claude-fable-5-1-xhigh.yaml +5 -0
- package/presets/fleet/brains/claude-fable-5-high.yaml +1 -1
- package/presets/fleet/brains/claude-fable-5-low.yaml +1 -1
- package/presets/fleet/brains/claude-fable-5-max.yaml +1 -1
- package/presets/fleet/brains/claude-fable-5-medium.yaml +1 -1
- package/presets/fleet/brains/claude-fable-5-xhigh.yaml +1 -1
- package/presets/fleet/brains/claude-haiku-4-5-20251001-default.yaml +4 -0
- package/presets/fleet/brains/claude-opus-5-5-high.yaml +5 -0
- package/presets/fleet/brains/claude-opus-5-5-low.yaml +5 -0
- package/presets/fleet/brains/claude-opus-5-5-max.yaml +5 -0
- package/presets/fleet/brains/claude-opus-5-5-medium.yaml +5 -0
- package/presets/fleet/brains/claude-opus-5-5-xhigh.yaml +5 -0
- package/presets/fleet/brains/claude-opus-5-high.yaml +1 -1
- package/presets/fleet/brains/claude-opus-5-low.yaml +1 -1
- package/presets/fleet/brains/claude-opus-5-max.yaml +1 -1
- package/presets/fleet/brains/claude-opus-5-medium.yaml +1 -1
- package/presets/fleet/brains/claude-opus-5-xhigh.yaml +1 -1
- package/presets/fleet/brains/claude-sonnet-5-high.yaml +1 -1
- package/presets/fleet/brains/claude-sonnet-5-low.yaml +1 -1
- package/presets/fleet/brains/claude-sonnet-5-max.yaml +1 -1
- package/presets/fleet/brains/claude-sonnet-5-medium.yaml +1 -1
- package/presets/fleet/brains/claude-sonnet-5-xhigh.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-3-codex-spark-high.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-3-codex-spark-low.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-3-codex-spark-medium.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-3-codex-spark-xhigh.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-4-high.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-4-low.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-4-medium.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-4-mini-high.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-4-mini-low.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-4-mini-medium.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-4-mini-xhigh.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-4-xhigh.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-5-high.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-5-low.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-5-medium.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-5-xhigh.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-luna-high.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-luna-low.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-luna-max.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-luna-medium.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-luna-xhigh.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-sol-high.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-sol-low.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-sol-max.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-sol-medium.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-sol-ultra.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-sol-xhigh.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-terra-high.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-terra-low.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-terra-max.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-terra-medium.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-terra-ultra.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-5-6-terra-xhigh.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-6-astra-high.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-6-astra-low.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-6-astra-max.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-6-astra-medium.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-6-astra-ultra.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-6-astra-xhigh.yaml +1 -1
- package/presets/fleet/brains/codex-gpt-6-luna-high.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-luna-low.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-luna-max.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-luna-medium.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-luna-xhigh.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-sol-high.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-sol-low.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-sol-max.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-sol-medium.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-sol-ultra.yaml +5 -0
- package/presets/fleet/brains/codex-gpt-6-sol-xhigh.yaml +5 -0
- package/presets/manifest.json +2 -2
package/README.md
CHANGED
|
@@ -1767,3 +1767,5 @@ A `task_not_ready` result distinguishes confirmed degradation from unknown healt
|
|
|
1767
1767
|
and member status and choose supported recovery. These checks do not restart agents,
|
|
1768
1768
|
recreate identities, redeem invites, or rewrite lifecycle state. Temporary room agents
|
|
1769
1769
|
remain transient across host reboot; retained launch records do not restore them.
|
|
1770
|
+
|
|
1771
|
+
See [predefined Brain models and runtime requirements](presets/README.md) for the verified model/effort matrix and regeneration instructions.
|
|
@@ -14,7 +14,7 @@ export interface HarnessModelCatalog {
|
|
|
14
14
|
export declare function codexModelCatalog(path?: string): HarnessModelCatalog;
|
|
15
15
|
/**
|
|
16
16
|
* Claude Code 2.1 has no typed model-list endpoint. These exact IDs are the
|
|
17
|
-
* versioned adapter contract
|
|
17
|
+
* versioned adapter contract verified with CLI 2.1.281, not aliases and
|
|
18
18
|
* not a claim about account entitlement (which Claude validates at launch).
|
|
19
19
|
*/
|
|
20
20
|
export declare function claudeModelCatalog(): HarnessModelCatalog;
|
|
@@ -41,17 +41,20 @@ export function codexModelCatalog(path = join(homedir(), '.codex', 'models_cache
|
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Claude Code 2.1 has no typed model-list endpoint. These exact IDs are the
|
|
44
|
-
* versioned adapter contract
|
|
44
|
+
* versioned adapter contract verified with CLI 2.1.281, not aliases and
|
|
45
45
|
* not a claim about account entitlement (which Claude validates at launch).
|
|
46
46
|
*/
|
|
47
47
|
export function claudeModelCatalog() {
|
|
48
48
|
const reasoningEfforts = ['low', 'medium', 'high', 'xhigh', 'max'];
|
|
49
49
|
return {
|
|
50
50
|
models: [
|
|
51
|
+
{ id: 'claude-fable-5-1', label: 'Claude Fable 5.1', reasoningEfforts, source: 'claude-adapter-2.1' },
|
|
52
|
+
{ id: 'claude-opus-5-5', label: 'Claude Opus 5.5', reasoningEfforts, source: 'claude-adapter-2.1' },
|
|
53
|
+
{ id: 'claude-haiku-4-5-20251001', label: 'Claude Haiku 4.5', reasoningEfforts: [], source: 'claude-adapter-2.1' },
|
|
51
54
|
{ id: 'claude-fable-5', label: 'Claude Fable 5', reasoningEfforts, source: 'claude-adapter-2.1' },
|
|
52
55
|
{ id: 'claude-opus-5', label: 'Claude Opus 5', reasoningEfforts, source: 'claude-adapter-2.1' },
|
|
53
56
|
{ id: 'claude-sonnet-5', label: 'Claude Sonnet 5', reasoningEfforts, source: 'claude-adapter-2.1' },
|
|
54
57
|
],
|
|
55
|
-
warnings: ['Claude Code exposes no typed model-list endpoint; choices
|
|
58
|
+
warnings: ['Claude Code exposes no typed model-list endpoint; choices require a current Claude runtime (verified with 2.1.281); older bundled SDKs need CLAUDE_CODE_EXECUTABLE. Entitlement is validated at launch.'],
|
|
56
59
|
};
|
|
57
60
|
}
|
package/dist/build-info.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.2.0-nightly.
|
|
3
|
-
"buildId": "
|
|
4
|
-
"commit": "
|
|
2
|
+
"version": "1.2.0-nightly.13",
|
|
3
|
+
"buildId": "3385b7b09b31",
|
|
4
|
+
"commit": "76ea214e69c007a06469b0defee3634779434657",
|
|
5
5
|
"dirty": true,
|
|
6
|
-
"builtAt": "2026-09-24T13:
|
|
6
|
+
"builtAt": "2026-09-24T13:41:37.102Z",
|
|
7
7
|
"capabilities": [
|
|
8
8
|
"cowork.http-management-v1",
|
|
9
9
|
"monitor.interrupt.after_tool"
|
package/dist/init-wizard.js
CHANGED
|
@@ -14,6 +14,11 @@ const REASONING_EFFORT = {
|
|
|
14
14
|
quick: 'low', balanced: 'medium', thorough: 'high',
|
|
15
15
|
};
|
|
16
16
|
const MODEL_LABELS = {
|
|
17
|
+
'gpt-6-sol': 'GPT-6 Sol',
|
|
18
|
+
'gpt-6-luna': 'GPT-6 Luna',
|
|
19
|
+
'claude-fable-5-1': 'Claude Fable 5.1',
|
|
20
|
+
'claude-opus-5-5': 'Claude Opus 5.5',
|
|
21
|
+
'claude-haiku-4-5-20251001': 'Claude Haiku 4.5',
|
|
17
22
|
'gpt-6-astra': 'GPT-6 Astra',
|
|
18
23
|
'gpt-5.6-sol': 'GPT-5.6 Sol',
|
|
19
24
|
'gpt-5.6-terra': 'GPT-5.6 Terra',
|
|
@@ -33,10 +38,10 @@ export function validateCatalog(value, path = 'supported model catalog') {
|
|
|
33
38
|
for (const model of value.models) {
|
|
34
39
|
if (!['codex', 'claude-code'].includes(model.harness) || model.session !== 'acp'
|
|
35
40
|
|| typeof model.model !== 'string' || !MODEL_LABELS[model.model]
|
|
36
|
-
|| !Array.isArray(model.efforts)
|
|
41
|
+
|| !Array.isArray(model.efforts)
|
|
37
42
|
|| new Set(model.efforts).size !== model.efforts.length
|
|
38
43
|
|| model.efforts.some(effort => !['low', 'medium', 'high', 'xhigh', 'max', 'ultra'].includes(effort))
|
|
39
|
-
|| !['low', 'medium', 'high'].every(effort => model.efforts.includes(effort)))
|
|
44
|
+
|| (model.efforts.length > 0 && !['low', 'medium', 'high'].every(effort => model.efforts.includes(effort))))
|
|
40
45
|
throw new Error(`unsupported model state in ${path}`);
|
|
41
46
|
const tuple = `${model.harness}\0${model.session}\0${model.model}`;
|
|
42
47
|
if (tuples.has(tuple))
|
|
@@ -90,7 +95,9 @@ export async function askInitQuestions(prompter, configuration) {
|
|
|
90
95
|
return undefined;
|
|
91
96
|
if (subscriptions.length === 0)
|
|
92
97
|
throw new Error('Select at least one subscription.');
|
|
93
|
-
|
|
98
|
+
// The wizard assigns low/medium/high; no-effort models remain available as named presets.
|
|
99
|
+
const available = catalog().models.filter(model => subscriptions.includes(subscriptionFor(model))
|
|
100
|
+
&& model.efforts.length > 0);
|
|
94
101
|
if (!available.length)
|
|
95
102
|
throw new Error('None of the selected subscriptions has a supported model.');
|
|
96
103
|
prompter.note([
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ours.network/fleet",
|
|
3
|
-
"version": "1.2.0-nightly.
|
|
3
|
+
"version": "1.2.0-nightly.13",
|
|
4
4
|
"description": "Harness-agnostic fleet of persistent, identity-bound AI agents. Declarative fleet.yaml, managed native/ACP sessions, supervision, and ours.network messaging.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "FSL-1.1-Apache-2.0",
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Predefined Brains
|
|
2
|
+
|
|
3
|
+
`brain-catalog.json` is the source for generated `fleet/brains/*.yaml` files.
|
|
4
|
+
Run `node scripts/generate-brain-presets.mjs` after changing it, and run the same
|
|
5
|
+
command with `--check` to verify generated files. An empty `efforts` array generates
|
|
6
|
+
one `-default` preset with no `effort` field. Bootstrap adds missing presets and
|
|
7
|
+
preserves existing user files. Existing model presets remain available.
|
|
8
|
+
|
|
9
|
+
## Current model additions (verified 2026-09-24)
|
|
10
|
+
|
|
11
|
+
| Harness | Exact model ID | Preset efforts |
|
|
12
|
+
| --- | --- | --- |
|
|
13
|
+
| Codex | `gpt-6-sol` | low, medium, high, xhigh, max, ultra |
|
|
14
|
+
| Codex | `gpt-6-luna` | low, medium, high, xhigh, max |
|
|
15
|
+
| Claude Code | `claude-fable-5-1` | low, medium, high, xhigh, max |
|
|
16
|
+
| Claude Code | `claude-opus-5-5` | low, medium, high, xhigh, max |
|
|
17
|
+
| Claude Code (retained) | `claude-sonnet-5` | low, medium, high, xhigh, max |
|
|
18
|
+
| Claude Code | `claude-haiku-4-5-20251001` | default, with no effort setting |
|
|
19
|
+
|
|
20
|
+
For example, select `codex-gpt-6-sol-ultra`, `claude-opus-5-5-max`, or
|
|
21
|
+
`claude-haiku-4-5-20251001-default` as a Brain reference. The init wizard offers
|
|
22
|
+
models supporting its Quick/Balanced/Thorough (low/medium/high) choices; use the
|
|
23
|
+
named Brain directly for Haiku, which does not support effort.
|
|
24
|
+
|
|
25
|
+
### Runtime requirements and evidence
|
|
26
|
+
|
|
27
|
+
Codex CLI **0.155.0** freshly queried through `app-server` `initialize` then
|
|
28
|
+
`model/list` advertised the GPT rows above. A previously populated
|
|
29
|
+
`~/.codex/models_cache.json` did not contain these models; refresh runtime discovery
|
|
30
|
+
before concluding a model is unavailable. `ours-fleet doctor` compares presets to
|
|
31
|
+
the local cache. The catalog is not an account entitlement guarantee.
|
|
32
|
+
|
|
33
|
+
The [Sol](https://developers.openai.com/api/docs/models/gpt-6-sol) and
|
|
34
|
+
[Luna](https://developers.openai.com/api/docs/models/gpt-6-luna) API model pages
|
|
35
|
+
also support `none`, but the verified Codex runtime does not advertise it.
|
|
36
|
+
Consequently there are no `none` presets. Sol's `ultra` is an advertised Codex
|
|
37
|
+
harness mode, not an additional API reasoning level; Luna does not advertise it.
|
|
38
|
+
|
|
39
|
+
Claude Code **2.1.281** was verified using the Agent SDK `supportedModels()`
|
|
40
|
+
control request, with `pathToClaudeCodeExecutable` pointing to the installed
|
|
41
|
+
Claude CLI, without sending an inference prompt. It reports Fable 5.1, Opus 5.5,
|
|
42
|
+
Sonnet 5 and Haiku 4.5 with the capabilities above. These are verified versions,
|
|
43
|
+
not asserted minimum versions. Provider references:
|
|
44
|
+
[model IDs](https://platform.claude.com/docs/en/models/overview) and
|
|
45
|
+
[Claude Code effort support](https://code.claude.com/docs/en/model-config#adjust-effort-level).
|
|
46
|
+
|
|
47
|
+
**Check the executable used by ACP before selecting the new Claude presets.**
|
|
48
|
+
The inspected `claude-agent-acp` **0.63.0** installation bundles Agent SDK
|
|
49
|
+
**0.3.220**, whose default executable reports older models. To use the verified
|
|
50
|
+
installed Claude CLI, set `CLAUDE_CODE_EXECUTABLE` to its absolute path in the
|
|
51
|
+
launch environment (for example `/usr/bin/claude` on the verification host).
|
|
52
|
+
Otherwise use a bundled SDK whose runtime advertises these models and efforts.
|
|
53
|
+
The presets do not change your executable or restart agents. An older bundled
|
|
54
|
+
runtime alone is not evidence of support for the new models.
|
|
55
|
+
|
|
56
|
+
No-prompt ACP startup and `session/set_config_option` probes also verified all
|
|
57
|
+
new GPT and Claude effort combinations, including Sol `ultra` and Claude `max`;
|
|
58
|
+
Haiku startup advertises no effort option. The probes used Codex ACP 1.10.0
|
|
59
|
+
with the installed Codex executable and Claude ACP 0.63.0 with the native override.
|
|
60
|
+
|
|
61
|
+
ACP builds effort options from the selected model's `supportedEffortLevels` and
|
|
62
|
+
applies the selection through the SDK's session flag settings. This supports
|
|
63
|
+
`max` without writing it to persistent `effortLevel` settings. Fleet verifies
|
|
64
|
+
that ACP applied the requested effort and fails on rejection. `ultracode` is a
|
|
65
|
+
separate Claude orchestration setting and is not a model effort preset. Account
|
|
66
|
+
and organization restrictions still apply at launch; no fallback model is added.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema_version": 1,
|
|
3
|
-
"catalog_revision":
|
|
3
|
+
"catalog_revision": 3,
|
|
4
4
|
"models": [
|
|
5
5
|
{ "harness": "codex", "session": "acp", "model": "gpt-6-astra", "efforts": ["low", "medium", "high", "xhigh", "max", "ultra"] },
|
|
6
6
|
{ "harness": "codex", "session": "acp", "model": "gpt-5.6-sol", "efforts": ["low", "medium", "high", "xhigh", "max", "ultra"] },
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
{ "harness": "codex", "session": "acp", "model": "gpt-5.3-codex-spark", "efforts": ["low", "medium", "high", "xhigh"] },
|
|
13
13
|
{ "harness": "claude-code", "session": "acp", "model": "claude-fable-5", "efforts": ["low", "medium", "high", "xhigh", "max"] },
|
|
14
14
|
{ "harness": "claude-code", "session": "acp", "model": "claude-opus-5", "efforts": ["low", "medium", "high", "xhigh", "max"] },
|
|
15
|
-
{ "harness": "claude-code", "session": "acp", "model": "claude-sonnet-5", "efforts": ["low", "medium", "high", "xhigh", "max"] }
|
|
15
|
+
{ "harness": "claude-code", "session": "acp", "model": "claude-sonnet-5", "efforts": ["low", "medium", "high", "xhigh", "max"] },
|
|
16
|
+
{ "harness": "codex", "session": "acp", "model": "gpt-6-sol", "efforts": ["low", "medium", "high", "xhigh", "max", "ultra"] },
|
|
17
|
+
{ "harness": "codex", "session": "acp", "model": "gpt-6-luna", "efforts": ["low", "medium", "high", "xhigh", "max"] },
|
|
18
|
+
{ "harness": "claude-code", "session": "acp", "model": "claude-fable-5-1", "efforts": ["low", "medium", "high", "xhigh", "max"] },
|
|
19
|
+
{ "harness": "claude-code", "session": "acp", "model": "claude-opus-5-5", "efforts": ["low", "medium", "high", "xhigh", "max"] },
|
|
20
|
+
{ "harness": "claude-code", "session": "acp", "model": "claude-haiku-4-5-20251001", "efforts": [] }
|
|
16
21
|
]
|
|
17
22
|
}
|
package/presets/manifest.json
CHANGED