@onepointfour-packs/flaredeck-agent 0.2.76 → 0.2.78
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/agent.d.ts +16 -0
- package/dist/agent.js +49 -1
- package/dist/agent.js.map +1 -1
- package/dist/environment.d.ts +2 -0
- package/dist/environment.js +21 -0
- package/dist/environment.js.map +1 -1
- package/dist/jevguard.d.ts +15 -0
- package/dist/jevguard.js +44 -3
- package/dist/jevguard.js.map +1 -1
- package/dist/machine.d.ts +29 -0
- package/dist/machine.js +99 -0
- package/dist/machine.js.map +1 -0
- package/dist/main.js +13 -1
- package/dist/main.js.map +1 -1
- package/dist/remote-exec.d.ts +28 -0
- package/dist/remote-exec.js +127 -0
- package/dist/remote-exec.js.map +1 -0
- package/dist/serve.d.ts +11 -0
- package/dist/serve.js +51 -4
- package/dist/serve.js.map +1 -1
- package/dist/status.d.ts +3 -1
- package/dist/status.js +4 -2
- package/dist/status.js.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -878,7 +878,7 @@ async function cmdServe(argv) {
|
|
|
878
878
|
async function main() {
|
|
879
879
|
const [, , first, ...rest] = process.argv;
|
|
880
880
|
// No arguments, or straight into flags: serve. A bare `flaredeck-agent` is the normal case.
|
|
881
|
-
const known = ['login', 'logout', 'whoami', 'start', 'serve', 'run', 'approvals', 'providers', 'secret', 'intake', 'signin', 'help'];
|
|
881
|
+
const known = ['login', 'logout', 'whoami', 'start', 'serve', 'run', 'approvals', 'providers', 'secret', 'intake', 'signin', 'remote', 'help'];
|
|
882
882
|
// Other MCP servers this machine's agents may use: Cnjure for a card's design, Sceneflo for
|
|
883
883
|
// driving a browser through a story. Separate from `login`, because these are per machine and
|
|
884
884
|
// most machines want none of them.
|
|
@@ -915,6 +915,18 @@ async function main() {
|
|
|
915
915
|
return cmdApprovals(argv);
|
|
916
916
|
if (command === 'providers')
|
|
917
917
|
return cmdProviders(argv);
|
|
918
|
+
// Whether the workspace's manager may run commands on THIS machine. A local switch on purpose:
|
|
919
|
+
// FlareDeck cannot turn it back on.
|
|
920
|
+
if (command === 'remote') {
|
|
921
|
+
const { remoteIsOff, setRemote } = await import('./remote-exec.js');
|
|
922
|
+
const want = argv.find((a) => a === 'on' || a === 'off');
|
|
923
|
+
if (want)
|
|
924
|
+
setRemote(want === 'on');
|
|
925
|
+
say(remoteIsOff()
|
|
926
|
+
? 'Remote commands are OFF on this machine: the workspace manager cannot run anything here. (flaredeck-agent remote on)'
|
|
927
|
+
: 'Remote commands are ON: the workspace manager can run commands here as this user. (flaredeck-agent remote off)');
|
|
928
|
+
return;
|
|
929
|
+
}
|
|
918
930
|
if (command === 'secret')
|
|
919
931
|
return cmdSecret(argv);
|
|
920
932
|
if (command === 'intake')
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Kept of each stream — the tail, because the end of a long log is where the news is. */
|
|
2
|
+
export declare const MAX_OUTPUT_CHARS = 60000;
|
|
3
|
+
export declare const remoteOffFile: (dir?: string) => string;
|
|
4
|
+
export declare const remoteIsOff: (dir?: string) => boolean;
|
|
5
|
+
export declare function setRemote(on: boolean, dir?: string): void;
|
|
6
|
+
export type ExecResult = {
|
|
7
|
+
exitCode: number | null;
|
|
8
|
+
stdout: string;
|
|
9
|
+
stderr: string;
|
|
10
|
+
truncated: boolean;
|
|
11
|
+
};
|
|
12
|
+
/** Run one command with `bash -lc`, bounded in time and in what is kept of its output. */
|
|
13
|
+
export declare function runCommand(command: string, cwd: string, timeoutSec: number, max?: number): Promise<ExecResult>;
|
|
14
|
+
type Api = (path: string, body?: unknown) => Promise<{
|
|
15
|
+
status: number;
|
|
16
|
+
body: any;
|
|
17
|
+
}>;
|
|
18
|
+
/** FlareDeck's exec routes, called as this agent. */
|
|
19
|
+
export declare function execApi(mcpUrl: string, tenantId: string, auth: () => Promise<string>): Api;
|
|
20
|
+
/**
|
|
21
|
+
* Claim request `id`, run it, post the result. Never throws: whatever goes wrong is logged here
|
|
22
|
+
* and, where it can be, reported as the result so the manager is not left waiting on silence.
|
|
23
|
+
*/
|
|
24
|
+
export declare function handleExec(id: string, api: Api, cwd: string, log: (text: string, warn?: boolean) => void, opts?: {
|
|
25
|
+
off?: () => boolean;
|
|
26
|
+
run?: typeof runCommand;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A command from the workspace's manager, run on this machine — docs/spec-manager-role.md §9.
|
|
3
|
+
*
|
|
4
|
+
* The manager's tool files a request in FlareDeck and an `exec` event wakes this harness. The
|
|
5
|
+
* event carries only an id: the command is CLAIMED from FlareDeck with this agent's own token,
|
|
6
|
+
* so nothing that can merely write to this agent's queue can make this machine run something,
|
|
7
|
+
* and a request is run once. It runs as this agent's user, in this agent's folder, with none of
|
|
8
|
+
* the agent's own guards — it is the manager's command, judged by the manager's rules before it
|
|
9
|
+
* was sent. The output goes back to FlareDeck, which keeps it as the record.
|
|
10
|
+
*
|
|
11
|
+
* Handled where the event arrives, not in the turn queue: a manager looking at a machine must not
|
|
12
|
+
* wait behind a forty-minute turn.
|
|
13
|
+
*
|
|
14
|
+
* THE MACHINE CAN SAY NO. `flaredeck-agent remote off` writes a file here, and while it exists
|
|
15
|
+
* every request is refused with that reason. FlareDeck cannot remove it.
|
|
16
|
+
*/
|
|
17
|
+
import { spawn } from 'node:child_process';
|
|
18
|
+
import { existsSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
19
|
+
import { dirname, join } from 'node:path';
|
|
20
|
+
import { configDir } from './config.js';
|
|
21
|
+
/** Kept of each stream — the tail, because the end of a long log is where the news is. */
|
|
22
|
+
export const MAX_OUTPUT_CHARS = 60_000;
|
|
23
|
+
export const remoteOffFile = (dir = configDir()) => join(dir, 'remote-off');
|
|
24
|
+
export const remoteIsOff = (dir) => existsSync(remoteOffFile(dir));
|
|
25
|
+
export function setRemote(on, dir) {
|
|
26
|
+
const f = remoteOffFile(dir);
|
|
27
|
+
if (on)
|
|
28
|
+
rmSync(f, { force: true });
|
|
29
|
+
else {
|
|
30
|
+
mkdirSync(dirname(f), { recursive: true });
|
|
31
|
+
writeFileSync(f, `off since ${new Date().toISOString()}\n`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** Run one command with `bash -lc`, bounded in time and in what is kept of its output. */
|
|
35
|
+
export function runCommand(command, cwd, timeoutSec, max = MAX_OUTPUT_CHARS) {
|
|
36
|
+
return new Promise((resolve) => {
|
|
37
|
+
let out = '';
|
|
38
|
+
let err = '';
|
|
39
|
+
let cut = false;
|
|
40
|
+
let timedOut = false;
|
|
41
|
+
// Its own process group, so a timeout stops what the command started and not only bash.
|
|
42
|
+
const child = spawn('bash', ['-lc', command], { cwd, detached: true, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
43
|
+
const keep = (have, more) => {
|
|
44
|
+
const next = have + more.toString('utf8');
|
|
45
|
+
if (next.length <= max * 2)
|
|
46
|
+
return next;
|
|
47
|
+
cut = true;
|
|
48
|
+
return next.slice(-max);
|
|
49
|
+
};
|
|
50
|
+
child.stdout.on('data', (d) => { out = keep(out, d); });
|
|
51
|
+
child.stderr.on('data', (d) => { err = keep(err, d); });
|
|
52
|
+
const kill = (sig) => { try {
|
|
53
|
+
process.kill(-child.pid, sig);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
try {
|
|
57
|
+
child.kill(sig);
|
|
58
|
+
}
|
|
59
|
+
catch { /* gone */ }
|
|
60
|
+
} };
|
|
61
|
+
const timer = setTimeout(() => {
|
|
62
|
+
timedOut = true;
|
|
63
|
+
kill('SIGTERM');
|
|
64
|
+
setTimeout(() => kill('SIGKILL'), 3000).unref();
|
|
65
|
+
}, Math.max(1, timeoutSec) * 1000);
|
|
66
|
+
const done = (code, note = '') => {
|
|
67
|
+
clearTimeout(timer);
|
|
68
|
+
const tail = (s) => { if (s.length > max) {
|
|
69
|
+
cut = true;
|
|
70
|
+
return s.slice(-max);
|
|
71
|
+
} return s; };
|
|
72
|
+
resolve({
|
|
73
|
+
exitCode: timedOut ? 124 : code,
|
|
74
|
+
stdout: tail(out),
|
|
75
|
+
stderr: tail(err + (timedOut ? `\n[stopped after ${timeoutSec}s]` : '') + note),
|
|
76
|
+
truncated: cut,
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
child.on('error', (e) => done(127, `\n[could not start: ${e.message}]`));
|
|
80
|
+
child.on('close', (code) => done(code));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/** FlareDeck's exec routes, called as this agent. */
|
|
84
|
+
export function execApi(mcpUrl, tenantId, auth) {
|
|
85
|
+
const origin = new URL(mcpUrl).origin;
|
|
86
|
+
return async (path, body) => {
|
|
87
|
+
const res = await fetch(`${origin}/api/v1/${encodeURIComponent(tenantId)}/exec/${path}`, {
|
|
88
|
+
method: 'POST',
|
|
89
|
+
headers: { authorization: `Bearer ${await auth()}`, 'content-type': 'application/json' },
|
|
90
|
+
body: JSON.stringify(body ?? {}),
|
|
91
|
+
signal: AbortSignal.timeout(30_000),
|
|
92
|
+
});
|
|
93
|
+
return { status: res.status, body: await res.json().catch(() => undefined) };
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Claim request `id`, run it, post the result. Never throws: whatever goes wrong is logged here
|
|
98
|
+
* and, where it can be, reported as the result so the manager is not left waiting on silence.
|
|
99
|
+
*/
|
|
100
|
+
export async function handleExec(id, api, cwd, log, opts = {}) {
|
|
101
|
+
const off = opts.off ?? (() => remoteIsOff());
|
|
102
|
+
const run = opts.run ?? runCommand;
|
|
103
|
+
try {
|
|
104
|
+
const claimed = await api(`${encodeURIComponent(id)}/claim`);
|
|
105
|
+
if (claimed.status !== 200) {
|
|
106
|
+
log(`remote command ${id}: not run — ${claimed.body?.message ?? `HTTP ${claimed.status}`}`, true);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const { command, timeout_sec: timeoutSec, by } = claimed.body;
|
|
110
|
+
const first = String(command).split('\n')[0].slice(0, 120);
|
|
111
|
+
if (off()) {
|
|
112
|
+
log(`${by} asked to run a command here and this machine has remote commands switched off: ${first}`, true);
|
|
113
|
+
await api(`${encodeURIComponent(id)}/result`, { refusal: 'remote commands are switched off on this machine (flaredeck-agent remote off)' });
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
log(`${by} (manager) is running here: ${first}`);
|
|
117
|
+
const result = await run(String(command), cwd, Number(timeoutSec) || 60);
|
|
118
|
+
await api(`${encodeURIComponent(id)}/result`, {
|
|
119
|
+
exit_code: result.exitCode, stdout: result.stdout, stderr: result.stderr, truncated: result.truncated,
|
|
120
|
+
});
|
|
121
|
+
log(`${by}'s command finished — exit ${result.exitCode ?? '?'}`);
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
log(`remote command ${id}: ${e instanceof Error ? e.message : String(e)}`, true);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=remote-exec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-exec.js","sourceRoot":"","sources":["../src/remote-exec.ts"],"names":[],"mappings":"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"}
|
package/dist/serve.d.ts
CHANGED
|
@@ -3,6 +3,17 @@ import { type Config } from './config.js';
|
|
|
3
3
|
import type { Flaredeck } from './flaredeck.js';
|
|
4
4
|
import type { Decider } from './permissions.js';
|
|
5
5
|
import { type StreamEvent } from './stream.js';
|
|
6
|
+
/**
|
|
7
|
+
* A card worktree unused this long, with nothing unpublished on it, is released.
|
|
8
|
+
*
|
|
9
|
+
* Two hours, not twelve. Measured on hrgoat-dev (12 Oct): 63 checkouts taking 69 GB, 59 of them
|
|
10
|
+
* holding nothing at all — no uncommitted change, nothing unpushed — and 52 untouched for over two
|
|
11
|
+
* hours. Releasing loses nothing: a card that comes back is checked out again from what it pushed,
|
|
12
|
+
* for the price of one install.
|
|
13
|
+
*/
|
|
14
|
+
export declare const WORKTREE_IDLE_MS: number;
|
|
15
|
+
/** How often a running agent clears them. It used to happen only at startup, and agents run for days. */
|
|
16
|
+
export declare const WORKTREE_SWEEP_EVERY_MS: number;
|
|
6
17
|
/** How long a card waits for evidence that is still being prepared (a Jam processing) before it runs anyway. */
|
|
7
18
|
export declare const WAIT_FOR_EVIDENCE_MS: number;
|
|
8
19
|
/** Which agent's file this process writes — set once serve() knows who it is. */
|
package/dist/serve.js
CHANGED
|
@@ -55,8 +55,17 @@ import { canPublish, canPushTo } from './githubauth.js';
|
|
|
55
55
|
const VERSION = createRequire(import.meta.url)('../package.json').version;
|
|
56
56
|
/** How often the agent says it is alive, whether or not anything is happening. */
|
|
57
57
|
const HEARTBEAT_MS = 5 * 60 * 1000;
|
|
58
|
-
/**
|
|
59
|
-
|
|
58
|
+
/**
|
|
59
|
+
* A card worktree unused this long, with nothing unpublished on it, is released.
|
|
60
|
+
*
|
|
61
|
+
* Two hours, not twelve. Measured on hrgoat-dev (12 Oct): 63 checkouts taking 69 GB, 59 of them
|
|
62
|
+
* holding nothing at all — no uncommitted change, nothing unpushed — and 52 untouched for over two
|
|
63
|
+
* hours. Releasing loses nothing: a card that comes back is checked out again from what it pushed,
|
|
64
|
+
* for the price of one install.
|
|
65
|
+
*/
|
|
66
|
+
export const WORKTREE_IDLE_MS = 2 * 60 * 60 * 1000;
|
|
67
|
+
/** How often a running agent clears them. It used to happen only at startup, and agents run for days. */
|
|
68
|
+
export const WORKTREE_SWEEP_EVERY_MS = 60 * 60 * 1000;
|
|
60
69
|
/** How long a card waits for evidence that is still being prepared (a Jam processing) before it runs anyway. */
|
|
61
70
|
export const WAIT_FOR_EVIDENCE_MS = 20 * 60 * 1000;
|
|
62
71
|
const waitingSince = new Map();
|
|
@@ -668,6 +677,7 @@ export async function serve(opts) {
|
|
|
668
677
|
agent: opts.agent ?? 'flaredeck-agent',
|
|
669
678
|
repo: config.repo,
|
|
670
679
|
card: () => onCard?.card ?? null,
|
|
680
|
+
cwd: () => reachable?.cwd ?? job?.cwd ?? null,
|
|
671
681
|
access: () => {
|
|
672
682
|
const out = [];
|
|
673
683
|
if (reachable?.cwd)
|
|
@@ -844,6 +854,10 @@ export async function serve(opts) {
|
|
|
844
854
|
if (leadId)
|
|
845
855
|
log('tool', `your lead is ${leadName} — ${leadName} verifies your work before it goes anywhere`);
|
|
846
856
|
isLead = team.you.role === 'lead';
|
|
857
|
+
// The role exists in FlareDeck before the harness has a manager mode (docs/spec-manager-role.md
|
|
858
|
+
// §14). Said plainly, so nobody reads a manager account running here as a manager at work.
|
|
859
|
+
if (team.you.role === 'manager')
|
|
860
|
+
log('warn', 'This account is the workspace manager, but the harness has no manager mode yet — it runs here as an agent with no lead.');
|
|
847
861
|
selfId = team.you.agentId;
|
|
848
862
|
teamIds = new Set(team.agents.filter((a) => a.reportsTo === team.you.agentId).map((a) => a.agentId));
|
|
849
863
|
if (team.you.role === 'lead') {
|
|
@@ -943,7 +957,11 @@ export async function serve(opts) {
|
|
|
943
957
|
// Pushed when something changes, and on a slow timer so silence itself is informative: a record
|
|
944
958
|
// that stops updating is how FlareDeck will know a machine has gone, which no signal FROM the
|
|
945
959
|
// machine could ever tell it.
|
|
946
|
-
|
|
960
|
+
// The machine is measured for each push: the numbers are only worth having current.
|
|
961
|
+
const report = async () => {
|
|
962
|
+
const machine = await import('./machine.js').then((m) => m.machineState(config.repo)).catch(() => undefined);
|
|
963
|
+
return pushStatus(opts.baseUrl, opts.auth, status.snapshot(), VERSION, machine);
|
|
964
|
+
};
|
|
947
965
|
const reporter = setInterval(() => void report(), 5 * 60 * 1000);
|
|
948
966
|
reporter.unref();
|
|
949
967
|
// Say hello at once. Waiting for the first tick would leave a just-started agent invisible for
|
|
@@ -963,6 +981,16 @@ export async function serve(opts) {
|
|
|
963
981
|
/** The checkout this agent's current or last card is in — never swept from under it. */
|
|
964
982
|
let currentTree = null;
|
|
965
983
|
const activeTrees = () => new Set(currentTree ? [currentTree] : []);
|
|
984
|
+
// The hourly clear-out. Never the checkout this agent is in; anything with work on it is kept
|
|
985
|
+
// by sweepWorktrees itself, and a checkout another agent used recently is not idle.
|
|
986
|
+
const worktreeTimer = setInterval(() => {
|
|
987
|
+
void (async () => {
|
|
988
|
+
for (const c of [{ path: config.repo }, ...inScope]) {
|
|
989
|
+
await sweepWorktrees(c.path, WORKTREE_IDLE_MS, (t) => log('tool', t), activeTrees()).catch(() => { });
|
|
990
|
+
}
|
|
991
|
+
})();
|
|
992
|
+
}, WORKTREE_SWEEP_EVERY_MS);
|
|
993
|
+
worktreeTimer.unref();
|
|
966
994
|
/**
|
|
967
995
|
* Paused: a wall this agent cannot get past by itself, so it does no work at all — no turns,
|
|
968
996
|
* no tokens — until its lead resumes it. See flaredeck-mcp/src/mcp/pause.ts for the why.
|
|
@@ -1648,6 +1676,7 @@ export async function serve(opts) {
|
|
|
1648
1676
|
stream.close();
|
|
1649
1677
|
clearInterval(heartbeat);
|
|
1650
1678
|
clearInterval(sweepTimer);
|
|
1679
|
+
clearInterval(worktreeTimer);
|
|
1651
1680
|
clearInterval(resumeTimer);
|
|
1652
1681
|
teamTimers.forEach(clearInterval);
|
|
1653
1682
|
// Belt and braces: if unwinding wedges, do not hang forever pretending to shut down. Longer
|
|
@@ -2264,7 +2293,12 @@ export async function serve(opts) {
|
|
|
2264
2293
|
// card to build, it flagged a person to "fix the repository" (KD-1354) — when its job is to
|
|
2265
2294
|
// pass the card to a worker who has the code. So it is told that, and the turn runs.
|
|
2266
2295
|
const leadWithoutCode = !tree && willChange && !!event.cardKey && isLead;
|
|
2267
|
-
|
|
2296
|
+
// An agent whose folder holds no repository at all works in place: there is no checkout of
|
|
2297
|
+
// anyone's to protect, which is the whole reason for the flag below. C3PO (PayInc's assistant,
|
|
2298
|
+
// a folder of notes and documents) was asked to reword a card and told five people it had
|
|
2299
|
+
// "nowhere safe to do the work" (COR-0307).
|
|
2300
|
+
const noRepositoryHere = !chosen && where.kind === 'none' && !existsSync(join(repo, '.git'));
|
|
2301
|
+
if (!tree && willChange && event.cardKey && !isLead && !noRepositoryHere) {
|
|
2268
2302
|
await flagForHuman(event, `I could not make a checkout of my own for this card in ${chosen?.name ?? repo}, so there is nowhere ` +
|
|
2269
2303
|
`safe to do the work. Everything I changed would land in a checkout somebody else may be using. ` +
|
|
2270
2304
|
`Something is wrong with the repository or the branch this card asks for — a person needs to look.`, 'technical');
|
|
@@ -3212,6 +3246,19 @@ export async function serve(opts) {
|
|
|
3212
3246
|
beat();
|
|
3213
3247
|
continue;
|
|
3214
3248
|
}
|
|
3249
|
+
// A command from the workspace's manager for this machine. Here for the same reason as a
|
|
3250
|
+
// verdict: it must not wait behind the turn in progress — and before the pause check,
|
|
3251
|
+
// because a paused agent's machine is exactly the one a manager needs to look at.
|
|
3252
|
+
if (event.event === 'exec') {
|
|
3253
|
+
const { execApi, handleExec } = await import('./remote-exec.js');
|
|
3254
|
+
const tenant = tenantFromToken(await opts.auth());
|
|
3255
|
+
if (tenant && event.message) {
|
|
3256
|
+
void handleExec(event.message, execApi(config.mcpUrl, tenant, () => opts.auth()), config.repo, (t, warn) => log(warn ? 'warn' : 'event', t));
|
|
3257
|
+
}
|
|
3258
|
+
await stream.ack([event.id]);
|
|
3259
|
+
beat();
|
|
3260
|
+
continue;
|
|
3261
|
+
}
|
|
3215
3262
|
// Paused: nothing is worked. Acknowledged, because its cards went back to the lead and the
|
|
3216
3263
|
// lead decides what happens to them; carrying a backlog through a pause would replay it.
|
|
3217
3264
|
if (paused) {
|