@songsid/agend 2.1.2-beta.13 → 2.1.2-beta.14
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.
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cross-instance-messaging
|
|
3
|
+
description: Fire-and-queue cross-instance tools — send once, never resend on queued
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## How to send
|
|
7
|
+
|
|
8
|
+
Use fleet tools only (`send_to_instance`, `delegate_task`, `request_information`, `report_result`, `broadcast`):
|
|
9
|
+
- Call returns immediately: `{ sent: true, queued: true }` — success, fleet owns delivery.
|
|
10
|
+
- **Do not wait** for the target to go idle; **do not** treat 30s IPC timeout as failure to re-send.
|
|
11
|
+
- **Error only if the target does not exist** (or similar hard reject) — then fix the name, don't spam.
|
|
12
|
+
- **Never re-send because the reply said `queued`** — that means the message is already queued.
|
|
13
|
+
|
|
14
|
+
## requires_reply
|
|
15
|
+
|
|
16
|
+
- Means “target should later answer with `report_result` / a real reply”
|
|
17
|
+
- **Not** a synchronous wait for their turn to finish
|
|
18
|
+
|
|
19
|
+
## Task flow
|
|
20
|
+
|
|
21
|
+
- `delegate_task` → silent work → `report_result` (zero ack-only pings)
|
|
22
|
+
- Cross-instance traffic is `[from:name]` → answer with `send_to_instance` / `report_result`, never `reply`
|
|
@@ -1,36 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: model-discovery
|
|
3
|
-
description:
|
|
3
|
+
description: Set and discover models — pass-through to the CLI, no AgEnD allowlist gate
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## How to set a model
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
- fleet.yaml: `defaults.model` or per-instance `model`
|
|
9
|
+
- **Pass-through:** AgEnD no longer blocks unknown model ids — it may **warn**, then still pass the string to the CLI
|
|
10
|
+
- **CLI is source of truth** — if the model is invalid, the backend CLI errors (fix the name there)
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
|---------|-------------------|---------|
|
|
12
|
-
| **kiro-cli** | In tmux: send `/model` + Enter → read model list → Esc to close | auto (latest) |
|
|
13
|
-
| **claude-code** | `sonnet`, `opus`, `haiku`, `opusplan`, `best`, `sonnet[1m]`, `opus[1m]` | sonnet |
|
|
14
|
-
| **antigravity** | Run `agy models` to see available models | Gemini 3.5 Flash (Medium) |
|
|
15
|
-
| **codex** | `gpt-4o`, `o3`, `o4-mini` | gpt-4o |
|
|
16
|
-
| **opencode** | `opencode models` | depends on provider |
|
|
17
|
-
| **grok** | `grok-4.5`, `grok-4.3`, `grok-code`, `grok-build-0.1` | grok default |
|
|
12
|
+
## Discover real names
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
14
|
+
| Backend | How |
|
|
15
|
+
|---------|-----|
|
|
16
|
+
| kiro-cli | In pane: `/model` (gpt-*, deepseek-*, minimax-*, glm-*, qwen* supported) |
|
|
17
|
+
| claude-code | `sonnet` / `opus` / `haiku` / `opusplan` / aliases |
|
|
18
|
+
| codex | pane `/model` or docs (`gpt-*`, `o*`) |
|
|
19
|
+
| grok | `grok models` |
|
|
20
|
+
| antigravity | `agy models` — set **base name only** (drop `(Medium)` / `(Thinking)` effort suffix) |
|
|
21
|
+
| opencode | `opencode models` |
|
|
24
22
|
|
|
25
|
-
**Important:** Model names vary by backend. Always check the actual CLI output rather than guessing names.
|
|
26
|
-
|
|
27
|
-
Example fleet.yaml:
|
|
28
23
|
```yaml
|
|
29
24
|
defaults:
|
|
30
25
|
backend: kiro-cli
|
|
31
26
|
model: claude-sonnet-4-20250514
|
|
32
|
-
|
|
33
|
-
instances:
|
|
34
|
-
heavy-task:
|
|
35
|
-
model: claude-opus-4-20250514
|
|
36
27
|
```
|
|
@@ -1,46 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: session-management
|
|
3
|
-
description:
|
|
3
|
+
description: Session stores, forking, and auth-pause recovery
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
## Auth failure (auto-pause)
|
|
7
|
+
|
|
8
|
+
When AgEnD sees `auth_error` it **pauses** that instance (`pausePending` sticky):
|
|
9
|
+
- One notification **per backend** (not per instance) — log in once, same-backend peers recover.
|
|
10
|
+
- Auth is **per-user global** across backends: claude-code, codex, kiro, grok, opencode, antigravity.
|
|
11
|
+
- Messages while paused stay in the **queue** — do not re-send.
|
|
12
|
+
- After the user re-auths: `wake` / normal wake clears `pausePending`.
|
|
13
|
+
|
|
6
14
|
## Where sessions live
|
|
7
15
|
|
|
8
16
|
| | kiro-cli | claude-code |
|
|
9
17
|
|---|---|---|
|
|
10
18
|
| Store | `~/.kiro/sessions/cli/<uuid>.json` | `~/.claude/projects/<path-encoded>/*.jsonl` |
|
|
11
|
-
|
|
|
12
|
-
| Reload | `/chat load <file>` | none — `--continue` (latest for the dir) / `--resume <id>` |
|
|
13
|
-
| Text export | — | `/export` (plain text, **not** reloadable) |
|
|
14
|
-
|
|
15
|
-
`<path-encoded>` = the absolute working_directory with `/` → `-`
|
|
16
|
-
(e.g. `/home/han/Projects/AgEnD` → `-home-han-Projects-AgEnD`).
|
|
17
|
-
|
|
18
|
-
## Fork a session to a new instance
|
|
19
|
-
|
|
20
|
-
Confirm the source is **idle** first (`describe_instance` / `get_fleet_status`) — don't fork mid-task.
|
|
21
|
-
|
|
22
|
-
**kiro-cli** — save, copy, load:
|
|
23
|
-
1. On the source, save: `/chat save <name>.json -f` (paste via tmux if needed).
|
|
24
|
-
2. `create_instance` (same backend).
|
|
25
|
-
3. `cp ~/.agend/workspaces/<source>/<name>.json ~/.agend/workspaces/<target>/`
|
|
26
|
-
4. Load on the target: `/chat load <name>.json`, or set `pre_task_command: "/chat load <name>.json"`.
|
|
27
|
-
|
|
28
|
-
**claude-code** — copy the `.jsonl` (no save/load command):
|
|
29
|
-
1. Newest source session: `ls -lt ~/.claude/projects/<source-encoded>/*.jsonl | head`
|
|
30
|
-
2. `create_instance` (backend `claude-code`); note its working_directory.
|
|
31
|
-
3. Copy into the target's encoded project dir:
|
|
32
|
-
```bash
|
|
33
|
-
TARGET_ENC="$(echo '<target-working-dir>' | sed 's#/#-#g')"
|
|
34
|
-
mkdir -p ~/.claude/projects/$TARGET_ENC
|
|
35
|
-
cp ~/.claude/projects/<source-encoded>/<session>.jsonl ~/.claude/projects/$TARGET_ENC/
|
|
36
|
-
```
|
|
37
|
-
4. Start the target — claude-code resumes the newest `.jsonl` via `--continue`.
|
|
19
|
+
| Reload | `/chat load <file>` | `--continue` / `--resume <id>` |
|
|
38
20
|
|
|
39
|
-
|
|
40
|
-
(paths inside the transcript refer to it). Pick the right `.jsonl` if several exist (newest by
|
|
41
|
-
mtime; compaction/branches create new files). `/export` is text only, not reloadable.
|
|
21
|
+
`<path-encoded>` = absolute cwd with `/` → `-`.
|
|
42
22
|
|
|
43
|
-
##
|
|
23
|
+
## Fork (source must be idle)
|
|
44
24
|
|
|
45
|
-
|
|
46
|
-
|
|
25
|
+
- **kiro:** `/chat save name.json -f` → `create_instance` → copy workspace file → `/chat load name.json`
|
|
26
|
+
- **claude-code:** copy newest `*.jsonl` into target's encoded project dir → start (uses `--continue`)
|
|
27
|
+
- Prefer `replace_instance` when the whole session is poisoned (see instance-lifecycle)
|