@cultos/cli 0.3.1 → 0.4.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/cli.js CHANGED
@@ -2,14 +2,14 @@
2
2
  import { readFileSync } from "node:fs";
3
3
  import pc from "picocolors";
4
4
  import { Command } from "commander";
5
- import { completeJob, createJob, fundJob, quoteJob, rejectJob, sendMessage, submitJob, watchJob } from "./acp.js";
6
- import { createPullRequestDelivery, createWorkContract, parsePullRequestDelivery } from "./contract.js";
5
+ import { completeJob, createJob, currentAgent, fundJob, listAgents, quoteJob, rejectJob, requireProviderIdentity, sendMessage, submitJob, useAgent, watchJob } from "./acp.js";
6
+ import { createPullRequestDelivery, createReviewContract, createWorkContract, isAeonReviewDelivery, parseAeonReviewDelivery, parsePullRequestDelivery } from "./contract.js";
7
7
  import { runBbs } from "./bbs.js";
8
8
  import { runDoctor } from "./doctor.js";
9
9
  import { runStart } from "./start.js";
10
10
  import { detectRepositoryPlatform, commentOnRepositoryIssue, getRepositoryInfo, getRepositoryIssue, getRepositoryPullRequest } from "./repository.js";
11
- import { getJob, listJobs, saveJob, updateJob } from "./state.js";
12
- import { verifyJob } from "./verify.js";
11
+ import { getJob, jobReference, listJobs, saveJob, updateJob } from "./state.js";
12
+ import { verifyJob, verifyReviewJob } from "./verify.js";
13
13
  const program = new Command();
14
14
  const packageVersion = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
15
15
  function issueNumber(value) {
@@ -44,7 +44,42 @@ function positiveInteger(value, name) {
44
44
  }
45
45
  return parsed;
46
46
  }
47
+ function printAgentIdentity(agent, active = false) {
48
+ console.log(`${active ? pc.green("◆") : pc.dim("◇")} ${agent.name}`);
49
+ console.log(` ${agent.walletAddress}`);
50
+ console.log(pc.dim(` ${agent.id}`));
51
+ }
52
+ function providerIdentity(jobId, network) {
53
+ const local = listJobs().find(job => job.jobId === jobId && job.chainId === network);
54
+ return requireProviderIdentity(local?.provider);
55
+ }
56
+ function providerAction(issue, options) {
57
+ if (issue && options.job)
58
+ throw new Error("Choose an issue or --job, not both");
59
+ if (issue) {
60
+ const job = getJob(issue);
61
+ if (options.chain && chainId(options.chain) !== job.chainId) {
62
+ throw new Error(`Issue ${issue} is recorded on chain ${job.chainId}`);
63
+ }
64
+ return { jobId: job.jobId, network: job.chainId };
65
+ }
66
+ if (!options.job)
67
+ throw new Error("Provide an issue or --job");
68
+ return { jobId: options.job, network: chainId(options.chain ?? "8453") };
69
+ }
47
70
  function settlementReceipt(job, outcome) {
71
+ const delivery = job.delivery
72
+ ? isAeonReviewDelivery(job.delivery)
73
+ ? [
74
+ `| Review | ${job.delivery.run.url} |`,
75
+ `| Verdict | **${job.delivery.verdict}** |`,
76
+ `| Commit | \`${job.delivery.head_sha}\` |`
77
+ ]
78
+ : [
79
+ `| Delivery | ${job.delivery.url} |`,
80
+ `| Commit | \`${job.delivery.headSha}\` |`
81
+ ]
82
+ : [];
48
83
  return [
49
84
  `<!-- cultos-job:${job.chainId}:${job.jobId} -->`,
50
85
  "### CultOS receipt",
@@ -55,14 +90,13 @@ function settlementReceipt(job, outcome) {
55
90
  `| Provider | \`${job.provider}\` |`,
56
91
  `| Result | **${outcome}** |`,
57
92
  ...(job.budget ? [`| Settlement | ${job.budget} USDC |`] : []),
58
- ...(job.delivery
59
- ? [`| Delivery | ${job.delivery.url} |`, `| Commit | \`${job.delivery.headSha}\` |`]
60
- : [])
93
+ ...delivery
61
94
  ].join("\n");
62
95
  }
63
96
  function printJob(issue) {
64
97
  const job = getJob(issue);
65
- console.log(pc.bold(`\nCULT OS // ISSUE #${job.issueNumber}\n`));
98
+ const label = job.service === "review" ? "REVIEW" : "ISSUE";
99
+ console.log(pc.bold(`\nCULT OS // ${label} #${job.issueNumber}\n`));
66
100
  console.log(`${pc.dim("ACP JOB")} ${job.jobId}`);
67
101
  console.log(`${pc.dim("STATUS")} ${job.status.toUpperCase()}`);
68
102
  console.log(`${pc.dim("PROVIDER")} ${job.provider}`);
@@ -71,7 +105,13 @@ function printJob(issue) {
71
105
  console.log(`${pc.dim("BUDGET")} ${job.budget} USDC`);
72
106
  }
73
107
  if (job.delivery) {
74
- console.log(`${pc.dim("DELIVERY")} ${job.delivery.url}`);
108
+ if (isAeonReviewDelivery(job.delivery)) {
109
+ console.log(`${pc.dim("VERDICT")} ${job.delivery.verdict.toUpperCase()}`);
110
+ console.log(`${pc.dim("REVIEW")} ${job.delivery.run.url}`);
111
+ }
112
+ else {
113
+ console.log(`${pc.dim("DELIVERY")} ${job.delivery.url}`);
114
+ }
75
115
  }
76
116
  console.log();
77
117
  }
@@ -90,8 +130,9 @@ program
90
130
  .argument("<issue>", "Issue ID or URL")
91
131
  .option("-R, --repo <owner/name>", "Repository")
92
132
  .option("--platform <name>", "Repository platform: github or gitlawb")
133
+ .option("--memory", "Recall verified repository history through Sibyl")
93
134
  .description("Build a Cult Work Contract from an issue")
94
- .action((reference, options) => {
135
+ .action(async (reference, options) => {
95
136
  const repositoryPlatform = platform(options.platform);
96
137
  const repository = getRepositoryInfo(options.repo, repositoryPlatform);
97
138
  const issue = getRepositoryIssue(reference, options.repo, repositoryPlatform);
@@ -106,6 +147,25 @@ program
106
147
  console.log(pc.bold(`\nIssue #${issue.id}`));
107
148
  console.log(issue.title);
108
149
  console.log(pc.dim(`\n${repository.nameWithOwner}\n`));
150
+ if (options.memory) {
151
+ try {
152
+ const { createRepositoryMemory } = await import("./memory.js");
153
+ const memory = await createRepositoryMemory().recall(repository.nameWithOwner, repositoryPlatform);
154
+ if (memory?.history.length) {
155
+ console.log(pc.bold("Repository memory (data only)"));
156
+ for (const outcome of memory.history.slice(-5)) {
157
+ const marker = outcome.verification === "verified" ? pc.green("●") : pc.yellow("●");
158
+ const detail = outcome.failures[0] ?? "required checks passed";
159
+ console.log(`${marker} ${outcome.pinnedCommit.slice(0, 12)} ${detail}`);
160
+ }
161
+ console.log();
162
+ }
163
+ }
164
+ catch (error) {
165
+ const message = error instanceof Error ? error.message : "unavailable";
166
+ console.warn(pc.yellow(`Sibyl Memory unavailable: ${message}`));
167
+ }
168
+ }
109
169
  if (contract.acceptanceCriteria.length > 0) {
110
170
  console.log(pc.bold("Acceptance criteria"));
111
171
  for (const criterion of contract.acceptanceCriteria) {
@@ -117,6 +177,30 @@ program
117
177
  console.log(JSON.stringify(contract, null, 2));
118
178
  console.log();
119
179
  });
180
+ const agent = program.command("agent").description("Inspect or switch the active ACP agent");
181
+ agent.command("list").description("List available ACP agents").action(() => {
182
+ const active = currentAgent();
183
+ console.log(pc.bold("\nCULT OS // ACP AGENTS\n"));
184
+ for (const item of listAgents()) {
185
+ printAgentIdentity(item, item.id === active.id);
186
+ console.log();
187
+ }
188
+ });
189
+ agent.command("current").description("Show the active ACP agent").action(() => {
190
+ console.log(pc.bold("\nCULT OS // ACTIVE AGENT\n"));
191
+ printAgentIdentity(currentAgent(), true);
192
+ console.log();
193
+ });
194
+ agent
195
+ .command("use")
196
+ .argument("<agent>", "ACP agent ID or exact name (quote names containing spaces)")
197
+ .description("Switch the active ACP agent")
198
+ .action((agentId) => {
199
+ const selected = useAgent(agentId);
200
+ console.log(pc.bold("\nCULT OS // ACTIVE AGENT\n"));
201
+ printAgentIdentity(selected, true);
202
+ console.log();
203
+ });
120
204
  program
121
205
  .command("hire")
122
206
  .argument("<issue>", "Issue ID")
@@ -124,26 +208,45 @@ program
124
208
  .option("-R, --repo <owner/name>", "Repository")
125
209
  .option("--platform <name>", "Repository platform: github or gitlawb")
126
210
  .option("--offering <name>", "ACP offering name")
211
+ .option("--pr <url>", "Pull request to review")
127
212
  .option("--chain <id>", "ACP chain ID", "8453")
128
213
  .option("--expiry <seconds>", "Custom job expiry", "86400")
129
214
  .description("Create an ACP job from an issue")
130
215
  .action((value, options) => {
131
216
  const repositoryPlatform = platform(options.platform);
132
217
  const number = issueReference(value, repositoryPlatform);
133
- const existing = listJobs().find((job) => String(job.issueNumber) === String(number));
218
+ const reference = options.pr ? `${number}:review` : String(number);
219
+ const existing = listJobs().find((job) => jobReference(job) === reference);
134
220
  if (existing) {
135
221
  throw new Error(`Issue #${number} is already linked to ACP job ${existing.jobId}`);
136
222
  }
137
223
  const repository = getRepositoryInfo(options.repo, repositoryPlatform);
138
224
  const issue = getRepositoryIssue(value, options.repo, repositoryPlatform);
139
- const contract = createWorkContract({
140
- platform: repositoryPlatform,
141
- repositoryUrl: repository.url,
142
- issueUrl: issue.url,
143
- baseRef: repository.defaultBranch,
144
- title: issue.title,
145
- body: issue.body
146
- });
225
+ const pullRequest = options.pr ? getRepositoryPullRequest(options.pr) : undefined;
226
+ if (pullRequest && repositoryPlatform !== "github") {
227
+ throw new Error("Aeon reviews currently require GitHub");
228
+ }
229
+ if (pullRequest && !pullRequest.url.startsWith(`${repository.url}/pull/`)) {
230
+ throw new Error("Pull request belongs to a different repository");
231
+ }
232
+ if (pullRequest && pullRequest.state !== "OPEN") {
233
+ throw new Error("Pull request must be open");
234
+ }
235
+ const contract = pullRequest
236
+ ? createReviewContract({
237
+ repositoryUrl: repository.url,
238
+ issueUrl: issue.url,
239
+ pullRequestUrl: pullRequest.url,
240
+ headSha: pullRequest.headSha
241
+ })
242
+ : createWorkContract({
243
+ platform: repositoryPlatform,
244
+ repositoryUrl: repository.url,
245
+ issueUrl: issue.url,
246
+ baseRef: repository.defaultBranch,
247
+ title: issue.title,
248
+ body: issue.body
249
+ });
147
250
  const provider = options.provider;
148
251
  if (!provider) {
149
252
  throw new Error("Provider address is required");
@@ -159,6 +262,7 @@ program
159
262
  const now = new Date().toISOString();
160
263
  saveJob({
161
264
  issueNumber: issue.id,
265
+ ...(pullRequest ? { service: "review" } : {}),
162
266
  repository: repository.nameWithOwner,
163
267
  contract,
164
268
  provider,
@@ -171,7 +275,7 @@ program
171
275
  updatedAt: now
172
276
  });
173
277
  console.log(pc.green(`ACP job ${created.jobId} created for issue #${issue.id}.`));
174
- console.log(pc.dim(`Run cult watch ${issue.id} to follow it.`));
278
+ console.log(pc.dim(`Run cult watch ${reference} to follow it.`));
175
279
  });
176
280
  program
177
281
  .command("watch")
@@ -182,24 +286,35 @@ program
182
286
  const number = value;
183
287
  const job = getJob(number);
184
288
  console.log(pc.dim(`Watching ACP job ${job.jobId}...`));
185
- const watched = watchJob(job.jobId, options.timeout ? positiveInteger(options.timeout, "timeout") : undefined);
289
+ const watched = watchJob(job.jobId, options.timeout ? positiveInteger(options.timeout, "timeout") : undefined, job.chainId);
186
290
  const update = { status: watched.status };
187
291
  if (watched.budget) {
188
292
  update.budget = watched.budget;
189
293
  }
190
294
  if (watched.deliverable) {
191
295
  try {
192
- update.delivery = parsePullRequestDelivery(watched.deliverable);
296
+ update.delivery = job.contract.kind === "cultos.github.review.v1"
297
+ ? parseAeonReviewDelivery(watched.deliverable)
298
+ : parsePullRequestDelivery(watched.deliverable);
193
299
  }
194
300
  catch {
195
- console.log(pc.yellow("Provider submitted a deliverable that is not a CultOS pull request."));
301
+ const expected = job.contract.kind === "cultos.github.review.v1"
302
+ ? "an Aeon review"
303
+ : "a CultOS pull request";
304
+ console.log(pc.yellow(`Provider submitted a deliverable that is not ${expected}.`));
196
305
  }
197
306
  }
198
307
  updateJob(number, update);
199
308
  printJob(number);
200
- if (watched.availableTools.length > 0) {
201
- console.log(pc.dim(`Available: ${watched.availableTools.join(", ")}\n`));
202
- }
309
+ const next = watched.status === "budget_set"
310
+ ? `Buyer: run cult fund ${number}.`
311
+ : watched.status === "submitted"
312
+ ? `Buyer: run cult verify ${number} --memory.`
313
+ : watched.status === "open"
314
+ ? "Waiting for the provider quote."
315
+ : watched.status === "funded" ? "Waiting for the provider delivery." : undefined;
316
+ if (next)
317
+ console.log(pc.dim(`${next}\n`));
203
318
  });
204
319
  program
205
320
  .command("fund")
@@ -230,33 +345,77 @@ program
230
345
  });
231
346
  program
232
347
  .command("quote")
233
- .requiredOption("--job <id>", "ACP job ID")
348
+ .argument("[issue]", "Issue ID recorded by Cult OS")
349
+ .option("--job <id>", "ACP job ID for a remote provider")
234
350
  .requiredOption("--amount <usdc>", "Service price in USDC")
235
- .option("--chain <id>", "ACP chain ID", "8453")
351
+ .option("--chain <id>", "ACP chain ID")
236
352
  .description("Set a provider quote for an ACP job")
237
- .action((options) => {
238
- quoteJob(options.job, chainId(options.chain), options.amount);
239
- console.log(pc.green(`\nQuoted ${options.amount} USDC for ACP job ${options.job}.\n`));
353
+ .action((issue, options) => {
354
+ const { jobId, network } = providerAction(issue, options);
355
+ const identity = providerIdentity(jobId, network);
356
+ console.log(pc.dim(`Provider identity: ${identity.name} · ${identity.walletAddress}`));
357
+ quoteJob(jobId, network, options.amount);
358
+ console.log(pc.green(`\nQuoted ${options.amount} USDC for ACP job ${jobId}.\n`));
240
359
  });
241
360
  program
242
361
  .command("deliver")
243
- .requiredOption("--job <id>", "ACP job ID")
362
+ .argument("[issue]", "Issue ID recorded by Cult OS")
363
+ .option("--job <id>", "ACP job ID for a remote provider")
244
364
  .requiredOption("--pr <url>", "Delivered pull request")
245
- .option("--chain <id>", "ACP chain ID", "8453")
365
+ .option("--chain <id>", "ACP chain ID")
246
366
  .description("Submit a pull request as an ACP provider")
247
- .action((options) => {
367
+ .action((issue, options) => {
368
+ const { jobId, network } = providerAction(issue, options);
369
+ const identity = providerIdentity(jobId, network);
370
+ console.log(pc.dim(`Provider identity: ${identity.name} · ${identity.walletAddress}`));
248
371
  const pullRequest = getRepositoryPullRequest(options.pr);
249
372
  const delivery = createPullRequestDelivery(pullRequest.url, pullRequest.headSha, pullRequest.platform ?? "github");
250
- submitJob(options.job, chainId(options.chain), delivery);
373
+ submitJob(jobId, network, delivery);
251
374
  console.log(pc.green(`\nDelivered PR #${pullRequest.number} at ${pullRequest.headSha.slice(0, 12)}.\n`));
252
375
  });
253
376
  program
254
377
  .command("verify")
255
378
  .argument("<issue>", "Issue ID")
256
- .description("Verify the delivered pull request")
257
- .action((value) => {
379
+ .option("--memory", "Record the verification outcome through Sibyl")
380
+ .description("Verify the delivered work")
381
+ .action(async (value, options) => {
258
382
  const number = value;
259
- const result = verifyJob(getJob(number));
383
+ const job = getJob(number);
384
+ if (job.contract.kind === "cultos.github.review.v1") {
385
+ const review = verifyReviewJob(job);
386
+ console.log(pc.bold(`\nCULT OS // VERIFY REVIEW #${review.pullRequest}\n`));
387
+ console.log(`${pc.dim("VERDICT")} ${review.verdict.toUpperCase()}`);
388
+ console.log(`${pc.dim("SUMMARY")} ${review.summary}`);
389
+ for (const finding of review.findings) {
390
+ const marker = finding.severity === "medium" ? pc.yellow("●") : pc.red("●");
391
+ const line = finding.line ? `:${finding.line}` : "";
392
+ console.log(`${marker} ${finding.path}${line} ${finding.title}`);
393
+ }
394
+ if (review.passed) {
395
+ console.log(pc.green(`\nReview verified at ${review.headSha.slice(0, 12)}.\n`));
396
+ updateJob(number, { status: "verified" });
397
+ }
398
+ else {
399
+ console.log(pc.red("\nVerification failed:"));
400
+ for (const failure of review.failures)
401
+ console.log(`- ${failure}`);
402
+ console.log();
403
+ process.exitCode = 1;
404
+ }
405
+ if (options.memory) {
406
+ try {
407
+ const { createRepositoryMemory } = await import("./memory.js");
408
+ await createRepositoryMemory().record(job, review);
409
+ console.log(pc.dim("Sibyl Memory updated.\n"));
410
+ }
411
+ catch (error) {
412
+ const message = error instanceof Error ? error.message : "unavailable";
413
+ console.warn(pc.yellow(`Sibyl Memory unavailable: ${message}`));
414
+ }
415
+ }
416
+ return;
417
+ }
418
+ const result = verifyJob(job);
260
419
  console.log(pc.bold(`\nCULT OS // VERIFY PR #${result.pullRequest}\n`));
261
420
  for (const check of result.checks) {
262
421
  const marker = ["pass", "skipping"].includes(check.bucket) ? pc.green("●") : pc.red("●");
@@ -265,14 +424,89 @@ program
265
424
  if (result.passed) {
266
425
  console.log(pc.green(`\nVerified at ${result.headSha.slice(0, 12)}.\n`));
267
426
  updateJob(number, { status: "verified" });
268
- return;
269
427
  }
270
- console.log(pc.red("\nVerification failed:"));
271
- for (const failure of result.failures) {
272
- console.log(`- ${failure}`);
428
+ else {
429
+ console.log(pc.red("\nVerification failed:"));
430
+ for (const failure of result.failures) {
431
+ console.log(`- ${failure}`);
432
+ }
433
+ console.log();
434
+ process.exitCode = 1;
435
+ }
436
+ if (options.memory) {
437
+ try {
438
+ const { createRepositoryMemory } = await import("./memory.js");
439
+ await createRepositoryMemory().record(job, result);
440
+ console.log(pc.dim("Sibyl Memory updated.\n"));
441
+ }
442
+ catch (error) {
443
+ const message = error instanceof Error ? error.message : "unavailable";
444
+ console.warn(pc.yellow(`Sibyl Memory unavailable: ${message}`));
445
+ }
446
+ }
447
+ });
448
+ const memory = program.command("memory").description("Inspect local Sibyl repository memory");
449
+ memory.command("setup").description("Install and verify Sibyl Memory").action(async () => {
450
+ try {
451
+ const { createRepositoryMemory, installSibylMemory } = await import("./memory.js");
452
+ try {
453
+ await createRepositoryMemory().status();
454
+ console.log(pc.green("\nSibyl Memory already ready.\n"));
455
+ return;
456
+ }
457
+ catch { }
458
+ console.log(pc.dim("\nInstalling Sibyl Memory..."));
459
+ installSibylMemory();
460
+ await createRepositoryMemory().status();
461
+ console.log(pc.green("Sibyl Memory ready.\n"));
462
+ }
463
+ catch (error) {
464
+ const message = error instanceof Error ? error.message : "setup failed";
465
+ console.error(pc.red(`\nSibyl Memory setup failed: ${message}\n`));
466
+ process.exitCode = 1;
467
+ }
468
+ });
469
+ memory.command("status").description("Check the Sibyl Memory connection").action(async () => {
470
+ try {
471
+ const { createRepositoryMemory } = await import("./memory.js");
472
+ await createRepositoryMemory().status();
473
+ console.log(pc.green("\nSibyl Memory ready.\n"));
474
+ }
475
+ catch (error) {
476
+ const message = error instanceof Error ? error.message : "unavailable";
477
+ console.error(pc.red(`\nSibyl Memory unavailable: ${message}\n`));
478
+ process.exitCode = 1;
479
+ }
480
+ });
481
+ memory
482
+ .command("history")
483
+ .option("-R, --repo <owner/name>", "Repository")
484
+ .option("--platform <name>", "Repository platform: github or gitlawb")
485
+ .description("Read verified history for a repository")
486
+ .action(async (options) => {
487
+ try {
488
+ const repositoryPlatform = platform(options.platform);
489
+ const repository = getRepositoryInfo(options.repo, repositoryPlatform);
490
+ const { createRepositoryMemory } = await import("./memory.js");
491
+ const result = await createRepositoryMemory().recall(repository.nameWithOwner, repositoryPlatform);
492
+ console.log(pc.bold(`\nCULT OS // REPOSITORY MEMORY\n`));
493
+ console.log(repository.nameWithOwner);
494
+ if (!result?.history.length) {
495
+ console.log(pc.dim("\nNo verified history recorded.\n"));
496
+ return;
497
+ }
498
+ console.log();
499
+ for (const outcome of result.history) {
500
+ const marker = outcome.verification === "verified" ? pc.green("●") : pc.yellow("●");
501
+ console.log(`${marker} ${outcome.pinnedCommit.slice(0, 12)} ${outcome.verification.padEnd(8)} ${outcome.failures[0] ?? "required checks passed"}`);
502
+ }
503
+ console.log();
504
+ }
505
+ catch (error) {
506
+ const message = error instanceof Error ? error.message : "unavailable";
507
+ console.error(pc.red(`\nSibyl Memory unavailable: ${message}\n`));
508
+ process.exitCode = 1;
273
509
  }
274
- console.log();
275
- process.exitCode = 1;
276
510
  });
277
511
  program
278
512
  .command("settle")
@@ -298,7 +532,9 @@ program
298
532
  }
299
533
  if (!retryingReceipt) {
300
534
  if (options.approve) {
301
- const verification = verifyJob(job, "MERGED");
535
+ const verification = job.contract.kind === "cultos.github.review.v1"
536
+ ? verifyReviewJob(job)
537
+ : verifyJob(job, "MERGED");
302
538
  if (!verification.passed) {
303
539
  throw new Error(`Settlement verification failed:\n- ${verification.failures.join("\n- ")}`);
304
540
  }
@@ -310,9 +546,9 @@ program
310
546
  updateJob(number, { status: outcome, settledByCultos: outcome });
311
547
  }
312
548
  const repositoryPlatform = job.contract.kind === "cultos.gitlawb.issue.v1" ? "gitlawb" : "github";
313
- commentOnRepositoryIssue(repositoryPlatform, job.repository, number, settlementReceipt(job, outcome));
549
+ commentOnRepositoryIssue(repositoryPlatform, job.repository, job.issueNumber, settlementReceipt(job, outcome));
314
550
  updateJob(number, { receiptPostedAt: new Date().toISOString() });
315
- console.log(pc.green(`\nACP job ${job.jobId} ${outcome}. Receipt posted to issue #${number}.\n`));
551
+ console.log(pc.green(`\nACP job ${job.jobId} ${outcome}. Receipt posted to issue #${job.issueNumber}.\n`));
316
552
  });
317
553
  program
318
554
  .command("jobs")
@@ -325,7 +561,7 @@ program
325
561
  }
326
562
  console.log(pc.bold("\nCULT OS // JOBS\n"));
327
563
  for (const job of jobs) {
328
- console.log(`#${String(job.issueNumber).padEnd(6)} ${job.status.padEnd(12)} ACP ${job.jobId}`);
564
+ console.log(`#${jobReference(job).padEnd(13)} ${job.status.padEnd(12)} ACP ${job.jobId}`);
329
565
  }
330
566
  console.log();
331
567
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ export declare const workContractKind: "cultos.github.issue.v1";
2
2
  export declare const pullRequestDeliveryKind: "cultos.github.pull-request.v1";
3
3
  export declare const gitlawbWorkContractKind: "cultos.gitlawb.issue.v1";
4
4
  export declare const gitlawbPullRequestDeliveryKind: "cultos.gitlawb.pull-request.v1";
5
+ export declare const reviewContractKind: "cultos.github.review.v1";
6
+ export declare const aeonReviewSchemaKind: "cultos.aeon.review.v1";
5
7
  export type RepositoryPlatform = "github" | "gitlawb";
6
8
  export interface IssueWorkContract {
7
9
  kind: typeof workContractKind | typeof gitlawbWorkContractKind;
@@ -19,6 +21,47 @@ export interface PullRequestDelivery {
19
21
  url: string;
20
22
  headSha: string;
21
23
  }
24
+ export interface ReviewWorkContract {
25
+ kind: typeof reviewContractKind;
26
+ repository: string;
27
+ issue: string;
28
+ pullRequest: string;
29
+ headSha: string;
30
+ delivery: {
31
+ type: "aeon.review";
32
+ };
33
+ }
34
+ export interface AeonReviewDelivery {
35
+ schema: typeof aeonReviewSchemaKind;
36
+ status: "complete" | "invalid" | "unsupported";
37
+ repository: string;
38
+ issue: number;
39
+ pull_request: number;
40
+ head_sha: string;
41
+ verdict: "approve-ready" | "discussion-needed" | "blocked";
42
+ summary: string;
43
+ findings: Array<{
44
+ severity: "critical" | "high" | "medium";
45
+ path: string;
46
+ line: number | null;
47
+ title: string;
48
+ consequence: string;
49
+ }>;
50
+ reviewed_files: string[];
51
+ limitations: string[];
52
+ run: {
53
+ id: number;
54
+ url: string;
55
+ model: string;
56
+ gateway: string;
57
+ usage: {
58
+ input_tokens: number;
59
+ output_tokens: number;
60
+ };
61
+ };
62
+ }
63
+ export type CultWorkContract = IssueWorkContract | ReviewWorkContract;
64
+ export type CultDelivery = PullRequestDelivery | AeonReviewDelivery;
22
65
  interface ContractInput {
23
66
  platform?: RepositoryPlatform;
24
67
  repositoryUrl: string;
@@ -29,6 +72,14 @@ interface ContractInput {
29
72
  }
30
73
  export declare function extractAcceptanceCriteria(body: string): string[];
31
74
  export declare function createWorkContract(input: ContractInput): IssueWorkContract;
75
+ export declare function createReviewContract(input: {
76
+ repositoryUrl: string;
77
+ issueUrl: string;
78
+ pullRequestUrl: string;
79
+ headSha: string;
80
+ }): ReviewWorkContract;
32
81
  export declare function createPullRequestDelivery(url: string, headSha: string, platform?: RepositoryPlatform): PullRequestDelivery;
33
82
  export declare function parsePullRequestDelivery(value: unknown): PullRequestDelivery;
83
+ export declare function parseAeonReviewDelivery(value: unknown): AeonReviewDelivery;
84
+ export declare function isAeonReviewDelivery(value: CultDelivery): value is AeonReviewDelivery;
34
85
  export {};