shadok-ai 0.2.15 → 0.2.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 CHANGED
@@ -63,6 +63,15 @@ Enter to skip; you can add it later from the web UI).
63
63
  the chat can't express. With tmux there is also an **experimental real
64
64
  terminal** (xterm.js over the pane's byte stream) when a snapshot isn't enough.
65
65
  - **Diff panel** — what an agent actually changed, against its base.
66
+ - **Tweak Shadok-AI** — a card at the bottom of the agents column. One click
67
+ clones shadok-ai's own source into `~/.shadok-ai/self/shadok-ai`, starts an
68
+ agent on it in its own worktree, and that agent delivers its change as a
69
+ **pull request** — a fork under your GitHub account, since you need no rights
70
+ on the repo. Nothing to configure and no token to paste: the clone is
71
+ anonymous, so you describe an idea, watch it work and read the diff first, and
72
+ it only asks for GitHub (via `gh auth login`, device code relayed in the chat)
73
+ when there is something worth pushing. Desktop only — the agents column is
74
+ hidden on phones.
66
75
  - **Self-update** — polls npm and can update and reload itself in place.
67
76
 
68
77
  ### Telegram (optional)
@@ -113,6 +122,28 @@ the same-origin policy, so without that check any page you happen to visit could
113
122
  drive your agents. Behind a reverse proxy that rewrites `Host`, list the public
114
123
  origin in `SHADOK_ORIGINS`.
115
124
 
125
+ ### SSH identity in Docker
126
+
127
+ When shadok-ai runs **in a container** it gives itself an SSH key on first boot
128
+ so agents can `git clone/push` private repos and `ssh` into servers. The key
129
+ lives under `~/.shadok-ai/ssh/` — i.e. on the **`shadok-data` volume you already
130
+ mount** — so it **survives `docker restart` and `docker rm`+recreate** (unlike a
131
+ plain `~/.ssh`, which is wiped on recreate). Each container has its own volume,
132
+ hence its own unique key; `~/.ssh` is symlinked to it, so `git`/`ssh` use it with
133
+ no extra config. Nothing to add to `docker run`.
134
+
135
+ Read the public key to register it (GitHub **deploy key**, or the target hosts'
136
+ `authorized_keys`):
137
+
138
+ ```
139
+ docker logs <name> | grep 'ssh identity' # printed on every boot
140
+ docker exec <name> cat /root/.shadok-ai/ssh/id_ed25519.pub
141
+ ```
142
+
143
+ On a normal (non-Docker) host this is a **no-op** — shadok never touches your
144
+ `~/.ssh`. Detection is `/.dockerenv`; `SHADOK_SSH_IDENTITY=0` disables it,
145
+ `SHADOK_FORCE_SSH_IDENTITY=1` forces it on.
146
+
116
147
  ### Configuration
117
148
 
118
149
  Config lives in `~/.shadok-ai/config.json` (mode 600) and is **authoritative
@@ -137,6 +168,7 @@ machine, which silently shifts every daily prompt on a server running in UTC.
137
168
  | `SHADOK_AUTOUPDATE` | fallback only — the GUI setting wins once used |
138
169
  | `SHADOK_PILOT_PROMPT=0` | don't inject the cockpit system prompt |
139
170
  | `SHADOK_RESUME_SUMMARY=1` | don't auto-answer the resume-from-summary prompt |
171
+ | `SHADOK_SSH_IDENTITY=0` · `SHADOK_FORCE_SSH_IDENTITY=1` | disable / force the Docker SSH identity |
140
172
  | `TELEGRAM_BOT_TOKEN` · `TELEGRAM_ALLOWED_CHATS` | override the stored config |
141
173
  | `CLAUDE_CODE_OAUTH_TOKEN` | only for the usage gauges; `claude` itself uses the keychain |
142
174
 
@@ -301,7 +333,9 @@ client, or immediately on an explicit `stop` (which ends it for everyone).
301
333
  HTTP endpoints (same auth): `/usage`, `/live`, `/sessions`, `/recover`,
302
334
  `/diff`, `/channels` (its GET adds a **derived** `crons` field — never stored),
303
335
  `/channel` (DELETE), `/groups`, `/crons`, `/timezone`, `/profiles`, `/secrets`,
304
- `/telegram`, `/defaults`, `/version`, `/autoupdate`, `/permission-mode`.
336
+ `/telegram`, `/defaults`, `/version`, `/autoupdate`, `/permission-mode`,
337
+ `/tweak/prepare` (POST — clone/refresh shadok-ai's own source, returns the cwd
338
+ to start the tweak agent in).
305
339
 
306
340
  ## Library
307
341
 
@@ -0,0 +1,49 @@
1
+ You are Shadok-Tweak. You change shadok-ai itself — the cockpit the person
2
+ talking to you is using right now — and you deliver that change as a pull
3
+ request.
4
+
5
+ ## Where you are
6
+
7
+ You work in an isolated git worktree of a fresh clone of shadok-ai. Read
8
+ `CLAUDE.md` at the root FIRST: it holds the architecture map, the hard-won
9
+ invariants and the conventions, and it overrides anything you would otherwise
10
+ assume. `docs/architecture.md` is the deep dive; `docs/superpowers/specs/` holds
11
+ the design of each existing feature.
12
+
13
+ ## How you verify
14
+
15
+ - `npm test` and `npm run build` must both pass before you propose anything.
16
+ - To SEE a page, run YOUR build on a free port: `PORT=3899
17
+ SHADOK_VERSION_CHECK_MIN=0 node dist/server.js`. Never touch port 3789 and
18
+ never restart the user's server — that port is the cockpit they are talking to
19
+ you through, and stopping it kills every sibling agent, including your own
20
+ session.
21
+ - Never merge into main, never push to the upstream repository.
22
+
23
+ ## How you deliver
24
+
25
+ Commit on your worktree branch, then open a pull request against
26
+ `shadok-ai/shadok-ai`. You have no rights on that repository, so the route is a
27
+ fork under the user's own GitHub account:
28
+
29
+ 1. `gh auth status` — if it fails, run `gh auth login` (device flow), then relay
30
+ the one-time code and https://github.com/login/device in the chat and wait
31
+ for the user to confirm. Never ask them to paste a token.
32
+ 2. `gh repo fork --remote` — creates the fork and adds it as a remote.
33
+ 3. Push your branch to the fork, then `gh pr create` against upstream `main`,
34
+ with an English title and body.
35
+ 4. Give the user the pull request URL.
36
+
37
+ If `gh` is not installed, say so, point at https://cli.github.com, and fall back
38
+ to leaving the branch in place and showing the diff.
39
+
40
+ Do not ask for GitHub access before you have something worth pushing: the user
41
+ should be able to describe an idea, watch you work and read the diff without
42
+ connecting any account.
43
+
44
+ ## Who you are talking to
45
+
46
+ The person may not be a developer. Explain what you changed in THEIR language
47
+ and in plain terms, show the effect rather than the diff when you can, and do
48
+ not ask them to arbitrate technical details they have no basis to judge — make
49
+ the call yourself and tell them what you chose and why.
@@ -59,3 +59,14 @@ export declare function isPermissionMode(m: string): m is PermissionMode;
59
59
  * matching `claude --permission-mode <m>` flag.
60
60
  */
61
61
  export declare function permissionModeArgs(raw: string | undefined): string[];
62
+ /** The managed profile behind the "Tweak Shadok-AI" CTA. */
63
+ export declare const TWEAK_PROFILE_NAME = "Shadok-Tweak";
64
+ /**
65
+ * Pure: the profile after refreshing ONLY its system prompt. The prompt is
66
+ * server-owned (it tracks `context/tweak-prompt.md` and would otherwise go
67
+ * stale in the user's profiles.json), but a secret or model the user attached
68
+ * in the editor is theirs and survives.
69
+ */
70
+ export declare function withManagedPrompt(existing: Profile | undefined, name: string, systemPrompt: string): Profile;
71
+ /** Install/refresh the tweak profile from the repo's prompt file. Idempotent. */
72
+ export declare function seedTweakProfile(systemPrompt: string): void;
package/dist/profiles.js CHANGED
@@ -149,4 +149,19 @@ export function permissionModeArgs(raw) {
149
149
  const m = (raw ?? "").trim();
150
150
  return m && m !== "default" && isPermissionMode(m) ? ["--permission-mode", m] : [];
151
151
  }
152
+ /** The managed profile behind the "Tweak Shadok-AI" CTA. */
153
+ export const TWEAK_PROFILE_NAME = "Shadok-Tweak";
154
+ /**
155
+ * Pure: the profile after refreshing ONLY its system prompt. The prompt is
156
+ * server-owned (it tracks `context/tweak-prompt.md` and would otherwise go
157
+ * stale in the user's profiles.json), but a secret or model the user attached
158
+ * in the editor is theirs and survives.
159
+ */
160
+ export function withManagedPrompt(existing, name, systemPrompt) {
161
+ return { ...(existing ?? { name }), name, systemPrompt };
162
+ }
163
+ /** Install/refresh the tweak profile from the repo's prompt file. Idempotent. */
164
+ export function seedTweakProfile(systemPrompt) {
165
+ upsertProfile(withManagedPrompt(getProfile(TWEAK_PROFILE_NAME), TWEAK_PROFILE_NAME, systemPrompt));
166
+ }
152
167
  //# sourceMappingURL=profiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * A working copy of shadok-ai's own source, so a user who installed the cockpit
3
+ * with `npx shadok-ai` — no clone, no rights on the repo — can still have an
4
+ * agent change it. The clone is anonymous over HTTPS: nothing here needs
5
+ * authentication, which is what lets the user watch an agent work and read its
6
+ * diff before connecting any GitHub account.
7
+ */
8
+ export declare const SELF_REPO_URL = "https://github.com/shadok-ai/shadok-ai.git";
9
+ /** Our own copy, never the directory the running server was launched from. */
10
+ export declare function selfRepoDir(): string;
11
+ export type SelfRepoPlan = "clone" | "update" | "reclone";
12
+ /** Pure: what to do with the checkout, given what is on disk. */
13
+ export declare function selfRepoPlan(exists: boolean, isRepo: boolean): SelfRepoPlan;
14
+ /**
15
+ * Pure: a short, human reason for a git failure — it is rendered on the CTA
16
+ * card, so it must never come back empty.
17
+ */
18
+ export declare function gitFailReason(e: unknown): string;
19
+ export interface SelfRepoResult {
20
+ cwd?: string;
21
+ error?: string;
22
+ }
23
+ /**
24
+ * Makes sure the source checkout exists and its `main` matches the remote, so a
25
+ * tweak never starts from a stale base. Only the base clone is refreshed: the
26
+ * worktrees a tweak session owns are separate checkouts and are never touched —
27
+ * refreshing under a live agent is how you lose its work.
28
+ */
29
+ export declare function ensureSelfRepo(): SelfRepoResult;
@@ -0,0 +1,74 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import fs from "node:fs";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ /**
6
+ * A working copy of shadok-ai's own source, so a user who installed the cockpit
7
+ * with `npx shadok-ai` — no clone, no rights on the repo — can still have an
8
+ * agent change it. The clone is anonymous over HTTPS: nothing here needs
9
+ * authentication, which is what lets the user watch an agent work and read its
10
+ * diff before connecting any GitHub account.
11
+ */
12
+ export const SELF_REPO_URL = "https://github.com/shadok-ai/shadok-ai.git";
13
+ /** Our own copy, never the directory the running server was launched from. */
14
+ export function selfRepoDir() {
15
+ return path.join(os.homedir(), ".shadok-ai", "self", "shadok-ai");
16
+ }
17
+ /** Pure: what to do with the checkout, given what is on disk. */
18
+ export function selfRepoPlan(exists, isRepo) {
19
+ if (!exists)
20
+ return "clone";
21
+ return isRepo ? "update" : "reclone";
22
+ }
23
+ /**
24
+ * Pure: a short, human reason for a git failure — it is rendered on the CTA
25
+ * card, so it must never come back empty.
26
+ */
27
+ export function gitFailReason(e) {
28
+ const err = e;
29
+ if (err?.code === "ENOENT")
30
+ return "git is not installed";
31
+ const line = String(err?.stderr ?? "")
32
+ .split("\n")
33
+ .map((s) => s.trim())
34
+ .find(Boolean);
35
+ return line ? line.slice(0, 120) : "git failed";
36
+ }
37
+ function git(args, cwd) {
38
+ execFileSync("git", cwd ? ["-C", cwd, ...args] : args, {
39
+ encoding: "utf8",
40
+ // A cold clone over a slow link is minutes, not seconds.
41
+ timeout: 180_000,
42
+ stdio: ["ignore", "pipe", "pipe"],
43
+ });
44
+ }
45
+ /**
46
+ * Makes sure the source checkout exists and its `main` matches the remote, so a
47
+ * tweak never starts from a stale base. Only the base clone is refreshed: the
48
+ * worktrees a tweak session owns are separate checkouts and are never touched —
49
+ * refreshing under a live agent is how you lose its work.
50
+ */
51
+ export function ensureSelfRepo() {
52
+ const dir = selfRepoDir();
53
+ const plan = selfRepoPlan(fs.existsSync(dir), fs.existsSync(path.join(dir, ".git")));
54
+ try {
55
+ if (plan === "reclone")
56
+ fs.rmSync(dir, { recursive: true, force: true });
57
+ if (plan === "update") {
58
+ git(["fetch", "origin", "--prune"], dir);
59
+ git(["checkout", "main"], dir);
60
+ // Hard reset rather than pull: a half-applied state can otherwise wedge
61
+ // the checkout for good, and nobody edits this main by hand.
62
+ git(["reset", "--hard", "origin/main"], dir);
63
+ }
64
+ else {
65
+ fs.mkdirSync(path.dirname(dir), { recursive: true });
66
+ git(["clone", SELF_REPO_URL, dir]);
67
+ }
68
+ return { cwd: dir };
69
+ }
70
+ catch (e) {
71
+ return { error: gitFailReason(e) };
72
+ }
73
+ }
74
+ //# sourceMappingURL=selfrepo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfrepo.js","sourceRoot":"","sources":["../src/selfrepo.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -15,6 +15,7 @@ import { extractLiveText } from "../public/live-text.js";
15
15
  import { findTransientErrors, newTransientErrors, RETRY_DELAYS_MS } from "./retry.js";
16
16
  import { screenShowsWork } from "./detect.js";
17
17
  import { PtyPilot } from "./session.js";
18
+ import { ensureSshIdentity } from "./ssh.js";
18
19
  import { TmuxPilot, tmuxAvailable, tmuxHasSession, tmuxPaneCwd } from "./tmux.js";
19
20
  import { scanUsage, sessionFilePath, tailSession, clearTailPos } from "./tail.js";
20
21
  import { computePace, paceBlock, WINDOW_SEC } from "./pace.js";
@@ -25,7 +26,8 @@ import { migrateTgBindings } from "./channels.js";
25
26
  import { loadCrons, saveCrons, upsertCron, removeCron, resolveCronId, resolveCronTarget, nextRunFor, nextRunAfterFailure, isTransient, CRON_MAX_RETRIES, markCronPrompt, normalizeSchedule, scheduleLabel, cronTimeZone, defaultTimeZone, systemTimeZone, isValidTimeZone, } from "./crons.js";
26
27
  import { loadConfig, saveConfig, telegramConfig, applyTelegramPatch, } from "./config.js";
27
28
  import { secretsFor, secretNames, setSecret, deleteSecret } from "./secrets.js";
28
- import { getProfile, profileArgs, permissionModeArgs, isPermissionMode, envVarsNote, seedDefaultProfiles, loadProfiles, upsertProfile, removeProfile, } from "./profiles.js";
29
+ import { getProfile, profileArgs, permissionModeArgs, isPermissionMode, envVarsNote, seedDefaultProfiles, seedTweakProfile, loadProfiles, upsertProfile, removeProfile, } from "./profiles.js";
30
+ import { ensureSelfRepo } from "./selfrepo.js";
29
31
  import { createWorktree, pruneWorktree, ensureWorktreeCheckout, gitDiff, isGitRepo, listPastSessions, } from "./worktree.js";
30
32
  import { latestVersion, update } from "./updater.js";
31
33
  import { isNewer } from "./version.js";
@@ -521,6 +523,15 @@ app.get("/recover", (req, res) => {
521
523
  app.get("/defaults", (_req, res) => {
522
524
  res.json({ cwd: process.cwd() });
523
525
  });
526
+ // Materialises shadok-ai's own source for the "Tweak Shadok-AI" CTA, and hands
527
+ // back the directory to start the agent in. Sits here so it inherits the same
528
+ // password gate as its neighbours.
529
+ app.post("/tweak/prepare", (_req, res) => {
530
+ const r = ensureSelfRepo();
531
+ if (r.error)
532
+ return res.status(500).json({ error: r.error });
533
+ res.json({ cwd: r.cwd });
534
+ });
524
535
  // Running version + latest seen on npm (null if not yet polled / check disabled).
525
536
  app.get("/version", (_req, res) => res.json({ current: OWN_VERSION, latest: latestKnown, autoUpdate, permissionMode }));
526
537
  // Channel list, persisted server-side per launch directory — survives a wiped
@@ -1611,7 +1622,15 @@ wss.on("connection", (ws) => {
1611
1622
  // `upsertInto` skips undefined, so omitting the key keeps the stored
1612
1623
  // value; this is how `repo` already behaves (never rewritten). The
1613
1624
  // branch is what lets a reclaimed checkout be recreated later.
1614
- ...(worktree ? { branch: worktree.branch } : {}),
1625
+ //
1626
+ // `repo` is asserted here for the same reason, and it is NOT always
1627
+ // the launch directory: the "Tweak Shadok-AI" agent runs in a
1628
+ // worktree of shadok-ai's own clone. The client used to fabricate
1629
+ // `repo: serverCwd` for every channel, which was accidentally right
1630
+ // only while every worktree came from the launch repo — and
1631
+ // `ensureWorktreeCheckout` would then hunt the branch in the wrong
1632
+ // repository. The session's own worktree is the only source of truth.
1633
+ ...(worktree ? { branch: worktree.branch, repo: worktree.repo } : {}),
1615
1634
  profile,
1616
1635
  // The form's choice, recorded as soon as we're `ready` — that's
1617
1636
  // where the Telegram loop reads it. Absent (a client that ignores
@@ -1876,6 +1895,16 @@ migrateTgBindings();
1876
1895
  // Seed the starter agent profiles (Shadok-dev / -Marketing / -Support) on a
1877
1896
  // fresh install, when the user has none yet.
1878
1897
  seedDefaultProfiles();
1898
+ // Install/refresh the managed Shadok-Tweak role from the repo's prompt file, so
1899
+ // it tracks this build instead of going stale in the user's profiles.json.
1900
+ try {
1901
+ const tweak = fs.readFileSync(path.join(__dirname, "..", "context", "tweak-prompt.md"), "utf8").trim();
1902
+ if (tweak)
1903
+ seedTweakProfile(tweak);
1904
+ }
1905
+ catch {
1906
+ /* best effort — the CTA still starts an agent, just without the role */
1907
+ }
1879
1908
  // Install/refresh the bundled "shadok-scheduler" skill so agents can set up
1880
1909
  // their own channel's crons in plain language. Server-owned, overwritten each
1881
1910
  // boot to stay current.
@@ -1917,6 +1946,11 @@ server.on("error", (err) => {
1917
1946
  process.exit(1);
1918
1947
  }
1919
1948
  });
1949
+ // Persistent per-container SSH identity: in Docker, generate/reuse a key on the
1950
+ // shadok-data volume and point ~/.ssh at it so agents' git/ssh survive a
1951
+ // recreate. No-op on a normal host. Its GIT_SSH_COMMAND fallback is merged into
1952
+ // the env every spawned agent inherits.
1953
+ Object.assign(process.env, ensureSshIdentity());
1920
1954
  server.listen(port, HOST, () => {
1921
1955
  console.log(`shadok-ai web: http://localhost:${port}${HOST === "127.0.0.1" ? "" : ` (bind ${HOST})`}`);
1922
1956
  console.log(USE_TMUX
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/ssh.d.ts ADDED
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Persistent per-container SSH identity.
3
+ *
4
+ * When shadok-ai runs in a Docker container, agents need an SSH key to reach
5
+ * private git repos and servers — and that key must survive `docker restart`
6
+ * AND `docker rm`+recreate. The trick: store it on the ONE volume already
7
+ * mounted in production (`shadok-data → /root/.shadok-ai`), never on the
8
+ * ephemeral `/root/.ssh`. So `ensureSshIdentity` generates the key under
9
+ * `~/.shadok-ai/ssh` and points `~/.ssh` at it.
10
+ *
11
+ * On a normal host (no `/.dockerenv`) this is a NO-OP: we never read, move, or
12
+ * symlink the developer's `~/.ssh`. See
13
+ * docs/superpowers/specs/2026-08-04-docker-ssh-identity-design.md.
14
+ */
15
+ export interface SshPaths {
16
+ /** The persistent SSH dir on the shadok-data volume. */
17
+ dir: string;
18
+ key: string;
19
+ pub: string;
20
+ config: string;
21
+ knownHosts: string;
22
+ /** The conventional `~/.ssh` we wire to `dir`. */
23
+ dotSsh: string;
24
+ }
25
+ /** Pure: every path derived from a home directory. */
26
+ export declare function sshPaths(home: string): SshPaths;
27
+ /**
28
+ * Are we inside a container? `/.dockerenv` exists in every Docker container.
29
+ * `SHADOK_SSH_IDENTITY=0` disables the feature entirely;
30
+ * `SHADOK_FORCE_SSH_IDENTITY=1` forces it on (tests / non-Docker containers).
31
+ */
32
+ export declare function inContainer(env?: NodeJS.ProcessEnv, exists?: (p: string) => boolean): boolean;
33
+ /** The observable state of `~/.ssh`, so the wiring decision stays pure. */
34
+ export type DotSshState = "absent" | "our-symlink" | "foreign-symlink" | "real-dir" | "other";
35
+ export type DotSshPlan = "symlink" | "migrate-then-symlink" | "leave";
36
+ /** Pure: what to do with `~/.ssh` given its current state. */
37
+ export declare function planDotSshWiring(state: DotSshState): DotSshPlan;
38
+ export interface EnsureOpts {
39
+ home?: string;
40
+ isContainer?: boolean;
41
+ log?: (msg: string) => void;
42
+ /** Injected for tests; defaults to the real keygen. */
43
+ keygen?: (p: SshPaths, comment: string) => void;
44
+ env?: NodeJS.ProcessEnv;
45
+ }
46
+ /**
47
+ * Ensure a persistent SSH identity exists and `~/.ssh` uses it — but ONLY in a
48
+ * container. Idempotent and best-effort: it never throws into the boot path.
49
+ * Returns the exported env for spawned agents (a GIT_SSH_COMMAND fallback) or
50
+ * `{}` when it did nothing.
51
+ */
52
+ export declare function ensureSshIdentity(opts?: EnsureOpts): Record<string, string>;
package/dist/ssh.js ADDED
@@ -0,0 +1,153 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import fs from "node:fs";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ /** Pure: every path derived from a home directory. */
6
+ export function sshPaths(home) {
7
+ const dir = path.join(home, ".shadok-ai", "ssh");
8
+ return {
9
+ dir,
10
+ key: path.join(dir, "id_ed25519"),
11
+ pub: path.join(dir, "id_ed25519.pub"),
12
+ config: path.join(dir, "config"),
13
+ knownHosts: path.join(dir, "known_hosts"),
14
+ dotSsh: path.join(home, ".ssh"),
15
+ };
16
+ }
17
+ /**
18
+ * Are we inside a container? `/.dockerenv` exists in every Docker container.
19
+ * `SHADOK_SSH_IDENTITY=0` disables the feature entirely;
20
+ * `SHADOK_FORCE_SSH_IDENTITY=1` forces it on (tests / non-Docker containers).
21
+ */
22
+ export function inContainer(env = process.env, exists = fs.existsSync) {
23
+ if (env.SHADOK_SSH_IDENTITY === "0")
24
+ return false;
25
+ if (env.SHADOK_FORCE_SSH_IDENTITY === "1")
26
+ return true;
27
+ return exists("/.dockerenv");
28
+ }
29
+ /** Pure: what to do with `~/.ssh` given its current state. */
30
+ export function planDotSshWiring(state) {
31
+ switch (state) {
32
+ case "absent":
33
+ return "symlink";
34
+ case "our-symlink":
35
+ return "leave";
36
+ case "foreign-symlink":
37
+ case "real-dir":
38
+ return "migrate-then-symlink";
39
+ default:
40
+ return "leave";
41
+ }
42
+ }
43
+ const CONFIG_BODY = [
44
+ "# Managed by shadok-ai (Docker SSH identity). Persistent on the shadok-data volume.",
45
+ "Host *",
46
+ " StrictHostKeyChecking accept-new",
47
+ " UserKnownHostsFile ~/.shadok-ai/ssh/known_hosts",
48
+ " IdentityFile ~/.shadok-ai/ssh/id_ed25519",
49
+ " IdentitiesOnly yes",
50
+ "",
51
+ ].join("\n");
52
+ function classifyDotSsh(p) {
53
+ let st;
54
+ try {
55
+ st = fs.lstatSync(p.dotSsh);
56
+ }
57
+ catch {
58
+ return "absent";
59
+ }
60
+ if (st.isSymbolicLink()) {
61
+ try {
62
+ return fs.realpathSync(p.dotSsh) === fs.realpathSync(p.dir) ? "our-symlink" : "foreign-symlink";
63
+ }
64
+ catch {
65
+ return "foreign-symlink";
66
+ }
67
+ }
68
+ return st.isDirectory() ? "real-dir" : "other";
69
+ }
70
+ /**
71
+ * Move every entry from a real `~/.ssh` into the persistent dir WITHOUT
72
+ * overwriting anything already there (the key/config we just wrote win), then
73
+ * replace `~/.ssh` with a symlink. Never deletes a user file. On any error the
74
+ * caller keeps `~/.ssh` untouched and falls back to GIT_SSH_COMMAND.
75
+ */
76
+ function migrateDotSsh(p) {
77
+ for (const name of fs.readdirSync(p.dotSsh)) {
78
+ const from = path.join(p.dotSsh, name);
79
+ const to = path.join(p.dir, name);
80
+ if (fs.existsSync(to))
81
+ continue; // don't clobber our managed files
82
+ fs.renameSync(from, to);
83
+ }
84
+ // The source dir should now only hold files we already had; drop it if empty,
85
+ // otherwise move it aside rather than lose anything.
86
+ try {
87
+ fs.rmdirSync(p.dotSsh);
88
+ }
89
+ catch {
90
+ fs.renameSync(p.dotSsh, p.dotSsh + ".shadok-bak");
91
+ }
92
+ fs.symlinkSync(p.dir, p.dotSsh);
93
+ }
94
+ function realKeygen(p, comment) {
95
+ execFileSync("ssh-keygen", ["-t", "ed25519", "-N", "", "-f", p.key, "-C", comment], {
96
+ stdio: "ignore",
97
+ });
98
+ }
99
+ /**
100
+ * Ensure a persistent SSH identity exists and `~/.ssh` uses it — but ONLY in a
101
+ * container. Idempotent and best-effort: it never throws into the boot path.
102
+ * Returns the exported env for spawned agents (a GIT_SSH_COMMAND fallback) or
103
+ * `{}` when it did nothing.
104
+ */
105
+ export function ensureSshIdentity(opts = {}) {
106
+ const env = opts.env ?? process.env;
107
+ const isContainer = opts.isContainer ?? inContainer(env);
108
+ if (!isContainer)
109
+ return {};
110
+ const home = opts.home ?? os.homedir();
111
+ const log = opts.log ?? ((m) => console.log(m));
112
+ const keygen = opts.keygen ?? realKeygen;
113
+ const p = sshPaths(home);
114
+ try {
115
+ fs.mkdirSync(p.dir, { recursive: true, mode: 0o700 });
116
+ fs.chmodSync(p.dir, 0o700);
117
+ if (!fs.existsSync(p.key)) {
118
+ const comment = `shadok-${os.hostname()}`;
119
+ keygen(p, comment);
120
+ log(`ssh: generated a persistent identity (${comment})`);
121
+ }
122
+ // Perms may be lost across a volume restore; assert them every boot.
123
+ if (fs.existsSync(p.key))
124
+ fs.chmodSync(p.key, 0o600);
125
+ if (fs.existsSync(p.pub))
126
+ fs.chmodSync(p.pub, 0o644);
127
+ if (!fs.existsSync(p.config))
128
+ fs.writeFileSync(p.config, CONFIG_BODY, { mode: 0o600 });
129
+ if (!fs.existsSync(p.knownHosts))
130
+ fs.writeFileSync(p.knownHosts, "", { mode: 0o600 });
131
+ // Wire ~/.ssh to the persistent dir.
132
+ const plan = planDotSshWiring(classifyDotSsh(p));
133
+ try {
134
+ if (plan === "symlink")
135
+ fs.symlinkSync(p.dir, p.dotSsh);
136
+ else if (plan === "migrate-then-symlink")
137
+ migrateDotSsh(p);
138
+ }
139
+ catch (e) {
140
+ log(`ssh: kept ~/.ssh as-is (${e.message}); using GIT_SSH_COMMAND fallback`);
141
+ }
142
+ if (fs.existsSync(p.pub)) {
143
+ log(`ssh identity: ${fs.readFileSync(p.pub, "utf8").trim()}`);
144
+ }
145
+ // Belt-and-suspenders: even if ~/.ssh could not be wired, git uses our key.
146
+ return { GIT_SSH_COMMAND: `ssh -F ${p.config}` };
147
+ }
148
+ catch (e) {
149
+ log(`ssh: identity setup skipped (${e.message})`);
150
+ return {};
151
+ }
152
+ }
153
+ //# sourceMappingURL=ssh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssh.js","sourceRoot":"","sources":["../src/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AA4B7B,sDAAsD;AACtD,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO;QACL,GAAG;QACH,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;QACjC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC;QACrC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC;QACzC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpC,MAAM,GAA2B,EAAE,CAAC,UAAU;IAE9C,IAAI,GAAG,CAAC,mBAAmB,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,GAAG,CAAC,yBAAyB,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/B,CAAC;AAYD,8DAA8D;AAC9D,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,OAAO,CAAC;QACjB,KAAK,iBAAiB,CAAC;QACvB,KAAK,UAAU;YACb,OAAO,sBAAsB,CAAC;QAChC;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,qFAAqF;IACrF,QAAQ;IACR,oCAAoC;IACpC,mDAAmD;IACnD,4CAA4C;IAC5C,sBAAsB;IACtB,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,cAAc,CAAC,CAAW;IACjC,IAAI,EAAY,CAAC;IACjB,IAAI,CAAC;QACH,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAClG,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,iBAAiB,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,CAAW;IAChC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAAE,SAAS,CAAC,kCAAkC;QACnE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,8EAA8E;IAC9E,qDAAqD;IACrD,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;IACpD,CAAC;IACD,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAWD,SAAS,UAAU,CAAC,CAAW,EAAE,OAAe;IAC9C,YAAY,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAClF,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAI,GAAe,EAAE;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEzB,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACnB,GAAG,CAAC,yCAAyC,OAAO,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,qEAAqE;QACrE,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtF,qCAAqC;QACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,IAAI,IAAI,KAAK,SAAS;gBAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;iBACnD,IAAI,IAAI,KAAK,sBAAsB;gBAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,2BAA4B,CAAW,CAAC,OAAO,mCAAmC,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,4EAA4E;QAC5E,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACnD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,gCAAiC,CAAW,CAAC,OAAO,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shadok-ai",
3
- "version": "0.2.15",
3
+ "version": "0.2.17",
4
4
  "main": "dist/session.js",
5
5
  "scripts": {
6
6
  "test": "node --import tsx --test test/*.ts .claude/skills/shadok-ai-agents/test/*.test.mjs",
package/public/index.html CHANGED
@@ -370,6 +370,48 @@
370
370
  }
371
371
  #newTab:hover, #newGroup:hover { color: var(--amber); border-color: var(--amber); }
372
372
  #newGroup { margin-top: 4px; }
373
+ /* Le seul élément coloré de la colonne : les onglets sont des lignes sans
374
+ bordure et les + des boutons fantômes, donc une carte pleine se lit comme
375
+ une action et non comme une session. Épinglée en bas (margin-top:auto +
376
+ sticky) pour rester atteignable quand la liste des agents défile. */
377
+ #tweakCta {
378
+ margin-top: auto;
379
+ position: sticky;
380
+ bottom: 0;
381
+ display: flex;
382
+ flex-direction: column;
383
+ gap: 2px;
384
+ text-align: left;
385
+ padding: 8px;
386
+ border: 1px solid var(--amber);
387
+ border-radius: 6px;
388
+ /* Empilé sur le fond de la colonne, PAS `var(--amber-soft)` seul : la carte
389
+ est sticky, et un fond translucide laisserait les onglets défiler au
390
+ travers. */
391
+ background: linear-gradient(var(--amber-soft), var(--amber-soft)), var(--bg-raised);
392
+ /* Ombre douce vers le haut : sépare la carte de la liste qui passe dessous,
393
+ sans ajouter de filet qui doublerait la bordure. */
394
+ box-shadow: 0 -8px 10px -8px rgba(0, 0, 0, 0.6);
395
+ }
396
+ #tweakCta .tweak-title {
397
+ font-family: var(--mono);
398
+ font-size: 12px;
399
+ font-weight: 600;
400
+ color: var(--amber);
401
+ }
402
+ #tweakCta .tweak-sub { font-size: 10px; color: var(--text-dim); }
403
+ #tweakCta .tweak-arrow { display: inline-block; transition: transform 0.15s ease; }
404
+ /* Aucune animation permanente : un élément qui clignote ici entrerait en
405
+ concurrence avec les vrais signaux (onglet en attente, jauges) et
406
+ deviendrait du bruit. */
407
+ #tweakCta:hover {
408
+ border-color: var(--amber);
409
+ box-shadow: 0 -8px 10px -8px rgba(0, 0, 0, 0.6), 0 0 12px rgba(240, 168, 72, 0.18);
410
+ }
411
+ #tweakCta:hover .tweak-arrow { transform: translateX(2px); }
412
+ #tweakCta.busy { opacity: 0.7; cursor: default; }
413
+ #tweakCta.failed { border-color: var(--err); background: transparent; }
414
+ #tweakCta.failed .tweak-title { color: var(--err); }
373
415
  @media (max-width: 900px) { #tabbar { width: 150px; } }
374
416
 
375
417
  /* ── Tab groups ──────────────────────────────────────── */
@@ -1369,6 +1411,11 @@
1369
1411
  <div id="groups"></div>
1370
1412
  <button id="newTab" title="New agent">+ new agent</button>
1371
1413
  <button id="newGroup" title="New agent group">+ new group</button>
1414
+ <button id="tweakCta" type="button"
1415
+ title="Change shadok-ai itself — the agent works on a branch and opens a pull request">
1416
+ <span class="tweak-title">🛠 Tweak Shadok-AI <span class="tweak-arrow">›</span></span>
1417
+ <span class="tweak-sub">change the cockpit itself</span>
1418
+ </button>
1372
1419
  </nav>
1373
1420
 
1374
1421
  <section class="chat-pane">
@@ -2014,7 +2061,11 @@
2014
2061
  cwd: t.cwd && t.cwd.startsWith("/") ? t.cwd : "",
2015
2062
  name: t.nameEl.textContent,
2016
2063
  branch: t.branch || null,
2017
- repo: serverCwd || "",
2064
+ // Surtout PAS de `repo` ici : c'est un champ appartenant au serveur, et
2065
+ // le déduire du répertoire de lancement était faux dès qu'un agent vit
2066
+ // dans le worktree d'un AUTRE dépôt (le canal « tweak »). Omettre la
2067
+ // clé laisse la valeur stockée intacte (mergeChannels), et le serveur
2068
+ // l'affirme depuis le worktree réel de la session.
2018
2069
  group: groupIdOf(t.btnEl),
2019
2070
  muted: !!t.muted,
2020
2071
  mirror: !!t.mirror,
@@ -4217,13 +4268,17 @@
4217
4268
  function renderProfileGrid(failed) {
4218
4269
  const grid = $("profileGrid");
4219
4270
  if (!grid) return;
4220
- renderProfileCards(grid, selectedProfile, (n) => selectProfile(n, true), failed);
4271
+ // Le rôle « tweak » a son propre CTA en bas de la colonne des agents : une
4272
+ // carte ici serait une deuxième porte, subtilement différente, vers le même
4273
+ // agent. Il reste listé dans le panneau Profils, pour qu'on puisse tout de
4274
+ // même lui attacher un secret ou un modèle.
4275
+ renderProfileCards(grid, selectedProfile, (n) => selectProfile(n, true), failed, "Shadok-Tweak");
4221
4276
  }
4222
4277
 
4223
4278
  /** Peint les cartes de profil dans `container`. Générique : la box de création
4224
4279
  * ET le sélecteur du menu d'onglet s'en servent — la logique de carte (blurb,
4225
4280
  * badges, crayon, clavier) ne vit qu'ici, en un seul exemplaire. */
4226
- function renderProfileCards(container, selected, onPick, failed) {
4281
+ function renderProfileCards(container, selected, onPick, failed, exclude) {
4227
4282
  container.innerHTML = "";
4228
4283
  if (failed) {
4229
4284
  const note = document.createElement("div");
@@ -4231,9 +4286,14 @@
4231
4286
  note.textContent = "couldn't load profiles";
4232
4287
  container.appendChild(note);
4233
4288
  }
4289
+ // `exclude` sert à la box de création, qui masque le rôle « tweak » (il a
4290
+ // son propre CTA). Surtout PAS ici pour tout le monde : le sélecteur du menu
4291
+ // d'onglet montre le profil COURANT comme sélectionné, et un agent tweak n'y
4292
+ // trouverait plus son propre rôle.
4293
+ const list = profileCache.filter((p) => p && p.name !== exclude);
4234
4294
  // Zéro profil : on montre la porte d'entrée plutôt qu'un « (none) » muet.
4235
4295
  // Pas de role="radio" → ignorée par la sélection et par les flèches.
4236
- if (!failed && !profileCache.length) {
4296
+ if (!failed && !list.length) {
4237
4297
  const b = document.createElement("button");
4238
4298
  b.type = "button";
4239
4299
  b.className = "profile-card";
@@ -4242,7 +4302,7 @@
4242
4302
  b.addEventListener("click", () => openProfilesPanel());
4243
4303
  container.appendChild(b);
4244
4304
  }
4245
- for (const p of profileCache) container.appendChild(profileCardEl(p, onPick));
4305
+ for (const p of list) container.appendChild(profileCardEl(p, onPick));
4246
4306
  container.appendChild(profileCardEl(null, onPick)); // ∅ No profile, en dernier
4247
4307
  markProfileSelection(container, selected);
4248
4308
  }
@@ -4534,6 +4594,51 @@
4534
4594
  });
4535
4595
 
4536
4596
  newTabBtn.addEventListener("click", openSetup);
4597
+
4598
+ // Un clic démarre un agent sur le code source de shadok-ai lui-même : le
4599
+ // dossier, le worktree et le rôle sont tous déjà décidés, donc un formulaire
4600
+ // ne ferait que demander d'approuver des choix qu'on ne peut pas juger.
4601
+ const tweakCta = $("tweakCta");
4602
+ const tweakTitle = tweakCta.querySelector(".tweak-title");
4603
+ const tweakSub = tweakCta.querySelector(".tweak-sub");
4604
+ let tweakBusy = false;
4605
+
4606
+ function setTweakCta(state, reason) {
4607
+ tweakCta.classList.toggle("busy", state === "busy");
4608
+ tweakCta.classList.toggle("failed", state === "failed");
4609
+ if (state === "busy") {
4610
+ tweakTitle.textContent = "⋯ fetching source";
4611
+ tweakSub.textContent = "first time only";
4612
+ } else if (state === "failed") {
4613
+ tweakTitle.textContent = "⚠ " + reason;
4614
+ tweakSub.textContent = "click to retry";
4615
+ } else {
4616
+ // Littéral fixe de ce fichier, jamais du texte écrit par un agent.
4617
+ tweakTitle.innerHTML = '🛠 Tweak Shadok-AI <span class="tweak-arrow">›</span>';
4618
+ tweakSub.textContent = "change the cockpit itself";
4619
+ }
4620
+ }
4621
+
4622
+ tweakCta.addEventListener("click", async () => {
4623
+ if (tweakBusy) return;
4624
+ tweakBusy = true;
4625
+ setTweakCta("busy");
4626
+ let data;
4627
+ try {
4628
+ const r = await fetch("/tweak/prepare", { method: "POST" });
4629
+ data = await r.json();
4630
+ } catch {
4631
+ data = { error: "server unreachable" };
4632
+ }
4633
+ tweakBusy = false;
4634
+ if (!data || !data.cwd) return setTweakCta("failed", (data && data.error) || "failed");
4635
+ setTweakCta("idle");
4636
+ const t = createTab();
4637
+ t.customName = true; // launchTab ne nomme qu'un onglet qui n'a pas de nom
4638
+ t.nameEl.textContent = "tweak";
4639
+ t.profile = "Shadok-Tweak";
4640
+ launchTab(t, { cwd: data.cwd, worktree: true, profile: "Shadok-Tweak" });
4641
+ });
4537
4642
  newGroupBtn.addEventListener("click", () => {
4538
4643
  createGroup();
4539
4644
  persistGroups();