@songsid/agend 2.1.5 → 2.1.6-beta.2

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.
Files changed (102) hide show
  1. package/dist/apply-job.d.ts +114 -0
  2. package/dist/apply-job.js +214 -0
  3. package/dist/apply-job.js.map +1 -0
  4. package/dist/backend/codex.d.ts +16 -0
  5. package/dist/backend/codex.js +50 -0
  6. package/dist/backend/codex.js.map +1 -1
  7. package/dist/backend/credential-profile.d.ts +114 -0
  8. package/dist/backend/credential-profile.js +242 -0
  9. package/dist/backend/credential-profile.js.map +1 -0
  10. package/dist/backend/kiro-auth-store.d.ts +25 -0
  11. package/dist/backend/kiro-auth-store.js +61 -0
  12. package/dist/backend/kiro-auth-store.js.map +1 -0
  13. package/dist/backend/kiro.d.ts +8 -0
  14. package/dist/backend/kiro.js +31 -2
  15. package/dist/backend/kiro.js.map +1 -1
  16. package/dist/backend/types.d.ts +13 -0
  17. package/dist/backend/types.js.map +1 -1
  18. package/dist/cli.js +113 -0
  19. package/dist/cli.js.map +1 -1
  20. package/dist/config-validator.js +21 -0
  21. package/dist/config-validator.js.map +1 -1
  22. package/dist/daemon.d.ts +25 -0
  23. package/dist/daemon.js +157 -16
  24. package/dist/daemon.js.map +1 -1
  25. package/dist/fleet-level-config.d.ts +42 -0
  26. package/dist/fleet-level-config.js +78 -0
  27. package/dist/fleet-level-config.js.map +1 -0
  28. package/dist/fleet-lock.d.ts +21 -0
  29. package/dist/fleet-lock.js +42 -8
  30. package/dist/fleet-lock.js.map +1 -1
  31. package/dist/fleet-manager.d.ts +130 -1
  32. package/dist/fleet-manager.js +611 -83
  33. package/dist/fleet-manager.js.map +1 -1
  34. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +121 -0
  35. package/dist/instance-config-impact.d.ts +55 -0
  36. package/dist/instance-config-impact.js +152 -0
  37. package/dist/instance-config-impact.js.map +1 -0
  38. package/dist/locale.js +2 -0
  39. package/dist/locale.js.map +1 -1
  40. package/dist/outbound-handlers.d.ts +5 -1
  41. package/dist/outbound-handlers.js +179 -1
  42. package/dist/outbound-handlers.js.map +1 -1
  43. package/dist/outbound-schemas.d.ts +6 -5
  44. package/dist/outbound-schemas.js +1 -0
  45. package/dist/outbound-schemas.js.map +1 -1
  46. package/dist/provider-probe.d.ts +45 -0
  47. package/dist/provider-probe.js +111 -0
  48. package/dist/provider-probe.js.map +1 -0
  49. package/dist/quickstart-api.d.ts +161 -0
  50. package/dist/quickstart-api.js +340 -0
  51. package/dist/quickstart-api.js.map +1 -0
  52. package/dist/quickstart.js +23 -50
  53. package/dist/quickstart.js.map +1 -1
  54. package/dist/self-restart-limit.d.ts +21 -0
  55. package/dist/self-restart-limit.js +129 -0
  56. package/dist/self-restart-limit.js.map +1 -0
  57. package/dist/settings-api.d.ts +15 -0
  58. package/dist/settings-api.js +126 -1
  59. package/dist/settings-api.js.map +1 -1
  60. package/dist/setup-auth.d.ts +113 -0
  61. package/dist/setup-auth.js +181 -0
  62. package/dist/setup-auth.js.map +1 -0
  63. package/dist/setup-form.d.ts +18 -0
  64. package/dist/setup-form.js +315 -0
  65. package/dist/setup-form.js.map +1 -0
  66. package/dist/setup-host.d.ts +162 -0
  67. package/dist/setup-host.js +496 -0
  68. package/dist/setup-host.js.map +1 -0
  69. package/dist/setup-marker.d.ts +8 -0
  70. package/dist/setup-marker.js +39 -0
  71. package/dist/setup-marker.js.map +1 -0
  72. package/dist/setup-tunnel-consent.d.ts +53 -0
  73. package/dist/setup-tunnel-consent.js +82 -0
  74. package/dist/setup-tunnel-consent.js.map +1 -0
  75. package/dist/tips.js +1 -1
  76. package/dist/tips.js.map +1 -1
  77. package/dist/transcript-sources.d.ts +12 -1
  78. package/dist/transcript-sources.js +19 -3
  79. package/dist/transcript-sources.js.map +1 -1
  80. package/dist/tunnel/cloudflared.d.ts +71 -0
  81. package/dist/tunnel/cloudflared.js +447 -0
  82. package/dist/tunnel/cloudflared.js.map +1 -0
  83. package/dist/tunnel/lease.d.ts +75 -0
  84. package/dist/tunnel/lease.js +209 -0
  85. package/dist/tunnel/lease.js.map +1 -0
  86. package/dist/tunnel/manager.d.ts +56 -0
  87. package/dist/tunnel/manager.js +167 -0
  88. package/dist/tunnel/manager.js.map +1 -0
  89. package/dist/tunnel/types.d.ts +119 -0
  90. package/dist/tunnel/types.js +33 -0
  91. package/dist/tunnel/types.js.map +1 -0
  92. package/dist/ui/dashboard.html +4 -3
  93. package/dist/ui/settings.html +640 -153
  94. package/dist/usage/providers.d.ts +16 -13
  95. package/dist/usage/providers.js +79 -53
  96. package/dist/usage/providers.js.map +1 -1
  97. package/dist/web-api.js +6 -4
  98. package/dist/web-api.js.map +1 -1
  99. package/dist/web-auth.d.ts +75 -0
  100. package/dist/web-auth.js +208 -2
  101. package/dist/web-auth.js.map +1 -1
  102. package/package.json +1 -1
@@ -0,0 +1,114 @@
1
+ /** How long a finished job stays answerable, and how long a key is honoured. */
2
+ export declare const APPLY_JOB_RETENTION_MS: number;
3
+ /**
4
+ * Wall clock, not a step count: the user is looking at a spinner, and the thing
5
+ * they need to be told is that it has been N seconds, not which internal phase
6
+ * it is in. Generous — a reconcile that restarts several agents on a loaded
7
+ * machine is slow but fine.
8
+ */
9
+ export declare const APPLY_JOB_DEADLINE_MS = 120000;
10
+ /** Outcome of asking the fleet to restart itself for a Settings change. */
11
+ export type SelfRestartResult = {
12
+ ok: true;
13
+ jobId: string;
14
+ reused?: boolean;
15
+ } | {
16
+ ok: false;
17
+ status: 409 | 429 | 503;
18
+ error: string;
19
+ retryAfterSeconds?: number;
20
+ };
21
+ /** The row for the fleet process itself, as opposed to one of its agents. */
22
+ export declare const APPLY_FLEET_TARGET = "fleet";
23
+ export type ApplyTargetKind = "hot" | "restart";
24
+ /**
25
+ * `restart-required` is a terminal state, not a stalled one: the change is saved
26
+ * and valid, and a running fleet process cannot adopt it. Reporting it as done
27
+ * would tell the user AgEnD is on the new configuration when it is not.
28
+ */
29
+ export type ApplyTargetStatus = "pending" | "running" | "done" | "failed" | "restart-required";
30
+ export type ApplyJobStatus = "running" | "done" | "failed";
31
+ export interface ApplyTarget {
32
+ /** Instance name, or `fleet` for the process-level row. */
33
+ target: string;
34
+ kind: ApplyTargetKind;
35
+ status: ApplyTargetStatus;
36
+ error?: string;
37
+ /**
38
+ * Who finished the row, when it was not this job's own work:
39
+ * `fleet-restart` — a process restart applied it;
40
+ * `no-change` — the plan expected work the reconcile found unnecessary.
41
+ */
42
+ settled_by?: "fleet-restart" | "no-change";
43
+ }
44
+ export interface ApplyJob {
45
+ id: string;
46
+ /** The client's idempotency key. */
47
+ key: string;
48
+ status: ApplyJobStatus;
49
+ startedAt: number;
50
+ finishedAt?: number;
51
+ targets: ApplyTarget[];
52
+ /** Deadline for "still working" messaging; it never cancels the work. */
53
+ deadlineMs: number;
54
+ /** The process that created the job, so a restart is detectable. */
55
+ pid: number;
56
+ error?: string;
57
+ /**
58
+ * The idempotency key of the self-restart this job's fleet row was consumed
59
+ * by. Stored on the job rather than in memory because the process it belongs
60
+ * to is about to be replaced — a retry after the restart has to find it.
61
+ */
62
+ restart_key?: string;
63
+ }
64
+ /** Everything a caller needs to render, computed rather than stored so it stays
65
+ * true while the job is being read long after the last write. */
66
+ export interface ApplyJobView extends ApplyJob {
67
+ elapsed_ms: number;
68
+ /** Past the deadline and still working — say so instead of spinning silently. */
69
+ overdue: boolean;
70
+ /** Human sentence for the overdue case; empty otherwise. */
71
+ message: string;
72
+ }
73
+ export declare function viewOf(job: ApplyJob, now?: number): ApplyJobView;
74
+ /**
75
+ * The jobs file. Small, rewritten whole on every transition — a settings apply
76
+ * happens at human speed, so the simplest durable thing is the right one.
77
+ */
78
+ /** Just enough of a logger for the one thing this module has to report. */
79
+ export interface ApplyJobLogger {
80
+ warn(data: unknown, message: string): void;
81
+ }
82
+ export declare class ApplyJobStore {
83
+ private readonly dataDir;
84
+ private readonly now;
85
+ private readonly logger?;
86
+ private jobs;
87
+ constructor(dataDir: string, now?: () => number, logger?: ApplyJobLogger | undefined);
88
+ private path;
89
+ private read;
90
+ private write;
91
+ private prune;
92
+ /**
93
+ * A job created in an earlier process cannot still be running in this one.
94
+ *
95
+ * The restart is what applied the config: every agent came up from the saved
96
+ * file. So rows left pending or running are done — recorded as settled by the
97
+ * restart rather than by the job, because "who finished this" is exactly what
98
+ * the user is trying to find out.
99
+ */
100
+ settleAfterRestart(): ApplyJob[];
101
+ get(id: string): ApplyJob | null;
102
+ /** The job whose fleet row a given self-restart key already consumed. */
103
+ findByRestartKey(key: string): ApplyJob | null;
104
+ /** The live job for a key, if the client is retrying rather than re-applying. */
105
+ findByKey(key: string): ApplyJob | null;
106
+ create(key: string, targets: Array<Pick<ApplyTarget, "target" | "kind">>, deadlineMs?: number): ApplyJob;
107
+ /** Mutate one job and persist. Every transition hits the disk, because the
108
+ * transition we care most about is the last one before the process dies. */
109
+ update(id: string, mutate: (job: ApplyJob) => void): ApplyJob | null;
110
+ setTargetStatus(id: string, target: string, status: ApplyTargetStatus, error?: string): void;
111
+ finish(id: string, error?: string): void;
112
+ /** Test/introspection seam. */
113
+ all(): ApplyJob[];
114
+ }
@@ -0,0 +1,214 @@
1
+ /**
2
+ * A Settings "Apply" that the user can watch, and that survives the restart it
3
+ * asks for.
4
+ *
5
+ * The old path was `POST /api/settings/reload` → SIGHUP → nothing. The page said
6
+ * "changes applied" the moment the signal was sent, while the reconcile was
7
+ * still stopping and starting agents behind it, and a change that restarts AgEnD
8
+ * itself killed the only place the answer lived.
9
+ *
10
+ * Two properties carry the whole design:
11
+ *
12
+ * 1. **The job is on disk, not in the process.** A fleet-impact change takes the
13
+ * fleet process down with it. An in-memory job dies there, `GET` starts
14
+ * answering 404, and the page shows "restarting…" forever (#722/#748 are the
15
+ * same shape). The replacement process reads the marker, settles whatever was
16
+ * still in flight, and can answer for a job it never started.
17
+ * 2. **The client owns the idempotency key.** A server-minted job id cannot stop
18
+ * a duplicate: on a phone the POST leaves, the answer never arrives, and the
19
+ * retry is a second request the server has no way to recognise. A key the
20
+ * client generates before the first attempt makes the retry identifiable, so
21
+ * it returns the original job instead of applying everything twice.
22
+ */
23
+ import { readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
24
+ import { randomUUID } from "node:crypto";
25
+ import { join } from "node:path";
26
+ const FILE = "settings-apply-jobs.json";
27
+ /** How long a finished job stays answerable, and how long a key is honoured. */
28
+ export const APPLY_JOB_RETENTION_MS = 30 * 60_000;
29
+ /**
30
+ * Wall clock, not a step count: the user is looking at a spinner, and the thing
31
+ * they need to be told is that it has been N seconds, not which internal phase
32
+ * it is in. Generous — a reconcile that restarts several agents on a loaded
33
+ * machine is slow but fine.
34
+ */
35
+ export const APPLY_JOB_DEADLINE_MS = 120_000;
36
+ /** At most this many jobs are kept, newest first. */
37
+ const MAX_JOBS = 20;
38
+ /** The row for the fleet process itself, as opposed to one of its agents. */
39
+ export const APPLY_FLEET_TARGET = "fleet";
40
+ function isTerminal(status) {
41
+ return status === "done" || status === "failed";
42
+ }
43
+ export function viewOf(job, now = Date.now()) {
44
+ const elapsed = Math.max(0, (job.finishedAt ?? now) - job.startedAt);
45
+ const overdue = !isTerminal(job.status) && elapsed > job.deadlineMs;
46
+ return {
47
+ ...job,
48
+ elapsed_ms: elapsed,
49
+ overdue,
50
+ message: overdue ? `Still restarting (${Math.round(elapsed / 1000)}s)` : "",
51
+ };
52
+ }
53
+ export class ApplyJobStore {
54
+ dataDir;
55
+ now;
56
+ logger;
57
+ jobs = [];
58
+ constructor(dataDir, now = Date.now, logger) {
59
+ this.dataDir = dataDir;
60
+ this.now = now;
61
+ this.logger = logger;
62
+ this.jobs = this.read();
63
+ }
64
+ path() {
65
+ return join(this.dataDir, FILE);
66
+ }
67
+ read() {
68
+ try {
69
+ const parsed = JSON.parse(readFileSync(this.path(), "utf-8"));
70
+ if (!Array.isArray(parsed.jobs))
71
+ return [];
72
+ return parsed.jobs.filter(job => typeof job?.id === "string"
73
+ && typeof job?.key === "string"
74
+ && typeof job?.startedAt === "number"
75
+ && Array.isArray(job?.targets));
76
+ }
77
+ catch {
78
+ // Missing or corrupt: an unreadable history must not stop the user from
79
+ // applying settings.
80
+ return [];
81
+ }
82
+ }
83
+ write() {
84
+ const path = this.path();
85
+ const temp = `${path}.${process.pid}.${this.now()}.tmp`;
86
+ try {
87
+ writeFileSync(temp, JSON.stringify({ jobs: this.jobs }), { mode: 0o600 });
88
+ renameSync(temp, path);
89
+ }
90
+ catch (err) {
91
+ try {
92
+ unlinkSync(temp);
93
+ }
94
+ catch { /* never created */ }
95
+ // A full or read-only data dir means this job will not survive a restart.
96
+ // Swallowing that silently is how the symptom becomes "progress just
97
+ // vanished" with nothing to look at.
98
+ this.logger?.warn({ err, path }, "Settings apply job could not be persisted");
99
+ }
100
+ }
101
+ prune() {
102
+ const cutoff = this.now() - APPLY_JOB_RETENTION_MS;
103
+ this.jobs = this.jobs
104
+ .filter(job => (job.finishedAt ?? job.startedAt) >= cutoff)
105
+ .slice(0, MAX_JOBS);
106
+ }
107
+ /**
108
+ * A job created in an earlier process cannot still be running in this one.
109
+ *
110
+ * The restart is what applied the config: every agent came up from the saved
111
+ * file. So rows left pending or running are done — recorded as settled by the
112
+ * restart rather than by the job, because "who finished this" is exactly what
113
+ * the user is trying to find out.
114
+ */
115
+ settleAfterRestart() {
116
+ const settled = [];
117
+ for (const job of this.jobs) {
118
+ if (isTerminal(job.status))
119
+ continue;
120
+ // Only a job from another process. The health server accepts requests a
121
+ // little before startup finishes, so an apply started seconds ago in THIS
122
+ // process would otherwise be declared finished by a restart that already
123
+ // happened. (A recycled pid would leave such a job running until its
124
+ // deadline reports it — the harmless direction.)
125
+ if (job.pid === process.pid)
126
+ continue;
127
+ for (const row of job.targets) {
128
+ if (row.status === "done" || row.status === "failed")
129
+ continue;
130
+ row.status = "done";
131
+ row.settled_by = "fleet-restart";
132
+ }
133
+ job.status = "done";
134
+ job.finishedAt = this.now();
135
+ settled.push(job);
136
+ }
137
+ if (settled.length)
138
+ this.write();
139
+ return settled;
140
+ }
141
+ get(id) {
142
+ return this.jobs.find(job => job.id === id) ?? null;
143
+ }
144
+ /** The job whose fleet row a given self-restart key already consumed. */
145
+ findByRestartKey(key) {
146
+ return this.jobs.find(job => job.restart_key === key) ?? null;
147
+ }
148
+ /** The live job for a key, if the client is retrying rather than re-applying. */
149
+ findByKey(key) {
150
+ const cutoff = this.now() - APPLY_JOB_RETENTION_MS;
151
+ return this.jobs.find(job => job.key === key && (job.finishedAt ?? job.startedAt) >= cutoff) ?? null;
152
+ }
153
+ create(key, targets, deadlineMs = APPLY_JOB_DEADLINE_MS) {
154
+ const job = {
155
+ id: randomUUID(),
156
+ key,
157
+ status: "running",
158
+ startedAt: this.now(),
159
+ targets: targets.map(row => ({ ...row, status: "pending" })),
160
+ deadlineMs,
161
+ pid: process.pid,
162
+ };
163
+ this.jobs.unshift(job);
164
+ this.prune();
165
+ this.write();
166
+ return job;
167
+ }
168
+ /** Mutate one job and persist. Every transition hits the disk, because the
169
+ * transition we care most about is the last one before the process dies. */
170
+ update(id, mutate) {
171
+ const job = this.get(id);
172
+ if (!job)
173
+ return null;
174
+ mutate(job);
175
+ this.write();
176
+ return job;
177
+ }
178
+ setTargetStatus(id, target, status, error) {
179
+ this.update(id, job => {
180
+ const row = job.targets.find(item => item.target === target);
181
+ if (!row)
182
+ return;
183
+ row.status = status;
184
+ if (error)
185
+ row.error = error;
186
+ });
187
+ }
188
+ finish(id, error) {
189
+ this.update(id, job => {
190
+ for (const row of job.targets) {
191
+ if (row.status !== "pending" && row.status !== "running")
192
+ continue;
193
+ if (error) {
194
+ row.status = "failed";
195
+ row.error = error;
196
+ continue;
197
+ }
198
+ // The plan forecast work the reconcile then found unnecessary. Saying
199
+ // plain "done" would read as "this agent was restarted".
200
+ row.status = "done";
201
+ row.settled_by = "no-change";
202
+ }
203
+ job.status = error ? "failed" : job.targets.some(row => row.status === "failed") ? "failed" : "done";
204
+ job.finishedAt = this.now();
205
+ if (error)
206
+ job.error = error;
207
+ });
208
+ }
209
+ /** Test/introspection seam. */
210
+ all() {
211
+ return this.jobs;
212
+ }
213
+ }
214
+ //# sourceMappingURL=apply-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-job.js","sourceRoot":"","sources":["../src/apply-job.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,IAAI,GAAG,0BAA0B,CAAC;AAExC,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,MAAM,CAAC;AAClD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,qDAAqD;AACrD,MAAM,QAAQ,GAAG,EAAE,CAAC;AAOpB,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAkD1C,SAAS,UAAU,CAAC,MAAsB;IACxC,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC;AAClD,CAAC;AAYD,MAAM,UAAU,MAAM,CAAC,GAAa,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC;IACpE,OAAO;QACL,GAAG,GAAG;QACN,UAAU,EAAE,OAAO;QACnB,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KAC5E,CAAC;AACJ,CAAC;AAWD,MAAM,OAAO,aAAa;IAIL;IACA;IACA;IALX,IAAI,GAAe,EAAE,CAAC;IAE9B,YACmB,OAAe,EACf,MAAoB,IAAI,CAAC,GAAG,EAC5B,MAAuB;QAFvB,YAAO,GAAP,OAAO,CAAQ;QACf,QAAG,GAAH,GAAG,CAAyB;QAC5B,WAAM,GAAN,MAAM,CAAiB;QAExC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEO,IAAI;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,IAAI;QACV,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAqB,CAAC;YAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9B,OAAO,GAAG,EAAE,EAAE,KAAK,QAAQ;mBACxB,OAAO,GAAG,EAAE,GAAG,KAAK,QAAQ;mBAC5B,OAAO,GAAG,EAAE,SAAS,KAAK,QAAQ;mBAClC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,qBAAqB;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QACxD,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAoB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;YACvD,0EAA0E;YAC1E,qEAAqE;YACrE,qCAAqC;YACrC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,2CAA2C,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAEO,KAAK;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;aAClB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;aAC1D,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB;QAChB,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACrC,wEAAwE;YACxE,0EAA0E;YAC1E,yEAAyE;YACzE,qEAAqE;YACrE,iDAAiD;YACjD,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG;gBAAE,SAAS;YACtC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;oBAAE,SAAS;gBAC/D,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;gBACpB,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC;YACnC,CAAC;YACD,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;YACpB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;IACtD,CAAC;IAED,yEAAyE;IACzE,gBAAgB,CAAC,GAAW;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;IAChE,CAAC;IAED,iFAAiF;IACjF,SAAS,CAAC,GAAW;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC;IACvG,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,OAAoD,EAAE,UAAU,GAAG,qBAAqB;QAC1G,MAAM,GAAG,GAAa;YACpB,EAAE,EAAE,UAAU,EAAE;YAChB,GAAG;YACH,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5D,UAAU;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IAED;gFAC4E;IAC5E,MAAM,CAAC,EAAU,EAAE,MAA+B;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,MAAc,EAAE,MAAyB,EAAE,KAAc;QACnF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE;YACpB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;YACpB,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,KAAc;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE;YACpB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;oBAAE,SAAS;gBACnE,IAAI,KAAK,EAAE,CAAC;oBAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAClE,sEAAsE;gBACtE,yDAAyD;gBACzD,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;gBACpB,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC;YAC/B,CAAC;YACD,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YACrG,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAA+B;IAC/B,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -24,6 +24,22 @@ export declare class CodexBackend implements CliBackend {
24
24
  * (updatePickerDialog) before any delivery path reads this pattern.
25
25
  */
26
26
  getBottomReadyPattern(): RegExp | null;
27
+ /** Live status chrome that must veto the broad prompt/context ready match. */
28
+ getBusyPattern(): RegExp;
29
+ /**
30
+ * Codex 0.154's Astra theme can keep animating a star field around the input
31
+ * box (and its terminal title) after the TUI has returned to the prompt.
32
+ * Those cosmetic redraws keep tmux control mode noisy, so the daemon cannot
33
+ * wait for two seconds of output silence.
34
+ *
35
+ * Do not use getReadyPattern() here: the Codex header, context meter and
36
+ * input chrome all remain visible while a turn is running. Instead require
37
+ * the live, empty prompt followed by the context footer at the bottom of the
38
+ * viewport, and reject a live status row immediately above it. Transcript
39
+ * quotes are indented by the TUI and, more importantly, cannot replace the
40
+ * final live prompt/footer pair.
41
+ */
42
+ isPeriodicRedrawIdlePane(pane: string): boolean;
27
43
  /**
28
44
  * The row codex paints for input it has taken into its own queue instead of
29
45
  * submitting: `↳ <message>` under "Messages to be submitted after next tool
@@ -134,6 +134,56 @@ export class CodexBackend {
134
134
  getBottomReadyPattern() {
135
135
  return /^\s*›\s?/;
136
136
  }
137
+ /** Live status chrome that must veto the broad prompt/context ready match. */
138
+ getBusyPattern() {
139
+ return /(?:^|\n)•\s+Working\b[^\n]*\besc to interrupt\b/i;
140
+ }
141
+ /**
142
+ * Codex 0.154's Astra theme can keep animating a star field around the input
143
+ * box (and its terminal title) after the TUI has returned to the prompt.
144
+ * Those cosmetic redraws keep tmux control mode noisy, so the daemon cannot
145
+ * wait for two seconds of output silence.
146
+ *
147
+ * Do not use getReadyPattern() here: the Codex header, context meter and
148
+ * input chrome all remain visible while a turn is running. Instead require
149
+ * the live, empty prompt followed by the context footer at the bottom of the
150
+ * viewport, and reject a live status row immediately above it. Transcript
151
+ * quotes are indented by the TUI and, more importantly, cannot replace the
152
+ * final live prompt/footer pair.
153
+ */
154
+ isPeriodicRedrawIdlePane(pane) {
155
+ // Astra's 0.154 theme animates U+22C6 star points across otherwise-stable
156
+ // idle chrome. Remove only that observed decorative glyph; broader
157
+ // punctuation stripping could turn real tool output into a false prompt.
158
+ const rows = pane.replace(/\r/g, "").split("\n").map(row => row.replace(/⋆/gu, ""));
159
+ let prompt = -1;
160
+ for (let i = rows.length - 1; i >= 0; i--) {
161
+ if (/^[>›]\s*Ask Codex to do anything\s*$/.test(rows[i])) {
162
+ prompt = i;
163
+ break;
164
+ }
165
+ }
166
+ if (prompt < 0)
167
+ return false;
168
+ let footer = -1;
169
+ for (let i = prompt + 1; i < Math.min(rows.length, prompt + 7); i++) {
170
+ if (/^\s*Context\s+\d+%\s+(?:left|used)\s*$/i.test(rows[i])) {
171
+ footer = i;
172
+ break;
173
+ }
174
+ // Only blank/star-only animation rows may separate prompt and footer.
175
+ if (rows[i].trim() !== "")
176
+ return false;
177
+ }
178
+ if (footer < 0 || rows.slice(footer + 1).some(row => row.trim() !== ""))
179
+ return false;
180
+ // A real Codex status row is column-zero TUI chrome. Quoted examples in a
181
+ // user/assistant message are indented and therefore fail closed here.
182
+ const activeRegion = rows.slice(Math.max(0, prompt - 8), prompt);
183
+ if (activeRegion.some(row => /^•\s+\S.*\besc to interrupt\b/i.test(row)))
184
+ return false;
185
+ return true;
186
+ }
137
187
  /**
138
188
  * The row codex paints for input it has taken into its own queue instead of
139
189
  * submitting: `↳ <message>` under "Messages to be submitted after next tool
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backend/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/backend/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ export interface CredentialHomeSpec {
2
+ /** The variable that moves the credential home, prepended at launch. */
3
+ env: string;
4
+ /** The shared home this backend uses when the variable is unset. */
5
+ sharedRoot(): string;
6
+ /**
7
+ * Where under the root the backend's own files live. `XDG_DATA_HOME` points
8
+ * at a directory of many programs' data, so kiro's store is one level down;
9
+ * a backend whose variable points straight at its own home leaves this "".
10
+ */
11
+ storeSubdir: string;
12
+ /**
13
+ * Entries that must be real files in the profile. Everything the login is
14
+ * made of, plus anything the store cannot be separated from.
15
+ */
16
+ isolate: readonly string[];
17
+ /**
18
+ * Entries linked back to the shared home when they exist there. Only
19
+ * content-addressed runtimes and caches belong here — things that are
20
+ * expensive to duplicate and carry no identity.
21
+ */
22
+ share: readonly string[];
23
+ /**
24
+ * Whether this store holds a login, given its store directory.
25
+ *
26
+ * A profile nobody has logged into is not an empty session — the CLI stops at
27
+ * an interactive sign-in prompt and waits there, so an agent pointed at one
28
+ * never starts. A backend that cannot answer this omits it, and the switch is
29
+ * allowed rather than blocked on a check that does not exist.
30
+ */
31
+ hasLogin?: (storeHome: string) => boolean;
32
+ /** The subcommand that logs a store in, for telling the user what to run. */
33
+ loginSubcommand: string;
34
+ }
35
+ /** Backends that can hold more than one login. Codex and Claude come later. */
36
+ export declare const CREDENTIAL_HOMES: Readonly<Record<string, CredentialHomeSpec>>;
37
+ export declare function credentialHomeSpec(backendName: string): CredentialHomeSpec | null;
38
+ /**
39
+ * The profile a backend was asked for, or null for "behave exactly as before".
40
+ *
41
+ * Null is the whole backward-compatibility story: no profile means no variable
42
+ * is prepended and no directory is created, so an instance that does not opt in
43
+ * cannot be affected by this feature at all.
44
+ */
45
+ export declare function resolveCredentialProfile(backendOptions: Record<string, unknown> | undefined): string | null;
46
+ /**
47
+ * Where a profile lives: under the fleet's data directory, not an instance's.
48
+ *
49
+ * A subscription is shared by however many agents the user points at it, so the
50
+ * directory belongs to the fleet. Putting it under an instance would make
51
+ * "these three agents use the work account" impossible to express.
52
+ */
53
+ export declare function credentialProfileHome(dataDir: string, backendName: string, profile: string): string;
54
+ /**
55
+ * Create the profile home and link the shareable parts back.
56
+ *
57
+ * Idempotent: it only ever adds links that are missing, and never replaces
58
+ * anything that already exists in the profile — a real directory there is
59
+ * someone's data, and this is not the code that decides to delete it.
60
+ */
61
+ export declare function prepareCredentialProfileHome(spec: CredentialHomeSpec, profileHome: string): void;
62
+ /**
63
+ * The profiles a fleet is configured to use for one backend, in a stable order.
64
+ *
65
+ * Read from the configuration rather than from the directories on disk: the
66
+ * config is what the fleet will actually launch, a directory can linger after a
67
+ * profile is removed, and a profile configured but never started has no
68
+ * directory yet. Instances sharing a profile name collapse into one entry,
69
+ * because they share one login and one quota.
70
+ */
71
+ export declare function listConfiguredProfiles(config: {
72
+ instances?: Record<string, {
73
+ backend?: string;
74
+ backend_options?: Record<string, Record<string, unknown>>;
75
+ }>;
76
+ defaults?: {
77
+ backend?: string;
78
+ backend_options?: Record<string, Record<string, unknown>>;
79
+ };
80
+ } | null, backendName: string): string[];
81
+ /**
82
+ * The directory the backend's own files sit in, for one profile.
83
+ *
84
+ * One level below the profile home whenever the relocating variable points at a
85
+ * directory of many programs' data — `XDG_DATA_HOME/kiro-cli`, not
86
+ * `XDG_DATA_HOME`. Everything that reads a profile's store (the usage panel,
87
+ * the transcript reader, the login check) must agree on this path, so it is
88
+ * computed here rather than reassembled at each call site.
89
+ */
90
+ export declare function credentialProfileStoreHome(dataDir: string, backendName: string, profile: string): string;
91
+ /**
92
+ * Whether a profile can be started, and what to run if it cannot.
93
+ *
94
+ * `unknown` is not a failure: a backend with no login probe, or a profile on a
95
+ * backend that has no credential home at all, is simply not something this can
96
+ * speak about, and a caller must not treat silence as a refusal.
97
+ */
98
+ export type CredentialProfileLogin = {
99
+ readonly state: "logged-in";
100
+ } | {
101
+ readonly state: "signed-out";
102
+ readonly loginCommand: string;
103
+ } | {
104
+ readonly state: "unknown";
105
+ };
106
+ export declare function credentialProfileLogin(dataDir: string, backendName: string, profile: string): CredentialProfileLogin;
107
+ /** The profile one instance runs under, or null for the shared login. */
108
+ export declare function instanceCredentialProfile(instance: {
109
+ backend_options?: Record<string, Record<string, unknown>>;
110
+ } | undefined, defaults: {
111
+ backend_options?: Record<string, Record<string, unknown>>;
112
+ } | undefined, backendName: string): string | null;
113
+ /** Entries that are real (not links) in a prepared profile — for tests and doctor. */
114
+ export declare function profilePrivateEntries(spec: CredentialHomeSpec, profileHome: string): string[];