@verboo/code 0.13.1 → 0.13.3
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.mjs +237 -108
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -136620,7 +136620,10 @@ async function fetchVerbooModels(accessToken, opts = {}) {
|
|
|
136620
136620
|
logForDebugging(msg);
|
|
136621
136621
|
process.stderr.write(msg + `
|
|
136622
136622
|
`);
|
|
136623
|
-
|
|
136623
|
+
if (cache2 && cache2.models.length > 0) {
|
|
136624
|
+
return cache2.models;
|
|
136625
|
+
}
|
|
136626
|
+
throw error41;
|
|
136624
136627
|
} finally {
|
|
136625
136628
|
inflight = null;
|
|
136626
136629
|
}
|
|
@@ -140168,6 +140171,9 @@ function getAuthTokenSource() {
|
|
|
140168
140171
|
}
|
|
140169
140172
|
return { source: "none", hasToken: false };
|
|
140170
140173
|
}
|
|
140174
|
+
if (isVerbooMode() && getStoredVerbooOAuthTokens()) {
|
|
140175
|
+
return { source: "claude.ai", hasToken: true };
|
|
140176
|
+
}
|
|
140171
140177
|
if (process.env.ANTHROPIC_AUTH_TOKEN && !isManagedOAuthContext()) {
|
|
140172
140178
|
return { source: "ANTHROPIC_AUTH_TOKEN", hasToken: true };
|
|
140173
140179
|
}
|
|
@@ -140789,6 +140795,24 @@ function saveOAuthTokensIfNeeded(tokens) {
|
|
|
140789
140795
|
return { success: false, warning: "Failed to save OAuth tokens" };
|
|
140790
140796
|
}
|
|
140791
140797
|
}
|
|
140798
|
+
function getStoredVerbooOAuthTokens() {
|
|
140799
|
+
try {
|
|
140800
|
+
const oauthData = getSecureStorage().read()?.verbooOauth;
|
|
140801
|
+
return oauthData?.accessToken ? oauthData : null;
|
|
140802
|
+
} catch (error41) {
|
|
140803
|
+
logError2(error41);
|
|
140804
|
+
return null;
|
|
140805
|
+
}
|
|
140806
|
+
}
|
|
140807
|
+
async function getStoredVerbooOAuthTokensAsync() {
|
|
140808
|
+
try {
|
|
140809
|
+
const oauthData = (await getSecureStorage().readAsync())?.verbooOauth;
|
|
140810
|
+
return oauthData?.accessToken ? oauthData : null;
|
|
140811
|
+
} catch (error41) {
|
|
140812
|
+
logError2(error41);
|
|
140813
|
+
return null;
|
|
140814
|
+
}
|
|
140815
|
+
}
|
|
140792
140816
|
function clearOAuthTokenCache() {
|
|
140793
140817
|
getClaudeAIOAuthTokens.cache?.clear?.();
|
|
140794
140818
|
clearKeychainCache();
|
|
@@ -140829,21 +140853,15 @@ async function handleOAuth401ErrorImpl(failedAccessToken) {
|
|
|
140829
140853
|
async function getClaudeAIOAuthTokensAsync() {
|
|
140830
140854
|
if (isBareMode())
|
|
140831
140855
|
return null;
|
|
140856
|
+
if (isVerbooMode()) {
|
|
140857
|
+
const storedTokens = await getStoredVerbooOAuthTokensAsync();
|
|
140858
|
+
if (storedTokens)
|
|
140859
|
+
return storedTokens;
|
|
140860
|
+
}
|
|
140832
140861
|
if (process.env.CLAUDE_CODE_OAUTH_TOKEN || getOAuthTokenFromFileDescriptor()) {
|
|
140833
140862
|
return getClaudeAIOAuthTokens();
|
|
140834
140863
|
}
|
|
140835
|
-
|
|
140836
|
-
const secureStorage = getSecureStorage();
|
|
140837
|
-
const storageData = await secureStorage.readAsync();
|
|
140838
|
-
const oauthData = storageData?.verbooOauth;
|
|
140839
|
-
if (!oauthData?.accessToken) {
|
|
140840
|
-
return null;
|
|
140841
|
-
}
|
|
140842
|
-
return oauthData;
|
|
140843
|
-
} catch (error41) {
|
|
140844
|
-
logError2(error41);
|
|
140845
|
-
return null;
|
|
140846
|
-
}
|
|
140864
|
+
return getStoredVerbooOAuthTokensAsync();
|
|
140847
140865
|
}
|
|
140848
140866
|
function checkAndRefreshOAuthTokenIfNeeded(retryCount = 0, force = false) {
|
|
140849
140867
|
if (retryCount === 0 && !force) {
|
|
@@ -141248,6 +141266,11 @@ var init_auth = __esm(() => {
|
|
|
141248
141266
|
getClaudeAIOAuthTokens = memoize_default(() => {
|
|
141249
141267
|
if (isBareMode())
|
|
141250
141268
|
return null;
|
|
141269
|
+
if (isVerbooMode()) {
|
|
141270
|
+
const storedTokens = getStoredVerbooOAuthTokens();
|
|
141271
|
+
if (storedTokens)
|
|
141272
|
+
return storedTokens;
|
|
141273
|
+
}
|
|
141251
141274
|
if (process.env.CLAUDE_CODE_OAUTH_TOKEN) {
|
|
141252
141275
|
return {
|
|
141253
141276
|
accessToken: process.env.CLAUDE_CODE_OAUTH_TOKEN,
|
|
@@ -141269,18 +141292,7 @@ var init_auth = __esm(() => {
|
|
|
141269
141292
|
rateLimitTier: null
|
|
141270
141293
|
};
|
|
141271
141294
|
}
|
|
141272
|
-
|
|
141273
|
-
const secureStorage = getSecureStorage();
|
|
141274
|
-
const storageData = secureStorage.read();
|
|
141275
|
-
const oauthData = storageData?.verbooOauth;
|
|
141276
|
-
if (!oauthData?.accessToken) {
|
|
141277
|
-
return null;
|
|
141278
|
-
}
|
|
141279
|
-
return oauthData;
|
|
141280
|
-
} catch (error41) {
|
|
141281
|
-
logError2(error41);
|
|
141282
|
-
return null;
|
|
141283
|
-
}
|
|
141295
|
+
return getStoredVerbooOAuthTokens();
|
|
141284
141296
|
});
|
|
141285
141297
|
pending401Handlers = new Map;
|
|
141286
141298
|
GcpCredentialsTimeoutError = class GcpCredentialsTimeoutError extends Error {
|
|
@@ -169747,7 +169759,7 @@ function getClaudeCodeUserAgent() {
|
|
|
169747
169759
|
return `claude-code/${"99.0.0"}`;
|
|
169748
169760
|
}
|
|
169749
169761
|
function getVerbooCodeUserAgent() {
|
|
169750
|
-
const version2 = typeof MACRO !== "undefined" ? "0.13.
|
|
169762
|
+
const version2 = typeof MACRO !== "undefined" ? "0.13.3" : "unknown";
|
|
169751
169763
|
return `verboo-code/${version2}`;
|
|
169752
169764
|
}
|
|
169753
169765
|
|
|
@@ -173798,8 +173810,9 @@ class OpenAIShimMessages {
|
|
|
173798
173810
|
processEnv: process.env
|
|
173799
173811
|
});
|
|
173800
173812
|
const getApiKey = () => this.providerOverride?.getApiKey?.() ?? this.providerOverride?.apiKey ?? routeCredential ?? process.env.OPENAI_API_KEY ?? "";
|
|
173801
|
-
const
|
|
173802
|
-
const
|
|
173813
|
+
const usesVerbooRouter = isVerbooRouterUrl(request.baseUrl);
|
|
173814
|
+
const configuredAuthHeaderValue = usesVerbooRouter ? undefined : process.env.OPENAI_AUTH_HEADER_VALUE?.trim();
|
|
173815
|
+
const customAuthHeader = usesVerbooRouter ? undefined : process.env.OPENAI_AUTH_HEADER?.trim();
|
|
173803
173816
|
const hasCustomAuthHeader = Boolean(customAuthHeader && /^[A-Za-z0-9!#$%&'*+.^_`|~-]+$/.test(customAuthHeader));
|
|
173804
173817
|
const applyAuthHeader = () => {
|
|
173805
173818
|
const apiKey = getApiKey();
|
|
@@ -294181,9 +294194,6 @@ var init_verbooCheckout = __esm(() => {
|
|
|
294181
294194
|
});
|
|
294182
294195
|
|
|
294183
294196
|
// src/services/api/verbooMarketplace.ts
|
|
294184
|
-
function clearMarketplaceCache() {
|
|
294185
|
-
cache3 = null;
|
|
294186
|
-
}
|
|
294187
294197
|
async function fetchMarketplaceGroups(opts = {}) {
|
|
294188
294198
|
if (!opts.force && cache3 && Date.now() - cache3.fetchedAt < CACHE_TTL_MS2) {
|
|
294189
294199
|
return cache3.groups;
|
|
@@ -294191,19 +294201,26 @@ async function fetchMarketplaceGroups(opts = {}) {
|
|
|
294191
294201
|
const endpoint = `${VERBOO_API_BASE_URL}/api/marketplace`;
|
|
294192
294202
|
try {
|
|
294193
294203
|
const response = await axios_default.get(endpoint, {
|
|
294194
|
-
timeout: 1e4
|
|
294204
|
+
timeout: 1e4,
|
|
294205
|
+
signal: opts.signal
|
|
294195
294206
|
});
|
|
294196
294207
|
const groups = response.data?.data ?? [];
|
|
294197
294208
|
cache3 = { fetchedAt: Date.now(), groups };
|
|
294198
294209
|
logForDebugging(`[Marketplace] Fetched ${groups.length} groups from ${endpoint}`);
|
|
294199
294210
|
return groups;
|
|
294200
294211
|
} catch (error42) {
|
|
294212
|
+
if (opts.signal?.aborted || axios_default.isCancel(error42)) {
|
|
294213
|
+
throw error42;
|
|
294214
|
+
}
|
|
294201
294215
|
logError2(error42);
|
|
294202
294216
|
const msg = `[Marketplace] Erro ao buscar planos: ${error42.message ?? String(error42)}`;
|
|
294203
294217
|
logForDebugging(msg);
|
|
294204
294218
|
process.stderr.write(msg + `
|
|
294205
294219
|
`);
|
|
294206
|
-
|
|
294220
|
+
if (cache3 && cache3.groups.length > 0) {
|
|
294221
|
+
return cache3.groups;
|
|
294222
|
+
}
|
|
294223
|
+
throw error42;
|
|
294207
294224
|
}
|
|
294208
294225
|
}
|
|
294209
294226
|
var CACHE_TTL_MS2, cache3 = null;
|
|
@@ -294501,16 +294518,46 @@ function PurchaseFlowView({
|
|
|
294501
294518
|
const [focusIndex, setFocusIndex] = import_react62.useState(0);
|
|
294502
294519
|
const [errorMsg, setErrorMsg] = import_react62.useState(null);
|
|
294503
294520
|
const [wooviPayment, setWooviPayment] = import_react62.useState(null);
|
|
294521
|
+
const plansRequestRef = import_react62.default.useRef(null);
|
|
294522
|
+
const cancelPlansLoading = import_react62.useCallback(() => {
|
|
294523
|
+
plansRequestRef.current?.abort();
|
|
294524
|
+
plansRequestRef.current = null;
|
|
294525
|
+
setStep("splash");
|
|
294526
|
+
}, []);
|
|
294527
|
+
import_react62.default.useEffect(() => () => {
|
|
294528
|
+
plansRequestRef.current?.abort();
|
|
294529
|
+
}, []);
|
|
294504
294530
|
const fetchPlans = import_react62.useCallback(async () => {
|
|
294531
|
+
plansRequestRef.current?.abort();
|
|
294532
|
+
const controller = new AbortController;
|
|
294533
|
+
plansRequestRef.current = controller;
|
|
294534
|
+
setErrorMsg(null);
|
|
294505
294535
|
setStep("loading-plans");
|
|
294506
|
-
|
|
294507
|
-
|
|
294508
|
-
|
|
294509
|
-
|
|
294510
|
-
|
|
294536
|
+
try {
|
|
294537
|
+
const groups = await fetchMarketplaceGroups({
|
|
294538
|
+
force: true,
|
|
294539
|
+
signal: controller.signal
|
|
294540
|
+
});
|
|
294541
|
+
if (plansRequestRef.current !== controller)
|
|
294542
|
+
return;
|
|
294543
|
+
if (groups.length === 0) {
|
|
294544
|
+
setErrorMsg("Nenhum plano está disponível no momento. Tente novamente mais tarde.");
|
|
294545
|
+
setStep("error");
|
|
294546
|
+
return;
|
|
294547
|
+
}
|
|
294511
294548
|
setPlans(groups);
|
|
294512
294549
|
setFocusIndex(0);
|
|
294513
294550
|
setStep("plans");
|
|
294551
|
+
} catch (error42) {
|
|
294552
|
+
if (controller.signal.aborted || plansRequestRef.current !== controller) {
|
|
294553
|
+
return;
|
|
294554
|
+
}
|
|
294555
|
+
setErrorMsg(`Não foi possível carregar os planos: ${errorMessage(error42)}`);
|
|
294556
|
+
setStep("error");
|
|
294557
|
+
} finally {
|
|
294558
|
+
if (plansRequestRef.current === controller) {
|
|
294559
|
+
plansRequestRef.current = null;
|
|
294560
|
+
}
|
|
294514
294561
|
}
|
|
294515
294562
|
}, []);
|
|
294516
294563
|
const startStripePolling = import_react62.useCallback(async () => {
|
|
@@ -294524,7 +294571,11 @@ function PurchaseFlowView({
|
|
|
294524
294571
|
setTimeout(() => onDone(true), 1500);
|
|
294525
294572
|
return;
|
|
294526
294573
|
}
|
|
294527
|
-
} catch {
|
|
294574
|
+
} catch (error42) {
|
|
294575
|
+
setErrorMsg(`Não foi possível verificar a liberação dos modelos: ${errorMessage(error42)}`);
|
|
294576
|
+
setStep("error");
|
|
294577
|
+
return;
|
|
294578
|
+
}
|
|
294528
294579
|
}
|
|
294529
294580
|
setErrorMsg("O pagamento ainda não foi confirmado. Verifique o checkout e tente novamente.");
|
|
294530
294581
|
setStep("error");
|
|
@@ -294567,16 +294618,26 @@ function PurchaseFlowView({
|
|
|
294567
294618
|
}
|
|
294568
294619
|
};
|
|
294569
294620
|
const handleWooviConfirmed = import_react62.useCallback(async () => {
|
|
294570
|
-
|
|
294571
|
-
|
|
294572
|
-
|
|
294621
|
+
try {
|
|
294622
|
+
const models = await fetchVerbooModels(accessToken, { force: true });
|
|
294623
|
+
if (models.length === 0) {
|
|
294624
|
+
setErrorMsg("Pagamento confirmado, mas os modelos ainda não foram liberados. Aguarde alguns segundos e execute o Verboo novamente.");
|
|
294625
|
+
setStep("error");
|
|
294626
|
+
return;
|
|
294627
|
+
}
|
|
294628
|
+
setStep("success");
|
|
294629
|
+
setTimeout(() => onDone(true), 1500);
|
|
294630
|
+
} catch (error42) {
|
|
294631
|
+
setErrorMsg(`Pagamento confirmado, mas não foi possível verificar os modelos: ${errorMessage(error42)}`);
|
|
294573
294632
|
setStep("error");
|
|
294574
|
-
return;
|
|
294575
294633
|
}
|
|
294576
|
-
setStep("success");
|
|
294577
|
-
setTimeout(() => onDone(true), 1500);
|
|
294578
294634
|
}, [accessToken, onDone]);
|
|
294579
294635
|
use_input_default((_input, key) => {
|
|
294636
|
+
if (step === "loading-plans") {
|
|
294637
|
+
if (key.escape)
|
|
294638
|
+
cancelPlansLoading();
|
|
294639
|
+
return;
|
|
294640
|
+
}
|
|
294580
294641
|
if (step !== "plans" || plans.length === 0)
|
|
294581
294642
|
return;
|
|
294582
294643
|
if (key.leftArrow)
|
|
@@ -294595,7 +294656,7 @@ function PurchaseFlowView({
|
|
|
294595
294656
|
}
|
|
294596
294657
|
} else if (key.escape)
|
|
294597
294658
|
setStep("splash");
|
|
294598
|
-
}, { isActive: step === "plans" });
|
|
294659
|
+
}, { isActive: step === "plans" || step === "loading-plans" });
|
|
294599
294660
|
switch (step) {
|
|
294600
294661
|
case "splash":
|
|
294601
294662
|
return /* @__PURE__ */ jsx_runtime71.jsxs(ThemedBox_default, {
|
|
@@ -294627,7 +294688,11 @@ function PurchaseFlowView({
|
|
|
294627
294688
|
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
294628
294689
|
children: "Buscando planos disponíveis…"
|
|
294629
294690
|
}),
|
|
294630
|
-
/* @__PURE__ */ jsx_runtime71.jsx(Spinner, {})
|
|
294691
|
+
/* @__PURE__ */ jsx_runtime71.jsx(Spinner, {}),
|
|
294692
|
+
/* @__PURE__ */ jsx_runtime71.jsx(ThemedText, {
|
|
294693
|
+
dimColor: true,
|
|
294694
|
+
children: "Esc para cancelar"
|
|
294695
|
+
})
|
|
294631
294696
|
]
|
|
294632
294697
|
});
|
|
294633
294698
|
case "plans": {
|
|
@@ -294861,7 +294926,7 @@ function PurchaseFlowView({
|
|
|
294861
294926
|
}),
|
|
294862
294927
|
/* @__PURE__ */ jsx_runtime71.jsx(Select, {
|
|
294863
294928
|
options: [
|
|
294864
|
-
{ label: "
|
|
294929
|
+
{ label: "Tentar novamente", value: "retry" },
|
|
294865
294930
|
{ label: "Fechar", value: "fechar" }
|
|
294866
294931
|
],
|
|
294867
294932
|
onChange: (value) => {
|
|
@@ -294897,6 +294962,7 @@ var init_purchaseFlow = __esm(() => {
|
|
|
294897
294962
|
init_TextInput();
|
|
294898
294963
|
init_ink2();
|
|
294899
294964
|
init_browser();
|
|
294965
|
+
init_errors();
|
|
294900
294966
|
init_verbooModels();
|
|
294901
294967
|
init_verbooCheckout();
|
|
294902
294968
|
init_verbooMarketplace();
|
|
@@ -298595,6 +298661,11 @@ ${sslHint ? sslHint + `
|
|
|
298595
298661
|
`);
|
|
298596
298662
|
process.exit(0);
|
|
298597
298663
|
}
|
|
298664
|
+
if (preflight.kind === "degraded") {
|
|
298665
|
+
process.stderr.write(getVerbooModelsUnavailableMessage(preflight.reason) + `
|
|
298666
|
+
`);
|
|
298667
|
+
process.exit(1);
|
|
298668
|
+
}
|
|
298598
298669
|
}
|
|
298599
298670
|
const result = await runOAuthLoginFlow({
|
|
298600
298671
|
email: email3,
|
|
@@ -298605,7 +298676,12 @@ ${sslHint ? sslHint + `
|
|
|
298605
298676
|
if (isVerbooMode()) {
|
|
298606
298677
|
await installVerbooOAuthTokens(result);
|
|
298607
298678
|
const models = await checkVerbooModels(result.accessToken);
|
|
298608
|
-
if (models.
|
|
298679
|
+
if (models.kind === "unavailable") {
|
|
298680
|
+
process.stderr.write(getVerbooModelsUnavailableMessage(models.reason) + `
|
|
298681
|
+
`);
|
|
298682
|
+
process.exit(1);
|
|
298683
|
+
}
|
|
298684
|
+
if (models.kind === "empty") {
|
|
298609
298685
|
const ok = await showNoModelsFlow(result.accessToken);
|
|
298610
298686
|
if (!ok)
|
|
298611
298687
|
process.exit(1);
|
|
@@ -299076,6 +299152,7 @@ __export(exports_verbooStartupAuth, {
|
|
|
299076
299152
|
markVerbooSessionValidated: () => markVerbooSessionValidated,
|
|
299077
299153
|
isVerbooSessionValidated: () => isVerbooSessionValidated,
|
|
299078
299154
|
installVerbooOAuthTokens: () => installVerbooOAuthTokens,
|
|
299155
|
+
getVerbooModelsUnavailableMessage: () => getVerbooModelsUnavailableMessage,
|
|
299079
299156
|
getNoVerbooModelsMessage: () => getNoVerbooModelsMessage2,
|
|
299080
299157
|
ensureVerbooAuthenticated: () => ensureVerbooAuthenticated,
|
|
299081
299158
|
checkVerbooModels: () => checkVerbooModels
|
|
@@ -299161,24 +299238,42 @@ async function validateVerbooSession() {
|
|
|
299161
299238
|
return { kind: "degraded", reason: result.reason };
|
|
299162
299239
|
}
|
|
299163
299240
|
async function checkVerbooModels(accessToken) {
|
|
299164
|
-
|
|
299165
|
-
|
|
299166
|
-
|
|
299167
|
-
|
|
299168
|
-
|
|
299241
|
+
try {
|
|
299242
|
+
const models = await fetchVerbooModels(accessToken, { force: true });
|
|
299243
|
+
if (models.length > 0) {
|
|
299244
|
+
return { kind: "available", models };
|
|
299245
|
+
}
|
|
299246
|
+
return { kind: "empty", models: [] };
|
|
299247
|
+
} catch (err2) {
|
|
299248
|
+
return {
|
|
299249
|
+
kind: "unavailable",
|
|
299250
|
+
reason: errorMessage(err2),
|
|
299251
|
+
models: []
|
|
299252
|
+
};
|
|
299253
|
+
}
|
|
299254
|
+
}
|
|
299255
|
+
function getVerbooModelsUnavailableMessage(reason) {
|
|
299256
|
+
return `Não foi possível verificar os modelos do Verboo: ${reason}.
|
|
299257
|
+
` + "Sua sessão local foi preservada. Tente novamente em alguns instantes.";
|
|
299169
299258
|
}
|
|
299170
299259
|
async function loadAndCheckModels(accessToken) {
|
|
299171
|
-
const
|
|
299172
|
-
if (
|
|
299260
|
+
const result = await checkVerbooModels(accessToken);
|
|
299261
|
+
if (result.kind === "available")
|
|
299173
299262
|
return;
|
|
299263
|
+
if (result.kind === "unavailable") {
|
|
299264
|
+
throw new Error(getVerbooModelsUnavailableMessage(result.reason));
|
|
299265
|
+
}
|
|
299174
299266
|
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
299175
299267
|
throw new Error("Nenhum modelo disponível nesta conta. Execute `verboo /login` em um terminal interativo para escolher um plano.");
|
|
299176
299268
|
}
|
|
299177
299269
|
const ok = await showNoModelsFlow(accessToken);
|
|
299178
299270
|
if (ok) {
|
|
299179
299271
|
const refreshed = await checkVerbooModels(accessToken);
|
|
299180
|
-
if (refreshed.
|
|
299272
|
+
if (refreshed.kind === "available")
|
|
299181
299273
|
return;
|
|
299274
|
+
if (refreshed.kind === "unavailable") {
|
|
299275
|
+
throw new Error(getVerbooModelsUnavailableMessage(refreshed.reason));
|
|
299276
|
+
}
|
|
299182
299277
|
}
|
|
299183
299278
|
process.stdout.write(`
|
|
299184
299279
|
Para trocar de conta, execute: verboo logout
|
|
@@ -299219,13 +299314,16 @@ async function preflightVerbooLogin() {
|
|
|
299219
299314
|
return { kind: "degraded", reason: session.reason };
|
|
299220
299315
|
}
|
|
299221
299316
|
const models = await checkVerbooModels(session.tokens.accessToken);
|
|
299222
|
-
if (models.
|
|
299317
|
+
if (models.kind === "unavailable") {
|
|
299318
|
+
return { kind: "degraded", reason: models.reason };
|
|
299319
|
+
}
|
|
299320
|
+
if (models.kind === "empty") {
|
|
299223
299321
|
return { kind: "needs-oauth", reason: "no-models" };
|
|
299224
299322
|
}
|
|
299225
299323
|
return {
|
|
299226
299324
|
kind: "ready",
|
|
299227
299325
|
tokens: session.tokens,
|
|
299228
|
-
models,
|
|
299326
|
+
models: models.models,
|
|
299229
299327
|
refreshed: session.refreshed
|
|
299230
299328
|
};
|
|
299231
299329
|
}
|
|
@@ -299235,8 +299333,8 @@ async function ensureVerbooAuthenticated(opts = {}) {
|
|
|
299235
299333
|
clearVerbooModelsCache();
|
|
299236
299334
|
const session = await validateVerbooSession();
|
|
299237
299335
|
if (session.kind === "ok") {
|
|
299238
|
-
validated = true;
|
|
299239
299336
|
await loadAndCheckModels(session.tokens.accessToken);
|
|
299337
|
+
validated = true;
|
|
299240
299338
|
await showPastDueNotice(session.tokens.accessToken);
|
|
299241
299339
|
return;
|
|
299242
299340
|
}
|
|
@@ -299245,10 +299343,10 @@ async function ensureVerbooAuthenticated(opts = {}) {
|
|
|
299245
299343
|
logForDebugging(degradedMsg);
|
|
299246
299344
|
process.stderr.write(degradedMsg + `
|
|
299247
299345
|
`);
|
|
299248
|
-
validated = true;
|
|
299249
299346
|
const stored = await getClaudeAIOAuthTokensAsync();
|
|
299250
299347
|
if (stored?.accessToken) {
|
|
299251
299348
|
await loadAndCheckModels(stored.accessToken);
|
|
299349
|
+
validated = true;
|
|
299252
299350
|
}
|
|
299253
299351
|
return;
|
|
299254
299352
|
}
|
|
@@ -299272,14 +299370,17 @@ ${url3}
|
|
|
299272
299370
|
onAuthUrl
|
|
299273
299371
|
});
|
|
299274
299372
|
await installVerbooOAuthTokens(tokens);
|
|
299275
|
-
await validateVerbooSession();
|
|
299373
|
+
const confirmedSession = await validateVerbooSession();
|
|
299374
|
+
if (confirmedSession.kind === "unauthenticated") {
|
|
299375
|
+
throw new Error("A sessão recém-autenticada foi rejeitada pelo Verboo. Feche variáveis de credencial herdadas do terminal e tente `verboo /login` novamente.");
|
|
299376
|
+
}
|
|
299276
299377
|
process.stdout.write(`
|
|
299277
299378
|
✓ Autenticação concluída.
|
|
299278
299379
|
|
|
299279
299380
|
`);
|
|
299280
299381
|
saveGlobalConfig((current) => current.hasCompletedOnboarding ? current : { ...current, hasCompletedOnboarding: true });
|
|
299382
|
+
await loadAndCheckModels(confirmedSession.kind === "ok" ? confirmedSession.tokens.accessToken : tokens.accessToken);
|
|
299281
299383
|
validated = true;
|
|
299282
|
-
await loadAndCheckModels(tokens.accessToken);
|
|
299283
299384
|
}
|
|
299284
299385
|
var validated = false;
|
|
299285
299386
|
var init_verbooStartupAuth = __esm(() => {
|
|
@@ -303711,20 +303812,32 @@ async function call2(onDone, context) {
|
|
|
303711
303812
|
onDone(result.message, { display: "system" });
|
|
303712
303813
|
return;
|
|
303713
303814
|
}
|
|
303815
|
+
if (result.type === "unavailable") {
|
|
303816
|
+
onDone(getVerbooModelsUnavailableMessage(result.reason), {
|
|
303817
|
+
display: "system"
|
|
303818
|
+
});
|
|
303819
|
+
return;
|
|
303820
|
+
}
|
|
303714
303821
|
const authChanged = result.type !== "ready" || result.refreshed;
|
|
303715
303822
|
if (!authChanged) {
|
|
303716
303823
|
if (isVerbooMode()) {
|
|
303717
303824
|
markVerbooSessionValidated();
|
|
303718
303825
|
const storedTokens = await getClaudeAIOAuthTokensAsync();
|
|
303719
303826
|
if (storedTokens?.accessToken) {
|
|
303720
|
-
const
|
|
303721
|
-
const [firstModel] = models;
|
|
303827
|
+
const modelsResult = await checkVerbooModels(storedTokens.accessToken);
|
|
303828
|
+
const [firstModel] = modelsResult.models;
|
|
303722
303829
|
if (firstModel) {
|
|
303723
303830
|
context.setAppState((prev) => ({
|
|
303724
303831
|
...prev,
|
|
303725
303832
|
mainLoopModelOverride: firstModel.id
|
|
303726
303833
|
}));
|
|
303727
303834
|
}
|
|
303835
|
+
if (modelsResult.kind === "unavailable") {
|
|
303836
|
+
onDone(getVerbooModelsUnavailableMessage(modelsResult.reason), {
|
|
303837
|
+
display: "system"
|
|
303838
|
+
});
|
|
303839
|
+
return;
|
|
303840
|
+
}
|
|
303728
303841
|
}
|
|
303729
303842
|
}
|
|
303730
303843
|
onDone("Sessão já está válida.");
|
|
@@ -303754,12 +303867,16 @@ async function call2(onDone, context) {
|
|
|
303754
303867
|
markVerbooSessionValidated();
|
|
303755
303868
|
const storedTokens = await getClaudeAIOAuthTokensAsync();
|
|
303756
303869
|
if (storedTokens?.accessToken) {
|
|
303757
|
-
const
|
|
303758
|
-
if (
|
|
303870
|
+
const modelsResult = await checkVerbooModels(storedTokens.accessToken);
|
|
303871
|
+
if (modelsResult.kind === "unavailable") {
|
|
303872
|
+
onDone(`Login concluído. ${getVerbooModelsUnavailableMessage(modelsResult.reason)}`, { display: "system" });
|
|
303873
|
+
return;
|
|
303874
|
+
}
|
|
303875
|
+
if (modelsResult.kind === "empty") {
|
|
303759
303876
|
onDone(getNoVerbooModelsMessage2().trim(), { display: "system" });
|
|
303760
303877
|
return;
|
|
303761
303878
|
}
|
|
303762
|
-
const [firstModel] = models;
|
|
303879
|
+
const [firstModel] = modelsResult.models;
|
|
303763
303880
|
context.setAppState((prev) => ({
|
|
303764
303881
|
...prev,
|
|
303765
303882
|
mainLoopModelOverride: firstModel.id
|
|
@@ -303785,6 +303902,10 @@ function Login(props) {
|
|
|
303785
303902
|
props.onDone({ type: "ready", refreshed: result.refreshed }, mainLoopModel);
|
|
303786
303903
|
return;
|
|
303787
303904
|
}
|
|
303905
|
+
if (result.kind === "degraded") {
|
|
303906
|
+
props.onDone({ type: "unavailable", reason: result.reason }, mainLoopModel);
|
|
303907
|
+
return;
|
|
303908
|
+
}
|
|
303788
303909
|
setPreflightDone(true);
|
|
303789
303910
|
}).catch(() => {
|
|
303790
303911
|
if (!cancelled)
|
|
@@ -303803,8 +303924,12 @@ function Login(props) {
|
|
|
303803
303924
|
markVerbooSessionValidated();
|
|
303804
303925
|
const storedTokens = await getClaudeAIOAuthTokensAsync();
|
|
303805
303926
|
if (storedTokens?.accessToken) {
|
|
303806
|
-
const
|
|
303807
|
-
if (
|
|
303927
|
+
const modelsResult = await checkVerbooModels(storedTokens.accessToken);
|
|
303928
|
+
if (modelsResult.kind === "unavailable") {
|
|
303929
|
+
props.onDone({ type: "unavailable", reason: modelsResult.reason }, mainLoopModel);
|
|
303930
|
+
return;
|
|
303931
|
+
}
|
|
303932
|
+
if (modelsResult.kind === "empty") {
|
|
303808
303933
|
setPostLoginToken(storedTokens.accessToken);
|
|
303809
303934
|
return;
|
|
303810
303935
|
}
|
|
@@ -303814,8 +303939,12 @@ function Login(props) {
|
|
|
303814
303939
|
}, [mainLoopModel, props]);
|
|
303815
303940
|
const handlePurchaseDone = React31.useCallback(async (success2) => {
|
|
303816
303941
|
if (success2 && postLoginToken) {
|
|
303817
|
-
const
|
|
303818
|
-
if (
|
|
303942
|
+
const modelsResult = await checkVerbooModels(postLoginToken);
|
|
303943
|
+
if (modelsResult.kind === "unavailable") {
|
|
303944
|
+
props.onDone({ type: "unavailable", reason: modelsResult.reason }, mainLoopModel);
|
|
303945
|
+
return;
|
|
303946
|
+
}
|
|
303947
|
+
if (modelsResult.kind === "available") {
|
|
303819
303948
|
props.onDone({ type: "ready", refreshed: true }, mainLoopModel);
|
|
303820
303949
|
return;
|
|
303821
303950
|
}
|
|
@@ -393857,7 +393986,7 @@ function getAnthropicEnvMetadata() {
|
|
|
393857
393986
|
function getBuildAgeMinutes() {
|
|
393858
393987
|
if (false)
|
|
393859
393988
|
;
|
|
393860
|
-
const buildTime = new Date("2026-07-
|
|
393989
|
+
const buildTime = new Date("2026-07-15T02:08:38.282Z").getTime();
|
|
393861
393990
|
if (isNaN(buildTime))
|
|
393862
393991
|
return;
|
|
393863
393992
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -422112,7 +422241,7 @@ function buildPrimarySection() {
|
|
|
422112
422241
|
});
|
|
422113
422242
|
return [{
|
|
422114
422243
|
label: "Version",
|
|
422115
|
-
value: "0.13.
|
|
422244
|
+
value: "0.13.3"
|
|
422116
422245
|
}, {
|
|
422117
422246
|
label: "Session name",
|
|
422118
422247
|
value: nameValue
|
|
@@ -435041,7 +435170,7 @@ function getReleaseTagUrl(version2 = publicBuildVersion) {
|
|
|
435041
435170
|
return `${VERBOO_RELEASES_URL}/tag/v${normalizePublicVersion(version2)}`;
|
|
435042
435171
|
}
|
|
435043
435172
|
function getPublicBuildVersion() {
|
|
435044
|
-
return "0.13.
|
|
435173
|
+
return "0.13.3";
|
|
435045
435174
|
}
|
|
435046
435175
|
var import_semver10, VERBOO_RELEASES_URL = "https://github.com/verbeux-ai/code/releases", fallbackBuildVersion, publicBuildVersion;
|
|
435047
435176
|
var init_version = __esm(() => {
|
|
@@ -486300,7 +486429,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
486300
486429
|
var call63 = async () => {
|
|
486301
486430
|
return {
|
|
486302
486431
|
type: "text",
|
|
486303
|
-
value: `${"99.0.0"} (built ${"2026-07-
|
|
486432
|
+
value: `${"99.0.0"} (built ${"2026-07-15T02:08:38.282Z"})`
|
|
486304
486433
|
};
|
|
486305
486434
|
}, version2, version_default;
|
|
486306
486435
|
var init_version2 = __esm(() => {
|
|
@@ -519373,7 +519502,7 @@ function printStartupScreen(modelOverride) {
|
|
|
519373
519502
|
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
519374
519503
|
const cwd2 = process.cwd();
|
|
519375
519504
|
const displayCwd = home && cwd2.startsWith(home) ? `~${cwd2.slice(home.length)}` : cwd2;
|
|
519376
|
-
const version3 = "0.13.
|
|
519505
|
+
const version3 = "0.13.3";
|
|
519377
519506
|
const bold2 = `${ESC4}1m`;
|
|
519378
519507
|
const PURPLE = rgb3(...ACCENT);
|
|
519379
519508
|
const SOFT = rgb3(...CREAM);
|
|
@@ -537665,7 +537794,7 @@ var init_routerRateLimitHook = __esm(() => {
|
|
|
537665
537794
|
function getSemverPart(version3) {
|
|
537666
537795
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
537667
537796
|
}
|
|
537668
|
-
function useUpdateNotification(updatedVersion, initialVersion = "0.13.
|
|
537797
|
+
function useUpdateNotification(updatedVersion, initialVersion = "0.13.3") {
|
|
537669
537798
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react225.useState(() => getSemverPart(initialVersion));
|
|
537670
537799
|
const [pendingNotification2, setPendingNotification] = import_react225.useState(null);
|
|
537671
537800
|
if (updatedVersion) {
|
|
@@ -537705,7 +537834,7 @@ function AutoUpdater({
|
|
|
537705
537834
|
return;
|
|
537706
537835
|
}
|
|
537707
537836
|
if (false) {}
|
|
537708
|
-
const currentVersion = "0.13.
|
|
537837
|
+
const currentVersion = "0.13.3";
|
|
537709
537838
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
537710
537839
|
let latestVersion = await getLatestVersion(channel2);
|
|
537711
537840
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -538058,17 +538187,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
538058
538187
|
const maxVersion = await getMaxVersion();
|
|
538059
538188
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
538060
538189
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
538061
|
-
if (gte("0.13.
|
|
538062
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.13.
|
|
538190
|
+
if (gte("0.13.3", maxVersion)) {
|
|
538191
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.13.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
538063
538192
|
setUpdateAvailable(false);
|
|
538064
538193
|
return;
|
|
538065
538194
|
}
|
|
538066
538195
|
latest = maxVersion;
|
|
538067
538196
|
}
|
|
538068
|
-
const hasUpdate = latest && !gte("0.13.
|
|
538197
|
+
const hasUpdate = latest && !gte("0.13.3", latest) && !shouldSkipVersion(latest);
|
|
538069
538198
|
setUpdateAvailable(!!hasUpdate);
|
|
538070
538199
|
if (hasUpdate) {
|
|
538071
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.13.
|
|
538200
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.13.3"} -> ${latest}`);
|
|
538072
538201
|
}
|
|
538073
538202
|
};
|
|
538074
538203
|
$2[0] = t1;
|
|
@@ -538102,7 +538231,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
538102
538231
|
wrap: "truncate",
|
|
538103
538232
|
children: [
|
|
538104
538233
|
"currentVersion: ",
|
|
538105
|
-
"0.13.
|
|
538234
|
+
"0.13.3"
|
|
538106
538235
|
]
|
|
538107
538236
|
});
|
|
538108
538237
|
$2[3] = verbose;
|
|
@@ -554053,10 +554182,10 @@ async function autoUpdateCliInBackground() {
|
|
|
554053
554182
|
return;
|
|
554054
554183
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
554055
554184
|
const latest = await getLatestVersion(channel2);
|
|
554056
|
-
if (!latest || gte("0.13.
|
|
554185
|
+
if (!latest || gte("0.13.3", latest))
|
|
554057
554186
|
return;
|
|
554058
554187
|
writeToStdout(`
|
|
554059
|
-
Nova versão disponível: ${latest} (atual: ${"0.13.
|
|
554188
|
+
Nova versão disponível: ${latest} (atual: ${"0.13.3"})
|
|
554060
554189
|
`);
|
|
554061
554190
|
writeToStdout(`Atualizando automaticamente...
|
|
554062
554191
|
`);
|
|
@@ -571750,7 +571879,7 @@ function WelcomeV2() {
|
|
|
571750
571879
|
dimColor: true,
|
|
571751
571880
|
children: [
|
|
571752
571881
|
"v",
|
|
571753
|
-
"0.13.
|
|
571882
|
+
"0.13.3",
|
|
571754
571883
|
" "
|
|
571755
571884
|
]
|
|
571756
571885
|
})
|
|
@@ -571937,7 +572066,7 @@ function WelcomeV2() {
|
|
|
571937
572066
|
dimColor: true,
|
|
571938
572067
|
children: [
|
|
571939
572068
|
"v",
|
|
571940
|
-
"0.13.
|
|
572069
|
+
"0.13.3",
|
|
571941
572070
|
" "
|
|
571942
572071
|
]
|
|
571943
572072
|
})
|
|
@@ -572153,7 +572282,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
572153
572282
|
dimColor: true,
|
|
572154
572283
|
children: [
|
|
572155
572284
|
"v",
|
|
572156
|
-
"0.13.
|
|
572285
|
+
"0.13.3",
|
|
572157
572286
|
" "
|
|
572158
572287
|
]
|
|
572159
572288
|
});
|
|
@@ -572362,7 +572491,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
572362
572491
|
dimColor: true,
|
|
572363
572492
|
children: [
|
|
572364
572493
|
"v",
|
|
572365
|
-
"0.13.
|
|
572494
|
+
"0.13.3",
|
|
572366
572495
|
" "
|
|
572367
572496
|
]
|
|
572368
572497
|
});
|
|
@@ -589764,7 +589893,7 @@ __export(exports_update, {
|
|
|
589764
589893
|
});
|
|
589765
589894
|
async function update() {
|
|
589766
589895
|
logEvent("tengu_update_check", {});
|
|
589767
|
-
writeToStdout(`Current version: ${"0.13.
|
|
589896
|
+
writeToStdout(`Current version: ${"0.13.3"}
|
|
589768
589897
|
`);
|
|
589769
589898
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
589770
589899
|
writeToStdout(`Checking for updates to ${channel2} version...
|
|
@@ -589849,8 +589978,8 @@ async function update() {
|
|
|
589849
589978
|
writeToStdout(`Verboo Code is managed by Homebrew.
|
|
589850
589979
|
`);
|
|
589851
589980
|
const latest = await getLatestVersion(channel2);
|
|
589852
|
-
if (latest && !gte("0.13.
|
|
589853
|
-
writeToStdout(`Update available: ${"0.13.
|
|
589981
|
+
if (latest && !gte("0.13.3", latest)) {
|
|
589982
|
+
writeToStdout(`Update available: ${"0.13.3"} → ${latest}
|
|
589854
589983
|
`);
|
|
589855
589984
|
writeToStdout(`
|
|
589856
589985
|
`);
|
|
@@ -589866,8 +589995,8 @@ async function update() {
|
|
|
589866
589995
|
writeToStdout(`Verboo Code is managed by winget.
|
|
589867
589996
|
`);
|
|
589868
589997
|
const latest = await getLatestVersion(channel2);
|
|
589869
|
-
if (latest && !gte("0.13.
|
|
589870
|
-
writeToStdout(`Update available: ${"0.13.
|
|
589998
|
+
if (latest && !gte("0.13.3", latest)) {
|
|
589999
|
+
writeToStdout(`Update available: ${"0.13.3"} → ${latest}
|
|
589871
590000
|
`);
|
|
589872
590001
|
writeToStdout(`
|
|
589873
590002
|
`);
|
|
@@ -589883,8 +590012,8 @@ async function update() {
|
|
|
589883
590012
|
writeToStdout(`Verboo Code is managed by apk.
|
|
589884
590013
|
`);
|
|
589885
590014
|
const latest = await getLatestVersion(channel2);
|
|
589886
|
-
if (latest && !gte("0.13.
|
|
589887
|
-
writeToStdout(`Update available: ${"0.13.
|
|
590015
|
+
if (latest && !gte("0.13.3", latest)) {
|
|
590016
|
+
writeToStdout(`Update available: ${"0.13.3"} → ${latest}
|
|
589888
590017
|
`);
|
|
589889
590018
|
writeToStdout(`
|
|
589890
590019
|
`);
|
|
@@ -589937,11 +590066,11 @@ async function update() {
|
|
|
589937
590066
|
`);
|
|
589938
590067
|
await gracefulShutdown(1);
|
|
589939
590068
|
}
|
|
589940
|
-
if (result.latestVersion === "0.13.
|
|
589941
|
-
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.13.
|
|
590069
|
+
if (result.latestVersion === "0.13.3") {
|
|
590070
|
+
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.13.3"})`) + `
|
|
589942
590071
|
`);
|
|
589943
590072
|
} else {
|
|
589944
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.13.
|
|
590073
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.13.3"} to version ${result.latestVersion}`) + `
|
|
589945
590074
|
`);
|
|
589946
590075
|
await regenerateCompletionCache();
|
|
589947
590076
|
}
|
|
@@ -590001,12 +590130,12 @@ async function update() {
|
|
|
590001
590130
|
`);
|
|
590002
590131
|
await gracefulShutdown(1);
|
|
590003
590132
|
}
|
|
590004
|
-
if (latestVersion === "0.13.
|
|
590005
|
-
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.13.
|
|
590133
|
+
if (latestVersion === "0.13.3") {
|
|
590134
|
+
writeToStdout(source_default.green(`Verboo Code is up to date (${"0.13.3"})`) + `
|
|
590006
590135
|
`);
|
|
590007
590136
|
await gracefulShutdown(0);
|
|
590008
590137
|
}
|
|
590009
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"0.13.
|
|
590138
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"0.13.3"})
|
|
590010
590139
|
`);
|
|
590011
590140
|
writeToStdout(`Installing update...
|
|
590012
590141
|
`);
|
|
@@ -590051,7 +590180,7 @@ async function update() {
|
|
|
590051
590180
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
590052
590181
|
switch (status2) {
|
|
590053
590182
|
case "success":
|
|
590054
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.13.
|
|
590183
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.13.3"} to version ${latestVersion}`) + `
|
|
590055
590184
|
`);
|
|
590056
590185
|
await regenerateCompletionCache();
|
|
590057
590186
|
break;
|
|
@@ -591306,7 +591435,7 @@ ${customInstructions}` : customInstructions;
|
|
|
591306
591435
|
is_native_binary: isInBundledMode()
|
|
591307
591436
|
});
|
|
591308
591437
|
logMemoryDiagnostics("start", {
|
|
591309
|
-
version: "0.13.
|
|
591438
|
+
version: "0.13.3",
|
|
591310
591439
|
debug: debug2,
|
|
591311
591440
|
debugToStderr,
|
|
591312
591441
|
print: print ?? false,
|
|
@@ -592117,7 +592246,7 @@ Usage: verboo --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
592117
592246
|
pendingHookMessages
|
|
592118
592247
|
}, renderAndRun);
|
|
592119
592248
|
}
|
|
592120
|
-
}).version(`0.13.
|
|
592249
|
+
}).version(`0.13.3 (${cliDesc})`, "-v, --version", "Output the version number");
|
|
592121
592250
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
592122
592251
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
592123
592252
|
if (canUserConfigureAdvisor()) {
|
|
@@ -592692,7 +592821,7 @@ if (false) {}
|
|
|
592692
592821
|
async function main2() {
|
|
592693
592822
|
const args = process.argv.slice(2);
|
|
592694
592823
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
592695
|
-
console.log(`${"0.13.
|
|
592824
|
+
console.log(`${"0.13.3"} (Verboo Code)`);
|
|
592696
592825
|
return;
|
|
592697
592826
|
}
|
|
592698
592827
|
if (!IS_VERBOO_CLI && args.includes("--provider")) {
|
|
@@ -592866,4 +592995,4 @@ async function main2() {
|
|
|
592866
592995
|
}
|
|
592867
592996
|
main2();
|
|
592868
592997
|
|
|
592869
|
-
//# debugId=
|
|
592998
|
+
//# debugId=9B94BFBFDE46F31464756E2164756E21
|