@cultos/cli 0.3.0 → 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
@@ -1,15 +1,17 @@
1
1
  #!/usr/bin/env node
2
+ import { readFileSync } from "node:fs";
2
3
  import pc from "picocolors";
3
4
  import { Command } from "commander";
4
- import { completeJob, createJob, fundJob, quoteJob, rejectJob, sendMessage, submitJob, watchJob } from "./acp.js";
5
- 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";
6
7
  import { runBbs } from "./bbs.js";
7
8
  import { runDoctor } from "./doctor.js";
8
9
  import { runStart } from "./start.js";
9
10
  import { detectRepositoryPlatform, commentOnRepositoryIssue, getRepositoryInfo, getRepositoryIssue, getRepositoryPullRequest } from "./repository.js";
10
- import { getJob, listJobs, saveJob, updateJob } from "./state.js";
11
- import { verifyJob } from "./verify.js";
11
+ import { getJob, jobReference, listJobs, saveJob, updateJob } from "./state.js";
12
+ import { verifyJob, verifyReviewJob } from "./verify.js";
12
13
  const program = new Command();
14
+ const packageVersion = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
13
15
  function issueNumber(value) {
14
16
  const parsed = Number.parseInt(value, 10);
15
17
  if (!Number.isInteger(parsed) || parsed < 1) {
@@ -42,7 +44,42 @@ function positiveInteger(value, name) {
42
44
  }
43
45
  return parsed;
44
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
+ }
45
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
+ : [];
46
83
  return [
47
84
  `<!-- cultos-job:${job.chainId}:${job.jobId} -->`,
48
85
  "### CultOS receipt",
@@ -53,14 +90,13 @@ function settlementReceipt(job, outcome) {
53
90
  `| Provider | \`${job.provider}\` |`,
54
91
  `| Result | **${outcome}** |`,
55
92
  ...(job.budget ? [`| Settlement | ${job.budget} USDC |`] : []),
56
- ...(job.delivery
57
- ? [`| Delivery | ${job.delivery.url} |`, `| Commit | \`${job.delivery.headSha}\` |`]
58
- : [])
93
+ ...delivery
59
94
  ].join("\n");
60
95
  }
61
96
  function printJob(issue) {
62
97
  const job = getJob(issue);
63
- 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`));
64
100
  console.log(`${pc.dim("ACP JOB")} ${job.jobId}`);
65
101
  console.log(`${pc.dim("STATUS")} ${job.status.toUpperCase()}`);
66
102
  console.log(`${pc.dim("PROVIDER")} ${job.provider}`);
@@ -69,14 +105,20 @@ function printJob(issue) {
69
105
  console.log(`${pc.dim("BUDGET")} ${job.budget} USDC`);
70
106
  }
71
107
  if (job.delivery) {
72
- 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
+ }
73
115
  }
74
116
  console.log();
75
117
  }
76
118
  program
77
119
  .name("cult")
78
120
  .description("Repository work for the agent economy.")
79
- .version("0.2.5");
121
+ .version(packageVersion);
80
122
  program.command("doctor").description("Check the local repository and ACP setup").action(runDoctor);
81
123
  program.command("ui").description("Open the CultOS command deck").action(runBbs);
82
124
  program.command("start").description("Set up CultOS and open the terminal").action(async () => {
@@ -88,8 +130,9 @@ program
88
130
  .argument("<issue>", "Issue ID or URL")
89
131
  .option("-R, --repo <owner/name>", "Repository")
90
132
  .option("--platform <name>", "Repository platform: github or gitlawb")
133
+ .option("--memory", "Recall verified repository history through Sibyl")
91
134
  .description("Build a Cult Work Contract from an issue")
92
- .action((reference, options) => {
135
+ .action(async (reference, options) => {
93
136
  const repositoryPlatform = platform(options.platform);
94
137
  const repository = getRepositoryInfo(options.repo, repositoryPlatform);
95
138
  const issue = getRepositoryIssue(reference, options.repo, repositoryPlatform);
@@ -104,6 +147,25 @@ program
104
147
  console.log(pc.bold(`\nIssue #${issue.id}`));
105
148
  console.log(issue.title);
106
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
+ }
107
169
  if (contract.acceptanceCriteria.length > 0) {
108
170
  console.log(pc.bold("Acceptance criteria"));
109
171
  for (const criterion of contract.acceptanceCriteria) {
@@ -115,6 +177,30 @@ program
115
177
  console.log(JSON.stringify(contract, null, 2));
116
178
  console.log();
117
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
+ });
118
204
  program
119
205
  .command("hire")
120
206
  .argument("<issue>", "Issue ID")
@@ -122,26 +208,45 @@ program
122
208
  .option("-R, --repo <owner/name>", "Repository")
123
209
  .option("--platform <name>", "Repository platform: github or gitlawb")
124
210
  .option("--offering <name>", "ACP offering name")
211
+ .option("--pr <url>", "Pull request to review")
125
212
  .option("--chain <id>", "ACP chain ID", "8453")
126
213
  .option("--expiry <seconds>", "Custom job expiry", "86400")
127
214
  .description("Create an ACP job from an issue")
128
215
  .action((value, options) => {
129
216
  const repositoryPlatform = platform(options.platform);
130
217
  const number = issueReference(value, repositoryPlatform);
131
- 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);
132
220
  if (existing) {
133
221
  throw new Error(`Issue #${number} is already linked to ACP job ${existing.jobId}`);
134
222
  }
135
223
  const repository = getRepositoryInfo(options.repo, repositoryPlatform);
136
224
  const issue = getRepositoryIssue(value, options.repo, repositoryPlatform);
137
- const contract = createWorkContract({
138
- platform: repositoryPlatform,
139
- repositoryUrl: repository.url,
140
- issueUrl: issue.url,
141
- baseRef: repository.defaultBranch,
142
- title: issue.title,
143
- body: issue.body
144
- });
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
+ });
145
250
  const provider = options.provider;
146
251
  if (!provider) {
147
252
  throw new Error("Provider address is required");
@@ -157,6 +262,7 @@ program
157
262
  const now = new Date().toISOString();
158
263
  saveJob({
159
264
  issueNumber: issue.id,
265
+ ...(pullRequest ? { service: "review" } : {}),
160
266
  repository: repository.nameWithOwner,
161
267
  contract,
162
268
  provider,
@@ -169,7 +275,7 @@ program
169
275
  updatedAt: now
170
276
  });
171
277
  console.log(pc.green(`ACP job ${created.jobId} created for issue #${issue.id}.`));
172
- console.log(pc.dim(`Run cult watch ${issue.id} to follow it.`));
278
+ console.log(pc.dim(`Run cult watch ${reference} to follow it.`));
173
279
  });
174
280
  program
175
281
  .command("watch")
@@ -180,24 +286,35 @@ program
180
286
  const number = value;
181
287
  const job = getJob(number);
182
288
  console.log(pc.dim(`Watching ACP job ${job.jobId}...`));
183
- 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);
184
290
  const update = { status: watched.status };
185
291
  if (watched.budget) {
186
292
  update.budget = watched.budget;
187
293
  }
188
294
  if (watched.deliverable) {
189
295
  try {
190
- update.delivery = parsePullRequestDelivery(watched.deliverable);
296
+ update.delivery = job.contract.kind === "cultos.github.review.v1"
297
+ ? parseAeonReviewDelivery(watched.deliverable)
298
+ : parsePullRequestDelivery(watched.deliverable);
191
299
  }
192
300
  catch {
193
- 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}.`));
194
305
  }
195
306
  }
196
307
  updateJob(number, update);
197
308
  printJob(number);
198
- if (watched.availableTools.length > 0) {
199
- console.log(pc.dim(`Available: ${watched.availableTools.join(", ")}\n`));
200
- }
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`));
201
318
  });
202
319
  program
203
320
  .command("fund")
@@ -228,33 +345,77 @@ program
228
345
  });
229
346
  program
230
347
  .command("quote")
231
- .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")
232
350
  .requiredOption("--amount <usdc>", "Service price in USDC")
233
- .option("--chain <id>", "ACP chain ID", "8453")
351
+ .option("--chain <id>", "ACP chain ID")
234
352
  .description("Set a provider quote for an ACP job")
235
- .action((options) => {
236
- quoteJob(options.job, chainId(options.chain), options.amount);
237
- 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`));
238
359
  });
239
360
  program
240
361
  .command("deliver")
241
- .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")
242
364
  .requiredOption("--pr <url>", "Delivered pull request")
243
- .option("--chain <id>", "ACP chain ID", "8453")
365
+ .option("--chain <id>", "ACP chain ID")
244
366
  .description("Submit a pull request as an ACP provider")
245
- .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}`));
246
371
  const pullRequest = getRepositoryPullRequest(options.pr);
247
372
  const delivery = createPullRequestDelivery(pullRequest.url, pullRequest.headSha, pullRequest.platform ?? "github");
248
- submitJob(options.job, chainId(options.chain), delivery);
373
+ submitJob(jobId, network, delivery);
249
374
  console.log(pc.green(`\nDelivered PR #${pullRequest.number} at ${pullRequest.headSha.slice(0, 12)}.\n`));
250
375
  });
251
376
  program
252
377
  .command("verify")
253
378
  .argument("<issue>", "Issue ID")
254
- .description("Verify the delivered pull request")
255
- .action((value) => {
379
+ .option("--memory", "Record the verification outcome through Sibyl")
380
+ .description("Verify the delivered work")
381
+ .action(async (value, options) => {
256
382
  const number = value;
257
- 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);
258
419
  console.log(pc.bold(`\nCULT OS // VERIFY PR #${result.pullRequest}\n`));
259
420
  for (const check of result.checks) {
260
421
  const marker = ["pass", "skipping"].includes(check.bucket) ? pc.green("●") : pc.red("●");
@@ -263,14 +424,89 @@ program
263
424
  if (result.passed) {
264
425
  console.log(pc.green(`\nVerified at ${result.headSha.slice(0, 12)}.\n`));
265
426
  updateJob(number, { status: "verified" });
266
- return;
267
427
  }
268
- console.log(pc.red("\nVerification failed:"));
269
- for (const failure of result.failures) {
270
- 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;
271
509
  }
272
- console.log();
273
- process.exitCode = 1;
274
510
  });
275
511
  program
276
512
  .command("settle")
@@ -296,7 +532,9 @@ program
296
532
  }
297
533
  if (!retryingReceipt) {
298
534
  if (options.approve) {
299
- const verification = verifyJob(job, "MERGED");
535
+ const verification = job.contract.kind === "cultos.github.review.v1"
536
+ ? verifyReviewJob(job)
537
+ : verifyJob(job, "MERGED");
300
538
  if (!verification.passed) {
301
539
  throw new Error(`Settlement verification failed:\n- ${verification.failures.join("\n- ")}`);
302
540
  }
@@ -308,9 +546,9 @@ program
308
546
  updateJob(number, { status: outcome, settledByCultos: outcome });
309
547
  }
310
548
  const repositoryPlatform = job.contract.kind === "cultos.gitlawb.issue.v1" ? "gitlawb" : "github";
311
- commentOnRepositoryIssue(repositoryPlatform, job.repository, number, settlementReceipt(job, outcome));
549
+ commentOnRepositoryIssue(repositoryPlatform, job.repository, job.issueNumber, settlementReceipt(job, outcome));
312
550
  updateJob(number, { receiptPostedAt: new Date().toISOString() });
313
- 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`));
314
552
  });
315
553
  program
316
554
  .command("jobs")
@@ -323,7 +561,7 @@ program
323
561
  }
324
562
  console.log(pc.bold("\nCULT OS // JOBS\n"));
325
563
  for (const job of jobs) {
326
- 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}`);
327
565
  }
328
566
  console.log();
329
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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"}