@intent-engine/cli 0.1.26 → 0.1.28

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 (116) 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 +2 -1
  4. package/dist/src/admin-commands.js +47 -2
  5. package/dist/src/admin-commands.js.map +1 -1
  6. package/dist/src/agent/create.js +3 -1
  7. package/dist/src/agent/create.js.map +1 -1
  8. package/dist/src/agent/mandate-agent.js +3 -1
  9. package/dist/src/agent/mandate-agent.js.map +1 -1
  10. package/dist/src/agent/mcp.js +3 -0
  11. package/dist/src/agent/mcp.js.map +1 -1
  12. package/dist/src/agent/problems.d.ts +15 -0
  13. package/dist/src/agent/problems.js +15 -0
  14. package/dist/src/agent/problems.js.map +1 -1
  15. package/dist/src/agent/profile.d.ts +4 -0
  16. package/dist/src/agent/profile.js +129 -0
  17. package/dist/src/agent/profile.js.map +1 -0
  18. package/dist/src/agent/registry.js +6 -0
  19. package/dist/src/agent/registry.js.map +1 -1
  20. package/dist/src/agent/reputation.d.ts +4 -0
  21. package/dist/src/agent/reputation.js +127 -0
  22. package/dist/src/agent/reputation.js.map +1 -0
  23. package/dist/src/agent/sales.d.ts +1 -1
  24. package/dist/src/agent/sales.js +4 -4
  25. package/dist/src/agent/sales.js.map +1 -1
  26. package/dist/src/agent/signed-prepare.js +2 -5
  27. package/dist/src/agent/signed-prepare.js.map +1 -1
  28. package/dist/src/agent/signed-relay.d.ts +1 -1
  29. package/dist/src/agent/signed-relay.js +2 -1
  30. package/dist/src/agent/signed-relay.js.map +1 -1
  31. package/dist/src/agent/signed-submit.js +2 -2
  32. package/dist/src/agent/signed-submit.js.map +1 -1
  33. package/dist/src/agent/wallet/committee.d.ts +4 -0
  34. package/dist/src/agent/wallet/committee.js +155 -0
  35. package/dist/src/agent/wallet/committee.js.map +1 -0
  36. package/dist/src/agent/wallet/releases.js +12 -3
  37. package/dist/src/agent/wallet/releases.js.map +1 -1
  38. package/dist/src/agent/wallet.d.ts +1 -0
  39. package/dist/src/agent/wallet.js +10 -0
  40. package/dist/src/agent/wallet.js.map +1 -1
  41. package/dist/src/agent/work-claims.d.ts +3 -0
  42. package/dist/src/agent/work-claims.js +138 -0
  43. package/dist/src/agent/work-claims.js.map +1 -0
  44. package/dist/src/arg-options.d.ts +501 -3
  45. package/dist/src/arg-options.js +76 -3
  46. package/dist/src/arg-options.js.map +1 -1
  47. package/dist/src/arg-usage.d.ts +2 -2
  48. package/dist/src/arg-usage.js +13 -4
  49. package/dist/src/arg-usage.js.map +1 -1
  50. package/dist/src/arg-values.d.ts +1 -1
  51. package/dist/src/arg-values.js +10 -6
  52. package/dist/src/arg-values.js.map +1 -1
  53. package/dist/src/args.d.ts +1 -6
  54. package/dist/src/args.js +51 -68
  55. package/dist/src/args.js.map +1 -1
  56. package/dist/src/artifact.d.ts +14 -1
  57. package/dist/src/artifact.js +57 -16
  58. package/dist/src/artifact.js.map +1 -1
  59. package/dist/src/check-process.d.ts +7 -0
  60. package/dist/src/check-process.js +78 -0
  61. package/dist/src/check-process.js.map +1 -1
  62. package/dist/src/claim-commands.d.ts +12 -0
  63. package/dist/src/claim-commands.js +170 -0
  64. package/dist/src/claim-commands.js.map +1 -0
  65. package/dist/src/clusters.d.ts +6 -0
  66. package/dist/src/clusters.js +15 -0
  67. package/dist/src/clusters.js.map +1 -0
  68. package/dist/src/command-types.d.ts +101 -4
  69. package/dist/src/commands.js +27 -1
  70. package/dist/src/commands.js.map +1 -1
  71. package/dist/src/committee-commands.d.ts +31 -0
  72. package/dist/src/committee-commands.js +167 -0
  73. package/dist/src/committee-commands.js.map +1 -0
  74. package/dist/src/host-judge.d.ts +11 -0
  75. package/dist/src/host-judge.js +120 -0
  76. package/dist/src/host-judge.js.map +1 -0
  77. package/dist/src/job-args.d.ts +4 -0
  78. package/dist/src/job-args.js +67 -0
  79. package/dist/src/job-args.js.map +1 -0
  80. package/dist/src/job-commands.js +3 -1
  81. package/dist/src/job-commands.js.map +1 -1
  82. package/dist/src/judge.d.ts +17 -1
  83. package/dist/src/judge.js +81 -19
  84. package/dist/src/judge.js.map +1 -1
  85. package/dist/src/main.d.ts +1 -0
  86. package/dist/src/main.js +11 -0
  87. package/dist/src/main.js.map +1 -1
  88. package/dist/src/monitor-args.d.ts +11 -0
  89. package/dist/src/monitor-args.js +58 -0
  90. package/dist/src/monitor-args.js.map +1 -0
  91. package/dist/src/monitor-fills.d.ts +13 -0
  92. package/dist/src/monitor-fills.js +56 -0
  93. package/dist/src/monitor-fills.js.map +1 -0
  94. package/dist/src/monitor.d.ts +60 -0
  95. package/dist/src/monitor.js +295 -0
  96. package/dist/src/monitor.js.map +1 -0
  97. package/dist/src/release-simulation.d.ts +18 -0
  98. package/dist/src/release-simulation.js +45 -0
  99. package/dist/src/release-simulation.js.map +1 -0
  100. package/dist/src/reputation-commands.d.ts +8 -0
  101. package/dist/src/reputation-commands.js +20 -0
  102. package/dist/src/reputation-commands.js.map +1 -0
  103. package/dist/src/sandbox.d.ts +46 -0
  104. package/dist/src/sandbox.js +142 -0
  105. package/dist/src/sandbox.js.map +1 -0
  106. package/dist/src/solve-commands.js +12 -8
  107. package/dist/src/solve-commands.js.map +1 -1
  108. package/dist/src/trust-args.d.ts +12 -0
  109. package/dist/src/trust-args.js +177 -0
  110. package/dist/src/trust-args.js.map +1 -0
  111. package/dist/src/version.d.ts +1 -1
  112. package/dist/src/version.js +1 -1
  113. package/dist/src/viper.d.ts +66 -0
  114. package/dist/src/viper.js +282 -0
  115. package/dist/src/viper.js.map +1 -0
  116. package/package.json +9 -7
@@ -3,6 +3,7 @@ import { chmod, mkdir, mkdtemp, open, readdir, rm, stat, writeFile } from "node:
3
3
  import { tmpdir } from "node:os";
4
4
  import { basename, dirname, join } from "node:path";
5
5
  import { manifestSha256 } from "@intent-engine/core";
6
+ import { UsageError } from "./arg-values.js";
6
7
  import { JudgeRefused } from "./judge-errors.js";
7
8
  export const SKIPPED = new Set([".git", "node_modules", "target"]);
8
9
  export const SPEC_COPY = "SPEC.md";
@@ -18,34 +19,60 @@ async function readEntry(path, full) {
18
19
  await handle.close();
19
20
  }
20
21
  }
21
- async function filesUnder(root, prefix) {
22
- const entries = [];
23
- for (const entry of await readdir(root, { withFileTypes: true })) {
22
+ export const MAX_ARTIFACT_BYTES = 67108864;
23
+ export const MAX_ARTIFACT_FILES = 10_000;
24
+ export const artifactTooLarge = (path, over) => `${path} ${over}, over the artifact limit of ${MAX_ARTIFACT_BYTES} bytes and ${MAX_ARTIFACT_FILES} files; nothing was run or paid`;
25
+ export class ArtifactTooLarge extends UsageError {
26
+ constructor(path, over) {
27
+ super(artifactTooLarge(path, over));
28
+ this.name = "ArtifactTooLarge";
29
+ }
30
+ }
31
+ async function walk(at, prefix, into) {
32
+ for (const entry of await readdir(at, { withFileTypes: true })) {
24
33
  if (SKIPPED.has(entry.name)) {
25
34
  continue;
26
35
  }
27
36
  const path = prefix === "" ? entry.name : `${prefix}/${entry.name}`;
28
- const full = join(root, entry.name);
37
+ const full = join(at, entry.name);
29
38
  if (entry.isDirectory()) {
30
- entries.push(...(await filesUnder(full, path)));
39
+ await walk(full, path, into);
31
40
  }
32
41
  else if (entry.isFile()) {
33
- entries.push(await readEntry(path, full));
42
+ into.files.push({ path, full });
43
+ if (into.files.length > MAX_ARTIFACT_FILES) {
44
+ throw new ArtifactTooLarge(into.root, `holds more than ${MAX_ARTIFACT_FILES} files`);
45
+ }
46
+ into.bytes += (await stat(full)).size;
47
+ if (into.bytes > MAX_ARTIFACT_BYTES) {
48
+ throw new ArtifactTooLarge(into.root, `holds more than ${MAX_ARTIFACT_BYTES} bytes`);
49
+ }
34
50
  }
35
51
  else {
36
52
  throw new JudgeRefused(`the artifact holds ${path}, which is neither a regular file nor a directory; the judge hashes only those`);
37
53
  }
38
54
  }
55
+ }
56
+ async function filesUnder(root) {
57
+ const found = { root, files: [], bytes: 0 };
58
+ await walk(root, "", found);
59
+ const entries = [];
60
+ for (const { path, full } of found.files) {
61
+ entries.push(await readEntry(path, full));
62
+ }
39
63
  return entries;
40
64
  }
41
65
  export async function readArtifact(path) {
42
66
  const found = await stat(path);
43
67
  if (found.isFile()) {
68
+ if (found.size > MAX_ARTIFACT_BYTES) {
69
+ throw new ArtifactTooLarge(path, `is larger than ${MAX_ARTIFACT_BYTES} bytes`);
70
+ }
44
71
  const entry = await readEntry(basename(path), path);
45
72
  return { sha256: createHash("sha256").update(entry.bytes).digest("hex"), entries: [entry], single: true };
46
73
  }
47
74
  if (found.isDirectory()) {
48
- const entries = await filesUnder(path, "");
75
+ const entries = await filesUnder(path);
49
76
  return { sha256: await manifestSha256(entries), entries, single: false };
50
77
  }
51
78
  throw new JudgeRefused(`--artifact ${path} is neither a regular file nor a directory`);
@@ -53,6 +80,7 @@ export async function readArtifact(path) {
53
80
  export async function artifactSha256(path) {
54
81
  return (await readArtifact(path)).sha256;
55
82
  }
83
+ export const CHECK_COPY = "check";
56
84
  export async function removeCopy(root) {
57
85
  try {
58
86
  await rm(root, { recursive: true, force: true, maxRetries: CLEANUP_RETRIES });
@@ -62,21 +90,29 @@ export async function removeCopy(root) {
62
90
  return `the artifact copy at ${root} could not be removed: ${error instanceof Error ? error.message : String(error)}`;
63
91
  }
64
92
  }
65
- export async function copyOf(artifact, specBytes) {
93
+ async function writeEntries(under, entries) {
94
+ for (const entry of entries) {
95
+ const target = join(under, ...entry.path.split("/"));
96
+ await mkdir(dirname(target), { recursive: true });
97
+ await writeFile(target, entry.bytes);
98
+ if (entry.executable !== 0) {
99
+ await chmod(target, ((await stat(target)).mode & 0o777) | entry.executable);
100
+ }
101
+ }
102
+ }
103
+ export async function copyOf(artifact, specBytes, check) {
66
104
  const root = await mkdtemp(join(tmpdir(), "judge-artifact-"));
67
105
  const work = join(root, "work");
68
106
  const spec = join(root, "spec", SPEC_COPY);
107
+ const checks = join(root, CHECK_COPY);
69
108
  try {
70
109
  await mkdir(work);
71
110
  await mkdir(dirname(spec));
72
111
  await writeFile(spec, specBytes);
73
- for (const entry of artifact.entries) {
74
- const target = join(work, ...entry.path.split("/"));
75
- await mkdir(dirname(target), { recursive: true });
76
- await writeFile(target, entry.bytes);
77
- if (entry.executable !== 0) {
78
- await chmod(target, ((await stat(target)).mode & 0o777) | entry.executable);
79
- }
112
+ await writeEntries(work, artifact.entries);
113
+ if (check !== undefined) {
114
+ await mkdir(checks);
115
+ await writeEntries(check.read.single ? checks : join(checks, check.name), check.read.entries);
80
116
  }
81
117
  }
82
118
  catch (error) {
@@ -84,6 +120,11 @@ export async function copyOf(artifact, specBytes) {
84
120
  throw error;
85
121
  }
86
122
  const [only] = artifact.entries;
87
- return { root, spec, path: artifact.single && only !== undefined ? join(work, only.path) : work };
123
+ return {
124
+ root,
125
+ spec,
126
+ path: artifact.single && only !== undefined ? join(work, only.path) : work,
127
+ check: check === undefined ? undefined : join(checks, check.name),
128
+ };
88
129
  }
89
130
  //# sourceMappingURL=artifact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/artifact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../src/artifact.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,13 @@ export declare function claim(table: readonly Running[], recorded: Recorded): Ru
28
28
  export declare const leftRunning: (pids: readonly number[]) => string;
29
29
  export declare const stillRunning: (pids: readonly number[]) => string;
30
30
  export declare function runCheck(command: string, env: NodeJS.ProcessEnv, timeoutSeconds: number, options?: CheckOptions): Promise<Check>;
31
+ export type Docker = {
32
+ status: number | null;
33
+ out: string;
34
+ };
35
+ export declare function docker(args: readonly string[], env: NodeJS.ProcessEnv, shown?: boolean): Promise<Docker>;
36
+ export declare const containerLeft: (name: string) => string;
37
+ export declare function runContainer(args: readonly string[], name: string, env: NodeJS.ProcessEnv, timeoutSeconds: number): Promise<Check>;
31
38
  type SignalListener = (signal: InterruptSignal) => void;
32
39
  export type HeldSignals = {
33
40
  caught(): InterruptSignal | undefined;
@@ -302,6 +302,84 @@ export function runCheck(command, env, timeoutSeconds, options = {}) {
302
302
  });
303
303
  });
304
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
+ }
305
383
  export function holdSignals() {
306
384
  let caught;
307
385
  let listener;
@@ -1 +1 @@
1
- {"version":3,"file":"check-process.js","sourceRoot":"","sources":["../../src/check-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-process.js","sourceRoot":"","sources":["../../src/check-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Address } from "@solana/kit";
2
+ import { type Transport } from "@intent-engine/client";
3
+ import type { Command } from "./command-types.js";
4
+ import type { Runtime } from "./runtime.js";
5
+ type ClaimCommand = Extract<Command, {
6
+ name: "claims-show" | "claims-open" | "claims-take" | "claims-drop" | "claims-settle" | "profile-show" | "profile-set" | "profile-close";
7
+ }>;
8
+ export declare const noClaims: (intent: Address) => string;
9
+ export declare const heldBy: (intent: Address, worker: Address, secondsLeft: bigint) => string;
10
+ export declare const NO_PROFILE = "has published no profile";
11
+ export declare function claimsCommand(command: ClaimCommand, runtime: Runtime, transport: Transport): Promise<object>;
12
+ export {};
@@ -0,0 +1,170 @@
1
+ import { buildClaimJob, buildCloseProfile, buildCreateProfile, buildDropClaim, buildOpenClaims, buildSettleClaims, buildUpdateProfile, claimBoardAddress, claimUntil, findIntentPda, formatAmount, IntentCoreError, IntentStatus, profileAddress, stakeReceiverOnSettle, } from "@intent-engine/core";
2
+ import { createClient } from "@intent-engine/client";
3
+ import { previewed } from "./admin-commands.js";
4
+ import { FlowRefused } from "./flows.js";
5
+ const NONE = "11111111111111111111111111111111";
6
+ const sol = (lamports) => `${formatAmount(lamports, 9)} SOL`;
7
+ export const noClaims = (intent) => `escrow ${intent} takes no claims; its owner opens them with claims open`;
8
+ export const heldBy = (intent, worker, secondsLeft) => `${worker} holds the claim on escrow ${intent} for ${secondsLeft} more seconds; nothing was sent`;
9
+ export const NO_PROFILE = "has published no profile";
10
+ const claimsShown = (intent, view) => ({
11
+ intent,
12
+ board: view.board,
13
+ state: view.state,
14
+ worker: view.worker,
15
+ until: view.until,
16
+ seconds_left: view.secondsLeft,
17
+ stake: view.stake,
18
+ max_secs: view.maxSecs,
19
+ owner: view.owner,
20
+ });
21
+ async function claimsOf(client, owner, nonce) {
22
+ const [intent] = await findIntentPda({ owner, nonce });
23
+ const view = await client.claims(owner, nonce);
24
+ if (view === null) {
25
+ throw new FlowRefused(noClaims(intent));
26
+ }
27
+ return { intent, view };
28
+ }
29
+ async function escrowOpen(client, owner, nonce, now) {
30
+ const found = await client.intent(owner, nonce);
31
+ return found !== null && found.intent.status === IntentStatus.Open && now < found.intent.expiresAt ? found.intent.expiresAt : null;
32
+ }
33
+ async function claimCommand(command, runtime, transport, client) {
34
+ if (command.name === "claims-show") {
35
+ const { intent, view } = await claimsOf(client, command.owner, command.nonce);
36
+ return claimsShown(intent, view);
37
+ }
38
+ const signer = await runtime.loadSigner(command.keypair);
39
+ if (command.name === "claims-open") {
40
+ const [intent] = await findIntentPda({ owner: signer.address, nonce: command.nonce });
41
+ const board = await claimBoardAddress(intent);
42
+ if ((await client.claims(signer.address, command.nonce)) !== null) {
43
+ throw new FlowRefused(`escrow ${intent} already takes claims on board ${board}`);
44
+ }
45
+ const instruction = await buildOpenClaims({ owner: signer, intent, maxSecs: command.maxSecs, stake: command.stake });
46
+ const summary = [
47
+ `Opens: claims on escrow ${intent}; a worker holds the job for up to ${command.maxSecs} seconds by staking ${sol(command.stake)}`,
48
+ `Pays rent: ${signer.address}, for the claims board ${board}`,
49
+ ];
50
+ return previewed(transport, [instruction], signer, { intent, board, summary }, command.yes);
51
+ }
52
+ const { intent, view } = await claimsOf(client, command.owner, command.nonce);
53
+ const shown = claimsShown(intent, view);
54
+ switch (command.name) {
55
+ case "claims-take":
56
+ return takeClaim(command, signer, transport, client, intent, view, shown);
57
+ case "claims-drop": {
58
+ if (view.state !== "held" || view.worker !== signer.address) {
59
+ throw new FlowRefused(`${signer.address} holds no claim on escrow ${intent}; nothing was sent`);
60
+ }
61
+ const summary = [`Drops: this worker's claim on escrow ${intent}`, `Returns: its stake of ${sol(view.stake)} to ${signer.address}`];
62
+ return previewed(transport, [await buildDropClaim({ worker: signer, intent })], signer, { ...shown, summary }, command.yes);
63
+ }
64
+ case "claims-settle":
65
+ return settleClaims(command, signer, transport, client, intent, view, shown);
66
+ }
67
+ }
68
+ async function takeClaim(command, worker, transport, client, intent, view, shown) {
69
+ if (view.state === "held" && view.worker !== null) {
70
+ throw new FlowRefused(heldBy(intent, view.worker, view.secondsLeft));
71
+ }
72
+ if (command.secs > view.maxSecs) {
73
+ throw new FlowRefused(`escrow ${intent} lets a worker hold its claim for at most ${view.maxSecs} seconds; pass a lower --secs`);
74
+ }
75
+ const now = await client.chainTime();
76
+ const expiresAt = await escrowOpen(client, command.owner, command.nonce, now);
77
+ if (expiresAt === null) {
78
+ throw new FlowRefused(`escrow ${intent} is no longer open, so its job cannot be claimed`);
79
+ }
80
+ let until;
81
+ try {
82
+ until = claimUntil(view.maxSecs, now, command.secs, expiresAt);
83
+ }
84
+ catch (error) {
85
+ throw error instanceof IntentCoreError ? new FlowRefused(`a claim of ${command.secs} seconds would outlive escrow ${intent}, which expires at ${expiresAt}`) : error;
86
+ }
87
+ const summary = [
88
+ `Claims: escrow ${intent} until ${until}, ${command.secs} seconds; until then only ${worker.address} can be paid`,
89
+ `Stakes: ${sol(view.stake)}, returned when a release pays this worker or it drops the claim, and lost to the owner if the claim lapses first`,
90
+ ...(view.state === "lapsed" ? [`Ends: the lapsed claim of ${view.worker}, whose stake goes to the owner ${view.owner}`] : []),
91
+ ];
92
+ const instruction = await buildClaimJob({ worker, intent, owner: view.owner, secs: command.secs });
93
+ return previewed(transport, [instruction], worker, { ...shown, summary }, command.yes);
94
+ }
95
+ async function settleClaims(command, payer, transport, client, intent, view, shown) {
96
+ const now = await client.chainTime();
97
+ const open = (await escrowOpen(client, command.owner, command.nonce, now)) !== null;
98
+ const board = { owner: view.owner, worker: view.worker ?? NONE, until: view.until, held: view.stake };
99
+ let receiver;
100
+ try {
101
+ receiver = stakeReceiverOnSettle(board, now, open);
102
+ }
103
+ catch (error) {
104
+ if (error instanceof IntentCoreError && view.worker !== null) {
105
+ throw new FlowRefused(`${heldBy(intent, view.worker, view.secondsLeft)}; settle once it lapses or the escrow closes`);
106
+ }
107
+ throw error;
108
+ }
109
+ if (open && receiver === null) {
110
+ throw new FlowRefused(`escrow ${intent} is open and nobody holds its claim, so there is nothing to settle; nothing was sent`);
111
+ }
112
+ const summary = [
113
+ receiver === null ? "Moves: no stake; nobody holds the claim" : `Moves: the stake of ${sol(view.stake)} to ${receiver}`,
114
+ ...(open ? [] : [`Closes: the claims board ${view.board}, returning its rent to the owner ${view.owner}`]),
115
+ `Pays the fee: ${payer.address}`,
116
+ ];
117
+ const instruction = await buildSettleClaims({ intent, owner: view.owner, ...(view.worker === null ? {} : { worker: view.worker }) });
118
+ return previewed(transport, [instruction], payer, { ...shown, summary }, command.yes);
119
+ }
120
+ async function profileCommand(command, runtime, transport, client) {
121
+ if (command.name === "profile-show") {
122
+ const found = await client.profile(command.wallet);
123
+ if (found === null) {
124
+ throw new FlowRefused(`${command.wallet} ${NO_PROFILE}`);
125
+ }
126
+ return {
127
+ wallet: found.wallet,
128
+ profile: await profileAddress(found.wallet),
129
+ skills: found.skills,
130
+ endpoint: found.endpoint,
131
+ doc_url: found.docUrl,
132
+ doc_sha256: found.docSha256,
133
+ updated_at: found.updatedAt,
134
+ };
135
+ }
136
+ const wallet = await runtime.loadSigner(command.keypair);
137
+ const profile = await profileAddress(wallet.address);
138
+ const existing = await client.profile(wallet.address);
139
+ if (command.name === "profile-close") {
140
+ if (existing === null) {
141
+ throw new FlowRefused(`${wallet.address} ${NO_PROFILE}; nothing was sent`);
142
+ }
143
+ const summary = [`Closes: the profile of ${wallet.address} and returns its rent to it`];
144
+ return previewed(transport, [await buildCloseProfile({ wallet })], wallet, { wallet: wallet.address, profile, summary }, command.yes);
145
+ }
146
+ const input = { wallet, ...command.profile };
147
+ const instruction = existing === null ? await buildCreateProfile(input) : await buildUpdateProfile(input);
148
+ const { docUrl, docSha256 } = command.profile;
149
+ const summary = [
150
+ `${existing === null ? "Creates" : "Updates"}: the profile of ${wallet.address} at ${profile}`,
151
+ `Skills: ${command.profile.skills.join(", ")}`,
152
+ `Endpoint: ${command.profile.endpoint}`,
153
+ docUrl === undefined ? "Document: none" : `Document: ${docUrl} with sha256 ${docSha256}`,
154
+ ...(existing === null ? [`Pays rent: ${wallet.address}`] : []),
155
+ ];
156
+ const shown = { wallet: wallet.address, profile, action: existing === null ? "create" : "update", summary };
157
+ return previewed(transport, [instruction], wallet, shown, command.yes);
158
+ }
159
+ export async function claimsCommand(command, runtime, transport) {
160
+ const client = createClient({ url: command.url, transport });
161
+ switch (command.name) {
162
+ case "profile-show":
163
+ case "profile-set":
164
+ case "profile-close":
165
+ return profileCommand(command, runtime, transport, client);
166
+ default:
167
+ return claimCommand(command, runtime, transport, client);
168
+ }
169
+ }
170
+ //# sourceMappingURL=claim-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-commands.js","sourceRoot":"","sources":["../../src/claim-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const DEFAULT_URL = "http://127.0.0.1:8899";
2
+ export declare const CLUSTERS: Readonly<Record<string, string>>;
3
+ export declare const ENV_URL = "INTENT_ENGINE_URL";
4
+ export declare const ENV_KEYPAIR = "INTENT_ENGINE_KEYPAIR";
5
+ export declare const WALLET_NOT_MAINNET = "mcp --wallet keeps its key in a file on this machine, so it serves devnet, testnet and localnet only";
6
+ export declare function clusterUrl(text: string): string;
@@ -0,0 +1,15 @@
1
+ import { DEVNET_URL } from "./tokens.js";
2
+ export const DEFAULT_URL = "http://127.0.0.1:8899";
3
+ export const CLUSTERS = {
4
+ localnet: DEFAULT_URL,
5
+ devnet: DEVNET_URL,
6
+ testnet: "https://api.testnet.solana.com",
7
+ "mainnet-beta": "https://api.mainnet-beta.solana.com",
8
+ };
9
+ export const ENV_URL = "INTENT_ENGINE_URL";
10
+ export const ENV_KEYPAIR = "INTENT_ENGINE_KEYPAIR";
11
+ export const WALLET_NOT_MAINNET = "mcp --wallet keeps its key in a file on this machine, so it serves devnet, testnet and localnet only";
12
+ export function clusterUrl(text) {
13
+ return CLUSTERS[text] ?? text;
14
+ }
15
+ //# sourceMappingURL=clusters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clusters.js","sourceRoot":"","sources":["../../src/clusters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAEnD,MAAM,CAAC,MAAM,QAAQ,GAAqC;IACxD,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,gCAAgC;IACzC,cAAc,EAAE,qCAAqC;CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,sGAAsG,CAAC;AAEzI,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAChC,CAAC"}