@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/README.md CHANGED
@@ -32,7 +32,7 @@ Your repository already knows what needs to be built. Virtuals gives agents iden
32
32
 
33
33
  A maintainer opens an issue, hires an ACP provider and receives a pull request. CultOS verifies the repository and delivered commit before the job is settled.
34
34
 
35
- [Documentation](docs/index.md) · [Getting started](docs/getting-started.md) · [Provider integration](docs/provider-integration.md)
35
+ [Documentation](docs/index.md) · [Getting started](docs/getting-started.md) · [Aeon reviews](docs/aeon-review.md) · [Provider integration](docs/provider-integration.md) · [Sibyl Memory](integrations/sibyl-memory/README.md)
36
36
 
37
37
  ## Requirements
38
38
 
@@ -44,6 +44,7 @@ CultOS requires Node.js 20+, Git and either GitHub CLI or GitLawb CLI. `cult sta
44
44
  npm install -g @cultos/cli
45
45
  cult start
46
46
  cult inspect 42
47
+ cult inspect 42 --memory
47
48
  ```
48
49
 
49
50
  Or run it without installing:
@@ -60,12 +61,18 @@ cult start
60
61
  cult doctor
61
62
  cult inspect 42
62
63
  cult hire 42 --provider 0xProvider
64
+ cult hire 42 --pr 47 --provider 0xProvider --offering aeon_pull_request_review
63
65
  cult watch 42
64
66
  cult fund 42
65
67
  cult verify 42
68
+ cult verify 42 --memory
69
+ cult memory status
70
+ cult memory history
66
71
  cult settle 42 --approve
67
72
  ```
68
73
 
74
+ The normal workflow stays inside Cult OS. `cult start` prepares the ACP connection, while `cult hire`, `cult watch`, `cult fund`, `cult verify` and `cult settle` handle the buyer flow. Operators running a provider on the same machine can use `cult agent list` and `cult agent use <agent-id>`; Cult OS refuses provider actions from the wrong wallet.
75
+
69
76
  Inside `cult ui`, press `/` to run a command. Commands that change GitHub or ACP state require confirmation.
70
77
 
71
78
  `cult inspect` reads the issue from the current GitHub repository and produces a portable work contract:
@@ -100,8 +107,8 @@ cult fund 42
100
107
  The provider quotes the work and delivers a pull request:
101
108
 
102
109
  ```bash
103
- cult quote --job 813 --amount 1.00
104
- cult deliver --job 813 --pr https://github.com/thecultos/example/pull/47
110
+ cult quote 42 --amount 1.00
111
+ cult deliver 42 --pr https://github.com/thecultos/example/pull/47
105
112
  ```
106
113
 
107
114
  The buyer verifies the exact delivered commit and settles:
@@ -114,6 +121,20 @@ cult settle 42 --approve
114
121
 
115
122
  CultOS posts the ACP job, provider, payment, pull request and commit back to the GitHub issue.
116
123
 
124
+ ## Repository memory
125
+
126
+ The optional Sibyl integration carries verified repository outcomes across agent sessions. It recalls earlier failures before the next job and records only the result produced by CultOS verification. Memory never approves work or participates in payment and settlement.
127
+
128
+ ```bash
129
+ cult memory setup
130
+ cult memory status
131
+ cult inspect 42 --memory
132
+ cult verify 42 --memory
133
+ cult memory history
134
+ ```
135
+
136
+ [Set up Sibyl Memory](integrations/sibyl-memory/README.md).
137
+
117
138
  ## Requirements
118
139
 
119
140
  - Node.js 20 or newer
@@ -134,8 +155,8 @@ CultOS posts the ACP job, provider, payment, pull request and commit back to the
134
155
  - [x] Recoverable settlement receipts
135
156
  - [x] Readable ACP errors and watch timeouts
136
157
  - [x] GitLawb repositories and signed delivery verification
158
+ - [x] Aeon pull-request reviews
137
159
  - [ ] Compatible provider directory
138
- - [ ] Independent ACP evaluators
139
160
  - [ ] x402 payments
140
161
 
141
162
  ## Status
package/dist/acp.d.ts CHANGED
@@ -1,4 +1,11 @@
1
- import type { IssueWorkContract, PullRequestDelivery } from "./contract.js";
1
+ import { z } from "zod";
2
+ import type { CultWorkContract, PullRequestDelivery } from "./contract.js";
3
+ declare const agentSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ name: z.ZodString;
6
+ walletAddress: z.ZodString;
7
+ role: z.ZodOptional<z.ZodString>;
8
+ }, z.core.$loose>;
2
9
  export interface CreatedJob {
3
10
  jobId: string;
4
11
  chainId: number;
@@ -12,15 +19,21 @@ export interface WatchedJob {
12
19
  exitCode: number;
13
20
  raw: unknown;
14
21
  }
22
+ export type AcpAgent = z.infer<typeof agentSchema>;
15
23
  interface CreateJobInput {
16
24
  provider: string;
17
25
  offering?: string;
18
26
  chainId: number;
19
27
  expiry: number;
20
- contract: IssueWorkContract;
28
+ contract: CultWorkContract;
21
29
  }
30
+ export declare function listAgents(): AcpAgent[];
31
+ export declare function currentAgent(): AcpAgent;
32
+ export declare function useAgent(agentId: string): AcpAgent;
33
+ export declare function requireProviderIdentity(expectedWallet?: string): AcpAgent;
22
34
  export declare function createJob(input: CreateJobInput): CreatedJob;
23
- export declare function watchJob(jobId: string, timeout?: number): WatchedJob;
35
+ export declare function jobHistory(jobId: string, chainId?: number): WatchedJob;
36
+ export declare function watchJob(jobId: string, timeout?: number, chainId?: number): WatchedJob;
24
37
  export declare function fundJob(jobId: string, chainId: number, amount: string): void;
25
38
  export declare function completeJob(jobId: string, chainId: number, reason: string): void;
26
39
  export declare function rejectJob(jobId: string, chainId: number, reason: string): void;
package/dist/acp.js CHANGED
@@ -10,6 +10,24 @@ const watchSchema = z.object({
10
10
  availableTools: z.array(z.string()).optional(),
11
11
  entry: z.unknown().optional()
12
12
  }).passthrough();
13
+ const historySchema = z.object({
14
+ jobId: z.string(),
15
+ chainId: z.number().int().positive(),
16
+ status: z.string(),
17
+ entries: z.array(z.unknown()),
18
+ budget: z.union([z.string(), z.number()]).optional(),
19
+ deliverable: z.unknown().optional()
20
+ }).passthrough();
21
+ const agentValue = z.string().min(1).max(200).refine(value => !/[\u0000-\u001f\u007f-\u009f]/.test(value));
22
+ const agentSchema = z.object({
23
+ id: agentValue,
24
+ name: agentValue,
25
+ walletAddress: z.string().regex(/^0x[0-9a-f]{40}$/i),
26
+ role: agentValue.optional()
27
+ }).passthrough();
28
+ const agentListSchema = z.object({
29
+ data: z.array(agentSchema).max(100)
30
+ }).passthrough();
13
31
  function parseOutput(output) {
14
32
  const trimmed = output.trim();
15
33
  if (!trimmed) {
@@ -36,6 +54,12 @@ function errorMessage(output) {
36
54
  if (!trimmed) {
37
55
  return "ACP command failed";
38
56
  }
57
+ if (/NOT_AUTHENTICATED|Not authenticated/i.test(trimmed)) {
58
+ return "ACP authentication required. Run cult start.";
59
+ }
60
+ if (/NO_SIGNER|no signer configured/i.test(trimmed)) {
61
+ return "ACP signer required. Run cult start.";
62
+ }
39
63
  try {
40
64
  const parsed = z.object({
41
65
  error: z.string(),
@@ -53,6 +77,11 @@ function runAcp(args, acceptedExitCodes = [0]) {
53
77
  maxBuffer: 10 * 1024 * 1024
54
78
  });
55
79
  const exitCode = result.status ?? 1;
80
+ if (result.error) {
81
+ throw new Error("code" in result.error && result.error.code === "ENOENT"
82
+ ? "ACP is not installed. Run cult start."
83
+ : "Unable to run ACP. Run cult doctor.");
84
+ }
56
85
  if (!acceptedExitCodes.includes(exitCode)) {
57
86
  const output = result.stderr.trim() ? result.stderr : result.stdout;
58
87
  throw new Error(errorMessage(output));
@@ -72,6 +101,35 @@ function eventValue(entry, key) {
72
101
  }
73
102
  return key in event ? event[key] : undefined;
74
103
  }
104
+ export function listAgents() {
105
+ return agentListSchema.parse(runAcp(["agent", "list"]).data).data;
106
+ }
107
+ export function currentAgent() {
108
+ return agentSchema.parse(runAcp(["agent", "whoami"]).data);
109
+ }
110
+ export function useAgent(agentId) {
111
+ const selector = agentValue.parse(agentId.trim());
112
+ const agents = listAgents();
113
+ const exact = agents.find(agent => agent.id === selector);
114
+ const matches = exact ? [exact] : agents.filter(agent => agent.name.toLowerCase() === selector.toLowerCase());
115
+ if (matches.length === 0)
116
+ throw new Error("Agent not found. Run cult agent list.");
117
+ if (matches.length > 1)
118
+ throw new Error("Agent name is ambiguous. Use its ID from cult agent list.");
119
+ const id = matches[0].id;
120
+ runAcp(["agent", "use", "--agent-id", id]);
121
+ return currentAgent();
122
+ }
123
+ export function requireProviderIdentity(expectedWallet) {
124
+ const active = currentAgent();
125
+ if (!expectedWallet || active.walletAddress.toLowerCase() === expectedWallet.toLowerCase())
126
+ return active;
127
+ const provider = listAgents().find(agent => agent.walletAddress.toLowerCase() === expectedWallet.toLowerCase());
128
+ const recovery = provider
129
+ ? `Run cult agent use ${provider.id}`
130
+ : `Select the ACP agent for ${expectedWallet}`;
131
+ throw new Error(`Active agent ${active.walletAddress} is not provider ${expectedWallet}. ${recovery}`);
132
+ }
75
133
  export function createJob(input) {
76
134
  const contract = JSON.stringify(input.contract);
77
135
  const args = input.offering
@@ -106,7 +164,37 @@ export function createJob(input) {
106
164
  ...(result.protocol ? { protocol: result.protocol } : {})
107
165
  };
108
166
  }
109
- export function watchJob(jobId, timeout) {
167
+ export function jobHistory(jobId, chainId = 8453) {
168
+ const history = historySchema.parse(runAcp([
169
+ "job", "history", "--job-id", jobId, "--chain-id", String(chainId)
170
+ ]).data);
171
+ if (history.jobId !== jobId || history.chainId !== chainId) {
172
+ throw new Error("ACP returned history for a different job or chain");
173
+ }
174
+ let budget = history.budget;
175
+ let deliverable = history.deliverable;
176
+ for (const entry of history.entries) {
177
+ if (eventValue(entry, "type") === "budget.set") {
178
+ budget = z.union([z.string(), z.number()]).parse(eventValue(entry, "amount"));
179
+ }
180
+ if (eventValue(entry, "type") === "job.submitted") {
181
+ deliverable = eventValue(entry, "deliverable");
182
+ }
183
+ }
184
+ return {
185
+ status: history.status,
186
+ availableTools: [],
187
+ ...(budget !== undefined ? { budget: String(budget) } : {}),
188
+ ...(deliverable !== undefined ? { deliverable } : {}),
189
+ exitCode: 0,
190
+ raw: history
191
+ };
192
+ }
193
+ export function watchJob(jobId, timeout, chainId = 8453) {
194
+ const history = jobHistory(jobId, chainId);
195
+ if (["budget_set", "submitted", "completed", "rejected", "expired"].includes(history.status)) {
196
+ return history;
197
+ }
110
198
  const args = ["job", "watch", "--job-id", jobId];
111
199
  if (timeout !== undefined) {
112
200
  args.push("--timeout", String(timeout));
@@ -124,8 +212,9 @@ export function watchJob(jobId, timeout) {
124
212
  throw error;
125
213
  }
126
214
  const watch = watchSchema.parse(result.data);
127
- const budget = eventValue(watch.entry, "amount");
128
- const deliverable = eventValue(watch.entry, "deliverable");
215
+ const recovered = jobHistory(jobId, chainId);
216
+ const budget = recovered.budget ?? eventValue(watch.entry, "amount");
217
+ const deliverable = recovered.deliverable ?? eventValue(watch.entry, "deliverable");
129
218
  return {
130
219
  status: watch.status,
131
220
  availableTools: watch.availableTools ?? [],
package/dist/acp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"acp.js","sourceRoot":"","sources":["../src/acp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp.js","sourceRoot":"","sources":["../src/acp.ts"],"names":[],"mappings":"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"}
package/dist/bbs.js CHANGED
@@ -2,29 +2,34 @@ import { spawn } from "node:child_process";
2
2
  const ESC = "\u001b[";
3
3
  const color = {
4
4
  reset: `${ESC}0m`,
5
- blue: `${ESC}48;2;10;38;170m`,
6
- red: `${ESC}48;2;178;24;18m`,
7
- cyan: `${ESC}48;2;72;196;205m`,
8
- black: `${ESC}38;2;4;16;24m`,
9
- white: `${ESC}38;2;245;247;255m`,
10
- yellow: `${ESC}38;2;255;242;76m`
5
+ panel: `${ESC}48;2;12;12;12m`,
6
+ inverse: `${ESC}48;2;232;232;228m`,
7
+ ink: `${ESC}38;2;232;232;228m`,
8
+ inverseInk: `${ESC}38;2;12;12;12m`,
9
+ muted: `${ESC}38;2;150;150;146m`
11
10
  };
12
11
  const commands = [
12
+ { command: "help", phase: "GUIDE", role: "Either", description: "List CLI commands.", next: "Choose the command for the work you want to perform." },
13
13
  { command: "doctor", phase: "CHECK", role: "Maintainer", description: "Check repo + ACP.", next: "Resolve missing checks, then inspect an issue." },
14
- { command: "inspect <issue>", phase: "PLAN", role: "Maintainer", description: "Create work contract", next: "Review the contract, then choose a provider." },
14
+ { command: "inspect <issue> [--memory]", phase: "PLAN", role: "Maintainer", description: "Create work contract", next: "Review the contract, then choose a provider." },
15
15
  { command: "hire <issue> --provider <address>", phase: "HIRE", role: "Maintainer", description: "Open a provider job.", next: "Watch the job for the provider quote." },
16
16
  { command: "watch <issue>", phase: "SYNC", role: "Either", description: "Read job updates.", next: "Take the action shown by the latest job event." },
17
17
  { command: "fund <issue>", phase: "PAY", role: "Maintainer", description: "Fund quote.", next: "Watch the funded job for delivery." },
18
18
  { command: "message <issue> <text>", phase: "COMMS", role: "Either", description: "Message provider.", next: "Watch for the other party's response." },
19
- { command: "quote --job <id> --amount <usdc>", phase: "PROVIDER", role: "Provider", description: "Set provider price.", next: "Wait for the maintainer to fund the quote." },
20
- { command: "deliver --job <id> --pr <url>", phase: "PROVIDER", role: "Provider", description: "Submit a PR.", next: "Wait for verification and maintainer review." },
21
- { command: "verify <issue>", phase: "VERIFY", role: "Maintainer", description: "Check delivery.", next: "Review and merge the verified pull request." },
19
+ { command: "quote <issue> --amount <usdc>", phase: "PROVIDER", role: "Provider", description: "Set provider price.", next: "Wait for the maintainer to fund the quote." },
20
+ { command: "deliver <issue> --pr <url>", phase: "PROVIDER", role: "Provider", description: "Submit a PR.", next: "Wait for verification and maintainer review." },
21
+ { command: "verify <issue> [--memory]", phase: "VERIFY", role: "Maintainer", description: "Check delivery.", next: "Review and merge the verified pull request." },
22
22
  { command: "settle <issue> --approve", phase: "SETTLE", role: "Maintainer", description: "Release payment.", next: "CultOS posts the settlement receipt to the issue." },
23
23
  { command: "settle <issue> --reject", phase: "REJECT", role: "Maintainer", description: "Reject with receipt.", next: "Review the receipt and close the issue if needed." },
24
- { command: "jobs", phase: "INDEX", role: "Either", description: "List repo jobs.", next: "Open the relevant issue or continue its workflow." }
24
+ { command: "jobs", phase: "INDEX", role: "Either", description: "List repo jobs.", next: "Open the relevant issue or continue its workflow." },
25
+ { command: "memory history", phase: "MEMORY", role: "Either", description: "Read repo memory.", next: "Use relevant outcomes while inspecting the next issue." }
25
26
  ];
26
27
  const commandNames = new Set(commands.map((item) => item.command.split(" ")[0]));
28
+ const hiddenCommandNames = new Set(["agent"]);
27
29
  const mutatingCommands = new Set(["hire", "fund", "message", "quote", "deliver", "settle"]);
30
+ function mutates(args) {
31
+ return mutatingCommands.has(args[0]) || (args[0] === "agent" && args[1] === "use");
32
+ }
28
33
  function commandAt(index) {
29
34
  return commands[index] ?? commands[0];
30
35
  }
@@ -44,18 +49,18 @@ function fit(value, width) {
44
49
  function row(value, width) {
45
50
  return `│ ${fit(value, width - 3)}│`;
46
51
  }
47
- function blueRow(value, width) {
48
- const painted = value.split(color.reset).join(`${color.reset}${color.blue}${color.white}`);
49
- return `${color.blue}${color.white}${row(painted, width)}${color.reset}`;
52
+ function panelRow(value, width) {
53
+ const painted = value.split(color.reset).join(`${color.reset}${color.panel}${color.ink}`);
54
+ return `${color.panel}${color.ink}${row(painted, width)}${color.reset}`;
50
55
  }
51
56
  function bar(value, background, foreground, width) {
52
57
  return `${background}${foreground}${fit(value, width)}${color.reset}`;
53
58
  }
54
59
  function header(width, label) {
55
- const left = " CULT OS ╞ GITHUB WORK FOR THE AGENT ECONOMY ";
60
+ const left = " CULT OS / REPOSITORY WORK ";
56
61
  const right = ` ${label} `;
57
62
  const space = " ".repeat(Math.max(1, width - left.length - right.length));
58
- return `${color.red}${color.yellow}${left}${space}${color.cyan}${color.black}${right}${color.reset}`;
63
+ return `${color.panel}${color.ink}${left}${space}${color.muted}${right}${color.reset}`;
59
64
  }
60
65
  function frame(lines, footer, width, height, label) {
61
66
  const contentHeight = Math.max(1, height - 5);
@@ -64,11 +69,11 @@ function frame(lines, footer, width, height, label) {
64
69
  content.push("");
65
70
  return [
66
71
  header(width, label),
67
- `${color.blue}${color.white}┌${"─".repeat(width - 2)}┐${color.reset}`,
68
- ...content.map((line) => blueRow(line, width)),
69
- `${color.blue}${color.white}└${"─".repeat(width - 2)}┘${color.reset}`,
70
- bar(footer, color.cyan, color.black, width),
71
- bar(" npm install -g @cultos/cli ", color.blue, color.yellow, width)
72
+ `${color.panel}${color.ink}┌${"─".repeat(width - 2)}┐${color.reset}`,
73
+ ...content.map((line) => panelRow(line, width)),
74
+ `${color.panel}${color.ink}└${"─".repeat(width - 2)}┘${color.reset}`,
75
+ bar(footer, color.inverse, color.inverseInk, width),
76
+ bar(" @cultos/cli ", color.panel, color.muted, width)
72
77
  ].join("\n");
73
78
  }
74
79
  function wrap(value, width) {
@@ -133,31 +138,51 @@ export function validateCommand(args) {
133
138
  return "Type a CultOS command";
134
139
  if (name === "cult")
135
140
  return "Enter the command without the cult prefix";
136
- if (!commandNames.has(name) || name === "ui")
141
+ if ((!commandNames.has(name) && !hiddenCommandNames.has(name)) || name === "ui") {
137
142
  return `Unknown CultOS command: ${name}`;
143
+ }
138
144
  return undefined;
139
145
  }
140
146
  export function renderDeck(selected = 0, columns = 94, rows = 23) {
141
147
  const width = Math.max(79, Math.min(columns, 100));
142
148
  const list = commands.map((item, index) => {
143
- const cursor = index === selected ? `${color.yellow}▶${color.reset}` : " ";
144
- const number = `${color.yellow}[${String(index + 1).padStart(2, "0")}]${color.reset}`;
149
+ const cursor = index === selected ? `${color.inverse}${color.inverseInk}>${color.reset}` : " ";
145
150
  const description = fit(item.description, Math.max(8, width - 59));
146
- return `${cursor} ${number} ${fit(item.command, 35)} │ ${color.cyan}${color.black}${fit(item.phase, 8)} ${color.reset}${color.blue}${color.white}│ ${description}`;
151
+ return `${cursor} ${fit(item.command, 40)} │ ${color.muted}${fit(item.phase, 8)} ${color.reset}${color.panel}${color.ink}│ ${description}`;
147
152
  });
148
153
  return frame([
149
154
  "AVAILABLE COMMANDS",
150
155
  "",
151
156
  ...list,
152
157
  "",
153
- `${color.yellow}Type / to start${color.white}`
158
+ `${color.muted}Type / to start${color.ink}`
154
159
  ], " ↑↓ SELECT ENTER OPEN / COMMAND Q QUIT ", width, rows, "TERMINAL");
155
160
  }
156
161
  export function renderCommand(selected = 0, columns = 94, rows = 23) {
157
162
  const width = Math.max(72, Math.min(columns, 100));
158
163
  const item = commandAt(selected);
164
+ if (item.phase === "MEMORY") {
165
+ return frame([
166
+ "SIBYL MEMORY // LOCAL",
167
+ "",
168
+ "SET UP",
169
+ "cult memory setup",
170
+ "",
171
+ "CHECK",
172
+ "cult memory status",
173
+ "",
174
+ "RECALL BEFORE WORK",
175
+ "cult inspect <issue> --memory",
176
+ "",
177
+ "RECORD AFTER DELIVERY",
178
+ "cult verify <issue> --memory",
179
+ "",
180
+ "READ HISTORY",
181
+ "cult memory history"
182
+ ], " ESC BACK ↑↓ NEXT COMMAND Q QUIT ", width, rows, "MEMORY");
183
+ }
159
184
  return frame([
160
- `${color.yellow}${item.phase}${color.white} // ${item.role.toUpperCase()}`,
185
+ `${color.ink}${item.phase} // ${item.role.toUpperCase()}`,
161
186
  "",
162
187
  `cult ${item.command}`,
163
188
  "",
@@ -172,14 +197,8 @@ export function renderCommand(selected = 0, columns = 94, rows = 23) {
172
197
  export function renderPrompt(value = "", error = "", columns = 94, rows = 23) {
173
198
  const width = Math.max(72, Math.min(columns, 100));
174
199
  return frame([
175
- `${color.yellow}cult >${color.white} ${value}`,
176
- "",
177
- ...(error ? [`${color.yellow}${error}${color.white}`] : ["Type a command without the cult prefix."]),
178
- "",
179
- "Examples",
180
- "doctor",
181
- "inspect 12",
182
- "message 12 \"Please include tests\""
200
+ `${color.ink}cult > ${value}`,
201
+ ...(error ? ["", `${color.ink}${error}`] : [])
183
202
  ], " ENTER RUN ESC CANCEL BACKSPACE EDIT ", width, rows, "COMMAND");
184
203
  }
185
204
  export function renderRunning(command, output = "", elapsedSeconds = 0, columns = 94, rows = 23, cancelling = false) {
@@ -191,7 +210,7 @@ export function renderRunning(command, output = "", elapsedSeconds = 0, columns
191
210
  ? "WATCHING"
192
211
  : "RUNNING";
193
212
  const fixedLines = [
194
- `${color.yellow}${status}${color.white} · ${elapsedSeconds}s`,
213
+ `${color.ink}${status} · ${elapsedSeconds}s`,
195
214
  "",
196
215
  `cult ${command}`,
197
216
  ""
@@ -206,7 +225,7 @@ export function renderRunning(command, output = "", elapsedSeconds = 0, columns
206
225
  export function renderConfirmation(value, columns = 94, rows = 23) {
207
226
  const width = Math.max(72, Math.min(columns, 100));
208
227
  return frame([
209
- `${color.yellow}CONFIRM STATE CHANGE${color.white}`,
228
+ `${color.ink}CONFIRM STATE CHANGE`,
210
229
  "",
211
230
  `cult ${value}`,
212
231
  "",
@@ -216,7 +235,7 @@ export function renderConfirmation(value, columns = 94, rows = 23) {
216
235
  }
217
236
  function resultLines(value, exitCode, width) {
218
237
  return [
219
- ...(exitCode === 0 ? [] : [`${color.yellow}FAILED · EXIT ${exitCode}${color.white}`, ""]),
238
+ ...(exitCode === 0 ? [] : [`${color.ink}FAILED · EXIT ${exitCode}`, ""]),
220
239
  ...wrap(value || "Command completed without output.", width - 4)
221
240
  ];
222
241
  }
@@ -319,7 +338,7 @@ export function runBbs() {
319
338
  cancelling = false;
320
339
  runningSince = Date.now();
321
340
  render();
322
- const execution = spawn(process.execPath, [process.argv[1], ...args], {
341
+ const execution = spawn(process.execPath, [...process.execArgv, process.argv[1], ...args], {
323
342
  cwd: process.cwd(),
324
343
  env: process.env,
325
344
  detached: process.platform !== "win32",
@@ -365,7 +384,7 @@ export function runBbs() {
365
384
  promptError = validateCommand(args) ?? "";
366
385
  if (promptError)
367
386
  return;
368
- mode = mutatingCommands.has(args[0]) ? "confirm" : "prompt";
387
+ mode = mutates(args) ? "confirm" : "prompt";
369
388
  if (mode === "prompt")
370
389
  execute();
371
390
  }
package/dist/bbs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bbs.js","sourceRoot":"","sources":["../src/bbs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bbs.js","sourceRoot":"","sources":["../src/bbs.ts"],"names":[],"mappings":"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"}