@intent-engine/cli 0.1.23 → 0.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/assets/viperjs-judge.sha256 +1 -0
  2. package/assets/viperjs-judge.wasm +0 -0
  3. package/dist/src/admin-commands.d.ts +13 -0
  4. package/dist/src/admin-commands.js +185 -0
  5. package/dist/src/admin-commands.js.map +1 -0
  6. package/dist/src/agent/actions.d.ts +2 -0
  7. package/dist/src/agent/actions.js +1 -1
  8. package/dist/src/agent/actions.js.map +1 -1
  9. package/dist/src/agent/claims.js +13 -12
  10. package/dist/src/agent/claims.js.map +1 -1
  11. package/dist/src/agent/create.d.ts +1 -0
  12. package/dist/src/agent/create.js +9 -3
  13. package/dist/src/agent/create.js.map +1 -1
  14. package/dist/src/agent/mandate-agent.d.ts +2 -0
  15. package/dist/src/agent/mandate-agent.js +138 -0
  16. package/dist/src/agent/mandate-agent.js.map +1 -0
  17. package/dist/src/agent/mandate-grant.d.ts +2 -0
  18. package/dist/src/agent/mandate-grant.js +192 -0
  19. package/dist/src/agent/mandate-grant.js.map +1 -0
  20. package/dist/src/agent/mandate-revoke.d.ts +1 -0
  21. package/dist/src/agent/mandate-revoke.js +142 -0
  22. package/dist/src/agent/mandate-revoke.js.map +1 -0
  23. package/dist/src/agent/mandate-state.d.ts +33 -0
  24. package/dist/src/agent/mandate-state.js +85 -0
  25. package/dist/src/agent/mandate-state.js.map +1 -0
  26. package/dist/src/agent/mandate.d.ts +4 -26
  27. package/dist/src/agent/mandate.js +4 -479
  28. package/dist/src/agent/mandate.js.map +1 -1
  29. package/dist/src/agent/mcp.js +9 -3
  30. package/dist/src/agent/mcp.js.map +1 -1
  31. package/dist/src/agent/prepare.js +1 -1
  32. package/dist/src/agent/prepare.js.map +1 -1
  33. package/dist/src/agent/problems.d.ts +28 -1
  34. package/dist/src/agent/problems.js +47 -1
  35. package/dist/src/agent/problems.js.map +1 -1
  36. package/dist/src/agent/read.d.ts +12 -0
  37. package/dist/src/agent/read.js +20 -6
  38. package/dist/src/agent/read.js.map +1 -1
  39. package/dist/src/agent/registry.js +8 -1
  40. package/dist/src/agent/registry.js.map +1 -1
  41. package/dist/src/agent/relay.d.ts +2 -0
  42. package/dist/src/agent/relay.js +11 -3
  43. package/dist/src/agent/relay.js.map +1 -1
  44. package/dist/src/agent/reputation.d.ts +4 -0
  45. package/dist/src/agent/reputation.js +127 -0
  46. package/dist/src/agent/reputation.js.map +1 -0
  47. package/dist/src/agent/sales.d.ts +29 -0
  48. package/dist/src/agent/sales.js +248 -0
  49. package/dist/src/agent/sales.js.map +1 -0
  50. package/dist/src/agent/signed-prepare.d.ts +1 -0
  51. package/dist/src/agent/signed-prepare.js +138 -0
  52. package/dist/src/agent/signed-prepare.js.map +1 -0
  53. package/dist/src/agent/signed-relay.d.ts +25 -0
  54. package/dist/src/agent/signed-relay.js +69 -0
  55. package/dist/src/agent/signed-relay.js.map +1 -0
  56. package/dist/src/agent/signed-submit.d.ts +2 -0
  57. package/dist/src/agent/signed-submit.js +137 -0
  58. package/dist/src/agent/signed-submit.js.map +1 -0
  59. package/dist/src/agent/signed-terms.d.ts +85 -0
  60. package/dist/src/agent/signed-terms.js +84 -0
  61. package/dist/src/agent/signed-terms.js.map +1 -0
  62. package/dist/src/agent/signed.d.ts +4 -13
  63. package/dist/src/agent/signed.js +4 -361
  64. package/dist/src/agent/signed.js.map +1 -1
  65. package/dist/src/agent/wallet/account.d.ts +4 -0
  66. package/dist/src/agent/wallet/account.js +84 -0
  67. package/dist/src/agent/wallet/account.js.map +1 -0
  68. package/dist/src/agent/wallet/attest.d.ts +4 -0
  69. package/dist/src/agent/wallet/attest.js +178 -0
  70. package/dist/src/agent/wallet/attest.js.map +1 -0
  71. package/dist/src/agent/wallet/committee.d.ts +4 -0
  72. package/dist/src/agent/wallet/committee.js +155 -0
  73. package/dist/src/agent/wallet/committee.js.map +1 -0
  74. package/dist/src/agent/wallet/delivery.d.ts +13 -0
  75. package/dist/src/agent/wallet/delivery.js +171 -0
  76. package/dist/src/agent/wallet/delivery.js.map +1 -0
  77. package/dist/src/agent/wallet/escrow.d.ts +7 -0
  78. package/dist/src/agent/wallet/escrow.js +164 -0
  79. package/dist/src/agent/wallet/escrow.js.map +1 -0
  80. package/dist/src/agent/wallet/fills.d.ts +27 -0
  81. package/dist/src/agent/wallet/fills.js +80 -0
  82. package/dist/src/agent/wallet/fills.js.map +1 -0
  83. package/dist/src/agent/wallet/guard.d.ts +57 -0
  84. package/dist/src/agent/wallet/guard.js +205 -0
  85. package/dist/src/agent/wallet/guard.js.map +1 -0
  86. package/dist/src/agent/wallet/offer.d.ts +50 -0
  87. package/dist/src/agent/wallet/offer.js +80 -0
  88. package/dist/src/agent/wallet/offer.js.map +1 -0
  89. package/dist/src/agent/wallet/receipt.d.ts +42 -0
  90. package/dist/src/agent/wallet/receipt.js +102 -0
  91. package/dist/src/agent/wallet/receipt.js.map +1 -0
  92. package/dist/src/agent/wallet/record.d.ts +31 -0
  93. package/dist/src/agent/wallet/record.js +178 -0
  94. package/dist/src/agent/wallet/record.js.map +1 -0
  95. package/dist/src/agent/wallet/releases.d.ts +40 -0
  96. package/dist/src/agent/wallet/releases.js +245 -0
  97. package/dist/src/agent/wallet/releases.js.map +1 -0
  98. package/dist/src/agent/wallet/split.d.ts +10 -0
  99. package/dist/src/agent/wallet/split.js +271 -0
  100. package/dist/src/agent/wallet/split.js.map +1 -0
  101. package/dist/src/agent/wallet/trade.d.ts +14 -0
  102. package/dist/src/agent/wallet/trade.js +243 -0
  103. package/dist/src/agent/wallet/trade.js.map +1 -0
  104. package/dist/src/agent/wallet/wait.d.ts +5 -0
  105. package/dist/src/agent/wallet/wait.js +99 -0
  106. package/dist/src/agent/wallet/wait.js.map +1 -0
  107. package/dist/src/agent/wallet.d.ts +19 -73
  108. package/dist/src/agent/wallet.js +30 -1322
  109. package/dist/src/agent/wallet.js.map +1 -1
  110. package/dist/src/arg-options.d.ts +405 -0
  111. package/dist/src/arg-options.js +361 -0
  112. package/dist/src/arg-options.js.map +1 -0
  113. package/dist/src/arg-usage.d.ts +7 -0
  114. package/dist/src/arg-usage.js +60 -0
  115. package/dist/src/arg-usage.js.map +1 -0
  116. package/dist/src/arg-values.d.ts +47 -0
  117. package/dist/src/arg-values.js +284 -0
  118. package/dist/src/arg-values.js.map +1 -0
  119. package/dist/src/args.d.ts +7 -545
  120. package/dist/src/args.js +103 -926
  121. package/dist/src/args.js.map +1 -1
  122. package/dist/src/artifact.d.ts +28 -0
  123. package/dist/src/artifact.js +103 -0
  124. package/dist/src/artifact.js.map +1 -0
  125. package/dist/src/check-process.d.ts +46 -0
  126. package/dist/src/check-process.js +416 -0
  127. package/dist/src/check-process.js.map +1 -0
  128. package/dist/src/command-builders.d.ts +37 -0
  129. package/dist/src/command-builders.js +216 -0
  130. package/dist/src/command-builders.js.map +1 -0
  131. package/dist/src/command-types.d.ts +285 -0
  132. package/dist/src/command-types.js +2 -0
  133. package/dist/src/command-types.js.map +1 -0
  134. package/dist/src/commands.d.ts +7 -43
  135. package/dist/src/commands.js +76 -457
  136. package/dist/src/commands.js.map +1 -1
  137. package/dist/src/committee-commands.d.ts +31 -0
  138. package/dist/src/committee-commands.js +167 -0
  139. package/dist/src/committee-commands.js.map +1 -0
  140. package/dist/src/event-feed.d.ts +13 -0
  141. package/dist/src/event-feed.js +46 -0
  142. package/dist/src/event-feed.js.map +1 -0
  143. package/dist/src/flow-commands.d.ts +8 -0
  144. package/dist/src/flow-commands.js +116 -0
  145. package/dist/src/flow-commands.js.map +1 -0
  146. package/dist/src/flows.d.ts +6 -0
  147. package/dist/src/flows.js +84 -10
  148. package/dist/src/flows.js.map +1 -1
  149. package/dist/src/host-judge.d.ts +11 -0
  150. package/dist/src/host-judge.js +120 -0
  151. package/dist/src/host-judge.js.map +1 -0
  152. package/dist/src/job-commands.d.ts +9 -0
  153. package/dist/src/job-commands.js +89 -0
  154. package/dist/src/job-commands.js.map +1 -0
  155. package/dist/src/judge-errors.d.ts +12 -0
  156. package/dist/src/judge-errors.js +16 -0
  157. package/dist/src/judge-errors.js.map +1 -0
  158. package/dist/src/judge.d.ts +25 -16
  159. package/dist/src/judge.js +179 -103
  160. package/dist/src/judge.js.map +1 -1
  161. package/dist/src/main.d.ts +5 -1
  162. package/dist/src/main.js +36 -9
  163. package/dist/src/main.js.map +1 -1
  164. package/dist/src/monitor-args.d.ts +11 -0
  165. package/dist/src/monitor-args.js +58 -0
  166. package/dist/src/monitor-args.js.map +1 -0
  167. package/dist/src/monitor-fills.d.ts +13 -0
  168. package/dist/src/monitor-fills.js +56 -0
  169. package/dist/src/monitor-fills.js.map +1 -0
  170. package/dist/src/monitor.d.ts +60 -0
  171. package/dist/src/monitor.js +295 -0
  172. package/dist/src/monitor.js.map +1 -0
  173. package/dist/src/order-builders.d.ts +10 -0
  174. package/dist/src/order-builders.js +172 -0
  175. package/dist/src/order-builders.js.map +1 -0
  176. package/dist/src/render.d.ts +1 -0
  177. package/dist/src/render.js +9 -0
  178. package/dist/src/render.js.map +1 -1
  179. package/dist/src/reputation-commands.d.ts +8 -0
  180. package/dist/src/reputation-commands.js +20 -0
  181. package/dist/src/reputation-commands.js.map +1 -0
  182. package/dist/src/runtime.d.ts +22 -0
  183. package/dist/src/runtime.js +2 -0
  184. package/dist/src/runtime.js.map +1 -0
  185. package/dist/src/sandbox.d.ts +46 -0
  186. package/dist/src/sandbox.js +142 -0
  187. package/dist/src/sandbox.js.map +1 -0
  188. package/dist/src/solve-commands.d.ts +25 -0
  189. package/dist/src/solve-commands.js +175 -0
  190. package/dist/src/solve-commands.js.map +1 -0
  191. package/dist/src/tokens.js +2 -1
  192. package/dist/src/tokens.js.map +1 -1
  193. package/dist/src/trust-args.d.ts +6 -0
  194. package/dist/src/trust-args.js +76 -0
  195. package/dist/src/trust-args.js.map +1 -0
  196. package/dist/src/version.d.ts +1 -1
  197. package/dist/src/version.js +1 -1
  198. package/dist/src/viper.d.ts +66 -0
  199. package/dist/src/viper.js +282 -0
  200. package/dist/src/viper.js.map +1 -0
  201. package/dist/src/wallet.d.ts +4 -1
  202. package/dist/src/wallet.js +25 -5
  203. package/dist/src/wallet.js.map +1 -1
  204. package/package.json +18 -7
  205. package/dist/src/events.d.ts +0 -8
  206. package/dist/src/events.js +0 -43
  207. package/dist/src/events.js.map +0 -1
  208. package/dist/src/transport.d.ts +0 -208
  209. package/dist/src/transport.js +0 -441
  210. package/dist/src/transport.js.map +0 -1
@@ -0,0 +1,416 @@
1
+ import { spawn } from "node:child_process";
2
+ import { readFileSync } from "node:fs";
3
+ import { readdir, readFile, readlink } from "node:fs/promises";
4
+ import { resolve } from "node:path";
5
+ import { SIGNAL_EXIT } from "./judge-errors.js";
6
+ export const ENV_SPEC_PATH = "SPEC_PATH";
7
+ export const ENV_ARTIFACT_PATH = "ARTIFACT_PATH";
8
+ export const ENV_ARTIFACT_SHA256 = "ARTIFACT_SHA256";
9
+ const SESSION_ROUNDS = 10;
10
+ const STARTED_FIELD = 19;
11
+ const SCAN_MS = 250;
12
+ const ROUND_PAUSE_MS = 10;
13
+ export const CHECK_ENV = ["PATH", "HOME", "USERPROFILE", "SYSTEMROOT", "COMSPEC", "PATHEXT", "TEMP", "TMP", "TMPDIR", "LANG", "TERM"];
14
+ const quietly = (pid) => {
15
+ try {
16
+ process.kill(pid, "SIGKILL");
17
+ }
18
+ catch {
19
+ return;
20
+ }
21
+ };
22
+ function parseStat(pid, line) {
23
+ const fields = line.slice(line.lastIndexOf(")") + 2).split(" ");
24
+ const [state, parent, group, session] = fields;
25
+ return { pid, parent: Number(parent), group: Number(group), session: Number(session), started: Number(fields[STARTED_FIELD]), zombie: state === "Z" };
26
+ }
27
+ function statOf(pid) {
28
+ try {
29
+ return parseStat(pid, readFileSync(`/proc/${pid}/stat`, "utf8"));
30
+ }
31
+ catch {
32
+ return null;
33
+ }
34
+ }
35
+ async function processTable() {
36
+ let entries;
37
+ try {
38
+ entries = await readdir("/proc");
39
+ }
40
+ catch {
41
+ return null;
42
+ }
43
+ const found = await Promise.all(entries
44
+ .filter((entry) => /^\d+$/.test(entry))
45
+ .map(async (entry) => {
46
+ try {
47
+ return parseStat(Number(entry), await readFile(`/proc/${entry}/stat`, "utf8"));
48
+ }
49
+ catch {
50
+ return null;
51
+ }
52
+ }));
53
+ return found.filter((running) => running !== null);
54
+ }
55
+ export function claim(table, recorded) {
56
+ const byPid = new Map(table.map((running) => [running.pid, running]));
57
+ for (const records of [recorded.started, recorded.leaders]) {
58
+ for (const [pid, started] of records) {
59
+ if ((byPid.get(pid)?.started ?? started) !== started) {
60
+ records.delete(pid);
61
+ }
62
+ }
63
+ }
64
+ const leads = (leader) => {
65
+ const started = recorded.started.get(leader);
66
+ return started !== undefined && byPid.get(leader)?.started === started;
67
+ };
68
+ const owned = new Set();
69
+ const inSession = (running) => {
70
+ if (owned.has(running.session)) {
71
+ return true;
72
+ }
73
+ const started = recorded.leaders.get(running.session);
74
+ return started !== undefined && !byPid.has(running.session) && running.started >= started;
75
+ };
76
+ let grew = true;
77
+ while (grew) {
78
+ grew = false;
79
+ for (const running of table) {
80
+ if (running.pid !== process.pid && !owned.has(running.pid) && (leads(running.pid) || owned.has(running.parent) || inSession(running) || leads(running.group))) {
81
+ owned.add(running.pid);
82
+ grew = true;
83
+ }
84
+ }
85
+ }
86
+ const claimed = table.filter((running) => owned.has(running.pid));
87
+ for (const running of claimed) {
88
+ recorded.started.set(running.pid, running.started);
89
+ if (running.pid === running.session) {
90
+ recorded.leaders.set(running.pid, running.started);
91
+ }
92
+ }
93
+ return claimed;
94
+ }
95
+ function pkillSession(session) {
96
+ return new Promise((done) => {
97
+ const killer = spawn("pkill", ["-KILL", "-s", String(session)], { stdio: "ignore" });
98
+ killer.once("error", () => done());
99
+ killer.once("exit", () => done());
100
+ });
101
+ }
102
+ function listed(command, args) {
103
+ return new Promise((done) => {
104
+ const lister = spawn(command, args, { stdio: ["ignore", "pipe", "ignore"] });
105
+ let out = "";
106
+ lister.stdout.setEncoding("utf8");
107
+ lister.stdout.on("data", (chunk) => {
108
+ out += chunk;
109
+ });
110
+ lister.once("error", () => done(null));
111
+ lister.once("close", (code) => {
112
+ done(code === 0 || code === 1 ? out.split(/\s+/).filter((field) => /^\d+$/.test(field)).map(Number) : null);
113
+ });
114
+ });
115
+ }
116
+ async function sessionMembers(session) {
117
+ const found = (await listed("pgrep", ["-s", String(session)])) ?? (await listed("ps", ["-o", "pid=", "-g", String(session)])) ?? [];
118
+ return [...new Set(found)].filter((pid) => pid !== process.pid && pid !== session);
119
+ }
120
+ const living = (running) => !running.zombie;
121
+ async function marked(running, watch) {
122
+ if (watch.marker !== undefined) {
123
+ try {
124
+ if ((await readFile(`/proc/${running.pid}/environ`, "utf8")).split("\0").includes(watch.marker)) {
125
+ return true;
126
+ }
127
+ }
128
+ catch {
129
+ return false;
130
+ }
131
+ }
132
+ if (watch.cwd !== undefined) {
133
+ try {
134
+ const at = await readlink(`/proc/${running.pid}/cwd`);
135
+ return at === watch.cwd || at.startsWith(`${watch.cwd}/`);
136
+ }
137
+ catch {
138
+ return false;
139
+ }
140
+ }
141
+ return false;
142
+ }
143
+ export const leftRunning = (pids) => `warning: the check left processes running that the judge could not tie to it, so it did not kill them: ${pids.join(", ")}; stop them by hand`;
144
+ export const stillRunning = (pids) => `warning: processes started by the check were still running after ${SESSION_ROUNDS} kill rounds: ${pids.join(", ")}; stop them by hand`;
145
+ async function escapedFrom(table, owned, watch) {
146
+ const { started } = watch;
147
+ if (started === null) {
148
+ return [];
149
+ }
150
+ const ours = new Set(owned.map((running) => running.pid));
151
+ const candidates = table.filter((running) => living(running) && running.pid !== process.pid && !ours.has(running.pid) && running.started >= started);
152
+ const found = await Promise.all(candidates.map(async (running) => ((await marked(running, watch)) ? running.pid : null)));
153
+ return found.filter((pid) => pid !== null);
154
+ }
155
+ const warn = (text) => {
156
+ process.stderr.write(`${text}\n`);
157
+ };
158
+ async function sweep(watch, report) {
159
+ for (let round = 0; round <= SESSION_ROUNDS; round++) {
160
+ const table = await processTable();
161
+ if (table === null || watch.started === null) {
162
+ if (watch.alive) {
163
+ quietly(-watch.pid);
164
+ await pkillSession(watch.pid);
165
+ return [];
166
+ }
167
+ if (!report) {
168
+ return [];
169
+ }
170
+ const left = await sessionMembers(watch.pid);
171
+ if (left.length > 0) {
172
+ warn(leftRunning(left));
173
+ }
174
+ return left;
175
+ }
176
+ const owned = claim(table, watch.recorded);
177
+ const live = owned.filter(living);
178
+ if (live.length === 0 || round === SESSION_ROUNDS) {
179
+ if (live.length > 0) {
180
+ warn(stillRunning(live.map((running) => running.pid)));
181
+ }
182
+ if (!report) {
183
+ return [];
184
+ }
185
+ const escaped = await escapedFrom(table, owned, watch);
186
+ if (escaped.length > 0) {
187
+ warn(leftRunning(escaped));
188
+ }
189
+ return escaped;
190
+ }
191
+ live.forEach((running) => quietly(running.pid));
192
+ await new Promise((wake) => setTimeout(wake, round * ROUND_PAUSE_MS));
193
+ }
194
+ return [];
195
+ }
196
+ function taskkill(pid) {
197
+ return new Promise((done) => {
198
+ const killer = spawn("taskkill", ["/pid", String(pid), "/T", "/F"], { stdio: "ignore", windowsHide: true });
199
+ killer.once("error", () => done());
200
+ killer.once("exit", () => done());
201
+ });
202
+ }
203
+ export function runCheck(command, env, timeoutSeconds, options = {}) {
204
+ return new Promise((done, failed) => {
205
+ const child = spawn(command, {
206
+ shell: true,
207
+ env,
208
+ cwd: options.cwd,
209
+ stdio: ["ignore", 2, 2],
210
+ detached: process.platform !== "win32",
211
+ windowsHide: true,
212
+ });
213
+ const windows = process.platform === "win32";
214
+ const seed = child.pid === undefined || windows ? null : statOf(child.pid);
215
+ const watch = {
216
+ pid: child.pid ?? 0,
217
+ started: seed?.started ?? null,
218
+ recorded: {
219
+ started: new Map(seed === null ? [] : [[seed.pid, seed.started]]),
220
+ leaders: new Map(seed === null || seed.pid !== seed.session ? [] : [[seed.pid, seed.started]]),
221
+ },
222
+ alive: true,
223
+ marker: env[ENV_SPEC_PATH] === undefined ? undefined : `${ENV_SPEC_PATH}=${env[ENV_SPEC_PATH]}`,
224
+ cwd: options.cwd === undefined ? undefined : resolve(options.cwd),
225
+ };
226
+ let scanning = Promise.resolve();
227
+ let scanTimer;
228
+ const scan = () => {
229
+ scanning = processTable().then((table) => {
230
+ if (table !== null && watch.alive) {
231
+ claim(table, watch.recorded);
232
+ }
233
+ });
234
+ void scanning.finally(() => {
235
+ if (watch.alive) {
236
+ scanTimer = setTimeout(scan, SCAN_MS);
237
+ scanTimer.unref();
238
+ }
239
+ });
240
+ };
241
+ if (seed !== null) {
242
+ scan();
243
+ }
244
+ const stopScanning = () => {
245
+ watch.alive = false;
246
+ clearTimeout(scanTimer);
247
+ };
248
+ const kill = () => {
249
+ if (child.pid === undefined) {
250
+ return Promise.resolve();
251
+ }
252
+ if (windows) {
253
+ return taskkill(child.pid);
254
+ }
255
+ return scanning.then(() => sweep(watch, false)).then(() => undefined);
256
+ };
257
+ let timedOut = false;
258
+ let interrupted;
259
+ let killing = Promise.resolve();
260
+ const handlers = Object.keys(SIGNAL_EXIT).map((signal) => {
261
+ const handler = () => {
262
+ interrupted ??= signal;
263
+ killing = kill();
264
+ };
265
+ process.on(signal, handler);
266
+ return [signal, handler];
267
+ });
268
+ const timer = setTimeout(() => {
269
+ timedOut = true;
270
+ killing = kill();
271
+ }, timeoutSeconds * 1000);
272
+ const settle = () => {
273
+ for (const [signal, handler] of handlers) {
274
+ process.removeListener(signal, handler);
275
+ }
276
+ };
277
+ child.once("error", (error) => {
278
+ clearTimeout(timer);
279
+ void killing.finally(() => {
280
+ stopScanning();
281
+ settle();
282
+ failed(error);
283
+ });
284
+ });
285
+ child.once("exit", (code) => {
286
+ clearTimeout(timer);
287
+ void killing.finally(async () => {
288
+ stopScanning();
289
+ let escaped = [];
290
+ if (!windows && child.pid !== undefined) {
291
+ await scanning.catch(() => undefined);
292
+ escaped = await sweep(watch, true).catch(() => []);
293
+ }
294
+ settle();
295
+ done({
296
+ exitCode: timedOut || interrupted !== undefined ? null : code,
297
+ timedOut,
298
+ ...(interrupted === undefined ? {} : { interrupted }),
299
+ ...(escaped.length === 0 ? {} : { escaped }),
300
+ });
301
+ });
302
+ });
303
+ });
304
+ }
305
+ export function docker(args, env, shown = false) {
306
+ return new Promise((done) => {
307
+ const client = spawn("docker", args, { env, stdio: ["ignore", shown ? 2 : "pipe", shown ? 2 : "pipe"], windowsHide: true });
308
+ let out = "";
309
+ for (const stream of [client.stdout, client.stderr]) {
310
+ stream?.setEncoding("utf8");
311
+ stream?.on("data", (chunk) => {
312
+ out += chunk;
313
+ });
314
+ }
315
+ client.once("error", (error) => done({ status: null, out: error.message }));
316
+ client.once("close", (status) => done({ status, out: out.trim() }));
317
+ });
318
+ }
319
+ export const containerLeft = (name) => `warning: the check's container ${name} could not be removed; remove it with docker rm -f ${name}`;
320
+ async function removeContainer(name, env) {
321
+ await docker(["rm", "-f", name], env);
322
+ if ((await docker(["container", "inspect", name], env)).status === 0) {
323
+ warn(containerLeft(name));
324
+ }
325
+ }
326
+ export function runContainer(args, name, env, timeoutSeconds) {
327
+ return new Promise((done, failed) => {
328
+ const child = spawn("docker", ["run", "--name", name, ...args], {
329
+ env,
330
+ stdio: ["ignore", 2, 2],
331
+ detached: process.platform !== "win32",
332
+ windowsHide: true,
333
+ });
334
+ const kill = async () => {
335
+ await docker(["kill", name], env);
336
+ await docker(["rm", "-f", name], env);
337
+ if (child.pid !== undefined && child.exitCode === null) {
338
+ quietly(child.pid);
339
+ }
340
+ };
341
+ let timedOut = false;
342
+ let interrupted;
343
+ let killing = Promise.resolve();
344
+ const handlers = Object.keys(SIGNAL_EXIT).map((signal) => {
345
+ const handler = () => {
346
+ interrupted ??= signal;
347
+ killing = kill();
348
+ };
349
+ process.on(signal, handler);
350
+ return [signal, handler];
351
+ });
352
+ const timer = setTimeout(() => {
353
+ timedOut = true;
354
+ killing = kill();
355
+ }, timeoutSeconds * 1000);
356
+ const settle = () => {
357
+ clearTimeout(timer);
358
+ for (const [signal, handler] of handlers) {
359
+ process.removeListener(signal, handler);
360
+ }
361
+ };
362
+ child.once("error", (error) => {
363
+ void killing.finally(async () => {
364
+ await removeContainer(name, env);
365
+ settle();
366
+ failed(error);
367
+ });
368
+ });
369
+ child.once("exit", (code) => {
370
+ clearTimeout(timer);
371
+ void killing.finally(async () => {
372
+ await removeContainer(name, env);
373
+ settle();
374
+ done({
375
+ exitCode: timedOut || interrupted !== undefined ? null : code,
376
+ timedOut,
377
+ ...(interrupted === undefined ? {} : { interrupted }),
378
+ });
379
+ });
380
+ });
381
+ });
382
+ }
383
+ export function holdSignals() {
384
+ let caught;
385
+ let listener;
386
+ const handlers = Object.keys(SIGNAL_EXIT).map((signal) => {
387
+ const handler = () => {
388
+ caught ??= signal;
389
+ listener?.(signal);
390
+ };
391
+ process.on(signal, handler);
392
+ return [signal, handler];
393
+ });
394
+ return {
395
+ caught: () => caught,
396
+ listen: (next) => {
397
+ listener = next;
398
+ },
399
+ release: () => {
400
+ for (const [signal, handler] of handlers) {
401
+ process.removeListener(signal, handler);
402
+ }
403
+ },
404
+ };
405
+ }
406
+ export function checkEnv(base, spec, artifact, sha256) {
407
+ const env = {};
408
+ for (const key of CHECK_ENV) {
409
+ const value = base[key];
410
+ if (value !== undefined) {
411
+ env[key] = value;
412
+ }
413
+ }
414
+ return { ...env, [ENV_SPEC_PATH]: spec, [ENV_ARTIFACT_PATH]: artifact, [ENV_ARTIFACT_SHA256]: sha256 };
415
+ }
416
+ //# sourceMappingURL=check-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-process.js","sourceRoot":"","sources":["../../src/check-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { Values } from "./arg-options.js";
2
+ import type { AgentSpec, Authority, Command, ConfigChange, IssueSpec, RelaySpec, Remote, WalletLimits } from "./command-types.js";
3
+ import type { Address } from "@solana/kit";
4
+ export declare const RELAY_NEEDS_FEES = "--relayer needs --relay-fee naming every input token it relays as mint=amount; amount may be 0, and other tokens are refused";
5
+ export declare const AGENT_NEEDS_OWNERS = "--agent needs --agent-owners naming every owner whose mandates this agent key may use";
6
+ export declare const RELAY_DEFAULT_TTL: number;
7
+ export declare const RELAY_DEFAULT_HOURLY_LAMPORTS = 100000000n;
8
+ export declare const AGENT_DEFAULT_HOURLY_LAMPORTS = 50000000n;
9
+ export declare const RELAY_MAX_TTL: number;
10
+ export declare function relaySpec(values: Values): RelaySpec | undefined;
11
+ export declare const WALLET_LIMITS_NEED_WALLET = "--wallet-per-trade and --wallet-per-hour need --wallet";
12
+ export declare function walletLimits(values: Values, url: string): WalletLimits | null;
13
+ export declare function agentSpec(values: Values): AgentSpec | undefined;
14
+ export declare const solveFeeAboveCap: string;
15
+ export declare const zeroProfit: (mint: string) => string;
16
+ export declare function profitFloors(text: string): ReadonlyMap<Address, bigint>;
17
+ export declare function authorityOf(values: Values): Authority;
18
+ export declare function configChange(values: Values): ConfigChange;
19
+ export declare const ISSUE_FORMAT = "--issue takes <input mint>:<output mint>=<out>/<in> entries separated by commas";
20
+ export declare const ONE_MARKET = "solve needs exactly one of --jupiter or --issue";
21
+ export declare const ISSUE_ALONE = "--issue mints the output itself, so --slippage-bps and --route-program do not apply";
22
+ export declare function market(values: Values): {
23
+ jupiter: string | undefined;
24
+ issue: IssueSpec[];
25
+ };
26
+ export declare const TREASURY_CREATE_NEEDS_MINTS = "--create needs --mints naming the tokens to open treasury accounts for; anyone can open intents in any token, so the list must be yours";
27
+ export declare function treasury(remote: Remote, values: Values): Command;
28
+ export declare const RELEASE_NEEDED = "--release needs the release's base58 transaction signature";
29
+ export declare function releaseOption(values: Values): {
30
+ release?: string;
31
+ };
32
+ export declare const MAX_DELIVERY_PAGES = 100000;
33
+ export declare function maxPagesOf(values: Values): number;
34
+ export declare const JUDGE_TIMEOUT = 600;
35
+ export declare const MAX_JUDGE_TIMEOUT = 86400;
36
+ export declare const RUN_NEEDED = "--run must name the command that checks the artifact";
37
+ export declare function runOf(text: string): string;