@cultos/cli 0.3.1 → 0.4.1
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/README.md +25 -4
- package/dist/acp.d.ts +16 -3
- package/dist/acp.js +92 -3
- package/dist/acp.js.map +1 -1
- package/dist/bbs.js +59 -40
- package/dist/bbs.js.map +1 -1
- package/dist/cli.js +284 -48
- package/dist/cli.js.map +1 -1
- package/dist/contract.d.ts +51 -0
- package/dist/contract.js +48 -0
- package/dist/contract.js.map +1 -1
- package/dist/github.d.ts +1 -1
- package/dist/github.js +6 -2
- package/dist/github.js.map +1 -1
- package/dist/gitlawb.js +1 -1
- package/dist/gitlawb.js.map +1 -1
- package/dist/memory.d.ts +68 -0
- package/dist/memory.js +256 -0
- package/dist/memory.js.map +1 -0
- package/dist/repository.js +1 -1
- package/dist/repository.js.map +1 -1
- package/dist/start.js +11 -11
- package/dist/start.js.map +1 -1
- package/dist/state.d.ts +8 -3
- package/dist/state.js +46 -4
- package/dist/state.js.map +1 -1
- package/dist/verify.d.ts +14 -0
- package/dist/verify.js +56 -2
- package/dist/verify.js.map +1 -1
- package/package.json +5 -3
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
|
-
...
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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 ${
|
|
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 =
|
|
296
|
+
update.delivery = job.contract.kind === "cultos.github.review.v1"
|
|
297
|
+
? parseAeonReviewDelivery(watched.deliverable)
|
|
298
|
+
: parsePullRequestDelivery(watched.deliverable);
|
|
193
299
|
}
|
|
194
300
|
catch {
|
|
195
|
-
|
|
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
|
-
|
|
201
|
-
|
|
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
|
-
.
|
|
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"
|
|
351
|
+
.option("--chain <id>", "ACP chain ID")
|
|
236
352
|
.description("Set a provider quote for an ACP job")
|
|
237
|
-
.action((options) => {
|
|
238
|
-
|
|
239
|
-
|
|
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
|
-
.
|
|
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"
|
|
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(
|
|
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
|
-
.
|
|
257
|
-
.
|
|
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
|
|
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
|
-
|
|
271
|
-
|
|
272
|
-
|
|
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 =
|
|
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,
|
|
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 #${
|
|
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(`#${
|
|
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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"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -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 {};
|