@intent-engine/cli 0.1.23 → 0.1.26
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/src/admin-commands.d.ts +12 -0
- package/dist/src/admin-commands.js +140 -0
- package/dist/src/admin-commands.js.map +1 -0
- package/dist/src/agent/actions.d.ts +2 -0
- package/dist/src/agent/actions.js +1 -1
- package/dist/src/agent/actions.js.map +1 -1
- package/dist/src/agent/claims.js +13 -12
- package/dist/src/agent/claims.js.map +1 -1
- package/dist/src/agent/create.d.ts +1 -0
- package/dist/src/agent/create.js +7 -3
- package/dist/src/agent/create.js.map +1 -1
- package/dist/src/agent/mandate-agent.d.ts +2 -0
- package/dist/src/agent/mandate-agent.js +136 -0
- package/dist/src/agent/mandate-agent.js.map +1 -0
- package/dist/src/agent/mandate-grant.d.ts +2 -0
- package/dist/src/agent/mandate-grant.js +192 -0
- package/dist/src/agent/mandate-grant.js.map +1 -0
- package/dist/src/agent/mandate-revoke.d.ts +1 -0
- package/dist/src/agent/mandate-revoke.js +142 -0
- package/dist/src/agent/mandate-revoke.js.map +1 -0
- package/dist/src/agent/mandate-state.d.ts +33 -0
- package/dist/src/agent/mandate-state.js +85 -0
- package/dist/src/agent/mandate-state.js.map +1 -0
- package/dist/src/agent/mandate.d.ts +4 -26
- package/dist/src/agent/mandate.js +4 -479
- package/dist/src/agent/mandate.js.map +1 -1
- package/dist/src/agent/mcp.js +7 -3
- package/dist/src/agent/mcp.js.map +1 -1
- package/dist/src/agent/prepare.js +1 -1
- package/dist/src/agent/prepare.js.map +1 -1
- package/dist/src/agent/problems.d.ts +13 -1
- package/dist/src/agent/problems.js +32 -1
- package/dist/src/agent/problems.js.map +1 -1
- package/dist/src/agent/read.d.ts +12 -0
- package/dist/src/agent/read.js +20 -6
- package/dist/src/agent/read.js.map +1 -1
- package/dist/src/agent/registry.js +6 -1
- package/dist/src/agent/registry.js.map +1 -1
- package/dist/src/agent/relay.d.ts +2 -0
- package/dist/src/agent/relay.js +11 -3
- package/dist/src/agent/relay.js.map +1 -1
- package/dist/src/agent/sales.d.ts +29 -0
- package/dist/src/agent/sales.js +248 -0
- package/dist/src/agent/sales.js.map +1 -0
- package/dist/src/agent/signed-prepare.d.ts +1 -0
- package/dist/src/agent/signed-prepare.js +141 -0
- package/dist/src/agent/signed-prepare.js.map +1 -0
- package/dist/src/agent/signed-relay.d.ts +25 -0
- package/dist/src/agent/signed-relay.js +68 -0
- package/dist/src/agent/signed-relay.js.map +1 -0
- package/dist/src/agent/signed-submit.d.ts +2 -0
- package/dist/src/agent/signed-submit.js +137 -0
- package/dist/src/agent/signed-submit.js.map +1 -0
- package/dist/src/agent/signed-terms.d.ts +85 -0
- package/dist/src/agent/signed-terms.js +84 -0
- package/dist/src/agent/signed-terms.js.map +1 -0
- package/dist/src/agent/signed.d.ts +4 -13
- package/dist/src/agent/signed.js +4 -361
- package/dist/src/agent/signed.js.map +1 -1
- package/dist/src/agent/wallet/account.d.ts +4 -0
- package/dist/src/agent/wallet/account.js +84 -0
- package/dist/src/agent/wallet/account.js.map +1 -0
- package/dist/src/agent/wallet/attest.d.ts +4 -0
- package/dist/src/agent/wallet/attest.js +178 -0
- package/dist/src/agent/wallet/attest.js.map +1 -0
- package/dist/src/agent/wallet/delivery.d.ts +13 -0
- package/dist/src/agent/wallet/delivery.js +171 -0
- package/dist/src/agent/wallet/delivery.js.map +1 -0
- package/dist/src/agent/wallet/escrow.d.ts +7 -0
- package/dist/src/agent/wallet/escrow.js +164 -0
- package/dist/src/agent/wallet/escrow.js.map +1 -0
- package/dist/src/agent/wallet/fills.d.ts +27 -0
- package/dist/src/agent/wallet/fills.js +80 -0
- package/dist/src/agent/wallet/fills.js.map +1 -0
- package/dist/src/agent/wallet/guard.d.ts +57 -0
- package/dist/src/agent/wallet/guard.js +205 -0
- package/dist/src/agent/wallet/guard.js.map +1 -0
- package/dist/src/agent/wallet/offer.d.ts +50 -0
- package/dist/src/agent/wallet/offer.js +80 -0
- package/dist/src/agent/wallet/offer.js.map +1 -0
- package/dist/src/agent/wallet/receipt.d.ts +42 -0
- package/dist/src/agent/wallet/receipt.js +102 -0
- package/dist/src/agent/wallet/receipt.js.map +1 -0
- package/dist/src/agent/wallet/record.d.ts +31 -0
- package/dist/src/agent/wallet/record.js +178 -0
- package/dist/src/agent/wallet/record.js.map +1 -0
- package/dist/src/agent/wallet/releases.d.ts +40 -0
- package/dist/src/agent/wallet/releases.js +236 -0
- package/dist/src/agent/wallet/releases.js.map +1 -0
- package/dist/src/agent/wallet/split.d.ts +10 -0
- package/dist/src/agent/wallet/split.js +271 -0
- package/dist/src/agent/wallet/split.js.map +1 -0
- package/dist/src/agent/wallet/trade.d.ts +14 -0
- package/dist/src/agent/wallet/trade.js +243 -0
- package/dist/src/agent/wallet/trade.js.map +1 -0
- package/dist/src/agent/wallet/wait.d.ts +5 -0
- package/dist/src/agent/wallet/wait.js +99 -0
- package/dist/src/agent/wallet/wait.js.map +1 -0
- package/dist/src/agent/wallet.d.ts +18 -73
- package/dist/src/agent/wallet.js +24 -1322
- package/dist/src/agent/wallet.js.map +1 -1
- package/dist/src/arg-options.d.ts +333 -0
- package/dist/src/arg-options.js +310 -0
- package/dist/src/arg-options.js.map +1 -0
- package/dist/src/arg-usage.d.ts +7 -0
- package/dist/src/arg-usage.js +53 -0
- package/dist/src/arg-usage.js.map +1 -0
- package/dist/src/arg-values.d.ts +47 -0
- package/dist/src/arg-values.js +280 -0
- package/dist/src/arg-values.js.map +1 -0
- package/dist/src/args.d.ts +7 -545
- package/dist/src/args.js +55 -923
- package/dist/src/args.js.map +1 -1
- package/dist/src/artifact.d.ts +22 -0
- package/dist/src/artifact.js +89 -0
- package/dist/src/artifact.js.map +1 -0
- package/dist/src/check-process.d.ts +39 -0
- package/dist/src/check-process.js +338 -0
- package/dist/src/check-process.js.map +1 -0
- package/dist/src/command-builders.d.ts +37 -0
- package/dist/src/command-builders.js +216 -0
- package/dist/src/command-builders.js.map +1 -0
- package/dist/src/command-types.d.ts +227 -0
- package/dist/src/command-types.js +2 -0
- package/dist/src/command-types.js.map +1 -0
- package/dist/src/commands.d.ts +7 -43
- package/dist/src/commands.js +60 -457
- package/dist/src/commands.js.map +1 -1
- package/dist/src/event-feed.d.ts +13 -0
- package/dist/src/event-feed.js +46 -0
- package/dist/src/event-feed.js.map +1 -0
- package/dist/src/flow-commands.d.ts +8 -0
- package/dist/src/flow-commands.js +116 -0
- package/dist/src/flow-commands.js.map +1 -0
- package/dist/src/flows.d.ts +6 -0
- package/dist/src/flows.js +84 -10
- package/dist/src/flows.js.map +1 -1
- package/dist/src/job-commands.d.ts +9 -0
- package/dist/src/job-commands.js +89 -0
- package/dist/src/job-commands.js.map +1 -0
- package/dist/src/judge-errors.d.ts +12 -0
- package/dist/src/judge-errors.js +16 -0
- package/dist/src/judge-errors.js.map +1 -0
- package/dist/src/judge.d.ts +11 -16
- package/dist/src/judge.js +120 -100
- package/dist/src/judge.js.map +1 -1
- package/dist/src/main.d.ts +4 -1
- package/dist/src/main.js +25 -9
- package/dist/src/main.js.map +1 -1
- package/dist/src/order-builders.d.ts +10 -0
- package/dist/src/order-builders.js +172 -0
- package/dist/src/order-builders.js.map +1 -0
- package/dist/src/render.d.ts +1 -0
- package/dist/src/render.js +9 -0
- package/dist/src/render.js.map +1 -1
- package/dist/src/runtime.d.ts +22 -0
- package/dist/src/runtime.js +2 -0
- package/dist/src/runtime.js.map +1 -0
- package/dist/src/solve-commands.d.ts +25 -0
- package/dist/src/solve-commands.js +171 -0
- package/dist/src/solve-commands.js.map +1 -0
- package/dist/src/tokens.js +2 -1
- package/dist/src/tokens.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/wallet.d.ts +4 -1
- package/dist/src/wallet.js +25 -5
- package/dist/src/wallet.js.map +1 -1
- package/package.json +16 -7
- package/dist/src/events.d.ts +0 -8
- package/dist/src/events.js +0 -43
- package/dist/src/events.js.map +0 -1
- package/dist/src/transport.d.ts +0 -208
- package/dist/src/transport.js +0 -441
- package/dist/src/transport.js.map +0 -1
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { MAX_PRIORITY_PRICE } from "./compute.js";
|
|
2
|
+
import { tokenNamed } from "./tokens.js";
|
|
3
|
+
import { ACCEPTS, GLOBAL_OPTIONS, SUB_ACCEPTS, TOKEN_SIDES, } from "./arg-options.js";
|
|
4
|
+
import { address } from "@solana/kit";
|
|
5
|
+
import { I64_MAX, I64_MIN, isMemoUrl, Kind, kindBit, MEMO_URL_RULE, parseAmount, TOKEN_AMOUNT_PATTERN, U64_MAX, } from "@intent-engine/core";
|
|
6
|
+
export class UsageError extends Error {
|
|
7
|
+
}
|
|
8
|
+
export const KIND_NAMES = {
|
|
9
|
+
swap: Kind.SwapExactIn,
|
|
10
|
+
limit: Kind.LimitOrder,
|
|
11
|
+
dutch: Kind.DutchAuction,
|
|
12
|
+
attested: Kind.AttestedResult,
|
|
13
|
+
};
|
|
14
|
+
const PAUSE_NAMES = { none: 0, create: 1, fill: 2, all: 3 };
|
|
15
|
+
export function parseKinds(text) {
|
|
16
|
+
return parseKindSet(text, "kinds", false);
|
|
17
|
+
}
|
|
18
|
+
export function parseKindSet(text, key, allowNone) {
|
|
19
|
+
if (allowNone && text === "none") {
|
|
20
|
+
return 0n;
|
|
21
|
+
}
|
|
22
|
+
let mask = 0n;
|
|
23
|
+
for (const name of text.split(",")) {
|
|
24
|
+
const kind = KIND_NAMES[name];
|
|
25
|
+
if (kind === undefined) {
|
|
26
|
+
throw new UsageError(`--${key} takes ${allowNone ? "none or " : ""}a comma list of swap, limit, dutch, attested; got ${name}`);
|
|
27
|
+
}
|
|
28
|
+
mask |= kindBit(kind);
|
|
29
|
+
}
|
|
30
|
+
return mask;
|
|
31
|
+
}
|
|
32
|
+
export function parsePause(text, key) {
|
|
33
|
+
const flags = PAUSE_NAMES[text];
|
|
34
|
+
if (flags === undefined) {
|
|
35
|
+
throw new UsageError(`--${key} must be none, create, fill or all`);
|
|
36
|
+
}
|
|
37
|
+
return flags;
|
|
38
|
+
}
|
|
39
|
+
export function parseBounded(text, key, max, min = 0) {
|
|
40
|
+
if (!/^\d+$/.test(text) || BigInt(text) > BigInt(max) || BigInt(text) < BigInt(min)) {
|
|
41
|
+
throw new UsageError(`--${key} must be an integer from ${min} to ${max}`);
|
|
42
|
+
}
|
|
43
|
+
return Number(text);
|
|
44
|
+
}
|
|
45
|
+
export function parseKindFees(text) {
|
|
46
|
+
const bps = [0, 0, 0, 0];
|
|
47
|
+
let mask = 0;
|
|
48
|
+
if (text === "") {
|
|
49
|
+
return { mask, bps };
|
|
50
|
+
}
|
|
51
|
+
for (const pair of text.split(",")) {
|
|
52
|
+
const [name, value] = pair.split("=");
|
|
53
|
+
const kind = name === undefined ? undefined : KIND_NAMES[name];
|
|
54
|
+
if (kind === undefined || value === undefined) {
|
|
55
|
+
throw new UsageError(`--kind-fees takes name=bps pairs for swap, limit, dutch, attested; got ${pair}`);
|
|
56
|
+
}
|
|
57
|
+
if ((mask & (1 << kind)) !== 0) {
|
|
58
|
+
throw new UsageError(`--kind-fees names ${name} twice`);
|
|
59
|
+
}
|
|
60
|
+
mask |= 1 << kind;
|
|
61
|
+
bps[kind - 1] = parseBounded(value, "kind-fees", 0xffff);
|
|
62
|
+
}
|
|
63
|
+
return { mask, bps };
|
|
64
|
+
}
|
|
65
|
+
export const MAX_EVENT_LIMIT = 1_000;
|
|
66
|
+
export function parseLimit(text) {
|
|
67
|
+
if (!/^\d+$/.test(text) || Number(text) < 1 || Number(text) > MAX_EVENT_LIMIT) {
|
|
68
|
+
throw new UsageError(`--limit must be an integer from 1 to ${MAX_EVENT_LIMIT}`);
|
|
69
|
+
}
|
|
70
|
+
return Number(text);
|
|
71
|
+
}
|
|
72
|
+
export function parseFeeBps(text) {
|
|
73
|
+
if (!/^\d+$/.test(text) || BigInt(text) > 65535n) {
|
|
74
|
+
throw new UsageError("--fee-bps must be an integer from 0 to 65535");
|
|
75
|
+
}
|
|
76
|
+
return Number(text);
|
|
77
|
+
}
|
|
78
|
+
export function noRepeats(argv) {
|
|
79
|
+
const seen = new Set();
|
|
80
|
+
for (const arg of argv) {
|
|
81
|
+
if (arg === "--") {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (!arg.startsWith("--")) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const name = arg.slice(2).split("=")[0] ?? "";
|
|
88
|
+
if (seen.has(name)) {
|
|
89
|
+
throw new UsageError(`--${name} is given more than once`);
|
|
90
|
+
}
|
|
91
|
+
seen.add(name);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export function onlyAccepted(verb, sub, values) {
|
|
95
|
+
const accepted = verb === undefined ? undefined : (SUB_ACCEPTS[verb]?.[sub ?? ""] ?? ACCEPTS[verb]);
|
|
96
|
+
const named = verb !== undefined && SUB_ACCEPTS[verb]?.[sub ?? ""] !== undefined ? `${verb} ${sub}` : verb;
|
|
97
|
+
if (accepted === undefined) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
for (const [key, value] of Object.entries(values)) {
|
|
101
|
+
if (value !== undefined &&
|
|
102
|
+
!accepted.includes(key) &&
|
|
103
|
+
!GLOBAL_OPTIONS.includes(key)) {
|
|
104
|
+
throw new UsageError(`${named} does not take --${key}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export function required(values, key) {
|
|
109
|
+
const value = values[key];
|
|
110
|
+
if (value === undefined) {
|
|
111
|
+
throw new UsageError(`missing --${key}`);
|
|
112
|
+
}
|
|
113
|
+
return value;
|
|
114
|
+
}
|
|
115
|
+
export function parseU64(text, key) {
|
|
116
|
+
if (!/^\d+$/.test(text) || BigInt(text) > U64_MAX) {
|
|
117
|
+
throw new UsageError(`--${key} must be an integer from 0 to ${U64_MAX}`);
|
|
118
|
+
}
|
|
119
|
+
return BigInt(text);
|
|
120
|
+
}
|
|
121
|
+
export function parseI64(text, key) {
|
|
122
|
+
if (!/^-?\d+$/.test(text) || BigInt(text) < I64_MIN || BigInt(text) > I64_MAX) {
|
|
123
|
+
throw new UsageError(`--${key} must be an integer from ${I64_MIN} to ${I64_MAX}`);
|
|
124
|
+
}
|
|
125
|
+
return BigInt(text);
|
|
126
|
+
}
|
|
127
|
+
export function parseAddress(text, key) {
|
|
128
|
+
try {
|
|
129
|
+
return address(text);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
throw new UsageError(`--${key} is not a base58 address`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export const u64 = (values, key) => parseU64(required(values, key), key);
|
|
136
|
+
export const key = (values, name) => parseAddress(required(values, name), name);
|
|
137
|
+
export function amountOf(values, name) {
|
|
138
|
+
const side = TOKEN_SIDES[name];
|
|
139
|
+
if (values.units === "raw" || side === undefined) {
|
|
140
|
+
return u64(values, name).toString();
|
|
141
|
+
}
|
|
142
|
+
const text = required(values, name);
|
|
143
|
+
if (!TOKEN_AMOUNT_PATTERN.test(text)) {
|
|
144
|
+
throw new UsageError(`--${name} must be a token amount like 12 or 0.5`);
|
|
145
|
+
}
|
|
146
|
+
return { tokens: text, side };
|
|
147
|
+
}
|
|
148
|
+
export function unitsOf(values) {
|
|
149
|
+
if (values.units !== undefined && values.units !== "raw" && values.units !== "tokens") {
|
|
150
|
+
throw new UsageError("--units must be raw or tokens");
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
export const timeOf = (values, name) => parseI64(required(values, name), name).toString();
|
|
154
|
+
export const optionalField = (values, name, field, read) => values[name] === undefined ? {} : { [field]: read(values, name) };
|
|
155
|
+
export function https(text, key) {
|
|
156
|
+
let parsed;
|
|
157
|
+
try {
|
|
158
|
+
parsed = new URL(text);
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
throw new UsageError(`--${key} is not a url`);
|
|
162
|
+
}
|
|
163
|
+
if (parsed.protocol !== "https:") {
|
|
164
|
+
throw new UsageError(`--${key} must be an https url`);
|
|
165
|
+
}
|
|
166
|
+
return text.replace(/\/+$/, "");
|
|
167
|
+
}
|
|
168
|
+
export function mintAmounts(text, name) {
|
|
169
|
+
const amounts = new Map();
|
|
170
|
+
for (const entry of text === undefined ? [] : text.split(",")) {
|
|
171
|
+
const [mint, amount, ...rest] = entry.split("=");
|
|
172
|
+
if (mint === undefined || amount === undefined || rest.length > 0) {
|
|
173
|
+
throw new UsageError(`--${name} takes mint=amount pairs separated by commas`);
|
|
174
|
+
}
|
|
175
|
+
const key = parseAddress(mint.trim(), name);
|
|
176
|
+
if (amounts.has(key)) {
|
|
177
|
+
throw new UsageError(`--${name} names ${key} twice`);
|
|
178
|
+
}
|
|
179
|
+
amounts.set(key, parseU64(amount.trim(), name));
|
|
180
|
+
}
|
|
181
|
+
return amounts;
|
|
182
|
+
}
|
|
183
|
+
const LAMPORT_DECIMALS = 9;
|
|
184
|
+
export const MAX_SOL_COST_FORMAT = `--max-sol-cost is SOL above 0 with at most ${LAMPORT_DECIMALS} decimals, such as 0.01`;
|
|
185
|
+
export const MAX_RENT_FORMAT = `--max-rent is SOL above 0 with at most ${LAMPORT_DECIMALS} decimals, such as 0.01`;
|
|
186
|
+
function parseSol(text, format) {
|
|
187
|
+
let lamports;
|
|
188
|
+
try {
|
|
189
|
+
lamports = parseAmount(text, LAMPORT_DECIMALS);
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
throw new UsageError(format);
|
|
193
|
+
}
|
|
194
|
+
if (lamports === 0n) {
|
|
195
|
+
throw new UsageError(format);
|
|
196
|
+
}
|
|
197
|
+
return lamports;
|
|
198
|
+
}
|
|
199
|
+
export function parseSolCost(text) {
|
|
200
|
+
return parseSol(text, MAX_SOL_COST_FORMAT);
|
|
201
|
+
}
|
|
202
|
+
export function parseMaxRent(text) {
|
|
203
|
+
return parseSol(text, MAX_RENT_FORMAT);
|
|
204
|
+
}
|
|
205
|
+
export function parsePriority(text) {
|
|
206
|
+
if (text === undefined) {
|
|
207
|
+
return 0n;
|
|
208
|
+
}
|
|
209
|
+
if (text === "auto") {
|
|
210
|
+
return "auto";
|
|
211
|
+
}
|
|
212
|
+
const price = parseU64(text, "priority-fee");
|
|
213
|
+
if (price > MAX_PRIORITY_PRICE) {
|
|
214
|
+
throw new UsageError(`--priority-fee is micro-lamports per compute unit and at most ${MAX_PRIORITY_PRICE}; use auto for the recent market price`);
|
|
215
|
+
}
|
|
216
|
+
return price;
|
|
217
|
+
}
|
|
218
|
+
const MINT_KEYS = ["input-mint", "output-mint", "mint"];
|
|
219
|
+
function resolved(text, url) {
|
|
220
|
+
const mint = tokenNamed(text, url);
|
|
221
|
+
if (mint instanceof Error) {
|
|
222
|
+
throw new UsageError(mint.message);
|
|
223
|
+
}
|
|
224
|
+
return mint;
|
|
225
|
+
}
|
|
226
|
+
export function named(values, url) {
|
|
227
|
+
for (const name of MINT_KEYS) {
|
|
228
|
+
const text = values[name];
|
|
229
|
+
if (text !== undefined) {
|
|
230
|
+
values[name] = resolved(text, url);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (values.mints !== undefined) {
|
|
234
|
+
values.mints = values.mints
|
|
235
|
+
.split(",")
|
|
236
|
+
.map((m) => resolved(m.trim(), url))
|
|
237
|
+
.join(",");
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
export function mintList(text) {
|
|
241
|
+
return addressList(text, "mints");
|
|
242
|
+
}
|
|
243
|
+
export function addressList(text, name) {
|
|
244
|
+
const items = [...new Set(text.split(",").map((m) => m.trim()))];
|
|
245
|
+
if (items.some((m) => m === "")) {
|
|
246
|
+
throw new UsageError(`--${name} takes a comma list of addresses`);
|
|
247
|
+
}
|
|
248
|
+
return items.map((m) => parseAddress(m, name));
|
|
249
|
+
}
|
|
250
|
+
export const SHA256_NEEDED = "--sha256 must be the work's sha256 as 64 hex digits";
|
|
251
|
+
export function sha256Of(text, refusal = SHA256_NEEDED) {
|
|
252
|
+
if (!/^[0-9a-fA-F]{64}$/.test(text)) {
|
|
253
|
+
throw new UsageError(refusal);
|
|
254
|
+
}
|
|
255
|
+
return text.toLowerCase();
|
|
256
|
+
}
|
|
257
|
+
export function memoUrlOf(text, key) {
|
|
258
|
+
if (!isMemoUrl(text)) {
|
|
259
|
+
throw new UsageError(`--${key} must be ${MEMO_URL_RULE}`);
|
|
260
|
+
}
|
|
261
|
+
return text;
|
|
262
|
+
}
|
|
263
|
+
export function noSub(sub) {
|
|
264
|
+
if (sub !== undefined) {
|
|
265
|
+
throw new UsageError(`unexpected argument ${sub}`);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
export function outputOf(argv) {
|
|
269
|
+
const at = argv.lastIndexOf("--output");
|
|
270
|
+
const inline = argv.findLast((a) => a.startsWith("--output="));
|
|
271
|
+
const value = at >= 0 ? argv[at + 1] : inline?.slice("--output=".length);
|
|
272
|
+
if (value === undefined) {
|
|
273
|
+
return "json";
|
|
274
|
+
}
|
|
275
|
+
if (value !== "json" && value !== "text") {
|
|
276
|
+
throw new UsageError("--output must be json or text");
|
|
277
|
+
}
|
|
278
|
+
return value;
|
|
279
|
+
}
|
|
280
|
+
//# sourceMappingURL=arg-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arg-values.js","sourceRoot":"","sources":["../../src/arg-values.ts"],"names":[],"mappings":"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"}
|