@songsid/agend 2.3.2-beta.15 → 2.3.2-beta.17
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/README.zh-TW.md +2 -0
- package/dist/backend/claude-code.js +23 -1
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/kiro.d.ts +2 -0
- package/dist/backend/kiro.js +7 -0
- package/dist/backend/kiro.js.map +1 -1
- package/dist/cache-service.d.ts +13 -1
- package/dist/cache-service.js +45 -2
- package/dist/cache-service.js.map +1 -1
- package/dist/channel/mcp-tools.js +4 -4
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/config-validator.js +4 -1
- package/dist/config-validator.js.map +1 -1
- package/dist/fleet-manager.d.ts +14 -0
- package/dist/fleet-manager.js +36 -5
- package/dist/fleet-manager.js.map +1 -1
- package/dist/general-knowledge/skills/fleet-config/SKILL.md +5 -3
- package/dist/general-knowledge/skills/fleet-restart/SKILL.md +1 -1
- package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +24 -0
- package/dist/general-knowledge/skills/session-management/SKILL.md +1 -1
- package/dist/general-knowledge/skills/tui-effort/SKILL.md +1 -1
- package/dist/general-knowledge/skills/web-appearance/SKILL.canvas-worker-off.md +3 -1
- package/dist/general-knowledge/skills/web-appearance/SKILL.md +3 -1
- package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +27 -13
- package/dist/general-knowledge/skills/web-dashboard/SKILL.md +27 -13
- package/dist/instance-config-impact.js +1 -0
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/kiro-reconcile.js +11 -3
- package/dist/kiro-reconcile.js.map +1 -1
- package/dist/locale.js +4 -0
- package/dist/locale.js.map +1 -1
- package/dist/office-levels.d.ts +64 -0
- package/dist/office-levels.js +66 -0
- package/dist/office-levels.js.map +1 -0
- package/dist/office-share-page.js +1 -1
- package/dist/office-share-page.js.map +1 -1
- package/dist/office-share.d.ts +18 -2
- package/dist/office-share.js +22 -4
- package/dist/office-share.js.map +1 -1
- package/dist/public-web-gateway.js +1 -1
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/scheduler/task-board.d.ts +28 -6
- package/dist/scheduler/task-board.js +66 -11
- package/dist/scheduler/task-board.js.map +1 -1
- package/dist/settings-api.js +4 -0
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-change.js +2 -0
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-effect.js +2 -0
- package/dist/settings-effect.js.map +1 -1
- package/dist/task-board-waker.js +7 -2
- package/dist/task-board-waker.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/ui/fleet-office-card.js +114 -0
- package/dist/ui/fleet-office-editor.js +27 -7
- package/dist/ui/fleet-office-levels.js +105 -0
- package/dist/ui/fleet-office-model.js +9 -1
- package/dist/ui/fleet-office-pack.d.ts +2 -0
- package/dist/ui/fleet-office-pack.js +48 -2
- package/dist/ui/fleet-office-skin.js +39 -3
- package/dist/ui/fleet-office-store.js +13 -0
- package/dist/ui/fleet-office.js +172 -26
- package/dist/ui/fleet-org.js +2 -0
- package/dist/ui/fleet-task-card.js +2 -2
- package/dist/ui/fleet-task-common.js +30 -7
- package/dist/ui/fleet-task-work.js +2 -2
- package/dist/ui/fleet-tasks.js +10 -11
- package/dist/ui/office-share-page.js +1 -0
- package/dist/ui/panel-settings.js +7 -1
- package/dist/ui/settings-registry.js +1 -0
- package/dist/ui/settings-strings.js +2 -0
- package/dist/ui/shared/app.css +44 -0
- package/dist/usage-rollup.d.ts +34 -3
- package/dist/usage-rollup.js +56 -3
- package/dist/usage-rollup.js.map +1 -1
- package/dist/web-api.d.ts +5 -0
- package/dist/web-api.js +42 -10
- package/dist/web-api.js.map +1 -1
- package/dist/web-auth.js +1 -1
- package/dist/web-auth.js.map +1 -1
- package/dist/web-office-acts.d.ts +5 -2
- package/dist/web-office-acts.js +7 -2
- package/dist/web-office-acts.js.map +1 -1
- package/dist/web-office-store.d.ts +6 -1
- package/dist/web-office-store.js +5 -0
- package/dist/web-office-store.js.map +1 -1
- package/dist/web-settings-patch.d.ts +3 -1
- package/dist/web-settings-patch.js +4 -1
- package/dist/web-settings-patch.js.map +1 -1
- package/dist/workflow-templates/default.md +1 -1
- package/package.json +1 -1
|
@@ -38,11 +38,13 @@ For `backend: kiro-cli` instances, `kiro_ui` selects the CLI's UI/agent profile:
|
|
|
38
38
|
instances:
|
|
39
39
|
my-kiro:
|
|
40
40
|
backend: kiro-cli
|
|
41
|
-
kiro_ui:
|
|
42
|
-
# kiro_ui:
|
|
41
|
+
kiro_ui: tui # what every new kiro instance is written with (#2598)
|
|
42
|
+
# kiro_ui: legacy # the classic engine; also what an entry with no kiro_ui runs
|
|
43
43
|
```
|
|
44
44
|
`kiro_ui: v3` is refused by validation — do not set it.
|
|
45
|
-
|
|
45
|
+
kiro-cli 3.0 drops the classic engine. Never change `kiro_ui` by hand to move an instance: that starts it on an
|
|
46
|
+
empty conversation. An existing classic instance moves with its conversation through `migrate_kiro_instance`
|
|
47
|
+
(the kiro-engine-migration skill). Ignored by other backends.
|
|
46
48
|
|
|
47
49
|
## Reply completion guard
|
|
48
50
|
|
|
@@ -35,7 +35,7 @@ agend update --yes # from a fleet session: the installed channel's la
|
|
|
35
35
|
agend update --version 2.2.0 --yes # a specific version
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
It installs the selected release, checks the install, and restarts the fleet service. `--alpha` / `--beta` / `--stable` pick a channel; details in docs/cli.md.
|
|
38
|
+
It installs the selected release, checks the install, and restarts the fleet service. `--alpha` / `--beta` / `--stable` pick a channel; details in docs/cli.md. A beta install stays on the beta channel: to move it to the stable release (for example from a 2.3.2 beta to 2.3.2), use `agend update --stable --yes`, and only when the user asked for it.
|
|
39
39
|
|
|
40
40
|
**Manual restart (if update isn't needed):**
|
|
41
41
|
```bash
|
|
@@ -43,6 +43,7 @@ The user has already been shown the plain notice in this topic. When they ask, e
|
|
|
43
43
|
- **Go back to a kiro-cli version that ran them.** `history` shows which versions launches were prepared
|
|
44
44
|
with; the user knows which of those worked. Installing such a version again is the likely way back, but
|
|
45
45
|
do not promise it. The user, or whoever administers the host, does this; you do not.
|
|
46
|
+
- **Move it to the TUI engine** with its conversation (below), if the user wants that.
|
|
46
47
|
- **Wait for AgEnD's migration to V3.** It will convert each conversation once, verify it, and switch the
|
|
47
48
|
instance, one instance at a time and only with the user's confirmation. It is not available yet: say so
|
|
48
49
|
plainly, and never promise a date.
|
|
@@ -73,11 +74,34 @@ or classic as a recovery shortcut. Archives are private and restorable with `age
|
|
|
73
74
|
The raw Log-history gate remains closed: the verification proves the launched/pinned reader, not ongoing pane
|
|
74
75
|
session identity after `/chat` or `/clear`.
|
|
75
76
|
|
|
77
|
+
- **After a `/compact`** classic kiro continues under a new conversation id. The move follows the same proven
|
|
78
|
+
compaction chain a classic restart follows and carries the newest conversation. When the chain can't be proven
|
|
79
|
+
(the store can't be read, two conversations continue the old one, or one belongs to another instance), the move
|
|
80
|
+
is refused and nothing changes: tell the user why, don't retry with `start_fresh`.
|
|
76
81
|
- After the move, `kiro_engine_status` shows `kiro_ui: tui` and `engine_floor: "tui"`.
|
|
77
82
|
- It is one-way. AgEnD refuses to launch a moved instance on classic again, because that would resume the frozen
|
|
78
83
|
classic copy and lose everything done since. A refusal that names the engine floor means someone set `kiro_ui`
|
|
79
84
|
back. The fix is to set it to `tui` again, never to remove the floor.
|
|
80
85
|
|
|
86
|
+
## Other kiro behaviour users ask about
|
|
87
|
+
|
|
88
|
+
- **kiro never updates itself under AgEnD.** Every kiro process AgEnD starts carries `KIRO_NO_AUTO_UPDATE=1`, so a
|
|
89
|
+
self-update to kiro-cli 3.0 can't break classic instances. `app.disableAutoupdates: true` in
|
|
90
|
+
`~/.kiro/settings/cli.json` also stops kiro-cli's own updates; that file is the user's to change, not yours.
|
|
91
|
+
- **Classic restarts follow a `/compact` (#2714, #2738)** to the conversation kiro kept writing, only on proof it is
|
|
92
|
+
this instance's. When it can't be proven, or the check passes its 30 s / 2 GiB limit, the instance resumes the
|
|
93
|
+
conversation on record and the Log tab says why.
|
|
94
|
+
- **Two conversations after an interrupted carry (#2753).** When a stopped TUI instance has its original carried
|
|
95
|
+
conversation and a newer one with work, recovery holds instead of choosing. `reconcile_kiro_instance` (full and
|
|
96
|
+
coordinator tool sets) asks a fleet admin to confirm, in General, keeping the original and archiving the named
|
|
97
|
+
newer one intact. Offer it only after the user chose those exact ids; docs/kiro-reconciliation.md explains it.
|
|
98
|
+
- **"Kiro's terminal is in use by another program" (#2682).** While a kiro pane runs `/editor`, `/transcript`, a
|
|
99
|
+
`!` command or a focused `/kvim` panel (legacy: `/editor`, `/reply`, `!`), AgEnD holds deliveries. Tell the user
|
|
100
|
+
to finish or close that program in the instance's pane; held messages go in once kiro's input row is back.
|
|
101
|
+
- **A retired model (#2648).** An instance with no model of its own whose saved conversation uses a model kiro no
|
|
102
|
+
longer offers resumes on kiro's default model and says so once. One configured to use that model is told once to
|
|
103
|
+
pick another; it is never switched.
|
|
104
|
+
|
|
81
105
|
## One kiro agent per instance (#906)
|
|
82
106
|
|
|
83
107
|
Since kiro-cli 2.21, each AgEnD kiro instance (tui / v2 engine) runs as its own kiro agent, holding only its own
|
|
@@ -151,7 +151,7 @@ for ts, sid in sorted(out, reverse=True):
|
|
|
151
151
|
```
|
|
152
152
|
It opens many files, but only one line each, so it stays cheap.
|
|
153
153
|
|
|
154
|
-
**Restore:** `codex exec resume <session-id> "<prompt>"` non-interactively, or `codex resume <session-id>` for the TUI (bare `codex resume` opens a picker). AgEnD launches `codex resume <id>` with the thread recorded for this exact directory; `codex resume --last` is only its fallback (an unreadable session DB, no other codex instance in the repository). The ID argument also accepts a session *name*.
|
|
154
|
+
**Restore:** `codex exec resume <session-id> "<prompt>"` non-interactively, or `codex resume <session-id>` for the TUI (bare `codex resume` opens a picker). AgEnD launches `codex resume <id>` with the thread recorded for this exact directory; `codex resume --last` is only its fallback (an unreadable session DB, no other codex instance in the repository). On a machine where Codex never ran, a missing session DB means a new conversation, with no warning (#2743). The ID argument also accepts a session *name*.
|
|
155
155
|
|
|
156
156
|
**Summary:** ❌ none available without parsing. `session_meta` carries only id/cwd/timestamp; to describe a session you must read further `event_msg` lines. Tell the user the timestamp and let them pick, rather than guessing at a topic.
|
|
157
157
|
|
|
@@ -18,7 +18,7 @@ instances:
|
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
**kiro_ui 模式差異:**
|
|
21
|
-
- `kiro_ui: tui`:Kiro v2 TUI
|
|
21
|
+
- `kiro_ui: tui`:Kiro v2 TUI(新建立的 kiro instance 都會寫入這個值;沒設定 `kiro_ui` 的既有項目仍是 `legacy`);本 skill 適用。
|
|
22
22
|
- `kiro_ui: v3`:目前會被設定驗證拒絕,不要設定。
|
|
23
23
|
- `kiro_ui: legacy`:舊 UI,互動行為不同,本 skill 不適用。
|
|
24
24
|
|
|
@@ -306,7 +306,9 @@ tools are not in your list), you can publish them yourself instead of asking a p
|
|
|
306
306
|
any failure the old one stays) and its previous version is kept. If a stored office's layout overrides would no
|
|
307
307
|
longer fit (a seat count changed, a seat left its area, an item is gone), check and upload refuse with the office
|
|
308
308
|
and the rule: fix the pack, or send `drop_invalid_overrides: true` to drop exactly those entries (the result names
|
|
309
|
-
them). With `"approve"` the answer is `{ pending }`: it waits for an admin's yes — say so; do not upload it again.
|
|
309
|
+
them). With `"approve"` the answer is `{ pending }`: it waits for an admin's yes — say so; do not upload it again. A pending change that drops layout entries is applied
|
|
310
|
+
only if it still drops exactly the entries its notice named: if an office was edited meanwhile, the approval is
|
|
311
|
+
refused and you send the change again (#2695).
|
|
310
312
|
- `office_pack_restore { id }` brings back the previous version (the replaced one becomes the previous);
|
|
311
313
|
`office_pack_delete { id, keep_previous? }`; `office_set_style { office, pack }` points a stored office at a pack or a
|
|
312
314
|
built-in style (pixel, studio, cozy).
|
|
@@ -314,7 +314,9 @@ tools are not in your list), you can publish them yourself instead of asking a p
|
|
|
314
314
|
any failure the old one stays) and its previous version is kept. If a stored office's layout overrides would no
|
|
315
315
|
longer fit (a seat count changed, a seat left its area, an item is gone), check and upload refuse with the office
|
|
316
316
|
and the rule: fix the pack, or send `drop_invalid_overrides: true` to drop exactly those entries (the result names
|
|
317
|
-
them). With `"approve"` the answer is `{ pending }`: it waits for an admin's yes — say so; do not upload it again.
|
|
317
|
+
them). With `"approve"` the answer is `{ pending }`: it waits for an admin's yes — say so; do not upload it again. A pending change that drops layout entries is applied
|
|
318
|
+
only if it still drops exactly the entries its notice named: if an office was edited meanwhile, the approval is
|
|
319
|
+
refused and you send the change again (#2695).
|
|
318
320
|
- `office_pack_restore { id }` brings back the previous version (the replaced one becomes the previous);
|
|
319
321
|
`office_pack_delete { id, keep_previous? }`; `office_set_style { office, pack }` points a stored office at a pack or a
|
|
320
322
|
built-in style (pixel, studio, cozy).
|
|
@@ -83,7 +83,7 @@ who is not a fleet admin gets a code privately, by sending `/web` or from an adm
|
|
|
83
83
|
as their own Discord or Telegram account. What a guest sees:
|
|
84
84
|
- **With explicit grants** (`web.guests.grants`, set in Settings → Access & security → Guests): exactly the agents an
|
|
85
85
|
admin granted that person, nothing else (default deny once the key exists). The admin picks the person from people
|
|
86
|
-
AgEnD has seen writing to an agent, ticks their agents, saves (giving access or more agents waits for a fleet admin in
|
|
86
|
+
AgEnD has seen writing to an agent, ticks their agents (or ClassicBot rooms, #2667), saves (giving access or more agents waits for a fleet admin in
|
|
87
87
|
General; taking away applies at once and ends their sessions), then presses **Send sign-in code**, a DM, never a post.
|
|
88
88
|
Each code sent and each change to someone's access is in the event log (`guest_code_sent`, `guest_grant_changed`),
|
|
89
89
|
shown to admins under **Recent changes** in that section (no agent's Log tab shows them).
|
|
@@ -229,8 +229,9 @@ values reloaded after Save. Password fields keep the browser's behaviour.
|
|
|
229
229
|
The sidebar's **Fleet** (zh "Fleet 概覽", at the top) and the phone's Fleet tab open the Fleet tab this device used last
|
|
230
230
|
(`agend_last_fleet_tab`; the Org chart the first time). The sidebar has no separate Fleet (Details) or View row.
|
|
231
231
|
- **Tasks** — the task board: Home lists **projects** (with % done) and what waits for the person (**Confirm** /
|
|
232
|
-
**Send back** finished work, **Answer** a blocked card
|
|
233
|
-
|
|
232
|
+
**Send back** finished work, **Answer** a blocked card — #2756: only the cards the person handed out, as Needs you;
|
|
233
|
+
an agent's card in review says "Waiting for <agent>"); **No project** holds `task`-tool tasks. A project is a board
|
|
234
|
+
of main tasks (M-n) by status — To do, In progress, Blocked, To confirm, Done — with drag to move, an assignee
|
|
234
235
|
filter and each main task's sub tasks (S-n). A card opens in a dialog: every field editable, its sub tasks, comments,
|
|
235
236
|
progress log, history. **Search cards** in the header. Only a signed-in person confirms the work they handed out
|
|
236
237
|
(an instance's `done` on such a card is review); a card an agent handed out, that agent confirms (#2434). No
|
|
@@ -262,11 +263,15 @@ per instance with a name tag, General and "Not in a team" in the **Lobby**. Each
|
|
|
262
263
|
with the lamp on (working), tea break (idle), asleep behind a **Closed** sign (paused/stopped), a hand up under a
|
|
263
264
|
blinking light (needs you, crashed, looks stuck). With **Live** on, each message, delegation and report is carried
|
|
264
265
|
desk to desk along the corridors in the Key's colours; a delegation in progress is a purple folder on the worker's
|
|
265
|
-
desk. Hover
|
|
266
|
+
desk. Hover a desk for its name, state and backend; a click or tap (or Enter in the desk list) opens the
|
|
267
|
+
person's profile card (#2661: a 320 px popover beside them, following them; Esc, a press elsewhere or the same person
|
|
268
|
+
again closes it; on a phone a bottom sheet): level and XP, office and area, model, backend, today, first seen, the
|
|
269
|
+
activity line, **Find in office** and **Chat**. A double-click opens the chat directly. Each name tag has a level badge
|
|
270
|
+
(lifetime work, docs/office.md § Levels; **Settings → Web dashboard → Office levels**, `web.office_levels`). **Find** dims
|
|
266
271
|
the rest. **Show** picks a team or the Lobby and **People** pins chosen instances (both kept per browser); the
|
|
267
272
|
**Office** switcher lists offices kept on the host (`web-offices.json`, `GET`/`PUT /ui/offices`). An admin session
|
|
268
273
|
(never a read-only one, a guest or the public link) gets **Edit offices**: add, rename and delete offices, pick who is
|
|
269
|
-
in each (whole teams or single instances; none = everyone) and its style, and upload or delete **skin packs** (an
|
|
274
|
+
in each (Everyone, Picked: whole teams or single instances, or #2752 Nobody: its style's NPCs only; none picked = everyone) and its style, and upload or delete **skin packs** (an
|
|
270
275
|
artist's pictures: `manifest.json` plus PNGs, format v1, kept in `web-office-skins/` in the AgEnD home; the host
|
|
271
276
|
checks every rule — PNG only, each strip exactly frames·w × h, a 16:9 background, size caps — and never changes a
|
|
272
277
|
pack; a strip may give its displayed size, `dw`/`dh`, apart from its pictures' size, and a character may walk four
|
|
@@ -303,7 +308,7 @@ tiles; a tile's label, or a double-click on it, opens that office; traffic betwe
|
|
|
303
308
|
Edit offices and Edit layout wait for a single office.
|
|
304
309
|
**Share…** (#2636; an admin session, on the dashboard reached directly or over the public link — never read-only or a guest; the URL shows only to its maker, in the dialog) makes an Office share
|
|
305
310
|
link: anyone who opens it watches **Whole fleet** (#2716, in the fleet's style), one office or **All offices** live, in the link's **Look** (#2715: Light, Dark or the viewer's device; default what the maker's dashboard shows now), read-only, with no sign-in — names, identity
|
|
306
|
-
colours and states, every 5 s; no chat, no
|
|
311
|
+
colours and states, every 5 s; no chat, no settings (a click shows a card with name, title, state, office and level only); agents' `office_set` lines only when
|
|
307
312
|
**Include agents' own status lines** is ticked; hidden instances never. 1 h by default, 15 min to 24 h
|
|
308
313
|
(`web.office_share.max_hours`); at most 10 open. Its own quick tunnel (`https://<random>.trycloudflare.com/o/<token>`)
|
|
309
314
|
starts with the first link and stops with the last; the token is shown once. There is no chat command: the button only. Open links and **Revoke** are in **Settings → Access
|
|
@@ -311,8 +316,8 @@ starts with the first link and stops with the last; the token is shown once. The
|
|
|
311
316
|
says to try again in a few minutes (no retry). `web.office_share.enabled: false` turns it off and ends open links.
|
|
312
317
|
|
|
313
318
|
The Office fills the Fleet panel and moves like the Canvas (#2540): drag to pan, the wheel or a pinch to zoom,
|
|
314
|
-
**+** / **−** / **Fit** / **Fill** at the top right (the zoom shown as a percentage above them
|
|
315
|
-
(with the office focused), an overview at the bottom right to jump (not on a phone; hidden while a single office
|
|
319
|
+
**+** / **−** / **Fit** / **Fill** at the top right (the zoom shown as a percentage above them; on a phone, outside
|
|
320
|
+
fullscreen, a row along the top of the scene) or the `+ - 0` keys (with the office focused), an overview at the bottom right to jump (not on a phone; hidden while a single office
|
|
316
321
|
is all in view, #2737). It takes the whole panel: the
|
|
317
322
|
Fleet area's full width, down to the window's foot. **Fit** shows the whole scene as large as the panel allows
|
|
318
323
|
(any scale, so it fills the panel's width or height); **Fill** (a toggle, kept per office) fills the panel instead,
|
|
@@ -379,7 +384,8 @@ to that instance's Log).
|
|
|
379
384
|
colours only; status colours (Needs you count, state dots, errors, focus ring) never change. The header follows the
|
|
380
385
|
page, not the chat. Off with agents' themes off or `?safe=1`.
|
|
381
386
|
|
|
382
|
-
Phone layout: bottom tabs Chat, Needs you, Fleet, Settings.
|
|
387
|
+
Phone layout: bottom tabs Chat, Needs you, Fleet, Settings. Settings opens on its list of sections (search on top);
|
|
388
|
+
each section opens on its own page with "‹ Settings", and dialogs and the setup wizard are full-screen sheets. Chat is current on any of an agent's pages and goes to its
|
|
383
389
|
chat; View, Log and Details are the switch under the header.
|
|
384
390
|
|
|
385
391
|
## Usage and the cache report
|
|
@@ -496,7 +502,10 @@ signed in? kiro logs out first; **Use a temporary public link** where allowed),
|
|
|
496
502
|
sign-in terminal** + its one-time access code (this browser only, no DM). While it runs every admin page shows
|
|
497
503
|
"Signing in to X (started on <device>)" with **Open**; another browser sees no code and may **Cancel sign-in**. Ends
|
|
498
504
|
when the browser session ends. A missing CLI is not installed here (the dialog says the install command). agy and
|
|
499
|
-
opencode: no dashboard sign-in. Config: `web_terminal.*` (as `/login`).
|
|
505
|
+
opencode: no dashboard sign-in. Config: `web_terminal.*` (as `/login`). Default Kiro, Claude Code and Codex
|
|
506
|
+
accounts sign in with named browser controls instead (#2599): Kiro's account method, Start URL and region and Claude's
|
|
507
|
+
code are entered in the browser, Codex shows its link and device code; credential profiles keep the dialog above. A
|
|
508
|
+
backend skipped at first setup shows in Needs you even before an agent uses it.
|
|
500
509
|
|
|
501
510
|
**Agents** — **New agent**; per agent **Settings**, **Pause / Wake**, **Start / Stop** (direct), ⋯ **Delete agent**
|
|
502
511
|
(staged; on Apply it waits for a fleet admin's confirmation in General, then the agent is stopped and removed, as
|
|
@@ -533,10 +542,12 @@ Advanced **Context lines** (these restart the room's agent); Tool progress and R
|
|
|
533
542
|
|
|
534
543
|
**Agent defaults** — **Project folders** (`project_roots`: where New agent may put an agent; empty = anywhere;
|
|
535
544
|
changing it waits for a fleet admin's OK) and the fleet defaults (`defaults.*`): **Language (bot replies)** (`locale`: Auto / en / zh-TW), default
|
|
536
|
-
backend and model, auto-pause, tool progress, bot-to-bot visibility, reply guard
|
|
545
|
+
backend and model, auto-pause, tool progress, bot-to-bot visibility, reply guard, **Native replies trigger ClassicBot**
|
|
546
|
+
(`reply_triggers`: a native reply triggers a ClassicBot bot; off by default, #2576); Advanced: tool set, agent mode, log
|
|
537
547
|
level, **Hang detector enabled** / **Stuck timeout** (`hang_detector.*`), **Startup concurrency** (1–20) and
|
|
538
548
|
**Stagger delay** (`startup.*`, restart AgEnD). ClassicBot defaults (in Chat & connections; `classicBot.yaml defaults.*`): default backend, tool
|
|
539
|
-
progress, reply guard, **ClassicBot
|
|
549
|
+
progress, reply guard, **Native replies trigger ClassicBot** (`reply_triggers`, also per room), **ClassicBot admins**,
|
|
550
|
+
**Allowed guilds**.
|
|
540
551
|
|
|
541
552
|
**Access & security** (sessions, browser terminal, public link and fixed address, guests, web authority; web echo is in Chat & connections, the Log tab and usage over the link in **Web dashboard**) — all apply at once; loosening waits for an admin; disabled over a public link.
|
|
542
553
|
| Label | Key |
|
|
@@ -563,7 +574,10 @@ connections are off (and the setup wizard); while those have unsaved changes, th
|
|
|
563
574
|
|
|
564
575
|
**Setup wizard** — agent (backend, directory, name) → platform → token and server/group, your user ID → preview →
|
|
565
576
|
**Create and start**. The directory may be left empty: the agent gets its own folder, `~/.agend/workspaces/<name>`
|
|
566
|
-
(shown under the field); one that is entered must be absolute.
|
|
577
|
+
(shown under the field); one that is entered must be absolute. On a Telegram or Discord connection the first agent
|
|
578
|
+
is named `general` by default and becomes the fleet's General, in the chat's General topic or channel, when its
|
|
579
|
+
directory is left empty; with a directory it is the worker `agent-1` and the fleet adds its General in its own folder.
|
|
580
|
+
Once a fleet has a connection or a General, a new agent can't be called `general`.
|
|
567
581
|
|
|
568
582
|
**First setup, before any fleet** (`agend setup`, the page the Windows installer opens): the same steps on its own
|
|
569
583
|
page, in English or 繁體中文 (the browser's language; the button at the top switches). The working directory may be
|
|
@@ -91,7 +91,7 @@ who is not a fleet admin gets a code privately, by sending `/web` or from an adm
|
|
|
91
91
|
as their own Discord or Telegram account. What a guest sees:
|
|
92
92
|
- **With explicit grants** (`web.guests.grants`, set in Settings → Access & security → Guests): exactly the agents an
|
|
93
93
|
admin granted that person, nothing else (default deny once the key exists). The admin picks the person from people
|
|
94
|
-
AgEnD has seen writing to an agent, ticks their agents, saves (giving access or more agents waits for a fleet admin in
|
|
94
|
+
AgEnD has seen writing to an agent, ticks their agents (or ClassicBot rooms, #2667), saves (giving access or more agents waits for a fleet admin in
|
|
95
95
|
General; taking away applies at once and ends their sessions), then presses **Send sign-in code**, a DM, never a post.
|
|
96
96
|
Each code sent and each change to someone's access is in the event log (`guest_code_sent`, `guest_grant_changed`),
|
|
97
97
|
shown to admins under **Recent changes** in that section (no agent's Log tab shows them).
|
|
@@ -238,8 +238,9 @@ values reloaded after Save. Password fields keep the browser's behaviour.
|
|
|
238
238
|
The sidebar's **Fleet** (zh "Fleet 概覽", at the top) and the phone's Fleet tab open the Fleet tab this device used last
|
|
239
239
|
(`agend_last_fleet_tab`; the Org chart the first time). The sidebar has no separate Fleet (Details) or View row.
|
|
240
240
|
- **Tasks** — the task board: Home lists **projects** (with % done) and what waits for the person (**Confirm** /
|
|
241
|
-
**Send back** finished work, **Answer** a blocked card
|
|
242
|
-
|
|
241
|
+
**Send back** finished work, **Answer** a blocked card — #2756: only the cards the person handed out, as Needs you;
|
|
242
|
+
an agent's card in review says "Waiting for <agent>"); **No project** holds `task`-tool tasks. A project is a board
|
|
243
|
+
of main tasks (M-n) by status — To do, In progress, Blocked, To confirm, Done — with drag to move, an assignee
|
|
243
244
|
filter and each main task's sub tasks (S-n). A card opens in a dialog: every field editable, its sub tasks, comments,
|
|
244
245
|
progress log, history. **Search cards** in the header. Only a signed-in person confirms the work they handed out
|
|
245
246
|
(an instance's `done` on such a card is review); a card an agent handed out, that agent confirms (#2434). No
|
|
@@ -273,12 +274,16 @@ per instance with a name tag, General and "Not in a team" in the **Lobby**. Each
|
|
|
273
274
|
with the lamp on (working), tea break (idle), asleep behind a **Closed** sign (paused/stopped), a hand up under a
|
|
274
275
|
blinking light (needs you, crashed, looks stuck). With **Live** on, each message, delegation and report is carried
|
|
275
276
|
desk to desk along the corridors in the Key's colours; a delegation in progress is a purple folder on the worker's
|
|
276
|
-
desk. Hover
|
|
277
|
+
desk. Hover a desk for its name, state and backend; a click or tap (or Enter in the desk list) opens the
|
|
278
|
+
person's profile card (#2661: a 320 px popover beside them, following them; Esc, a press elsewhere or the same person
|
|
279
|
+
again closes it; on a phone a bottom sheet): level and XP, office and area, model, backend, today, first seen, the
|
|
280
|
+
activity line, **Find in office** and **Chat**. A double-click opens the chat directly. Each name tag has a level badge
|
|
281
|
+
(lifetime work, docs/office.md § Levels; **Settings → Web dashboard → Office levels**, `web.office_levels`). **Find** dims
|
|
277
282
|
the rest. **Show** picks a team or the Lobby and **People** pins chosen instances (both kept per browser); the
|
|
278
283
|
**Office** switcher lists offices kept on the host (`web-offices.json`, `GET`/`PUT /ui/offices`). An admin session
|
|
279
284
|
(never a read-only one, a guest or the public link) gets **Edit offices** (≥1200 px: a panel docked on the right in the
|
|
280
285
|
usage rail's place, the Office in use beside it, × or Esc closes it and the rail returns; narrower: a centred dialog): add, rename and delete offices, pick who is
|
|
281
|
-
in each (whole teams or single instances; none = everyone) and its style, and upload or delete **skin packs** (an
|
|
286
|
+
in each (Everyone, Picked: whole teams or single instances, or #2752 Nobody: its style's NPCs only; none picked = everyone) and its style, and upload or delete **skin packs** (an
|
|
282
287
|
artist's pictures: `manifest.json` plus PNGs, format v1, kept in `web-office-skins/` in the AgEnD home; the host
|
|
283
288
|
checks every rule — PNG only, each strip exactly frames·w × h, a 16:9 background, size caps — and never changes a
|
|
284
289
|
pack; a strip may give its displayed size, `dw`/`dh`, apart from its pictures' size, and a character may walk four
|
|
@@ -318,7 +323,7 @@ tiles; a tile's label, or a double-click on it, opens that office; traffic betwe
|
|
|
318
323
|
Edit offices and Edit layout wait for a single office.
|
|
319
324
|
**Share…** (#2636; an admin session, on the dashboard reached directly or over the public link — never read-only or a guest; the URL shows only to its maker, in the dialog) makes an Office share
|
|
320
325
|
link: anyone who opens it watches **Whole fleet** (#2716, in the fleet's style), one office or **All offices** live, in the link's **Look** (#2715: Light, Dark or the viewer's device; default what the maker's dashboard shows now), read-only, with no sign-in — names, identity
|
|
321
|
-
colours and states, every 5 s; no chat, no
|
|
326
|
+
colours and states, every 5 s; no chat, no settings (a click shows a card with name, title, state, office and level only); agents' `office_set` lines only when
|
|
322
327
|
**Include agents' own status lines** is ticked; hidden instances never. 1 h by default, 15 min to 24 h
|
|
323
328
|
(`web.office_share.max_hours`); at most 10 open. Its own quick tunnel (`https://<random>.trycloudflare.com/o/<token>`)
|
|
324
329
|
starts with the first link and stops with the last; the token is shown once. There is no chat command: the button only. Open links and **Revoke** are in **Settings → Access
|
|
@@ -326,8 +331,8 @@ starts with the first link and stops with the last; the token is shown once. The
|
|
|
326
331
|
says to try again in a few minutes (no retry). `web.office_share.enabled: false` turns it off and ends open links.
|
|
327
332
|
|
|
328
333
|
The Office fills the Fleet panel and moves like the Canvas (#2540): drag to pan, the wheel or a pinch to zoom,
|
|
329
|
-
**+** / **−** / **Fit** / **Fill** at the top right (the zoom shown as a percentage above them
|
|
330
|
-
(with the office focused), an overview at the bottom right to jump (not on a phone; hidden while a single office
|
|
334
|
+
**+** / **−** / **Fit** / **Fill** at the top right (the zoom shown as a percentage above them; on a phone, outside
|
|
335
|
+
fullscreen, a row along the top of the scene) or the `+ - 0` keys (with the office focused), an overview at the bottom right to jump (not on a phone; hidden while a single office
|
|
331
336
|
is all in view, #2737). It takes the whole panel: the
|
|
332
337
|
Fleet area's full width, down to the window's foot. **Fit** shows the whole scene as large as the panel allows
|
|
333
338
|
(any scale, so it fills the panel's width or height); **Fill** (a toggle, kept per office) fills the panel instead,
|
|
@@ -394,7 +399,8 @@ to that instance's Log).
|
|
|
394
399
|
colours only; status colours (Needs you count, state dots, errors, focus ring) never change. The header follows the
|
|
395
400
|
page, not the chat. Off with agents' themes off or `?safe=1`.
|
|
396
401
|
|
|
397
|
-
Phone layout: bottom tabs Chat, Needs you, Fleet, Settings.
|
|
402
|
+
Phone layout: bottom tabs Chat, Needs you, Fleet, Settings. Settings opens on its list of sections (search on top);
|
|
403
|
+
each section opens on its own page with "‹ Settings", and dialogs and the setup wizard are full-screen sheets. Chat is current on any of an agent's pages and goes to its
|
|
398
404
|
chat; View, Log and Details are the switch under the header.
|
|
399
405
|
|
|
400
406
|
## Usage and the cache report
|
|
@@ -511,7 +517,10 @@ signed in? kiro logs out first; **Use a temporary public link** where allowed),
|
|
|
511
517
|
sign-in terminal** + its one-time access code (this browser only, no DM). While it runs every admin page shows
|
|
512
518
|
"Signing in to X (started on <device>)" with **Open**; another browser sees no code and may **Cancel sign-in**. Ends
|
|
513
519
|
when the browser session ends. A missing CLI is not installed here (the dialog says the install command). agy and
|
|
514
|
-
opencode: no dashboard sign-in. Config: `web_terminal.*` (as `/login`).
|
|
520
|
+
opencode: no dashboard sign-in. Config: `web_terminal.*` (as `/login`). Default Kiro, Claude Code and Codex
|
|
521
|
+
accounts sign in with named browser controls instead (#2599): Kiro's account method, Start URL and region and Claude's
|
|
522
|
+
code are entered in the browser, Codex shows its link and device code; credential profiles keep the dialog above. A
|
|
523
|
+
backend skipped at first setup shows in Needs you even before an agent uses it.
|
|
515
524
|
|
|
516
525
|
**Agents** — **New agent**; per agent **Settings**, **Pause / Wake**, **Start / Stop** (direct), ⋯ **Delete agent**
|
|
517
526
|
(staged; on Apply it waits for a fleet admin's confirmation in General, then the agent is stopped and removed, as
|
|
@@ -548,10 +557,12 @@ Advanced **Context lines** (these restart the room's agent); Tool progress and R
|
|
|
548
557
|
|
|
549
558
|
**Agent defaults** — **Project folders** (`project_roots`: where New agent may put an agent; empty = anywhere;
|
|
550
559
|
changing it waits for a fleet admin's OK) and the fleet defaults (`defaults.*`): **Language (bot replies)** (`locale`: Auto / en / zh-TW; read at startup: restart AgEnD), default
|
|
551
|
-
backend and model, auto-pause, tool progress, bot-to-bot visibility, reply guard
|
|
560
|
+
backend and model, auto-pause, tool progress, bot-to-bot visibility, reply guard, **Native replies trigger ClassicBot**
|
|
561
|
+
(`reply_triggers`: a native reply triggers a ClassicBot bot; off by default, #2576); Advanced: tool set, agent mode, log
|
|
552
562
|
level, **Hang detector enabled** / **Stuck timeout** (`hang_detector.*`), **Startup concurrency** (1–20) and
|
|
553
563
|
**Stagger delay** (`startup.*`, used from the next agent start, no restart). ClassicBot defaults (in Chat & connections; `classicBot.yaml defaults.*`): default backend, tool
|
|
554
|
-
progress, reply guard, **ClassicBot
|
|
564
|
+
progress, reply guard, **Native replies trigger ClassicBot** (`reply_triggers`, also per room), **ClassicBot admins**,
|
|
565
|
+
**Allowed guilds**.
|
|
555
566
|
|
|
556
567
|
**Access & security** (sessions, browser terminal, public link and fixed address, guests, web authority; web echo is in Chat & connections, the Log tab and usage over the link in **Web dashboard**) — all apply at once; loosening waits for an admin; disabled over a public link.
|
|
557
568
|
| Label | Key |
|
|
@@ -578,7 +589,10 @@ connections are off (and the setup wizard); while those have unsaved changes, th
|
|
|
578
589
|
|
|
579
590
|
**Setup wizard** — agent (backend, directory, name) → platform → token and server/group, your user ID → preview →
|
|
580
591
|
**Create and start**. The directory may be left empty: the agent gets its own folder, `~/.agend/workspaces/<name>`
|
|
581
|
-
(shown under the field); one that is entered must be absolute.
|
|
592
|
+
(shown under the field); one that is entered must be absolute. On a Telegram or Discord connection the first agent
|
|
593
|
+
is named `general` by default and becomes the fleet's General, in the chat's General topic or channel, when its
|
|
594
|
+
directory is left empty; with a directory it is the worker `agent-1` and the fleet adds its General in its own folder.
|
|
595
|
+
Once a fleet has a connection or a General, a new agent can't be called `general`.
|
|
582
596
|
|
|
583
597
|
**First setup, before any fleet** (`agend setup`, the page the Windows installer opens): the same steps on its own
|
|
584
598
|
page, in English or 繁體中文 (the browser's language; the button at the top switches). The working directory may be
|
|
@@ -96,6 +96,7 @@ const FLEET_FIELD_IMPACTS = {
|
|
|
96
96
|
"web.echo_to_channel": "now",
|
|
97
97
|
"web.log_tab": "now",
|
|
98
98
|
"web.usage_report_on_public_link": "now",
|
|
99
|
+
"web.office_levels": "now",
|
|
99
100
|
"web.public_link.allow_public": "now",
|
|
100
101
|
"web.public_link.ttl_minutes": "now",
|
|
101
102
|
"web.public_link.protocol": "now",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-config-impact.js","sourceRoot":"","sources":["../src/instance-config-impact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instance-config-impact.js","sourceRoot":"","sources":["../src/instance-config-impact.ts"],"names":[],"mappings":"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"}
|
package/dist/kiro-reconcile.js
CHANGED
|
@@ -19,15 +19,20 @@ export async function planKiroReconciliation(deps, name, keep, archive, rollback
|
|
|
19
19
|
export function kiroReconciliationPrompt(p) {
|
|
20
20
|
return t(p.plan.rollbackReceipt ? "kiro_reconcile.rollback_prompt" : "kiro_reconcile.prompt", p.name, p.input.sessionId, p.input.archiveId);
|
|
21
21
|
}
|
|
22
|
+
function failureText(name, reason, receipt) {
|
|
23
|
+
// Reasons are complete localized sentences; the outer notice owns the separator.
|
|
24
|
+
return t(receipt ? "kiro_reconcile.failed" : "kiro_reconcile.failed_no_receipt", name, reason.replace(/[.。]+\s*$/, ""));
|
|
25
|
+
}
|
|
22
26
|
export async function applyKiroReconciliation(deps, p, actor) {
|
|
23
27
|
let lease;
|
|
24
28
|
try {
|
|
25
29
|
lease = deps.reserve(p.name);
|
|
26
30
|
}
|
|
27
31
|
catch (error) {
|
|
28
|
-
return { ok: false, text:
|
|
32
|
+
return { ok: false, text: failureText(p.name, error.message) };
|
|
29
33
|
}
|
|
30
34
|
let receipt;
|
|
35
|
+
let storageStarted = false;
|
|
31
36
|
const current = () => {
|
|
32
37
|
if (!lease.current())
|
|
33
38
|
throw new Error(t("kiro_reconcile.changed"));
|
|
@@ -44,6 +49,9 @@ export async function applyKiroReconciliation(deps, p, actor) {
|
|
|
44
49
|
current();
|
|
45
50
|
if (model !== p.input.model)
|
|
46
51
|
throw new Error(t("kiro_reconcile.changed"));
|
|
52
|
+
// A rejected preflight has not touched storage or launched anything. Once the
|
|
53
|
+
// worker begins, even a failure without a returned receipt requires a stop.
|
|
54
|
+
storageStarted = true;
|
|
47
55
|
const result = await deps.store(p.input, p.plan, actor);
|
|
48
56
|
receipt = result.receipt;
|
|
49
57
|
current();
|
|
@@ -63,7 +71,7 @@ export async function applyKiroReconciliation(deps, p, actor) {
|
|
|
63
71
|
}
|
|
64
72
|
catch (error) {
|
|
65
73
|
let reason = error instanceof SyntaxError ? "Malformed reconciliation data" : error.message;
|
|
66
|
-
if (lease.current()) {
|
|
74
|
+
if (storageStarted && lease.current()) {
|
|
67
75
|
try {
|
|
68
76
|
await deps.stop(p.name);
|
|
69
77
|
}
|
|
@@ -71,7 +79,7 @@ export async function applyKiroReconciliation(deps, p, actor) {
|
|
|
71
79
|
reason += " " + t("kiro_migrate.stop_unconfirmed");
|
|
72
80
|
}
|
|
73
81
|
}
|
|
74
|
-
return { ok: false, ...(receipt ? { receipt } : {}), text:
|
|
82
|
+
return { ok: false, ...(receipt ? { receipt } : {}), text: failureText(p.name, reason, receipt) };
|
|
75
83
|
}
|
|
76
84
|
finally {
|
|
77
85
|
lease.release();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro-reconcile.js","sourceRoot":"","sources":["../src/kiro-reconcile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAKhC,SAAS,MAAM,CAAC,IAAuB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe;IAClF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,iBAAiB;WACtH,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC9H,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO;QACtH,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC9H,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAuB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,eAAwB;IACzI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACzH,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC9I,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AACD,MAAM,UAAU,wBAAwB,CAAC,CAAqB;IAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC9I,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAuB,EAAE,CAAqB,EAAE,KAAa;IACzG,IAAI,KAA+C,CAAC;IACpD,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"kiro-reconcile.js","sourceRoot":"","sources":["../src/kiro-reconcile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAKhC,SAAS,MAAM,CAAC,IAAuB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe;IAClF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,iBAAiB;WACtH,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC9H,MAAM,OAAO,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO;QACtH,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC9H,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAuB,EAAE,IAAY,EAAE,IAAY,EAAE,OAAe,EAAE,eAAwB;IACzI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACzH,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC9I,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AACD,MAAM,UAAU,wBAAwB,CAAC,CAAqB;IAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC9I,CAAC;AACD,SAAS,WAAW,CAAC,IAAY,EAAE,MAAc,EAAE,OAAgB;IACjE,iFAAiF;IACjF,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,kCAAkC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1H,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAuB,EAAE,CAAqB,EAAE,KAAa;IACzG,IAAI,KAA+C,CAAC;IACpD,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IAAC,CAAC;IAClI,IAAI,OAA2B,CAAC;IAChC,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,iBAAiB,KAAK,CAAC,CAAC,KAAK,CAAC,gBAAgB;eACzM,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,iBAAiB;YAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC/J,CAAC,CAAC;IACF,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACzJ,OAAO,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,CAAC;QAChM,IAAI,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC1E,8EAA8E;QAC9E,4EAA4E;QAC5E,cAAc,GAAG,IAAI,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAAC,OAAO,EAAE,CAAC;QAC7F,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,EAAE,CAAC;YAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAAC,OAAO,EAAE,CAAC;YACpH,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,EAAE,CAAC;YAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAAC,OAAO,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;IACxI,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAE,KAAe,CAAC,OAAO,CAAC;QACvG,IAAI,cAAc,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,+BAA+B,CAAC,CAAC;YAAC,CAAC;QAAC,CAAC;QACzI,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACpG,CAAC;YAAS,CAAC;QAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AAChC,CAAC"}
|
package/dist/locale.js
CHANGED
|
@@ -419,10 +419,12 @@ const enMessages = {
|
|
|
419
419
|
"kiro_reconcile.audit_failed": "Reconciliation audit log is unavailable; no changes were made.",
|
|
420
420
|
"kiro_reconcile.stopped_required": "Reconciliation requires a stopped TUI fleet instance with an explicit model and directory.",
|
|
421
421
|
"kiro_reconcile.changed": "Reconciliation evidence or instance ownership changed; request confirmation again.",
|
|
422
|
+
"kiro_reconcile.applying": "Reconciling the saved conversations of {0}…",
|
|
422
423
|
"kiro_reconcile.prompt": "Reconcile {0}?\nKeep original conversation: {1}\nArchive intact (never delete): {2}\nPreserve both V2 file sets, repair the original pin, archive its frozen classic duplicate, then verify two starts with the same model. A failure stops in place. A receipt allows rollback into a stopped hold.",
|
|
423
424
|
"kiro_reconcile.rollback_prompt": "Roll back reconciliation for {0}?\nKeep ID: {1}\nArchived ID: {2}\nRestore the prior AgEnD identity and exact frozen classic index rows into a stopped hold. All V2 files and archives stay intact. Nothing is started.",
|
|
424
425
|
"kiro_reconcile.done": "{0}: original conversation restored and plain restart verified. Archive/rollback receipt: {1}. Both V2 conversations are preserved.",
|
|
425
426
|
"kiro_reconcile.rolled_back": "{0}: prior identity restored; instance stays stopped. Archives retained. Receipt: {1}.",
|
|
427
|
+
"kiro_reconcile.failed_no_receipt": "{0}: reconciliation did not complete: {1}. No fresh or classic fallback. No receipt was returned; inspect the Log before retrying.",
|
|
426
428
|
"kiro_reconcile.failed": "{0}: reconciliation did not complete: {1}. No fresh or classic fallback. Inspect the receipt before retrying.",
|
|
427
429
|
"kiro_migrate.requested": "Asked in General for a fleet admin's confirmation. Nothing changes until it is confirmed.",
|
|
428
430
|
"kiro_migrate.no_general": "There is no General topic to ask a fleet admin in, so the move cannot be confirmed.",
|
|
@@ -1836,10 +1838,12 @@ const zhTWMessages = {
|
|
|
1836
1838
|
"kiro_reconcile.audit_failed": "對話處理的稽核紀錄目前無法寫入,沒有進行任何變更。",
|
|
1837
1839
|
"kiro_reconcile.stopped_required": "接續處理需要已停止的 TUI fleet agent,並明確設定模型與目錄。",
|
|
1838
1840
|
"kiro_reconcile.changed": "接續處理的證據或 agent 擁有權已改變,請重新要求確認。",
|
|
1841
|
+
"kiro_reconcile.applying": "正在處理 {0} 的已儲存對話…",
|
|
1839
1842
|
"kiro_reconcile.prompt": "要處理 {0} 的對話嗎?\n保留原對話:{1}\n完整封存(絕不刪除):{2}\n會保留兩份 V2 檔案、修復原對話登記、備份並移出凍結的經典副本,再以相同模型驗證兩次啟動。失敗就停止;可用收據復原到停止等待的狀態。",
|
|
1840
1843
|
"kiro_reconcile.rollback_prompt": "要復原 {0} 的對話處理嗎?\n保留的對話 ID:{1}\n封存的對話 ID:{2}\n會復原先前的 AgEnD 登記與凍結的經典索引原始資料,並維持停止;所有 V2 檔與封存都保留,不啟動任何 agent。",
|
|
1841
1844
|
"kiro_reconcile.done": "{0}:已接回原對話,並驗證一般重啟。封存/復原收據:{1}。兩份 V2 對話都已保留。",
|
|
1842
1845
|
"kiro_reconcile.rolled_back": "{0}:已復原先前登記並維持停止,封存仍保留。收據:{1}。",
|
|
1846
|
+
"kiro_reconcile.failed_no_receipt": "{0}:對話處理未完成:{1}。沒有改開新對話或切回經典模式;未取得收據,重試前請先查看紀錄。",
|
|
1843
1847
|
"kiro_reconcile.failed": "{0}:對話處理未完成:{1}。沒有改開新對話或切回經典模式;重試前請先檢查收據。",
|
|
1844
1848
|
"kiro_migrate.requested": "已在 General 請 fleet admin 確認。確認前不會有任何變更。",
|
|
1845
1849
|
"kiro_migrate.no_general": "沒有 General topic 可以請 fleet admin 確認,所以無法搬移。",
|