@openagt/dashboard 0.39.1 → 0.41.0
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/dist/built-in.d.ts +5 -0
- package/dist/built-in.d.ts.map +1 -1
- package/dist/built-in.js +7 -0
- package/dist/built-in.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/clone-project.d.ts +11 -0
- package/dist/clone-project.d.ts.map +1 -1
- package/dist/clone-project.js +38 -12
- package/dist/clone-project.js.map +1 -1
- package/dist/daemon-runtime.d.ts.map +1 -1
- package/dist/daemon-runtime.js +216 -63
- package/dist/daemon-runtime.js.map +1 -1
- package/dist/daemon.js +2 -2
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/activity.d.ts +2 -2
- package/dist/dashboard/activity.d.ts.map +1 -1
- package/dist/dashboard/activity.js +2 -2
- package/dist/dashboard/activity.js.map +1 -1
- package/dist/dashboard/elsewhere.d.ts +92 -0
- package/dist/dashboard/elsewhere.d.ts.map +1 -0
- package/dist/dashboard/elsewhere.js +155 -0
- package/dist/dashboard/elsewhere.js.map +1 -0
- package/dist/dashboard/interventions.d.ts +6 -0
- package/dist/dashboard/interventions.d.ts.map +1 -1
- package/dist/dashboard/interventions.js.map +1 -1
- package/dist/dashboard/machine-interventions.d.ts +52 -0
- package/dist/dashboard/machine-interventions.d.ts.map +1 -0
- package/dist/dashboard/machine-interventions.js +117 -0
- package/dist/dashboard/machine-interventions.js.map +1 -0
- package/dist/dashboard/module-serve.d.ts +6 -0
- package/dist/dashboard/module-serve.d.ts.map +1 -1
- package/dist/dashboard/module-serve.js +11 -1
- package/dist/dashboard/module-serve.js.map +1 -1
- package/dist/dashboard/overview.d.ts +20 -5
- package/dist/dashboard/overview.d.ts.map +1 -1
- package/dist/dashboard/overview.js +28 -8
- package/dist/dashboard/overview.js.map +1 -1
- package/dist/dashboard/projects.d.ts +11 -2
- package/dist/dashboard/projects.d.ts.map +1 -1
- package/dist/dashboard/projects.js +3 -2
- package/dist/dashboard/projects.js.map +1 -1
- package/dist/dashboard/relay-endpoints.d.ts +2 -0
- package/dist/dashboard/relay-endpoints.d.ts.map +1 -1
- package/dist/dashboard/relay-endpoints.js +4 -2
- package/dist/dashboard/relay-endpoints.js.map +1 -1
- package/dist/dashboard/remote-run.d.ts +1 -6
- package/dist/dashboard/remote-run.d.ts.map +1 -1
- package/dist/dashboard/remote-run.js +1 -6
- package/dist/dashboard/remote-run.js.map +1 -1
- package/dist/dashboard/rpc-serve.d.ts +21 -1
- package/dist/dashboard/rpc-serve.d.ts.map +1 -1
- package/dist/dashboard/rpc-serve.js +9 -3
- package/dist/dashboard/rpc-serve.js.map +1 -1
- package/dist/dashboard/server.d.ts +2 -0
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +6 -4
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/types.d.ts +3 -1
- package/dist/dashboard/types.d.ts.map +1 -1
- package/dist/dashboard-bundle/assets/host/module-BcFzlJhp.js +1 -0
- package/dist/dashboard-bundle/assets/main-Ca6eaXat.css +2 -0
- package/dist/dashboard-bundle/assets/main-rpNhGecV.js +148 -0
- package/dist/dashboard-bundle/assets/module-Bhd9t16k.js +14 -0
- package/dist/dashboard-bundle/index.html +4 -4
- package/dist/dashboard-rpc/context.js +1 -1
- package/dist/dashboard-rpc/context.js.map +1 -1
- package/dist/dashboard-rpc/index.d.ts +2 -2
- package/dist/dashboard-rpc/index.d.ts.map +1 -1
- package/dist/dashboard-rpc/index.js +2 -2
- package/dist/dashboard-rpc/index.js.map +1 -1
- package/dist/dashboard-rpc/logins.d.ts +7 -0
- package/dist/dashboard-rpc/logins.d.ts.map +1 -1
- package/dist/dashboard-rpc/logins.js +17 -0
- package/dist/dashboard-rpc/logins.js.map +1 -1
- package/dist/dashboard-rpc/machines.d.ts +21 -4
- package/dist/dashboard-rpc/machines.d.ts.map +1 -1
- package/dist/dashboard-rpc/machines.js +85 -23
- package/dist/dashboard-rpc/machines.js.map +1 -1
- package/dist/dashboard-rpc/modules.d.ts.map +1 -1
- package/dist/dashboard-rpc/modules.js +19 -3
- package/dist/dashboard-rpc/modules.js.map +1 -1
- package/dist/dashboard-rpc/projects.d.ts +14 -0
- package/dist/dashboard-rpc/projects.d.ts.map +1 -1
- package/dist/dashboard-rpc/projects.js +48 -5
- package/dist/dashboard-rpc/projects.js.map +1 -1
- package/dist/dashboard-rpc/reads.d.ts +9 -3
- package/dist/dashboard-rpc/reads.d.ts.map +1 -1
- package/dist/dashboard-rpc/reads.js +55 -21
- package/dist/dashboard-rpc/reads.js.map +1 -1
- package/dist/dashboard-rpc/relay-dispatch.d.ts +12 -0
- package/dist/dashboard-rpc/relay-dispatch.d.ts.map +1 -1
- package/dist/dashboard-rpc/relay-dispatch.js +42 -7
- package/dist/dashboard-rpc/relay-dispatch.js.map +1 -1
- package/dist/dashboard-rpc/runs-changed.d.ts.map +1 -1
- package/dist/dashboard-rpc/runs-changed.js +14 -6
- package/dist/dashboard-rpc/runs-changed.js.map +1 -1
- package/dist/dashboard-rpc/test-context.d.ts +3 -1
- package/dist/dashboard-rpc/test-context.d.ts.map +1 -1
- package/dist/dashboard-rpc/test-context.js +13 -1
- package/dist/dashboard-rpc/test-context.js.map +1 -1
- package/dist/module-types/dashboard/components/MachineMark.d.ts +33 -0
- package/dist/module-types/dashboard/lib/models.d.ts +6 -0
- package/dist/module-types/dashboard/lib/route.d.ts +6 -0
- package/dist/module-types/dashboard/module/index.d.ts +4 -0
- package/dist/module-types/dashboard/rpc/machines.d.ts +35 -0
- package/dist/module-types/src/built-in.d.ts +5 -0
- package/dist/module-types/src/client.d.ts +1 -1
- package/dist/module-types/src/clone-project.d.ts +11 -0
- package/dist/module-types/src/dashboard/activity.d.ts +2 -2
- package/dist/module-types/src/dashboard/elsewhere.d.ts +91 -0
- package/dist/module-types/src/dashboard/interventions.d.ts +6 -0
- package/dist/module-types/src/dashboard/machine-interventions.d.ts +51 -0
- package/dist/module-types/src/dashboard/module-serve.d.ts +6 -0
- package/dist/module-types/src/dashboard/overview.d.ts +20 -5
- package/dist/module-types/src/dashboard/projects.d.ts +11 -2
- package/dist/module-types/src/dashboard/remote-run.d.ts +1 -6
- package/dist/module-types/src/dashboard/rpc-serve.d.ts +21 -1
- package/dist/module-types/src/dashboard/types.d.ts +3 -1
- package/dist/module-types/src/dashboard-rpc/index.d.ts +2 -2
- package/dist/module-types/src/dashboard-rpc/logins.d.ts +7 -0
- package/dist/module-types/src/dashboard-rpc/machines.d.ts +21 -4
- package/dist/module-types/src/dashboard-rpc/projects.d.ts +14 -0
- package/dist/module-types/src/dashboard-rpc/reads.d.ts +9 -3
- package/dist/module-types/src/dashboard-rpc/relay-dispatch.d.ts +28 -0
- package/dist/module-types/src/project-modules.d.ts +19 -0
- package/dist/module-types/src/reached-by-line.d.ts +32 -0
- package/dist/module-types/src/registry.d.ts +8 -0
- package/dist/module-types/src/repository-address.d.ts +6 -0
- package/dist/module-types/src/store/agent-store.d.ts +4 -3
- package/dist/project-modules.d.ts +19 -0
- package/dist/project-modules.d.ts.map +1 -1
- package/dist/project-modules.js +42 -2
- package/dist/project-modules.js.map +1 -1
- package/dist/reached-by-line.d.ts +32 -0
- package/dist/reached-by-line.d.ts.map +1 -1
- package/dist/reached-by-line.js +51 -0
- package/dist/reached-by-line.js.map +1 -1
- package/dist/registry.d.ts +8 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +13 -2
- package/dist/registry.js.map +1 -1
- package/dist/repository-address.d.ts +6 -0
- package/dist/repository-address.d.ts.map +1 -1
- package/dist/repository-address.js +9 -0
- package/dist/repository-address.js.map +1 -1
- package/dist/store/agent-store.d.ts +4 -3
- package/dist/store/agent-store.d.ts.map +1 -1
- package/dist/store/agent-store.js.map +1 -1
- package/package.json +15 -15
- package/dist/dashboard-bundle/assets/host/module-CUc1n2SP.js +0 -1
- package/dist/dashboard-bundle/assets/main-Cv9CrCec.css +0 -2
- package/dist/dashboard-bundle/assets/main-dejlwmyP.js +0 -149
- package/dist/dashboard-bundle/assets/module-DR2oCWs5.js +0 -14
package/dist/daemon-runtime.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { join, resolve, sep } from 'node:path';
|
|
2
2
|
import { hostname } from 'node:os';
|
|
3
3
|
import { stat } from 'node:fs/promises';
|
|
4
4
|
import { findAgent, findCheckout, fromDiaryLine, isPidAlive, isRunId, projectBranches, readLiveMetas, resolveAgentDiary } from './store/index.js';
|
|
5
5
|
import { OPENAGENT_DIR } from './openagent-dir.js';
|
|
6
|
-
import { RelayedAgents, relayRpc, remoteFacts, startRemoteAgent } from './dashboard/remote-run.js';
|
|
6
|
+
import { RelayedAgents, machineCall, relayRpc, remoteFacts, startRemoteAgent } from './dashboard/remote-run.js';
|
|
7
|
+
import { OwnProjectsAsked, elsewhereHomes, elsewhereId, elsewhereSummary, homeOf as elsewhereHomeOf, idInLineName, isElsewhereId, lineNameOf } from './dashboard/elsewhere.js';
|
|
8
|
+
import { AnswersKept, interventionsOf, namedHere } from './dashboard/machine-interventions.js';
|
|
7
9
|
import { MachineRunsKept, RUNS_WAIT_MS } from './dashboard/machine-runs.js';
|
|
8
10
|
import { ownRunsWatch } from './dashboard/runs-watch.js';
|
|
9
11
|
import { cloneProject, cloneTarget } from './clone-project.js';
|
|
@@ -12,8 +14,8 @@ import { screenInDiary } from './dashboard/screen.js';
|
|
|
12
14
|
import { dispatchRelayRpc } from './dashboard-rpc/relay-dispatch.js';
|
|
13
15
|
import { asRecorded, onMachine } from './dashboard-rpc/reads.js';
|
|
14
16
|
import { tailAgentEvents } from './dashboard-rpc/events-tail.js';
|
|
15
|
-
import { addProject, isHostName, listMachines, listProjects, nameMachine, noteSeen, projectId, readPreferences, removeProject } from './registry.js';
|
|
16
|
-
import { repositoryAddress } from './repository-address.js';
|
|
17
|
+
import { addProject, isHostName, listMachines, listProjects, nameMachine, noteProjects, noteSeen, projectId, readPreferences, removeProject } from './registry.js';
|
|
18
|
+
import { projectNameOf, repositoryAddress } from './repository-address.js';
|
|
17
19
|
import { writeHookLines } from './built-in.js';
|
|
18
20
|
import { fileBranchRepo, installProject, writeSharing } from '@openagt/agent-data';
|
|
19
21
|
import { removeProjectFiles } from './remove-files.js';
|
|
@@ -24,6 +26,8 @@ import { hasRemote } from './has-remote.js';
|
|
|
24
26
|
import { projectGitHost } from './store/git-host.js';
|
|
25
27
|
import { providedDataChanged } from './store/provided.js';
|
|
26
28
|
import { projectAddresses } from './project-address.js';
|
|
29
|
+
import { callerAtPage } from './dashboard/person.js';
|
|
30
|
+
import { machineKind, machineName } from './reached-by-line.js';
|
|
27
31
|
/**
|
|
28
32
|
* What the daemon does for a project (#393): start a run, add a project, and relay a run to and
|
|
29
33
|
* from a saved machine. Split from daemon.ts so that file reads as the daemon's lifecycle
|
|
@@ -48,6 +52,10 @@ const MAX_HOMES = 5_000;
|
|
|
48
52
|
const RUNS_ASKED_MS = 8_000;
|
|
49
53
|
/** How often the machines' runs of a project someone listens to are asked for again, to keep them followed (machine-runs.ts follows them a minute). */
|
|
50
54
|
const RUNS_FOLLOWED_MS = 30_000;
|
|
55
|
+
/** How long one of the person's computers gets to say its projects: a list does not wait on it past the first time (elsewhere.ts). */
|
|
56
|
+
const PROJECTS_ASKED_MS = 8_000;
|
|
57
|
+
/** How long one of the person's computers gets to say its Human Queue: its PRs are asked of the git host (machine-interventions.ts). */
|
|
58
|
+
const QUEUE_ASKED_MS = 15_000;
|
|
51
59
|
/** How many projects this computer clones at once for other machines; one more is told to ask again. */
|
|
52
60
|
const MAX_COMING = 3;
|
|
53
61
|
/** How many clones are remembered at once, on their way or failed. */
|
|
@@ -117,24 +125,33 @@ export function createProjectRuntime({ cwd, env, clone = cloneProject, logins =
|
|
|
117
125
|
if (saved)
|
|
118
126
|
void noteSeen(saved, at, undefined, env).catch(() => { });
|
|
119
127
|
});
|
|
120
|
-
|
|
128
|
+
// The machines' runs of the project they name `address` (`#<id>` for one of a machine's own with no address), of the
|
|
129
|
+
// ones `only` keeps: every saved machine for a project of this computer's, the one it is on for another computer's.
|
|
130
|
+
const runsAt = async (address, only = () => true) => {
|
|
121
131
|
await machineNames();
|
|
122
|
-
const address = await addressOf(path);
|
|
123
|
-
if (address === undefined)
|
|
124
|
-
return [];
|
|
125
132
|
// A machine that has not said its computer's name, or says one another machine says too, has no runs to say.
|
|
126
|
-
const asked = machines.flatMap(machine => (machine.host !== undefined && machineOf(machine.host) === machine ? [{ url: machine.url, host: machine.host, ...(machine.seenAt !== undefined ? { seenAt: machine.seenAt } : {}) }] : []));
|
|
133
|
+
const asked = machines.flatMap(machine => (only(machine) && machine.host !== undefined && machineOf(machine.host) === machine ? [{ url: machine.url, host: machine.host, ...(machine.seenAt !== undefined ? { seenAt: machine.seenAt } : {}) }] : []));
|
|
127
134
|
return asked.length > 0 ? machineRunsKept.of(asked, address) : [];
|
|
128
135
|
};
|
|
136
|
+
const machineRuns = async (path) => {
|
|
137
|
+
const address = await addressOf(path);
|
|
138
|
+
return address === undefined ? [] : runsAt(address);
|
|
139
|
+
};
|
|
140
|
+
const elsewhereRuns = async (id) => {
|
|
141
|
+
const at = await elsewhereAt(id);
|
|
142
|
+
return at ? runsAt(at.target.project, machine => machine.url === at.home.machine.url) : [];
|
|
143
|
+
};
|
|
129
144
|
// Followed while someone listens: asked for again before the machines stop being followed.
|
|
130
|
-
const followRuns = (path, changed) =>
|
|
145
|
+
const followRuns = (path, changed) => followAt(() => addressOf(path), () => machineRuns(path), changed);
|
|
146
|
+
const followElsewhereRuns = (id, changed) => followAt(async () => (await elsewhereAt(id))?.target.project, () => elsewhereRuns(id), changed);
|
|
147
|
+
const followAt = (address, read, changed) => {
|
|
131
148
|
let stopped = false;
|
|
132
149
|
let stopListening;
|
|
133
|
-
void
|
|
134
|
-
if (
|
|
135
|
-
stopListening = machineRunsKept.listen(
|
|
150
|
+
void address().then(said => {
|
|
151
|
+
if (said !== undefined && !stopped)
|
|
152
|
+
stopListening = machineRunsKept.listen(said, changed);
|
|
136
153
|
});
|
|
137
|
-
const keep = () => void
|
|
154
|
+
const keep = () => void read().catch(() => { });
|
|
138
155
|
keep();
|
|
139
156
|
const timer = setInterval(keep, RUNS_FOLLOWED_MS);
|
|
140
157
|
timer.unref();
|
|
@@ -144,6 +161,71 @@ export function createProjectRuntime({ cwd, env, clone = cloneProject, logins =
|
|
|
144
161
|
stopListening?.();
|
|
145
162
|
};
|
|
146
163
|
};
|
|
164
|
+
// The projects of the person's other computers (elsewhere.ts): each computer of the person's own,
|
|
165
|
+
// a saved machine that is no other person's, says its projects, and what it said is kept with it,
|
|
166
|
+
// so they stay listed while it is off. One whose repository is a project here is listed as this computer's.
|
|
167
|
+
// They are the owner's: a person the owner invited, whose device the door passes to this OpenAgent,
|
|
168
|
+
// is listed none and reaches none of them.
|
|
169
|
+
const ownMachines = async () => (await listMachines(undefined, env).catch(() => machines)).filter(machine => machine.owner === undefined);
|
|
170
|
+
const projectsAsked = new OwnProjectsAsked(async (machine) => {
|
|
171
|
+
const said = await machineCall(machine, 'onOwnProjects', [], PROJECTS_ASKED_MS);
|
|
172
|
+
if (!said.ok)
|
|
173
|
+
throw new Error(said.error);
|
|
174
|
+
return said.ret;
|
|
175
|
+
}, (machine, projects) => noteProjects(machine, projects, undefined, env));
|
|
176
|
+
const elsewhereProjects = async () => {
|
|
177
|
+
if (callerAtPage() !== undefined)
|
|
178
|
+
return [];
|
|
179
|
+
await projectsAsked.refresh(await ownMachines());
|
|
180
|
+
const own = await ownMachines();
|
|
181
|
+
const addresses = await Promise.all((await listProjects(undefined, env).catch(() => [])).map(record => addressOf(record.path)));
|
|
182
|
+
return elsewhereHomes(own, new Set(addresses.filter(address => address !== undefined))).map(elsewhereSummary);
|
|
183
|
+
};
|
|
184
|
+
// The Human Queues of the person's other computers (machine-interventions.ts): each says its own
|
|
185
|
+
// projects' items, named here by the project as it is listed here, one of a run there marked with
|
|
186
|
+
// its computer. None for a person the owner invited, as their projects are none.
|
|
187
|
+
const queuesAsked = new AnswersKept(async (machine) => {
|
|
188
|
+
const said = await machineCall(machine, 'onOwnInterventions', [], QUEUE_ASKED_MS);
|
|
189
|
+
if (!said.ok)
|
|
190
|
+
throw new Error(said.error);
|
|
191
|
+
return interventionsOf(said.ret);
|
|
192
|
+
});
|
|
193
|
+
const machinesQueue = async () => {
|
|
194
|
+
if (callerAtPage() !== undefined)
|
|
195
|
+
return { said: [], unread: [] };
|
|
196
|
+
const own = (await ownMachines()).filter(machine => (machine.projects ?? []).length > 0);
|
|
197
|
+
const [answers, records] = await Promise.all([queuesAsked.of(own), listProjects(undefined, env).catch(() => [])]);
|
|
198
|
+
// A project as it is listed here, by its repository's address, else by its computer and its id there: as elsewhereHomes lists them.
|
|
199
|
+
const keyOf = (machine, project) => project.address ?? `${machine.url} ${lineNameOf(project)}`;
|
|
200
|
+
const listed = new Map();
|
|
201
|
+
for (const record of records) {
|
|
202
|
+
const address = await addressOf(record.path);
|
|
203
|
+
if (address !== undefined && !listed.has(address))
|
|
204
|
+
listed.set(address, record.id);
|
|
205
|
+
}
|
|
206
|
+
for (const home of elsewhereHomes(own, new Set(listed.keys())))
|
|
207
|
+
listed.set(keyOf(home.machine, home.project), elsewhereId(home.project.id, home.machine.id));
|
|
208
|
+
const queue = { said: [], unread: [] };
|
|
209
|
+
for (const machine of own) {
|
|
210
|
+
const idHere = (theirs) => {
|
|
211
|
+
const project = machine.projects?.find(one => one.id === theirs);
|
|
212
|
+
return project && listed.get(keyOf(machine, project));
|
|
213
|
+
};
|
|
214
|
+
const said = answers.get(machine.id);
|
|
215
|
+
if (said)
|
|
216
|
+
queue.said.push(namedHere(said, idHere, { name: machineName(machine), kind: machineKind(machine).kind }));
|
|
217
|
+
else
|
|
218
|
+
queue.unread.push(...(machine.projects ?? []).flatMap(project => idHere(project.id) ?? []));
|
|
219
|
+
}
|
|
220
|
+
return queue;
|
|
221
|
+
};
|
|
222
|
+
// Another computer's project by its id here, and how a call reaches it there.
|
|
223
|
+
const elsewhereAt = async (id) => {
|
|
224
|
+
if (callerAtPage() !== undefined)
|
|
225
|
+
return undefined;
|
|
226
|
+
const home = elsewhereHomeOf(await ownMachines(), id);
|
|
227
|
+
return home && { home, target: { url: home.machine.url, key: home.machine.key, ...(home.machine.pin ? { pin: home.machine.pin } : {}), project: lineNameOf(home.project) } };
|
|
228
|
+
};
|
|
147
229
|
// A run of a project by its id: its record here, else what the saved machine it runs on said of
|
|
148
230
|
// it, for a run whose record was never shared.
|
|
149
231
|
const runOf = async (path, agentId) => (await findAgent(path, agentId).catch(() => undefined)) ?? (await machineRuns(path)).flatMap(machine => machine.runs).find(run => run.id === agentId);
|
|
@@ -157,6 +239,11 @@ export function createProjectRuntime({ cwd, env, clone = cloneProject, logins =
|
|
|
157
239
|
const homeOf = async (project, agentId) => {
|
|
158
240
|
if (!isRunId(agentId))
|
|
159
241
|
return undefined;
|
|
242
|
+
// Another computer's project: its runs are that computer's.
|
|
243
|
+
if (isElsewhereId(project)) {
|
|
244
|
+
const at = await elsewhereAt(project);
|
|
245
|
+
return at && { target: at.target, label: at.home.machine.label };
|
|
246
|
+
}
|
|
160
247
|
const key = `${project} ${agentId}`;
|
|
161
248
|
const kept = homes.get(key);
|
|
162
249
|
if (kept && kept.until > Date.now())
|
|
@@ -199,8 +286,7 @@ export function createProjectRuntime({ cwd, env, clone = cloneProject, logins =
|
|
|
199
286
|
if (relayedAgents.follows(agentId) || elsewhere())
|
|
200
287
|
return;
|
|
201
288
|
const home = await homeOf(project, agentId);
|
|
202
|
-
const
|
|
203
|
-
const agent = projectCwd ? await runOf(projectCwd, agentId) : undefined;
|
|
289
|
+
const agent = home ? await runIn(project, agentId) : undefined;
|
|
204
290
|
if (!home || !agent || relayedAgents.follows(agentId) || elsewhere())
|
|
205
291
|
return;
|
|
206
292
|
// The row starts as the record may say the run is, and the machine's own events take it from there.
|
|
@@ -212,7 +298,29 @@ export function createProjectRuntime({ cwd, env, clone = cloneProject, logins =
|
|
|
212
298
|
machineNames,
|
|
213
299
|
machineRuns,
|
|
214
300
|
followRuns,
|
|
301
|
+
elsewhere: elsewhereProjects,
|
|
302
|
+
elsewhereRuns,
|
|
303
|
+
followElsewhereRuns,
|
|
304
|
+
elsewhereHome: async (project) => {
|
|
305
|
+
const at = await elsewhereAt(project);
|
|
306
|
+
return at && { machine: at.home.machine.id, project: at.home.project };
|
|
307
|
+
},
|
|
308
|
+
bringHere: (address, bring) => bringProject(address, bring),
|
|
309
|
+
machinesQueue,
|
|
310
|
+
forward: async (project, fn, args) => {
|
|
311
|
+
const at = await elsewhereAt(project);
|
|
312
|
+
if (!at)
|
|
313
|
+
throw new Error('That project is no longer listed on any of your computers.');
|
|
314
|
+
return relayRpc(at.target, fn, args);
|
|
315
|
+
},
|
|
215
316
|
};
|
|
317
|
+
// A run of a project by its id, this computer's project or another's.
|
|
318
|
+
async function runIn(project, agentId) {
|
|
319
|
+
if (isElsewhereId(project))
|
|
320
|
+
return (await elsewhereRuns(project)).flatMap(machine => machine.runs).find(run => run.id === agentId);
|
|
321
|
+
const projectCwd = await resolveProject(project);
|
|
322
|
+
return projectCwd ? runOf(projectCwd, agentId) : undefined;
|
|
323
|
+
}
|
|
216
324
|
// The machine side of the relay (#1067 slice 2): run one whitelisted read/steer/handoff RPC against this
|
|
217
325
|
// daemon's own copy of the project the call named, for a daemon that relayed an agent here.
|
|
218
326
|
const onRelayRpc = (project, fn, args) => dispatchRelayRpc(project, fn, args);
|
|
@@ -241,6 +349,10 @@ export function createProjectRuntime({ cwd, env, clone = cloneProject, logins =
|
|
|
241
349
|
return address;
|
|
242
350
|
};
|
|
243
351
|
const projectAt = async (address) => {
|
|
352
|
+
// A project with no address is named by its id here, by the person's other computer that lists it.
|
|
353
|
+
const id = idInLineName(address);
|
|
354
|
+
if (id !== undefined)
|
|
355
|
+
return (await listProjects(undefined, env).catch(() => [])).some(record => record.id === id) ? id : undefined;
|
|
244
356
|
for (const record of await listProjects(undefined, env).catch(() => [])) {
|
|
245
357
|
if ((await addressOf(record.path)) === address)
|
|
246
358
|
return record.id;
|
|
@@ -251,62 +363,19 @@ export function createProjectRuntime({ cwd, env, clone = cloneProject, logins =
|
|
|
251
363
|
// The daemon names no tool and holds nothing about the run: no slot, no cap (a person's click is
|
|
252
364
|
// the brake), no process to stop at shutdown. A project without the line cannot start a run here.
|
|
253
365
|
const onStart = async (prompt, options = {}, targetProjectId) => {
|
|
366
|
+
if (isElsewhereId(targetProjectId))
|
|
367
|
+
return startElsewhere(prompt, options, targetProjectId);
|
|
254
368
|
const projectCwd = await resolveProject(targetProjectId);
|
|
255
369
|
if (!projectCwd)
|
|
256
370
|
return { ok: false, error: `unknown project: ${targetProjectId}` };
|
|
257
371
|
// Run on a saved machine (#1067): forward the start to its daemon, which runs the hook of its
|
|
258
372
|
// own copy of this project, and relay the run's events back. The project is named by its
|
|
259
|
-
// repository's address, the one name both machines have for it.
|
|
260
|
-
// other side does not relay onward, and `base` because a branch of this machine names nothing
|
|
261
|
-
// there (it drops both too).
|
|
373
|
+
// repository's address, the one name both machines have for it.
|
|
262
374
|
if (options.machine !== undefined) {
|
|
263
|
-
const { machine: id, base: _thisMachines, ...forwarded } = options;
|
|
264
|
-
const machine = (await listMachines(undefined, env)).find(saved => saved.id === id);
|
|
265
|
-
if (!machine)
|
|
266
|
-
return { ok: false, error: 'That machine is no longer saved. Pick another place to run.' };
|
|
267
375
|
const project = await repositoryAddress(projectCwd);
|
|
268
376
|
if (!project)
|
|
269
377
|
return { ok: false, error: 'This project has no repository address, so it cannot be sent to another machine.' };
|
|
270
|
-
|
|
271
|
-
// Another person's computer: a run there uses this person's own logins, which this server
|
|
272
|
-
// copies there first. Only a server's OpenAgent copies: a laptop's logins are made for it
|
|
273
|
-
// alone, so a laptop only looks that they are there.
|
|
274
|
-
if (machine.owner !== undefined) {
|
|
275
|
-
// Copied only once the person read that they are, and said OK: the page says so before a first run there.
|
|
276
|
-
if (env.OPENAGENT_SERVER === '1' && machine.told !== true)
|
|
277
|
-
return { ok: false, error: `Your logins are copied to @${machine.owner}'s server for a run there: say OK to that above the message box first.` };
|
|
278
|
-
const there = env.OPENAGENT_SERVER === '1' ? await copyLoginsTo({ ...target, label: machine.label }, { own: () => logins(env) }) : await loginsAreThere({ ...target, label: machine.label });
|
|
279
|
-
if (!there.ok)
|
|
280
|
-
return there;
|
|
281
|
-
}
|
|
282
|
-
const result = await startRemoteAgent(target, { prompt, options: forwarded });
|
|
283
|
-
if (!result.ok) {
|
|
284
|
-
// The one refusal the page can do something about: it has the machine clone the project, and starts again.
|
|
285
|
-
return 'noProject' in result ? { ok: false, error: `${basename(projectCwd)} is not on ${machine.label} yet.`, notThere: true } : result;
|
|
286
|
-
}
|
|
287
|
-
// The run's id is the machine's word, and from here on every call about that id goes to the
|
|
288
|
-
// machine: what the person reads of the run, and what they click and type in its browser.
|
|
289
|
-
// An id that is no run's, or that is a run of this computer's own, is not taken.
|
|
290
|
-
if (!isRunId(result.agentId) || (await findCheckout(projectCwd, result.agentId, projectBranches))) {
|
|
291
|
-
return { ok: false, error: `${machine.label} answered with a run this computer cannot follow.` };
|
|
292
|
-
}
|
|
293
|
-
// A relayed agent has no local checkout or pid, so its list row is a memory-only stub (#1077):
|
|
294
|
-
// registered here so onAgents can show it and a dashboard reload re-opens it. Never written to disk.
|
|
295
|
-
const now = new Date().toISOString();
|
|
296
|
-
const meta = {
|
|
297
|
-
status: 'running',
|
|
298
|
-
id: result.agentId,
|
|
299
|
-
startedAt: now,
|
|
300
|
-
updatedAt: now,
|
|
301
|
-
target: 'remote',
|
|
302
|
-
intent: prompt,
|
|
303
|
-
...onMachine(machine),
|
|
304
|
-
// The machine's word, as the run is: its record, which names the coding agent, never comes here.
|
|
305
|
-
...(typeof result.driver === 'string' && result.driver.length <= MAX_DRIVER_NAME ? { driver: result.driver } : {}),
|
|
306
|
-
};
|
|
307
|
-
relayedAgents.register(result.agentId, target, meta, targetProjectId ?? homeId);
|
|
308
|
-
// Only what was checked goes on to the page, not whatever else the machine answered.
|
|
309
|
-
return { ok: true, agentId: result.agentId, ...(meta.driver !== undefined ? { driver: meta.driver } : {}) };
|
|
378
|
+
return sendToMachine(prompt, options, options.machine, { id: targetProjectId ?? homeId, name: await projectNameOf(projectCwd), address: project, cwd: projectCwd });
|
|
310
379
|
}
|
|
311
380
|
// The branch to start from ends up on the line's command line: only a branch name goes there.
|
|
312
381
|
// Refused, not dropped: a run started from the main branch instead would be a silent swap.
|
|
@@ -338,6 +407,90 @@ export function createProjectRuntime({ cwd, env, clone = cloneProject, logins =
|
|
|
338
407
|
}
|
|
339
408
|
return started.ok ? { ok: true, agentId: started.id, ...(started.driver !== undefined ? { driver: started.driver } : {}) } : { ok: false, error: started.error };
|
|
340
409
|
};
|
|
410
|
+
// Send a start to a saved machine, which runs the hook of its own copy of the project and is
|
|
411
|
+
// followed from here. `machine` is stripped so the other side does not relay onward, and `base`
|
|
412
|
+
// because a branch of this machine names nothing there (it drops both too).
|
|
413
|
+
const sendToMachine = async (prompt, options, id, project) => {
|
|
414
|
+
const { machine: _id, base: _thisMachines, ...forwarded } = options;
|
|
415
|
+
const machine = (await listMachines(undefined, env)).find(saved => saved.id === id);
|
|
416
|
+
if (!machine)
|
|
417
|
+
return { ok: false, error: 'That machine is no longer saved. Pick another place to run.' };
|
|
418
|
+
const target = { url: machine.url, key: machine.key, ...(machine.pin ? { pin: machine.pin } : {}), project: project.address };
|
|
419
|
+
// Another person's computer: a run there uses this person's own logins, which this server
|
|
420
|
+
// copies there first. Only a server's OpenAgent copies: a laptop's logins are made for it
|
|
421
|
+
// alone, so a laptop only looks that they are there.
|
|
422
|
+
if (machine.owner !== undefined) {
|
|
423
|
+
// Copied only once the person read that they are, and said OK: the page says so before a first run there.
|
|
424
|
+
if (env.OPENAGENT_SERVER === '1' && machine.told !== true)
|
|
425
|
+
return { ok: false, error: `Your logins are copied to @${machine.owner}'s server for a run there: say OK to that above the message box first.` };
|
|
426
|
+
const there = env.OPENAGENT_SERVER === '1' ? await copyLoginsTo({ ...target, label: machine.label }, { own: () => logins(env) }) : await loginsAreThere({ ...target, label: machine.label });
|
|
427
|
+
if (!there.ok)
|
|
428
|
+
return there;
|
|
429
|
+
}
|
|
430
|
+
const result = await startRemoteAgent(target, { prompt, options: forwarded });
|
|
431
|
+
if (!result.ok) {
|
|
432
|
+
// The one refusal the page can do something about: it has the machine clone the project, and starts again.
|
|
433
|
+
return 'noProject' in result ? { ok: false, error: `${project.name} is not on ${machine.label} yet.`, notThere: true } : result;
|
|
434
|
+
}
|
|
435
|
+
// The run's id is the machine's word, and from here on every call about that id goes to the
|
|
436
|
+
// machine: what the person reads of the run, and what they click and type in its browser.
|
|
437
|
+
// An id that is no run's, or that is a run of this computer's own, is not taken.
|
|
438
|
+
if (!isRunId(result.agentId) || (project.cwd !== undefined && (await findCheckout(project.cwd, result.agentId, projectBranches)))) {
|
|
439
|
+
return { ok: false, error: `${machine.label} answered with a run this computer cannot follow.` };
|
|
440
|
+
}
|
|
441
|
+
return followSent(result.agentId, result.driver, prompt, machine, target, project.id);
|
|
442
|
+
};
|
|
443
|
+
// A run this computer sent to a machine, followed from here as a run of the project.
|
|
444
|
+
const followSent = (agentId, driver, prompt, machine, target, project) => {
|
|
445
|
+
// A relayed agent has no local checkout or pid, so its list row is a memory-only stub (#1077):
|
|
446
|
+
// registered here so onAgents can show it and a dashboard reload re-opens it. Never written to disk.
|
|
447
|
+
const now = new Date().toISOString();
|
|
448
|
+
const meta = {
|
|
449
|
+
status: 'running',
|
|
450
|
+
id: agentId,
|
|
451
|
+
startedAt: now,
|
|
452
|
+
updatedAt: now,
|
|
453
|
+
target: 'remote',
|
|
454
|
+
intent: prompt,
|
|
455
|
+
...onMachine(machine),
|
|
456
|
+
// The machine's word, as the run is: its record, which names the coding agent, never comes here.
|
|
457
|
+
...(typeof driver === 'string' && driver.length <= MAX_DRIVER_NAME ? { driver } : {}),
|
|
458
|
+
};
|
|
459
|
+
relayedAgents.register(agentId, target, meta, project);
|
|
460
|
+
// Only what was checked goes on to the page, not whatever else the machine answered.
|
|
461
|
+
return { ok: true, agentId, ...(meta.driver !== undefined ? { driver: meta.driver } : {}) };
|
|
462
|
+
};
|
|
463
|
+
// A project only another computer of the person's has (elsewhere.ts). On that computer, the run
|
|
464
|
+
// starts there as its own page starts one: in the project as it stands there, from the branch
|
|
465
|
+
// picked among its own. On this computer, in its copy here once there is one: the page has it
|
|
466
|
+
// cloned when there is none, and is told the project the run started in. On any other, as a
|
|
467
|
+
// project of this computer's is sent there, by its address.
|
|
468
|
+
const startElsewhere = async (prompt, options, id) => {
|
|
469
|
+
const at = await elsewhereAt(id);
|
|
470
|
+
if (!at)
|
|
471
|
+
return { ok: false, error: 'That project is no longer listed on any of your computers.' };
|
|
472
|
+
const { home, target } = at;
|
|
473
|
+
const { address, name } = home.project;
|
|
474
|
+
if (options.machine === home.machine.id) {
|
|
475
|
+
const { machine: _there, ...there } = options;
|
|
476
|
+
const said = await relayRpc(target, 'sendStart', [null, prompt, there]).then(answer => answer, (err) => ({ ok: false, error: `could not reach ${home.machine.label}: ${err instanceof Error ? err.message : String(err)}` }));
|
|
477
|
+
if (!said.ok)
|
|
478
|
+
return { ok: false, error: typeof said.error === 'string' ? said.error : `${home.machine.label} did not start the run.` };
|
|
479
|
+
if (!isRunId(said.agentId))
|
|
480
|
+
return { ok: false, error: `${home.machine.label} answered with a run this computer cannot follow.` };
|
|
481
|
+
return followSent(said.agentId, said.driver, prompt, home.machine, target, id);
|
|
482
|
+
}
|
|
483
|
+
if (address === undefined)
|
|
484
|
+
return { ok: false, error: `${name} has no repository address, so it runs on ${home.machine.label} only.` };
|
|
485
|
+
if (options.machine === undefined) {
|
|
486
|
+
const here = await projectAt(address);
|
|
487
|
+
if (here === undefined)
|
|
488
|
+
return { ok: false, error: `${name} is not on this computer yet.`, notThere: true };
|
|
489
|
+
const started = await onStart(prompt, options, here);
|
|
490
|
+
return started.ok ? { ...started, projectId: here } : started;
|
|
491
|
+
}
|
|
492
|
+
return sendToMachine(prompt, options, options.machine, { id, name, address });
|
|
493
|
+
};
|
|
341
494
|
// Add a project (#396): install the repo, then register it so it appears in the Projects
|
|
342
495
|
// list. installProject is idempotent (an already-activated repo is a no-op success). `share`
|
|
343
496
|
// is the person's answer on the agents' records, written before the project is registered:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-runtime.js","sourceRoot":"","sources":["../src/daemon-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon-runtime.js","sourceRoot":"","sources":["../src/daemon-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAqC,MAAM,kBAAkB,CAAA;AACpL,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIlD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAA2D,MAAM,2BAA2B,CAAA;AACxK,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,IAAI,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAuC,MAAM,0BAA0B,CAAA;AACnN,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAsB,MAAM,sCAAsC,CAAA;AAGlH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAoB,MAAM,6BAA6B,CAAA;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAkB,MAAM,4BAA4B,CAAA;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAwC,MAAM,eAAe,CAAA;AACxM,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAE/D;;;;;GAKG;AAEH,2FAA2F;AAC3F,MAAM,eAAe,GAAG,MAAM,CAAA;AAE9B,0FAA0F;AAC1F,MAAM,eAAe,GAAG,EAAE,CAAA;AAE1B,uEAAuE;AACvE,MAAM,mBAAmB,GAAG,MAAM,CAAA;AAClC,iHAAiH;AACjH,MAAM,YAAY,GAAG,KAAK,CAAA;AAC1B,uFAAuF;AACvF,MAAM,YAAY,GAAG,MAAM,CAAA;AAC3B,+IAA+I;AAC/I,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;AACpC,sEAAsE;AACtE,MAAM,SAAS,GAAG,KAAK,CAAA;AACvB,qIAAqI;AACrI,MAAM,aAAa,GAAG,KAAK,CAAA;AAC3B,uJAAuJ;AACvJ,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAE/B,sIAAsI;AACtI,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAC/B,wIAAwI;AACxI,MAAM,cAAc,GAAG,MAAM,CAAA;AAE7B,wGAAwG;AACxG,MAAM,UAAU,GAAG,CAAC,CAAA;AACpB,sEAAsE;AACtE,MAAM,QAAQ,GAAG,EAAE,CAAA;AACnB,oGAAoG;AACpG,MAAM,UAAU,GAAG,GAAG,CAAA;AAsDtB;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,YAAY,EAAE,MAAM,GAAG,SAAS,EAAyB;IAChH,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACtC,kGAAkG;IAClG,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;IACzC,iGAAiG;IACjG,gGAAgG;IAChG,4FAA4F;IAC5F,gGAAgG;IAChG,IAAI,QAAQ,GAAoB,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACvC,IAAI,MAAiC,CAAA;IACrC,MAAM,QAAQ,GAAG,CAAC,OAAwB,EAAiB,EAAE,CAC3D,CAAC,MAAM,KAAK,OAAO,CAAC,GAAG,CACrB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;QAC1B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAsB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChF,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;IAC7F,CAAC,CAAC,CACH,CAAC,IAAI,CACJ,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,EAC/B,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAChC,CAAC,CAAA;IACJ,MAAM,YAAY,GAAG,KAAK,IAAyD,EAAE;QACnF,iIAAiI;QACjI,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;QAClH,MAAM,IAAI,EAAE,CAAA;QACZ,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC;gBAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACrG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAA;QACnI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC3G,MAAM,IAAI,EAAE,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,EAAE;YACZ,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;YAC/B,OAAO,OAAO,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAA;QAC9D,CAAC,CAAA;IACH,CAAC,CAAA;IACD,6FAA6F;IAC7F,MAAM,SAAS,GAAG,CAAC,IAAY,EAA6B,EAAE;QAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAC/D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClD,CAAC,CAAA;IAED,8FAA8F;IAC9F,4FAA4F;IAC5F,2FAA2F;IAC3F,MAAM,OAAO,GAAG,CAAC,GAAW,EAA6B,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IACzG,MAAM,eAAe,GAAG,IAAI,eAAe,CACzC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAA;QAC/E,sGAAsG;QACtG,OAAO,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC,CAAA;IACjM,CAAC,EACD,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,KAAK;YAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACrE,CAAC,CACF,CAAA;IACD,qHAAqH;IACrH,oHAAoH;IACpH,MAAM,MAAM,GAAG,KAAK,EAAE,OAAe,EAAE,IAAI,GAAwC,GAAG,EAAE,CAAC,IAAI,EAA0B,EAAE;QACvH,MAAM,YAAY,EAAE,CAAA;QACpB,6GAA6G;QAC7G,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACtP,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACnE,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAA0B,EAAE;QACjE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,KAAK,EAAE,EAAU,EAA0B,EAAE;QACjE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;QAChC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5F,CAAC,CAAA;IACD,2FAA2F;IAC3F,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,OAAmB,EAAgB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IACzI,MAAM,mBAAmB,GAAG,CAAC,EAAU,EAAE,OAAmB,EAAgB,EAAE,CAC5E,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IACjG,MAAM,QAAQ,GAAG,CAAC,OAA0C,EAAE,IAAkC,EAAE,OAAmB,EAAgB,EAAE;QACrI,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,IAAI,aAAuC,CAAA;QAC3C,KAAK,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO;gBAAE,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3F,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,GAAS,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACpD,IAAI,EAAE,CAAA;QACN,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;QACjD,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,IAAI,CAAA;YACd,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,aAAa,EAAE,EAAE,CAAA;QACnB,CAAC,CAAA;IACH,CAAC,CAAA;IACD,kGAAkG;IAClG,kGAAkG;IAClG,4GAA4G;IAC5G,oGAAoG;IACpG,2CAA2C;IAC3C,MAAM,WAAW,GAAG,KAAK,IAA8B,EAAE,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;IACnK,MAAM,aAAa,GAAG,IAAI,gBAAgB,CACxC,KAAK,EAAC,OAAO,EAAC,EAAE;QACd,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAC/E,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CACvE,CAAA;IACD,MAAM,iBAAiB,GAAG,KAAK,IAA+B,EAAE;QAC9D,IAAI,YAAY,EAAE,KAAK,SAAS;YAAE,OAAO,EAAE,CAAA;QAC3C,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,WAAW,EAAE,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAA;QAC/B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/H,OAAO,cAAc,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC/G,CAAC,CAAA;IACD,iGAAiG;IACjG,kGAAkG;IAClG,iFAAiF;IACjF,MAAM,WAAW,GAAG,IAAI,WAAW,CAA8C,KAAK,EAAC,OAAO,EAAC,EAAE;QAC/F,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,EAAE,cAAc,CAAC,CAAA;QACjF,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,KAAK,IAA4B,EAAE;QACvD,IAAI,YAAY,EAAE,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QACjE,MAAM,GAAG,GAAG,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxF,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjH,oIAAoI;QACpI,MAAM,KAAK,GAAG,CAAC,OAAsB,EAAE,OAAmB,EAAU,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAA;QACjI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;QACxC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACnF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5J,MAAM,KAAK,GAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QACrD,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,CAAC,MAAc,EAAsB,EAAE;gBACpD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;gBAChE,OAAO,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;YACvD,CAAC,CAAA;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACpC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;;gBAC9G,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAClG,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,8EAA8E;IAC9E,MAAM,WAAW,GAAG,KAAK,EAAE,EAAU,EAAqF,EAAE;QAC1H,IAAI,YAAY,EAAE,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QAClD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QACrD,OAAO,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAA;IAC9K,CAAC,CAAA;IAED,gGAAgG;IAChG,+CAA+C;IAC/C,MAAM,KAAK,GAAG,KAAK,EAAE,IAAY,EAAE,OAAe,EAAkC,EAAE,CACpF,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;IAEvJ,8FAA8F;IAC9F,iGAAiG;IACjG,0FAA0F;IAC1F,wCAAwC;IACxC,8FAA8F;IAC9F,2FAA2F;IAC3F,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6E,CAAA;IAClG,MAAM,MAAM,GAAG,KAAK,EAAE,OAAe,EAAE,OAAe,EAAgE,EAAE;QACtH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAA;QACvC,4DAA4D;QAC5D,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACrC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAClE,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,OAAO,EAAE,CAAA;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC,IAAI,CAAA;QACrD,MAAM,IAAI,GAAG,CAAC,IAAyD,EAAE,KAAa,EAAe,EAAE;YACrG,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS;gBAAE,KAAK,CAAC,KAAK,EAAE,CAAA;YAC1C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAA;YACxE,OAAO,IAAI,CAAA;QACb,CAAC,CAAA;QACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvE,0DAA0D;QAC1D,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAA;QAC3C,2GAA2G;QAC3G,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAAE,OAAO,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QAC7F,MAAM,YAAY,EAAE,CAAA;QACpB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACjE,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAC3E,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC,CAAA;IACrK,CAAC,CAAA;IAED,0GAA0G;IAC1G,0GAA0G;IAC1G,MAAM,YAAY,GAAiB;QACjC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QACpE,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QAChD,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1C,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACvB,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YAClC,KAAK,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM;QACpH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YACjC,0GAA0G;YAC1G,MAAM,SAAS,GAAG,GAAY,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,SAAS,CAAA;YACpI,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;gBAAE,OAAM;YACzD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC9D,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;gBAAE,OAAM;YAC5E,oGAAoG;YACpG,sFAAsF;YACtF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;YACrD,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QACxJ,CAAC;QACD,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9C,YAAY;QACZ,WAAW;QACX,UAAU;QACV,SAAS,EAAE,iBAAiB;QAC5B,aAAa;QACb,mBAAmB;QACnB,aAAa,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YAC7B,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QACxE,CAAC;QACD,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;QAC3D,aAAa;QACb,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YACnC,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;YACrC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;YACtF,OAAO,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;QACtC,CAAC;KACF,CAAA;IACD,sEAAsE;IACtE,KAAK,UAAU,KAAK,CAAC,OAAe,EAAE,OAAe;QACnD,IAAI,aAAa,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;QAClI,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5D,CAAC;IACD,yGAAyG;IACzG,4FAA4F;IAC5F,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAU,EAAE,IAAe,EAAoB,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAE1H,iFAAiF;IACjF,uDAAuD;IACvD,MAAM,cAAc,GAAG,KAAK,EAAE,EAAsB,EAA+B,EAAE;QACnF,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,MAAM;YAAE,OAAO,GAAG,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAClE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAA;IACvD,CAAC,CAAA;IAED,gGAAgG;IAChG,iGAAiG;IACjG,8FAA8F;IAC9F,qFAAqF;IACrF,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8C,CAAA;IACvE,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAA+B,EAAE;QACpE,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC,OAAO,CAAA;QACxD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;;YAC5C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;QAC1E,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,KAAK,EAAE,OAAe,EAA+B,EAAE;QACvE,mGAAmG;QACnG,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACnI,KAAK,MAAM,MAAM,IAAI,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,OAAO;gBAAE,OAAO,MAAM,CAAC,EAAE,CAAA;QAClE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAA;IAED,gGAAgG;IAChG,iGAAiG;IACjG,kGAAkG;IAClG,MAAM,OAAO,GAAG,KAAK,EAAE,MAAc,EAAE,OAAO,GAAsB,EAAE,EAAE,eAAwB,EAA6B,EAAE;QAC7H,IAAI,aAAa,CAAC,eAAe,CAAC;YAAE,OAAO,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;QAC3F,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,eAAe,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,eAAe,EAAE,EAAE,CAAA;QACnF,8FAA8F;QAC9F,yFAAyF;QACzF,gEAAgE;QAChE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAA;YACnD,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kFAAkF,EAAE,CAAA;YAC7H,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,IAAI,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QACrK,CAAC;QACD,8FAA8F;QAC9F,2FAA2F;QAC3F,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;QACxI,8FAA8F;QAC9F,8FAA8F;QAC9F,0FAA0F;QAC1F,sCAAsC;QACtC,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACpK,4FAA4F;QAC5F,oEAAoE;QACpE,MAAM,OAAO,GAAG,CAAC,MAAM,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAA;QACzG,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE;YAC7C,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACtC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAA;QACF,2FAA2F;QAC3F,qFAAqF;QACrF,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACf,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;YACnC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;IAClK,CAAC,CAAA;IAED,6FAA6F;IAC7F,gGAAgG;IAChG,4EAA4E;IAC5E,MAAM,aAAa,GAAG,KAAK,EAAE,MAAc,EAAE,OAA0B,EAAE,EAAU,EAAE,OAAoE,EAA6B,EAAE;QACtL,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAA;QACnE,MAAM,OAAO,GAAG,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACnF,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAA;QACxG,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;QAC7H,0FAA0F;QAC1F,0FAA0F;QAC1F,qDAAqD;QACrD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,0GAA0G;YAC1G,IAAI,GAAG,CAAC,gBAAgB,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,OAAO,CAAC,KAAK,wEAAwE,EAAE,CAAA;YAC3M,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;YAC5L,IAAI,CAAC,KAAK,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAA;QAC7B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;QAC7E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,2GAA2G;YAC3G,OAAO,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,cAAc,OAAO,CAAC,KAAK,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QACjI,CAAC;QACD,4FAA4F;QAC5F,0FAA0F;QAC1F,iFAAiF;QACjF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YAClI,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,mDAAmD,EAAE,CAAA;QAClG,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACvF,CAAC,CAAA;IAED,qFAAqF;IACrF,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,MAAe,EAAE,MAAc,EAAE,OAAsB,EAAE,MAAoB,EAAE,OAAe,EAAoB,EAAE;QACvJ,+FAA+F;QAC/F,qGAAqG;QACrG,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpC,MAAM,IAAI,GAAc;YACtB,MAAM,EAAE,SAAS;YACjB,EAAE,EAAE,OAAO;YACX,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,MAAM;YACd,GAAG,SAAS,CAAC,OAAO,CAAC;YACrB,iGAAiG;YACjG,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtF,CAAA;QACD,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACtD,qFAAqF;QACrF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IAC7F,CAAC,CAAA;IAED,gGAAgG;IAChG,8FAA8F;IAC9F,8FAA8F;IAC9F,4FAA4F;IAC5F,4DAA4D;IAC5D,MAAM,cAAc,GAAG,KAAK,EAAE,MAAc,EAAE,OAA0B,EAAE,EAAU,EAA6B,EAAE;QACjH,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4DAA4D,EAAE,CAAA;QAClG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QAC3B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QACtC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAA;YAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAC1E,MAAM,CAAC,EAAE,CAAC,MAA0B,EACpC,CAAC,GAAY,EAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CACzJ,CAAA;YACD,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,yBAAyB,EAAE,CAAA;YACvI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,mDAAmD,EAAE,CAAA;YACjI,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QAChF,CAAC;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,6CAA6C,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAA;QACtI,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;YACrC,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;YAC3G,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;YACpD,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;QAC/D,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/E,CAAC,CAAA;IAED,yFAAyF;IACzF,6FAA6F;IAC7F,2FAA2F;IAC3F,gEAAgE;IAChE,MAAM,YAAY,GAAG,KAAK,EAAE,IAAY,EAAE,KAAc,EAA6B,EAAE;QACrF,gFAAgF;QAChF,4EAA4E;QAC5E,yEAAyE;QACzE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;QAC3E,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8CAA8C,GAAG,EAAE,EAAE,CAAA;QAC5F,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;QACzD,wFAAwF;QACxF,wFAAwF;QACxF,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3I,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QAC/D,8FAA8F;QAC9F,6FAA6F;QAC7F,wFAAwF;QACxF,KAAK,MAAM,MAAM,IAAI,MAAM,cAAc,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,MAAM,MAAM,EAAE,CAAC,CAAA;QACzG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC/E,2FAA2F;QAC3F,8EAA8E;QAC9E,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,KAAK,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACnI,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,EAAE,MAAc,EAA4B,EAAE;QACrE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAC5B,MAAM,OAAO,GAAG,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;QAClJ,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC7C,IAAI,CAAC,KAAK,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAA;QAC7B,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,CAAA;QACzC,6FAA6F;QAC7F,4FAA4F;QAC5F,6EAA6E;QAC7E,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACjE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACxJ,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAA;IACpI,CAAC,CAAA;IAED,gGAAgG;IAChG,8FAA8F;IAC9F,+FAA+F;IAC/F,+FAA+F;IAC/F,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAA;IACpD,MAAM,YAAY,GAAG,KAAK,EAAE,OAAe,EAAE,KAAoB,EAAyB,EAAE;QAC1F,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAChF,IAAI,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QACvE,wFAAwF;QACxF,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;QAC3G,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;QAC9D,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;QAC1G,6FAA6F;QAC7F,2FAA2F;QAC3F,qFAAqF;QACrF,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,iCAAiC,EAAE,CAAA;QAC1I,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;QACpG,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;QACrF,IAAI,MAAM,IAAI,UAAU;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,sEAAsE,EAAE,CAAA;QACnI,oGAAoG;QACpG,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM;YAAE,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrH,MAAM,KAAK,GAAuB,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAC1B,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YAC/E,IAAI,KAAK,CAAC,EAAE;gBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;;gBAC/B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACrD,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC1B,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACvF,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IAC5B,CAAC,CAAA;IAED,+FAA+F;IAC/F,6FAA6F;IAC7F,MAAM,eAAe,GAAG,KAAK,EAAE,EAAU,EAAE,KAAK,GAAG,KAAK,EAAgC,EAAE;QACxF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAA;QAClF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;QAClF,IAAI,IAAI,EAAE,CAAC;YACT,yEAAyE;YACzE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACpC,0FAA0F;YAC1F,kFAAkF;YAClF,MAAM,OAAO,GAAG,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACrE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CACrH,CAAA;YACD,IAAI,OAAO;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wEAAwE,EAAE,CAAA;YAClH,2FAA2F;YAC3F,yFAAyF;YACzF,MAAM,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACnE,CAAC;QACD,MAAM,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;QACvC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;QACxC,2FAA2F;QAC3F,4FAA4F;QAC5F,wDAAwD;QACxD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACpD,IAAI,aAAiC,CAAA;QACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,UAAU;gBAAE,aAAa,GAAG,KAAK,CAAC,IAAI,CAAA;QAClI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,CAAA;QACxE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC9B,CAAC,CAAA;IAED,uGAAuG;IACvG,2FAA2F;IAC3F,MAAM,kBAAkB,GAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAEtG,8FAA8F;IAC9F,8FAA8F;IAC9F,oFAAoF;IACpF,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,OAAwC,EAAgB,EAAE,CACnH,eAAe,CACb,KAAK,IAAI,EAAE;QACT,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;QAChD,OAAO,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACxE,CAAC,EACD,IAAI,CAAC,EAAE;QACL,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC,CACF,CAAA;IAEH,+FAA+F;IAC/F,gGAAgG;IAChG,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAe,EAAE,OAAe,EAA+B,EAAE;QACvF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;QAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACpH,OAAO,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACrG,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACxC,aAAa,CAAC,OAAO,EAAE,CAAA;QACvB,eAAe,CAAC,IAAI,EAAE,CAAA;IACxB,CAAC,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;AAC3K,CAAC"}
|
package/dist/daemon.js
CHANGED
|
@@ -19,7 +19,7 @@ import { setOpenagentVersion } from './version.js';
|
|
|
19
19
|
import { personLogins } from './dashboard/copy-logins.js';
|
|
20
20
|
import { startLoginsSync } from './dashboard/logins-sync.js';
|
|
21
21
|
import { runComputerCommand } from './dashboard-rpc/modules.js';
|
|
22
|
-
import { dispatchMachineRpc } from './dashboard-rpc/relay-dispatch.js';
|
|
22
|
+
import { dispatchMachineRpc, isRelayReadCall } from './dashboard-rpc/relay-dispatch.js';
|
|
23
23
|
/**
|
|
24
24
|
* The dashboard process (#302). It is a pure projection of files: a run's tool keeps the run's
|
|
25
25
|
* card and diary in the run's checkout, and the dashboard *tails* them, pushing each new line to
|
|
@@ -106,7 +106,7 @@ export async function runDaemon(cwd, opts = {}) {
|
|
|
106
106
|
remote: runtime.remoteAgents,
|
|
107
107
|
// A person's own OpenAgent on a computer several people use keeps their logins there: another
|
|
108
108
|
// OpenAgent of theirs hands them over through the relay.
|
|
109
|
-
relay: { project: runtime.projectAt, tailEvents: runtime.tailRelayEvents, rpc: runtime.onRelayRpc, machine: dispatchMachineRpc, bring: runtime.bringProject, ...(env.OPENAGENT_PERSON ? { logins: personLogins(runComputerCommand) } : {}) },
|
|
109
|
+
relay: { project: runtime.projectAt, tailEvents: runtime.tailRelayEvents, rpc: runtime.onRelayRpc, reads: isRelayReadCall, machine: dispatchMachineRpc, bring: runtime.bringProject, ...(env.OPENAGENT_PERSON ? { logins: personLogins(runComputerCommand) } : {}) },
|
|
110
110
|
screen: runtime.screenOf,
|
|
111
111
|
// The browser bridge (#1237): absent unless the preference is on, which 404s every route.
|
|
112
112
|
...(bridgeToken ? { bridgeToken, bridgeSessions: () => listBridgeSessions(env) } : {}),
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAkB,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAoB,MAAM,eAAe,CAAA;AAC9J,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAiD,MAAM,qBAAqB,CAAA;AAC7I,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,oBAAoB,EAAqD,MAAM,uBAAuB,CAAA;AACxI,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,8 @@ export interface Activity {
|
|
|
22
22
|
}
|
|
23
23
|
/** Injectable seam so {@link buildActivity} is unit-testable off disk. */
|
|
24
24
|
export interface ActivityDeps {
|
|
25
|
-
/** A project's runs, live prepended to the archived history, newest-first
|
|
26
|
-
readAgents?: (
|
|
25
|
+
/** A project's runs, live prepended to the archived history, newest-first: off its folder by default, as its computer says them for another computer's. */
|
|
26
|
+
readAgents?: (project: ProjectSummary) => Promise<AgentMeta[]>;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Build the cross-project activity feed: for each registered project's most recent agents, one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/dashboard/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAcvC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,0FAA0F;IAC1F,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;IAC5B,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uGAAuG;IACvG,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/dashboard/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAKnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAcvC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,0FAA0F;IAC1F,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;IAC5B,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uGAAuG;IACvG,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,2JAA2J;IAC3J,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;CAC/D;AAgBD;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,cAAc,EAAE,EAC1B,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAYnC"}
|
|
@@ -39,11 +39,11 @@ function activityFor(project, agent) {
|
|
|
39
39
|
* (finished) — one quick agent, one line.
|
|
40
40
|
*/
|
|
41
41
|
export async function buildActivity(projects, deps = {}) {
|
|
42
|
-
const readAgents = deps.readAgents ?? readAllAgents;
|
|
42
|
+
const readAgents = deps.readAgents ?? (project => readAllAgents(project.path));
|
|
43
43
|
const items = [];
|
|
44
44
|
const whole = [];
|
|
45
45
|
for (const project of projects) {
|
|
46
|
-
const read = await readAgents(project
|
|
46
|
+
const read = await readAgents(project).catch(() => undefined);
|
|
47
47
|
if (!read)
|
|
48
48
|
continue;
|
|
49
49
|
whole.push(project.id);
|