genaicode 2.8.0 → 2.9.1
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/CHANGELOG.md +24 -0
- package/README.md +27 -2
- package/dist/agents/defaults.d.ts +7 -0
- package/dist/agents/defaults.js +18 -0
- package/dist/agents/defaults.js.map +1 -0
- package/dist/cli/main.js +1 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/ui/assets/bark.mp3 +0 -0
- package/dist/ui/assets/wolf-64.png +0 -0
- package/dist/ui/assets/wolf-dark.webp +0 -0
- package/dist/ui/assets/wolf.webp +0 -0
- package/dist/ui/index.js +86 -78
- package/dist/ui/web-client.js +8 -8
- package/dist/vite/overlay.d.ts +19 -0
- package/dist/vite/overlay.js +180 -0
- package/dist/vite/overlay.js.map +1 -0
- package/dist/vite/plugin.d.ts +57 -0
- package/dist/vite/plugin.js +214 -0
- package/dist/vite/plugin.js.map +1 -0
- package/dist/vite.d.ts +11 -0
- package/dist/vite.js +12 -0
- package/dist/vite.js.map +1 -0
- package/docs/pivot.md +3 -1
- package/package.json +8 -3
- package/dist/cli/agents.d.ts +0 -6
- package/dist/cli/agents.js +0 -17
- package/dist/cli/agents.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.9.1 — 2026-09-29
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- `vite` is no longer declared as an optional peer dependency. `genaicode/vite` imports only
|
|
8
|
+
its types, and the declaration made npm keep `vite` (with rollup and postcss) in
|
|
9
|
+
`npm ci --omit=dev` installs of projects that have `vite` as a dev dependency.
|
|
10
|
+
|
|
11
|
+
## 2.9.0 — 2026-09-29
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- The wolf from genaicode 1.0 is back in `genaicode chat` and `genaicode ui`. The browser UI
|
|
16
|
+
shows it as the favicon, in the header and on the start screen. With the tab in the
|
|
17
|
+
background, it barks (the original `wolf-bark.mp3`) when the agent asks for approval or
|
|
18
|
+
finishes, and counts those in the tab title. The terminal UI rings the bell instead.
|
|
19
|
+
`/bark [on|off]` or the Bark button toggles it.
|
|
20
|
+
- `genaicode/vite`, a Vite dev plugin: the `genaicode ui` chat in a panel inside the app,
|
|
21
|
+
opened from the wolf in its corner, with the agent working in the project root. The page's
|
|
22
|
+
errors (build errors, uncaught exceptions, unhandled rejections, `console.error`) are counted on the wolf, and
|
|
23
|
+
"Fix N errors" sends them to the agent. `vite` is an optional peer dependency.
|
|
24
|
+
- The `genaicode ui` page sends `Content-Security-Policy: frame-ancestors 'none'`, so other
|
|
25
|
+
pages cannot frame it (the Vite plugin allows its own origins).
|
|
26
|
+
|
|
3
27
|
## 2.8.0 — 2026-09-29
|
|
4
28
|
|
|
5
29
|
### Added
|
package/README.md
CHANGED
|
@@ -164,13 +164,38 @@ can say "now add a test for that". Prompts sent while the agent works wait in a
|
|
|
164
164
|
run next; Esc stops the agent. `/agent`, `/model` and `/new` switch agent, model and
|
|
165
165
|
session; `/help` lists the rest.
|
|
166
166
|
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
The wolf from genaicode 1.0 is back. When the agent asks for approval or finishes, the
|
|
168
|
+
browser UI barks if its tab is in the background and counts those events in the tab title.
|
|
169
|
+
The terminal UI rings the terminal bell instead. `/bark off` (or the Bark button) quiets it.
|
|
170
|
+
|
|
171
|
+
`genaicode ui` listens on the loopback address and prints a link with a random access
|
|
172
|
+
token. The page, the event stream and every command need that token; only the bundled
|
|
173
|
+
script and the four mascot files (`/app.js`, `/assets/…`) are served without it, since they
|
|
174
|
+
hold nothing about your session. Both front ends are bundled into the package and load
|
|
169
175
|
only for these commands; importing `genaicode` or `genaicode/agents` pulls in no UI code.
|
|
170
176
|
In code, the same conversation is `createAgentSession` from `genaicode/agents` (see
|
|
171
177
|
[docs/agents.md](docs/agents.md#chat-sessions)); with a live driver (`codexLive`,
|
|
172
178
|
`museLive`) it also steers the running agent and asks you about permission requests.
|
|
173
179
|
|
|
180
|
+
### Inside a Vite app
|
|
181
|
+
|
|
182
|
+
```ts
|
|
183
|
+
// vite.config.ts
|
|
184
|
+
import { defineConfig } from 'vite';
|
|
185
|
+
import genaicode from 'genaicode/vite';
|
|
186
|
+
|
|
187
|
+
export default defineConfig({ plugins: [genaicode()] });
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
In `vite dev`, the app gets the wolf in its corner. It opens the same chat as `genaicode ui`
|
|
191
|
+
in a panel, with the agent working in the project root. The wolf counts the page's errors
|
|
192
|
+
(build errors, uncaught exceptions, unhandled rejections, `console.error`), and "Fix N
|
|
193
|
+
errors" sends them to the agent as one prompt. Options: `agent`, `model`, `effort`,
|
|
194
|
+
`approveAll`, `agents`, `port`, and `captureErrors: false` to leave the page's errors alone.
|
|
195
|
+
Builds are untouched. The chat runs on its own port on 127.0.0.1 even when Vite runs with
|
|
196
|
+
`--host`, lets only the app's origins frame it, and hands its token (and takes "fix" requests)
|
|
197
|
+
only from the app's own pages on this machine.
|
|
198
|
+
|
|
174
199
|
## Chaining prompts
|
|
175
200
|
|
|
176
201
|
A chain remembers successful user and assistant turns. Each new prompt sees the complete
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CodingAgent } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Headless drivers the CLI and the Vite plugin offer, in the order `run` picks the first
|
|
4
|
+
* installed one. Live drivers are left out: `genaicode run` has no approval prompt, so they
|
|
5
|
+
* would deny everything.
|
|
6
|
+
*/
|
|
7
|
+
export declare function defaultAgents(): CodingAgent[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { antigravity } from './drivers/antigravity.js';
|
|
2
|
+
import { claude } from './drivers/claude.js';
|
|
3
|
+
import { codex } from './drivers/codex.js';
|
|
4
|
+
import { copilot } from './drivers/copilot.js';
|
|
5
|
+
import { cursor } from './drivers/cursor.js';
|
|
6
|
+
import { gemini } from './drivers/gemini.js';
|
|
7
|
+
import { muse } from './drivers/muse.js';
|
|
8
|
+
import { opencode } from './drivers/opencode.js';
|
|
9
|
+
import { vibe } from './drivers/vibe.js';
|
|
10
|
+
/**
|
|
11
|
+
* Headless drivers the CLI and the Vite plugin offer, in the order `run` picks the first
|
|
12
|
+
* installed one. Live drivers are left out: `genaicode run` has no approval prompt, so they
|
|
13
|
+
* would deny everything.
|
|
14
|
+
*/
|
|
15
|
+
export function defaultAgents() {
|
|
16
|
+
return [claude(), codex(), copilot(), cursor(), gemini(), opencode(), vibe(), antigravity(), muse()];
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/agents/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACvG,CAAC"}
|
package/dist/cli/main.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createRequire } from 'node:module';
|
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
4
|
import { detectAgents } from '../agents/discovery.js';
|
|
5
5
|
import { runWithVerify } from '../agents/verify.js';
|
|
6
|
-
import { defaultAgents } from '
|
|
6
|
+
import { defaultAgents } from '../agents/defaults.js';
|
|
7
7
|
import { parseCli, UsageError } from './args.js';
|
|
8
8
|
import { createRenderer, describeResult } from './render.js';
|
|
9
9
|
export const EXIT_OK = 0;
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|