@maximoai/maximo-syntax-cli 0.1.13 → 0.1.14
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 +610 -512
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -108656,6 +108656,220 @@ var init_betas = __esm(() => {
|
|
|
108656
108656
|
]);
|
|
108657
108657
|
});
|
|
108658
108658
|
|
|
108659
|
+
// src/services/api/maximoModels.ts
|
|
108660
|
+
function firstPositiveInteger(...values) {
|
|
108661
|
+
for (const value of values) {
|
|
108662
|
+
if (typeof value === "number" && Number.isFinite(value) && value > 0) {
|
|
108663
|
+
return Math.floor(value);
|
|
108664
|
+
}
|
|
108665
|
+
}
|
|
108666
|
+
return;
|
|
108667
|
+
}
|
|
108668
|
+
function getMaximoModelContextLength(model) {
|
|
108669
|
+
return firstPositiveInteger(model.context_length, model.max_context_length, model.max_context_tokens, model.max_input_tokens, model.context_window, model.top_provider?.context_length);
|
|
108670
|
+
}
|
|
108671
|
+
function getMaximoModelMaxOutputLength(model) {
|
|
108672
|
+
return firstPositiveInteger(model.max_output_length, model.max_output_tokens, model.max_completion_tokens, model.max_tokens, model.top_provider?.max_completion_tokens);
|
|
108673
|
+
}
|
|
108674
|
+
function getModelMatchKeys(model) {
|
|
108675
|
+
return [
|
|
108676
|
+
model.id,
|
|
108677
|
+
model.canonical_slug,
|
|
108678
|
+
model.openrouter?.slug,
|
|
108679
|
+
model.hugging_face_id
|
|
108680
|
+
].filter((value) => typeof value === "string" && value);
|
|
108681
|
+
}
|
|
108682
|
+
function normalizeModelId(model) {
|
|
108683
|
+
return model.replace(/\[1m\]/gi, "").trim().toLowerCase();
|
|
108684
|
+
}
|
|
108685
|
+
function getCachedMaximoModel(model) {
|
|
108686
|
+
if (!cachedModels || cachedModels.length === 0) {
|
|
108687
|
+
return;
|
|
108688
|
+
}
|
|
108689
|
+
const normalized = normalizeModelId(model);
|
|
108690
|
+
if (!normalized) {
|
|
108691
|
+
return;
|
|
108692
|
+
}
|
|
108693
|
+
for (const candidate of cachedModels) {
|
|
108694
|
+
if (getModelMatchKeys(candidate).some((key) => key.toLowerCase() === normalized)) {
|
|
108695
|
+
return candidate;
|
|
108696
|
+
}
|
|
108697
|
+
}
|
|
108698
|
+
const sorted = [...cachedModels].sort((a2, b) => b.id.length - a2.id.length || a2.id.localeCompare(b.id));
|
|
108699
|
+
return sorted.find((candidate) => getModelMatchKeys(candidate).some((key) => {
|
|
108700
|
+
const normalizedKey = key.toLowerCase();
|
|
108701
|
+
return normalizedKey.length > 0 && (normalized.includes(normalizedKey) || normalizedKey.includes(normalized));
|
|
108702
|
+
}));
|
|
108703
|
+
}
|
|
108704
|
+
function getCachedMaximoModelLimits(model) {
|
|
108705
|
+
const maximoModel = getCachedMaximoModel(model);
|
|
108706
|
+
if (!maximoModel) {
|
|
108707
|
+
return;
|
|
108708
|
+
}
|
|
108709
|
+
const contextWindow = getMaximoModelContextLength(maximoModel);
|
|
108710
|
+
const maxOutputTokens = getMaximoModelMaxOutputLength(maximoModel);
|
|
108711
|
+
if (!contextWindow && !maxOutputTokens) {
|
|
108712
|
+
return;
|
|
108713
|
+
}
|
|
108714
|
+
return {
|
|
108715
|
+
id: maximoModel.id,
|
|
108716
|
+
contextWindow,
|
|
108717
|
+
maxOutputTokens
|
|
108718
|
+
};
|
|
108719
|
+
}
|
|
108720
|
+
function isMaximoAIProviderInternal() {
|
|
108721
|
+
if (isMaximoAIOpenAICompatibleProvider()) {
|
|
108722
|
+
return true;
|
|
108723
|
+
}
|
|
108724
|
+
const oauthTokens = getMaximoAIOAuthTokens2();
|
|
108725
|
+
if (oauthTokens?.accessToken && isMaximoAISubscriber()) {
|
|
108726
|
+
return true;
|
|
108727
|
+
}
|
|
108728
|
+
return false;
|
|
108729
|
+
}
|
|
108730
|
+
function getMaximoAIBaseUrl() {
|
|
108731
|
+
const globalConfig2 = getGlobalConfig();
|
|
108732
|
+
const configuredBaseUrl = globalConfig2.openAIBaseUrl || process.env.OPENAI_BASE_URL;
|
|
108733
|
+
return configuredBaseUrl?.includes("maximoai.co") ? configuredBaseUrl : "https://api.maximoai.co/v1";
|
|
108734
|
+
}
|
|
108735
|
+
function getMaximoApiKey() {
|
|
108736
|
+
const globalConfig2 = getGlobalConfig();
|
|
108737
|
+
return globalConfig2.maximoApiKey || getMaximoAIOAuthTokens2()?.accessToken || process.env.OPENAI_API_KEY;
|
|
108738
|
+
}
|
|
108739
|
+
async function fetchMaximoModels() {
|
|
108740
|
+
if (cachedModels && Date.now() - lastFetchTime < CACHE_TTL) {
|
|
108741
|
+
return cachedModels;
|
|
108742
|
+
}
|
|
108743
|
+
const baseUrl = getMaximoAIBaseUrl().replace(/\/+$/, "");
|
|
108744
|
+
const apiKey = getMaximoApiKey();
|
|
108745
|
+
try {
|
|
108746
|
+
const headers = {
|
|
108747
|
+
"Content-Type": "application/json"
|
|
108748
|
+
};
|
|
108749
|
+
if (apiKey) {
|
|
108750
|
+
headers.Authorization = `Bearer ${apiKey}`;
|
|
108751
|
+
}
|
|
108752
|
+
const response = await fetch(`${baseUrl}/models`, {
|
|
108753
|
+
headers
|
|
108754
|
+
});
|
|
108755
|
+
if (!response.ok) {
|
|
108756
|
+
throw new Error(`Failed to fetch models: ${response.status} ${response.statusText}`);
|
|
108757
|
+
}
|
|
108758
|
+
const data = await response.json();
|
|
108759
|
+
const models = Array.isArray(data) ? data : data.data;
|
|
108760
|
+
if (!Array.isArray(models)) {
|
|
108761
|
+
throw new Error("Failed to fetch models: malformed response");
|
|
108762
|
+
}
|
|
108763
|
+
const sortedModels = [...models].sort((a2, b) => {
|
|
108764
|
+
const aIsPandora = a2.id.includes("pandora");
|
|
108765
|
+
const bIsPandora = b.id.includes("pandora");
|
|
108766
|
+
if (aIsPandora && !bIsPandora)
|
|
108767
|
+
return -1;
|
|
108768
|
+
if (!aIsPandora && bIsPandora)
|
|
108769
|
+
return 1;
|
|
108770
|
+
if (a2.isPreview && !b.isPreview)
|
|
108771
|
+
return 1;
|
|
108772
|
+
if (!a2.isPreview && b.isPreview)
|
|
108773
|
+
return -1;
|
|
108774
|
+
return (a2.name || a2.id).localeCompare(b.name || b.id);
|
|
108775
|
+
});
|
|
108776
|
+
cachedModels = sortedModels;
|
|
108777
|
+
lastFetchTime = Date.now();
|
|
108778
|
+
return sortedModels;
|
|
108779
|
+
} catch (error41) {
|
|
108780
|
+
logError2(error41);
|
|
108781
|
+
return cachedModels || [];
|
|
108782
|
+
}
|
|
108783
|
+
}
|
|
108784
|
+
function getShortLabel(fullName, modelId) {
|
|
108785
|
+
const match = fullName.match(/Maximo AI:\s*(.+)/);
|
|
108786
|
+
if (match) {
|
|
108787
|
+
return match[1];
|
|
108788
|
+
}
|
|
108789
|
+
return modelId.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
108790
|
+
}
|
|
108791
|
+
function toModelOption(model) {
|
|
108792
|
+
const label = getShortLabel(model.name, model.id);
|
|
108793
|
+
let description = model.description;
|
|
108794
|
+
if (description.length > 120) {
|
|
108795
|
+
description = description.slice(0, 117) + "...";
|
|
108796
|
+
}
|
|
108797
|
+
if (model.isPreview) {
|
|
108798
|
+
description = `[Preview] ${description}`;
|
|
108799
|
+
}
|
|
108800
|
+
const contextLength = getMaximoModelContextLength(model);
|
|
108801
|
+
const outputLength = getMaximoModelMaxOutputLength(model);
|
|
108802
|
+
const limitParts = [
|
|
108803
|
+
contextLength ? `${Math.round(contextLength / 1000)}K context` : undefined,
|
|
108804
|
+
outputLength ? `${Math.round(outputLength / 1000)}K output` : undefined
|
|
108805
|
+
].filter((part) => Boolean(part));
|
|
108806
|
+
const limitsDescription = limitParts.length > 0 ? ` · ${limitParts.join(" · ")}` : "";
|
|
108807
|
+
return {
|
|
108808
|
+
value: model.id,
|
|
108809
|
+
label,
|
|
108810
|
+
description: `${description}${limitsDescription}`,
|
|
108811
|
+
descriptionForModel: `${model.name} - ${model.description}`
|
|
108812
|
+
};
|
|
108813
|
+
}
|
|
108814
|
+
async function getMaximoModelOptions() {
|
|
108815
|
+
if (!isMaximoAIProviderInternal()) {
|
|
108816
|
+
return null;
|
|
108817
|
+
}
|
|
108818
|
+
const models = await fetchMaximoModels();
|
|
108819
|
+
if (models.length === 0) {
|
|
108820
|
+
return null;
|
|
108821
|
+
}
|
|
108822
|
+
const groupedModels = {};
|
|
108823
|
+
for (const model of models) {
|
|
108824
|
+
const match = model.id.match(/maximo-(\w+)-/);
|
|
108825
|
+
const family = match ? match[1] : "other";
|
|
108826
|
+
if (!groupedModels[family]) {
|
|
108827
|
+
groupedModels[family] = [];
|
|
108828
|
+
}
|
|
108829
|
+
groupedModels[family].push(model);
|
|
108830
|
+
}
|
|
108831
|
+
const options = [];
|
|
108832
|
+
const familyPriority = ["pandora", "astra", "beta", "alpha"];
|
|
108833
|
+
for (const family of familyPriority) {
|
|
108834
|
+
if (groupedModels[family]) {
|
|
108835
|
+
groupedModels[family].sort((a2, b) => {
|
|
108836
|
+
const aVersion = a2.id.match(/(\d+\.?\d*)/)?.[1] || "0";
|
|
108837
|
+
const bVersion = b.id.match(/(\d+\.?\d*)/)?.[1] || "0";
|
|
108838
|
+
return parseFloat(bVersion) - parseFloat(aVersion);
|
|
108839
|
+
});
|
|
108840
|
+
for (const model of groupedModels[family]) {
|
|
108841
|
+
options.push(toModelOption(model));
|
|
108842
|
+
}
|
|
108843
|
+
}
|
|
108844
|
+
}
|
|
108845
|
+
for (const [family, models2] of Object.entries(groupedModels)) {
|
|
108846
|
+
if (!familyPriority.includes(family)) {
|
|
108847
|
+
for (const model of models2) {
|
|
108848
|
+
options.push(toModelOption(model));
|
|
108849
|
+
}
|
|
108850
|
+
}
|
|
108851
|
+
}
|
|
108852
|
+
return options;
|
|
108853
|
+
}
|
|
108854
|
+
function getCachedMaximoModelOptions() {
|
|
108855
|
+
if (!cachedModels || cachedModels.length === 0) {
|
|
108856
|
+
return null;
|
|
108857
|
+
}
|
|
108858
|
+
return cachedModels.map(toModelOption);
|
|
108859
|
+
}
|
|
108860
|
+
function prefetchMaximoModels() {
|
|
108861
|
+
if (isMaximoAIProviderInternal()) {
|
|
108862
|
+
fetchMaximoModels();
|
|
108863
|
+
}
|
|
108864
|
+
}
|
|
108865
|
+
var cachedModels = null, lastFetchTime = 0, CACHE_TTL;
|
|
108866
|
+
var init_maximoModels = __esm(() => {
|
|
108867
|
+
init_config2();
|
|
108868
|
+
init_log3();
|
|
108869
|
+
init_auth2();
|
|
108870
|
+
CACHE_TTL = 5 * 60 * 1000;
|
|
108871
|
+
});
|
|
108872
|
+
|
|
108659
108873
|
// src/utils/fastMode.ts
|
|
108660
108874
|
function isFastModeEnabled() {
|
|
108661
108875
|
if (getAPIProvider() !== "firstParty") {
|
|
@@ -109219,146 +109433,6 @@ var init_antModels = __esm(() => {
|
|
|
109219
109433
|
init_growthbook();
|
|
109220
109434
|
});
|
|
109221
109435
|
|
|
109222
|
-
// src/services/api/maximoModels.ts
|
|
109223
|
-
function isMaximoAIProviderInternal() {
|
|
109224
|
-
const provider = process.env.CLAUDE_CODE_USE_OPENAI ? "openai" : process.env.CLAUDE_CODE_USE_GEMINI ? "gemini" : process.env.CLAUDE_CODE_USE_BEDROCK ? "bedrock" : process.env.CLAUDE_CODE_USE_VERTEX ? "vertex" : process.env.CLAUDE_CODE_USE_FOUNDRY ? "foundry" : "firstParty";
|
|
109225
|
-
const baseUrl = process.env.OPENAI_BASE_URL || "";
|
|
109226
|
-
if (provider === "openai" && (baseUrl.includes("api.maximoai.co") || baseUrl.includes("maximoai.co"))) {
|
|
109227
|
-
return true;
|
|
109228
|
-
}
|
|
109229
|
-
const globalConfig2 = getGlobalConfig();
|
|
109230
|
-
if (globalConfig2.maximoApiKey && (globalConfig2.openAIBaseUrl?.includes("maximoai.co") || baseUrl.includes("maximoai.co"))) {
|
|
109231
|
-
return true;
|
|
109232
|
-
}
|
|
109233
|
-
return false;
|
|
109234
|
-
}
|
|
109235
|
-
function getMaximoAIBaseUrl() {
|
|
109236
|
-
const globalConfig2 = getGlobalConfig();
|
|
109237
|
-
return globalConfig2.openAIBaseUrl || process.env.OPENAI_BASE_URL || "https://api.maximoai.co/v1";
|
|
109238
|
-
}
|
|
109239
|
-
function getMaximoApiKey() {
|
|
109240
|
-
const globalConfig2 = getGlobalConfig();
|
|
109241
|
-
return globalConfig2.maximoApiKey || process.env.OPENAI_API_KEY;
|
|
109242
|
-
}
|
|
109243
|
-
async function fetchMaximoModels() {
|
|
109244
|
-
if (cachedModels && Date.now() - lastFetchTime < CACHE_TTL) {
|
|
109245
|
-
return cachedModels;
|
|
109246
|
-
}
|
|
109247
|
-
const baseUrl = getMaximoAIBaseUrl();
|
|
109248
|
-
const apiKey = getMaximoApiKey();
|
|
109249
|
-
if (!apiKey) {
|
|
109250
|
-
return [];
|
|
109251
|
-
}
|
|
109252
|
-
try {
|
|
109253
|
-
const response = await fetch(`${baseUrl}/models`, {
|
|
109254
|
-
headers: {
|
|
109255
|
-
Authorization: `Bearer ${apiKey}`,
|
|
109256
|
-
"Content-Type": "application/json"
|
|
109257
|
-
}
|
|
109258
|
-
});
|
|
109259
|
-
if (!response.ok) {
|
|
109260
|
-
throw new Error(`Failed to fetch models: ${response.status} ${response.statusText}`);
|
|
109261
|
-
}
|
|
109262
|
-
const data = await response.json();
|
|
109263
|
-
const sortedModels = data.data.sort((a2, b) => {
|
|
109264
|
-
const aIsPandora = a2.id.includes("pandora");
|
|
109265
|
-
const bIsPandora = b.id.includes("pandora");
|
|
109266
|
-
if (aIsPandora && !bIsPandora)
|
|
109267
|
-
return -1;
|
|
109268
|
-
if (!aIsPandora && bIsPandora)
|
|
109269
|
-
return 1;
|
|
109270
|
-
if (a2.isPreview && !b.isPreview)
|
|
109271
|
-
return 1;
|
|
109272
|
-
if (!a2.isPreview && b.isPreview)
|
|
109273
|
-
return -1;
|
|
109274
|
-
return a2.name.localeCompare(b.name);
|
|
109275
|
-
});
|
|
109276
|
-
cachedModels = sortedModels;
|
|
109277
|
-
lastFetchTime = Date.now();
|
|
109278
|
-
return sortedModels;
|
|
109279
|
-
} catch (error41) {
|
|
109280
|
-
logError2(error41);
|
|
109281
|
-
return cachedModels || [];
|
|
109282
|
-
}
|
|
109283
|
-
}
|
|
109284
|
-
function getShortLabel(fullName, modelId) {
|
|
109285
|
-
const match = fullName.match(/Maximo AI:\s*(.+)/);
|
|
109286
|
-
if (match) {
|
|
109287
|
-
return match[1];
|
|
109288
|
-
}
|
|
109289
|
-
return modelId.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
109290
|
-
}
|
|
109291
|
-
function toModelOption(model) {
|
|
109292
|
-
const label = getShortLabel(model.name, model.id);
|
|
109293
|
-
let description = model.description;
|
|
109294
|
-
if (description.length > 120) {
|
|
109295
|
-
description = description.slice(0, 117) + "...";
|
|
109296
|
-
}
|
|
109297
|
-
if (model.isPreview) {
|
|
109298
|
-
description = `[Preview] ${description}`;
|
|
109299
|
-
}
|
|
109300
|
-
const contextInK = Math.round(model.context_length / 1000);
|
|
109301
|
-
const outputInK = Math.round(model.max_output_length / 1000);
|
|
109302
|
-
return {
|
|
109303
|
-
value: model.id,
|
|
109304
|
-
label,
|
|
109305
|
-
description: `${description} · ${contextInK}K context · ${outputInK}K output`,
|
|
109306
|
-
descriptionForModel: `${model.name} - ${model.description}`
|
|
109307
|
-
};
|
|
109308
|
-
}
|
|
109309
|
-
async function getMaximoModelOptions() {
|
|
109310
|
-
if (!isMaximoAIProviderInternal()) {
|
|
109311
|
-
return null;
|
|
109312
|
-
}
|
|
109313
|
-
const models = await fetchMaximoModels();
|
|
109314
|
-
if (models.length === 0) {
|
|
109315
|
-
return null;
|
|
109316
|
-
}
|
|
109317
|
-
const groupedModels = {};
|
|
109318
|
-
for (const model of models) {
|
|
109319
|
-
const match = model.id.match(/maximo-(\w+)-/);
|
|
109320
|
-
const family = match ? match[1] : "other";
|
|
109321
|
-
if (!groupedModels[family]) {
|
|
109322
|
-
groupedModels[family] = [];
|
|
109323
|
-
}
|
|
109324
|
-
groupedModels[family].push(model);
|
|
109325
|
-
}
|
|
109326
|
-
const options = [];
|
|
109327
|
-
const familyPriority = ["pandora", "astra", "beta", "alpha"];
|
|
109328
|
-
for (const family of familyPriority) {
|
|
109329
|
-
if (groupedModels[family]) {
|
|
109330
|
-
groupedModels[family].sort((a2, b) => {
|
|
109331
|
-
const aVersion = a2.id.match(/(\d+\.?\d*)/)?.[1] || "0";
|
|
109332
|
-
const bVersion = b.id.match(/(\d+\.?\d*)/)?.[1] || "0";
|
|
109333
|
-
return parseFloat(bVersion) - parseFloat(aVersion);
|
|
109334
|
-
});
|
|
109335
|
-
for (const model of groupedModels[family]) {
|
|
109336
|
-
options.push(toModelOption(model));
|
|
109337
|
-
}
|
|
109338
|
-
}
|
|
109339
|
-
}
|
|
109340
|
-
for (const [family, models2] of Object.entries(groupedModels)) {
|
|
109341
|
-
if (!familyPriority.includes(family)) {
|
|
109342
|
-
for (const model of models2) {
|
|
109343
|
-
options.push(toModelOption(model));
|
|
109344
|
-
}
|
|
109345
|
-
}
|
|
109346
|
-
}
|
|
109347
|
-
return options;
|
|
109348
|
-
}
|
|
109349
|
-
function getCachedMaximoModelOptions() {
|
|
109350
|
-
if (!cachedModels || cachedModels.length === 0) {
|
|
109351
|
-
return null;
|
|
109352
|
-
}
|
|
109353
|
-
return cachedModels.map(toModelOption);
|
|
109354
|
-
}
|
|
109355
|
-
var cachedModels = null, lastFetchTime = 0, CACHE_TTL;
|
|
109356
|
-
var init_maximoModels = __esm(() => {
|
|
109357
|
-
init_config2();
|
|
109358
|
-
init_log3();
|
|
109359
|
-
CACHE_TTL = 5 * 60 * 1000;
|
|
109360
|
-
});
|
|
109361
|
-
|
|
109362
109436
|
// src/utils/model/model.ts
|
|
109363
109437
|
var exports_model = {};
|
|
109364
109438
|
__export(exports_model, {
|
|
@@ -117984,6 +118058,10 @@ function getContextWindowForModel(model, betas) {
|
|
|
117984
118058
|
return override;
|
|
117985
118059
|
}
|
|
117986
118060
|
}
|
|
118061
|
+
const maximoLimits = getCachedMaximoModelLimits(model);
|
|
118062
|
+
if (maximoLimits?.contextWindow) {
|
|
118063
|
+
return maximoLimits.contextWindow;
|
|
118064
|
+
}
|
|
117987
118065
|
if (has1mContext(model)) {
|
|
117988
118066
|
return 1e6;
|
|
117989
118067
|
}
|
|
@@ -118039,6 +118117,13 @@ function calculateContextPercentages(currentUsage, contextWindowSize) {
|
|
|
118039
118117
|
};
|
|
118040
118118
|
}
|
|
118041
118119
|
function getModelMaxOutputTokens(model) {
|
|
118120
|
+
const maximoLimits = getCachedMaximoModelLimits(model);
|
|
118121
|
+
if (maximoLimits?.maxOutputTokens) {
|
|
118122
|
+
return {
|
|
118123
|
+
default: maximoLimits.maxOutputTokens,
|
|
118124
|
+
upperLimit: maximoLimits.maxOutputTokens
|
|
118125
|
+
};
|
|
118126
|
+
}
|
|
118042
118127
|
let defaultTokens;
|
|
118043
118128
|
let upperLimit;
|
|
118044
118129
|
if (process.env.USER_TYPE === "ant") {
|
|
@@ -118094,6 +118179,15 @@ function getModelMaxOutputTokens(model) {
|
|
|
118094
118179
|
}
|
|
118095
118180
|
return { default: defaultTokens, upperLimit };
|
|
118096
118181
|
}
|
|
118182
|
+
function getCompactSummaryMaxOutputTokensForModel(model, contextWindowOverride) {
|
|
118183
|
+
const maximoLimits = getCachedMaximoModelLimits(model);
|
|
118184
|
+
if (maximoLimits?.contextWindow && maximoLimits.maxOutputTokens) {
|
|
118185
|
+
const outputRatio = maximoLimits.maxOutputTokens / maximoLimits.contextWindow;
|
|
118186
|
+
const contextWindow = contextWindowOverride ?? getContextWindowForModel(model);
|
|
118187
|
+
return Math.floor(Math.min(maximoLimits.maxOutputTokens, contextWindow, contextWindow * outputRatio));
|
|
118188
|
+
}
|
|
118189
|
+
return Math.min(COMPACT_MAX_OUTPUT_TOKENS, getModelMaxOutputTokens(model).default);
|
|
118190
|
+
}
|
|
118097
118191
|
function getMaxThinkingTokensForModel(model) {
|
|
118098
118192
|
return getModelMaxOutputTokens(model).upperLimit - 1;
|
|
118099
118193
|
}
|
|
@@ -118102,6 +118196,7 @@ var init_context = __esm(() => {
|
|
|
118102
118196
|
init_betas();
|
|
118103
118197
|
init_config2();
|
|
118104
118198
|
init_envUtils();
|
|
118199
|
+
init_maximoModels();
|
|
118105
118200
|
init_model();
|
|
118106
118201
|
init_modelCapabilities();
|
|
118107
118202
|
init_openaiContextWindows();
|
|
@@ -123363,7 +123458,7 @@ var init_metadata = __esm(() => {
|
|
|
123363
123458
|
isMaximoAiAuth: isMaximoAISubscriber(),
|
|
123364
123459
|
version: "99.0.0",
|
|
123365
123460
|
versionBase: getVersionBase(),
|
|
123366
|
-
buildTime: "2026-06-
|
|
123461
|
+
buildTime: "2026-06-05T19:59:30.582Z",
|
|
123367
123462
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
123368
123463
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
123369
123464
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -364852,7 +364947,7 @@ function getAnthropicEnvMetadata() {
|
|
|
364852
364947
|
function getBuildAgeMinutes() {
|
|
364853
364948
|
if (false)
|
|
364854
364949
|
;
|
|
364855
|
-
const buildTime = new Date("2026-06-
|
|
364950
|
+
const buildTime = new Date("2026-06-05T19:59:30.582Z").getTime();
|
|
364856
364951
|
if (isNaN(buildTime))
|
|
364857
364952
|
return;
|
|
364858
364953
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -366566,7 +366661,7 @@ async function streamCompactSummary({
|
|
|
366566
366661
|
toolChoice: undefined,
|
|
366567
366662
|
isNonInteractiveSession: context6.options.isNonInteractiveSession,
|
|
366568
366663
|
hasAppendSystemPrompt: !!context6.options.appendSystemPrompt,
|
|
366569
|
-
maxOutputTokensOverride:
|
|
366664
|
+
maxOutputTokensOverride: getCompactSummaryMaxOutputTokensForModel(context6.options.mainLoopModel),
|
|
366570
366665
|
querySource: "compact",
|
|
366571
366666
|
agents: context6.options.agentDefinitions.activeAgents,
|
|
366572
366667
|
mcpTools: [],
|
|
@@ -367362,7 +367457,6 @@ var init_sessionMemoryCompact = __esm(() => {
|
|
|
367362
367457
|
|
|
367363
367458
|
// src/services/compact/autoCompact.ts
|
|
367364
367459
|
function getEffectiveContextWindowSize(model) {
|
|
367365
|
-
const reservedTokensForSummary = Math.min(getMaxOutputTokensForModel(model), MAX_OUTPUT_TOKENS_FOR_SUMMARY);
|
|
367366
367460
|
let contextWindow = getContextWindowForModel(model, getSdkBetas());
|
|
367367
367461
|
const autoCompactWindow = process.env.CLAUDE_CODE_AUTO_COMPACT_WINDOW;
|
|
367368
367462
|
if (autoCompactWindow) {
|
|
@@ -367371,11 +367465,30 @@ function getEffectiveContextWindowSize(model) {
|
|
|
367371
367465
|
contextWindow = Math.min(contextWindow, parsed);
|
|
367372
367466
|
}
|
|
367373
367467
|
}
|
|
367374
|
-
|
|
367468
|
+
const reservedTokensForSummary = getCompactSummaryMaxOutputTokensForModel(model, contextWindow);
|
|
367469
|
+
return Math.max(0, contextWindow - reservedTokensForSummary);
|
|
367470
|
+
}
|
|
367471
|
+
function usesMaximoModelLimits(model) {
|
|
367472
|
+
const limits = getCachedMaximoModelLimits(model);
|
|
367473
|
+
return Boolean(limits?.contextWindow && limits.maxOutputTokens);
|
|
367474
|
+
}
|
|
367475
|
+
function getMaximoOutputRatio(model) {
|
|
367476
|
+
const limits = getCachedMaximoModelLimits(model);
|
|
367477
|
+
if (!limits?.contextWindow || !limits.maxOutputTokens) {
|
|
367478
|
+
return;
|
|
367479
|
+
}
|
|
367480
|
+
return Math.min(1, limits.maxOutputTokens / limits.contextWindow);
|
|
367481
|
+
}
|
|
367482
|
+
function getThresholdBufferTokens(model, threshold, fallback) {
|
|
367483
|
+
const outputRatio = getMaximoOutputRatio(model);
|
|
367484
|
+
if (outputRatio === undefined) {
|
|
367485
|
+
return fallback;
|
|
367486
|
+
}
|
|
367487
|
+
return Math.floor(Math.min(threshold, threshold * outputRatio));
|
|
367375
367488
|
}
|
|
367376
367489
|
function getAutoCompactThreshold(model) {
|
|
367377
367490
|
const effectiveContextWindow = getEffectiveContextWindowSize(model);
|
|
367378
|
-
const autocompactThreshold = effectiveContextWindow - AUTOCOMPACT_BUFFER_TOKENS;
|
|
367491
|
+
const autocompactThreshold = usesMaximoModelLimits(model) ? effectiveContextWindow : effectiveContextWindow - AUTOCOMPACT_BUFFER_TOKENS;
|
|
367379
367492
|
const envPercent = process.env.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE;
|
|
367380
367493
|
if (envPercent) {
|
|
367381
367494
|
const parsed = parseFloat(envPercent);
|
|
@@ -367384,19 +367497,19 @@ function getAutoCompactThreshold(model) {
|
|
|
367384
367497
|
return Math.min(percentageThreshold, autocompactThreshold);
|
|
367385
367498
|
}
|
|
367386
367499
|
}
|
|
367387
|
-
return autocompactThreshold;
|
|
367500
|
+
return Math.max(0, autocompactThreshold);
|
|
367388
367501
|
}
|
|
367389
367502
|
function calculateTokenWarningState(tokenUsage, model) {
|
|
367390
367503
|
const autoCompactThreshold = getAutoCompactThreshold(model);
|
|
367391
367504
|
const threshold = isAutoCompactEnabled() ? autoCompactThreshold : getEffectiveContextWindowSize(model);
|
|
367392
|
-
const percentLeft = Math.max(0, Math.round((threshold - tokenUsage) / threshold * 100));
|
|
367393
|
-
const warningThreshold = threshold - WARNING_THRESHOLD_BUFFER_TOKENS;
|
|
367394
|
-
const errorThreshold = threshold - ERROR_THRESHOLD_BUFFER_TOKENS;
|
|
367505
|
+
const percentLeft = threshold > 0 ? Math.max(0, Math.round((threshold - tokenUsage) / threshold * 100)) : 0;
|
|
367506
|
+
const warningThreshold = threshold - getThresholdBufferTokens(model, threshold, WARNING_THRESHOLD_BUFFER_TOKENS);
|
|
367507
|
+
const errorThreshold = threshold - getThresholdBufferTokens(model, threshold, ERROR_THRESHOLD_BUFFER_TOKENS);
|
|
367395
367508
|
const isAboveWarningThreshold = tokenUsage >= warningThreshold;
|
|
367396
367509
|
const isAboveErrorThreshold = tokenUsage >= errorThreshold;
|
|
367397
367510
|
const isAboveAutoCompactThreshold = isAutoCompactEnabled() && tokenUsage >= autoCompactThreshold;
|
|
367398
367511
|
const actualContextWindow = getEffectiveContextWindowSize(model);
|
|
367399
|
-
const defaultBlockingLimit = actualContextWindow - MANUAL_COMPACT_BUFFER_TOKENS;
|
|
367512
|
+
const defaultBlockingLimit = Math.max(0, actualContextWindow - getThresholdBufferTokens(model, actualContextWindow, MANUAL_COMPACT_BUFFER_TOKENS));
|
|
367400
367513
|
const blockingLimitOverride = process.env.CLAUDE_CODE_BLOCKING_LIMIT_OVERRIDE;
|
|
367401
367514
|
const parsedOverride = blockingLimitOverride ? parseInt(blockingLimitOverride, 10) : NaN;
|
|
367402
367515
|
const blockingLimit = !isNaN(parsedOverride) && parsedOverride > 0 ? parsedOverride : defaultBlockingLimit;
|
|
@@ -367487,7 +367600,7 @@ async function autoCompactIfNeeded(messages, toolUseContext, cacheSafeParams, qu
|
|
|
367487
367600
|
return { wasCompacted: false, consecutiveFailures: nextFailures };
|
|
367488
367601
|
}
|
|
367489
367602
|
}
|
|
367490
|
-
var
|
|
367603
|
+
var AUTOCOMPACT_BUFFER_TOKENS = 13000, WARNING_THRESHOLD_BUFFER_TOKENS = 20000, ERROR_THRESHOLD_BUFFER_TOKENS = 20000, MANUAL_COMPACT_BUFFER_TOKENS = 3000, MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3;
|
|
367491
367604
|
var init_autoCompact = __esm(() => {
|
|
367492
367605
|
init_state();
|
|
367493
367606
|
init_state();
|
|
@@ -367499,7 +367612,7 @@ var init_autoCompact = __esm(() => {
|
|
|
367499
367612
|
init_log3();
|
|
367500
367613
|
init_tokens();
|
|
367501
367614
|
init_growthbook();
|
|
367502
|
-
|
|
367615
|
+
init_maximoModels();
|
|
367503
367616
|
init_promptCacheBreakDetection();
|
|
367504
367617
|
init_sessionMemoryUtils();
|
|
367505
367618
|
init_compact();
|
|
@@ -367934,7 +368047,7 @@ async function analyzeContextUsage(messages, model, getToolPermissionContext, to
|
|
|
367934
368047
|
const skillFrontmatterTokens = skillInfo.skillFrontmatter.reduce((sum, skill) => sum + skill.tokens, 0);
|
|
367935
368048
|
const messageTokens = messageBreakdown.totalTokens;
|
|
367936
368049
|
const isAutoCompact = isAutoCompactEnabled();
|
|
367937
|
-
const autoCompactThreshold = isAutoCompact ?
|
|
368050
|
+
const autoCompactThreshold = isAutoCompact ? getAutoCompactThreshold(runtimeModel) : undefined;
|
|
367938
368051
|
const cats = [];
|
|
367939
368052
|
if (systemPromptTokens > 0) {
|
|
367940
368053
|
cats.push({
|
|
@@ -429527,7 +429640,7 @@ function getRecentActivitySync() {
|
|
|
429527
429640
|
return cachedActivity;
|
|
429528
429641
|
}
|
|
429529
429642
|
function getLogoDisplayData() {
|
|
429530
|
-
const version2 = process.env.DEMO_VERSION ?? "0.1.
|
|
429643
|
+
const version2 = process.env.DEMO_VERSION ?? "0.1.14" ?? "99.0.0";
|
|
429531
429644
|
const serverUrl = getDirectConnectServerUrl();
|
|
429532
429645
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
429533
429646
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -458358,7 +458471,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
458358
458471
|
var call56 = async () => {
|
|
458359
458472
|
return {
|
|
458360
458473
|
type: "text",
|
|
458361
|
-
value: `${"99.0.0"} (built ${"2026-06-
|
|
458474
|
+
value: `${"99.0.0"} (built ${"2026-06-05T19:59:30.582Z"})`
|
|
458362
458475
|
};
|
|
458363
458476
|
}, version2, version_default;
|
|
458364
458477
|
var init_version = __esm(() => {
|
|
@@ -500446,6 +500559,9 @@ function SandboxPromptFooterHint() {
|
|
|
500446
500559
|
return;
|
|
500447
500560
|
}
|
|
500448
500561
|
const store = SandboxManager3.getSandboxViolationStore();
|
|
500562
|
+
if (!store) {
|
|
500563
|
+
return;
|
|
500564
|
+
}
|
|
500449
500565
|
let lastCount = store.getTotalCount();
|
|
500450
500566
|
const unsubscribe2 = store.subscribe(() => {
|
|
500451
500567
|
const currentCount = store.getTotalCount();
|
|
@@ -520896,198 +521012,6 @@ var init_tipHistory = __esm(() => {
|
|
|
520896
521012
|
init_config2();
|
|
520897
521013
|
});
|
|
520898
521014
|
|
|
520899
|
-
// src/components/DesktopUpsell/DesktopUpsellStartup.tsx
|
|
520900
|
-
function getDesktopUpsellConfig() {
|
|
520901
|
-
return getDynamicConfig_CACHED_MAY_BE_STALE("tengu_desktop_upsell", DESKTOP_UPSELL_DEFAULT);
|
|
520902
|
-
}
|
|
520903
|
-
function isSupportedPlatform3() {
|
|
520904
|
-
return process.platform === "darwin" || process.platform === "win32" && process.arch === "x64";
|
|
520905
|
-
}
|
|
520906
|
-
function shouldShowDesktopUpsellStartup() {
|
|
520907
|
-
if (!isSupportedPlatform3())
|
|
520908
|
-
return false;
|
|
520909
|
-
if (!getDesktopUpsellConfig().enable_startup_dialog)
|
|
520910
|
-
return false;
|
|
520911
|
-
const config3 = getGlobalConfig();
|
|
520912
|
-
if (config3.desktopUpsellDismissed)
|
|
520913
|
-
return false;
|
|
520914
|
-
if ((config3.desktopUpsellSeenCount ?? 0) >= 3)
|
|
520915
|
-
return false;
|
|
520916
|
-
return true;
|
|
520917
|
-
}
|
|
520918
|
-
function DesktopUpsellStartup(t0) {
|
|
520919
|
-
const $2 = import_react_compiler_runtime347.c(14);
|
|
520920
|
-
const { onDone } = t0;
|
|
520921
|
-
const [showHandoff, setShowHandoff] = import_react301.useState(false);
|
|
520922
|
-
let t1;
|
|
520923
|
-
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
520924
|
-
t1 = [];
|
|
520925
|
-
$2[0] = t1;
|
|
520926
|
-
} else {
|
|
520927
|
-
t1 = $2[0];
|
|
520928
|
-
}
|
|
520929
|
-
import_react301.useEffect(_temp205, t1);
|
|
520930
|
-
if (showHandoff) {
|
|
520931
|
-
let t22;
|
|
520932
|
-
if ($2[1] !== onDone) {
|
|
520933
|
-
t22 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(DesktopHandoff, {
|
|
520934
|
-
onDone: () => onDone()
|
|
520935
|
-
}, undefined, false, undefined, this);
|
|
520936
|
-
$2[1] = onDone;
|
|
520937
|
-
$2[2] = t22;
|
|
520938
|
-
} else {
|
|
520939
|
-
t22 = $2[2];
|
|
520940
|
-
}
|
|
520941
|
-
return t22;
|
|
520942
|
-
}
|
|
520943
|
-
let t2;
|
|
520944
|
-
if ($2[3] !== onDone) {
|
|
520945
|
-
t2 = function handleSelect2(value) {
|
|
520946
|
-
switch (value) {
|
|
520947
|
-
case "try": {
|
|
520948
|
-
setShowHandoff(true);
|
|
520949
|
-
return;
|
|
520950
|
-
}
|
|
520951
|
-
case "never": {
|
|
520952
|
-
saveGlobalConfig(_temp285);
|
|
520953
|
-
onDone();
|
|
520954
|
-
return;
|
|
520955
|
-
}
|
|
520956
|
-
case "not-now": {
|
|
520957
|
-
onDone();
|
|
520958
|
-
return;
|
|
520959
|
-
}
|
|
520960
|
-
}
|
|
520961
|
-
};
|
|
520962
|
-
$2[3] = onDone;
|
|
520963
|
-
$2[4] = t2;
|
|
520964
|
-
} else {
|
|
520965
|
-
t2 = $2[4];
|
|
520966
|
-
}
|
|
520967
|
-
const handleSelect = t2;
|
|
520968
|
-
let t3;
|
|
520969
|
-
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
520970
|
-
t3 = {
|
|
520971
|
-
label: "Open in Maximo Syntax Desktop",
|
|
520972
|
-
value: "try"
|
|
520973
|
-
};
|
|
520974
|
-
$2[5] = t3;
|
|
520975
|
-
} else {
|
|
520976
|
-
t3 = $2[5];
|
|
520977
|
-
}
|
|
520978
|
-
let t4;
|
|
520979
|
-
if ($2[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
520980
|
-
t4 = {
|
|
520981
|
-
label: "Not now",
|
|
520982
|
-
value: "not-now"
|
|
520983
|
-
};
|
|
520984
|
-
$2[6] = t4;
|
|
520985
|
-
} else {
|
|
520986
|
-
t4 = $2[6];
|
|
520987
|
-
}
|
|
520988
|
-
let t5;
|
|
520989
|
-
if ($2[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
520990
|
-
t5 = [
|
|
520991
|
-
t3,
|
|
520992
|
-
t4,
|
|
520993
|
-
{
|
|
520994
|
-
label: "Don't ask again",
|
|
520995
|
-
value: "never"
|
|
520996
|
-
}
|
|
520997
|
-
];
|
|
520998
|
-
$2[7] = t5;
|
|
520999
|
-
} else {
|
|
521000
|
-
t5 = $2[7];
|
|
521001
|
-
}
|
|
521002
|
-
const options2 = t5;
|
|
521003
|
-
let t6;
|
|
521004
|
-
if ($2[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
521005
|
-
t6 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
|
|
521006
|
-
marginBottom: 1,
|
|
521007
|
-
children: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
|
|
521008
|
-
children: "Same Maximo Syntax with visual diffs, live app preview, parallel sessions, and more."
|
|
521009
|
-
}, undefined, false, undefined, this)
|
|
521010
|
-
}, undefined, false, undefined, this);
|
|
521011
|
-
$2[8] = t6;
|
|
521012
|
-
} else {
|
|
521013
|
-
t6 = $2[8];
|
|
521014
|
-
}
|
|
521015
|
-
let t7;
|
|
521016
|
-
if ($2[9] !== handleSelect) {
|
|
521017
|
-
t7 = () => handleSelect("not-now");
|
|
521018
|
-
$2[9] = handleSelect;
|
|
521019
|
-
$2[10] = t7;
|
|
521020
|
-
} else {
|
|
521021
|
-
t7 = $2[10];
|
|
521022
|
-
}
|
|
521023
|
-
let t8;
|
|
521024
|
-
if ($2[11] !== handleSelect || $2[12] !== t7) {
|
|
521025
|
-
t8 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(PermissionDialog, {
|
|
521026
|
-
title: "Try Maximo Syntax Desktop",
|
|
521027
|
-
children: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
|
|
521028
|
-
flexDirection: "column",
|
|
521029
|
-
paddingX: 2,
|
|
521030
|
-
paddingY: 1,
|
|
521031
|
-
children: [
|
|
521032
|
-
t6,
|
|
521033
|
-
/* @__PURE__ */ jsx_dev_runtime450.jsxDEV(Select, {
|
|
521034
|
-
options: options2,
|
|
521035
|
-
onChange: handleSelect,
|
|
521036
|
-
onCancel: t7
|
|
521037
|
-
}, undefined, false, undefined, this)
|
|
521038
|
-
]
|
|
521039
|
-
}, undefined, true, undefined, this)
|
|
521040
|
-
}, undefined, false, undefined, this);
|
|
521041
|
-
$2[11] = handleSelect;
|
|
521042
|
-
$2[12] = t7;
|
|
521043
|
-
$2[13] = t8;
|
|
521044
|
-
} else {
|
|
521045
|
-
t8 = $2[13];
|
|
521046
|
-
}
|
|
521047
|
-
return t8;
|
|
521048
|
-
}
|
|
521049
|
-
function _temp285(prev_0) {
|
|
521050
|
-
if (prev_0.desktopUpsellDismissed) {
|
|
521051
|
-
return prev_0;
|
|
521052
|
-
}
|
|
521053
|
-
return {
|
|
521054
|
-
...prev_0,
|
|
521055
|
-
desktopUpsellDismissed: true
|
|
521056
|
-
};
|
|
521057
|
-
}
|
|
521058
|
-
function _temp205() {
|
|
521059
|
-
const newCount = (getGlobalConfig().desktopUpsellSeenCount ?? 0) + 1;
|
|
521060
|
-
saveGlobalConfig((prev) => {
|
|
521061
|
-
if ((prev.desktopUpsellSeenCount ?? 0) >= newCount) {
|
|
521062
|
-
return prev;
|
|
521063
|
-
}
|
|
521064
|
-
return {
|
|
521065
|
-
...prev,
|
|
521066
|
-
desktopUpsellSeenCount: newCount
|
|
521067
|
-
};
|
|
521068
|
-
});
|
|
521069
|
-
logEvent("tengu_desktop_upsell_shown", {
|
|
521070
|
-
seen_count: newCount
|
|
521071
|
-
});
|
|
521072
|
-
}
|
|
521073
|
-
var import_react_compiler_runtime347, import_react301, jsx_dev_runtime450, DESKTOP_UPSELL_DEFAULT;
|
|
521074
|
-
var init_DesktopUpsellStartup = __esm(() => {
|
|
521075
|
-
init_ink2();
|
|
521076
|
-
init_growthbook();
|
|
521077
|
-
init_analytics();
|
|
521078
|
-
init_config2();
|
|
521079
|
-
init_select();
|
|
521080
|
-
init_DesktopHandoff();
|
|
521081
|
-
init_PermissionDialog();
|
|
521082
|
-
import_react_compiler_runtime347 = __toESM(require_dist4(), 1);
|
|
521083
|
-
import_react301 = __toESM(require_react(), 1);
|
|
521084
|
-
jsx_dev_runtime450 = __toESM(require_jsx_dev_runtime(), 1);
|
|
521085
|
-
DESKTOP_UPSELL_DEFAULT = {
|
|
521086
|
-
enable_shortcut_tip: false,
|
|
521087
|
-
enable_startup_dialog: false
|
|
521088
|
-
};
|
|
521089
|
-
});
|
|
521090
|
-
|
|
521091
521015
|
// src/services/tips/tipRegistry.ts
|
|
521092
521016
|
async function isOfficialMarketplaceInstalled() {
|
|
521093
521017
|
if (_isOfficialMarketplaceInstalledCache !== undefined) {
|
|
@@ -521149,7 +521073,6 @@ var init_tipRegistry = __esm(() => {
|
|
|
521149
521073
|
init_fileHistory();
|
|
521150
521074
|
init_settings2();
|
|
521151
521075
|
init_terminalSetup();
|
|
521152
|
-
init_DesktopUpsellStartup();
|
|
521153
521076
|
init_color();
|
|
521154
521077
|
init_OverageCreditUpsell();
|
|
521155
521078
|
init_shortcutFormat();
|
|
@@ -521458,37 +521381,12 @@ var init_tipRegistry = __esm(() => {
|
|
|
521458
521381
|
return config3.numStartups > 5;
|
|
521459
521382
|
}
|
|
521460
521383
|
},
|
|
521461
|
-
{
|
|
521462
|
-
id: "desktop-app",
|
|
521463
|
-
content: async () => "Run Maximo Syntax locally or remotely using the Maximo desktop app: clau.de/desktop",
|
|
521464
|
-
cooldownSessions: 15,
|
|
521465
|
-
isRelevant: async () => getPlatform() !== "linux"
|
|
521466
|
-
},
|
|
521467
|
-
{
|
|
521468
|
-
id: "desktop-shortcut",
|
|
521469
|
-
content: async (ctx) => {
|
|
521470
|
-
const blue2 = color("suggestion", ctx.theme);
|
|
521471
|
-
return `Continue your session in Maximo Syntax Desktop with ${blue2("/desktop")}`;
|
|
521472
|
-
},
|
|
521473
|
-
cooldownSessions: 15,
|
|
521474
|
-
isRelevant: async () => {
|
|
521475
|
-
if (!getDesktopUpsellConfig().enable_shortcut_tip)
|
|
521476
|
-
return false;
|
|
521477
|
-
return process.platform === "darwin" || process.platform === "win32" && process.arch === "x64";
|
|
521478
|
-
}
|
|
521479
|
-
},
|
|
521480
521384
|
{
|
|
521481
521385
|
id: "web-app",
|
|
521482
521386
|
content: async () => "Run tasks in the cloud while you keep coding locally · clau.de/web",
|
|
521483
521387
|
cooldownSessions: 15,
|
|
521484
521388
|
isRelevant: async () => true
|
|
521485
521389
|
},
|
|
521486
|
-
{
|
|
521487
|
-
id: "mobile-app",
|
|
521488
|
-
content: async () => "/mobile to use Maximo Syntax from the Maximo app on your phone",
|
|
521489
|
-
cooldownSessions: 15,
|
|
521490
|
-
isRelevant: async () => true
|
|
521491
|
-
},
|
|
521492
521390
|
{
|
|
521493
521391
|
id: "opusplan-mode-reminder",
|
|
521494
521392
|
content: async () => `Your default model setting is Opus Plan Mode. Press ${getShortcutDisplay("chat:cycleMode", "Chat", "shift+tab")} twice to activate Plan Mode and plan with Maximo Opus.`,
|
|
@@ -522573,8 +522471,8 @@ var init_structuredIO = __esm(() => {
|
|
|
522573
522471
|
|
|
522574
522472
|
// src/hooks/useFileHistorySnapshotInit.ts
|
|
522575
522473
|
function useFileHistorySnapshotInit(initialFileHistorySnapshots, fileHistoryState, onUpdateState) {
|
|
522576
|
-
const initialized5 =
|
|
522577
|
-
|
|
522474
|
+
const initialized5 = import_react301.useRef(false);
|
|
522475
|
+
import_react301.useEffect(() => {
|
|
522578
522476
|
if (!fileHistoryEnabled() || initialized5.current) {
|
|
522579
522477
|
return;
|
|
522580
522478
|
}
|
|
@@ -522584,15 +522482,15 @@ function useFileHistorySnapshotInit(initialFileHistorySnapshots, fileHistoryStat
|
|
|
522584
522482
|
}
|
|
522585
522483
|
}, [fileHistoryState, initialFileHistorySnapshots, onUpdateState]);
|
|
522586
522484
|
}
|
|
522587
|
-
var
|
|
522485
|
+
var import_react301;
|
|
522588
522486
|
var init_useFileHistorySnapshotInit = __esm(() => {
|
|
522589
522487
|
init_fileHistory();
|
|
522590
|
-
|
|
522488
|
+
import_react301 = __toESM(require_react(), 1);
|
|
522591
522489
|
});
|
|
522592
522490
|
|
|
522593
522491
|
// src/components/permissions/SandboxPermissionRequest.tsx
|
|
522594
522492
|
function SandboxPermissionRequest(t0) {
|
|
522595
|
-
const $2 =
|
|
522493
|
+
const $2 = import_react_compiler_runtime347.c(22);
|
|
522596
522494
|
const { hostPattern: t1, onUserResponse } = t0;
|
|
522597
522495
|
const { host } = t1;
|
|
522598
522496
|
let t2;
|
|
@@ -522650,10 +522548,10 @@ function SandboxPermissionRequest(t0) {
|
|
|
522650
522548
|
if ($2[4] !== host) {
|
|
522651
522549
|
t5 = !managedDomainsOnly ? [
|
|
522652
522550
|
{
|
|
522653
|
-
label: /* @__PURE__ */
|
|
522551
|
+
label: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
|
|
522654
522552
|
children: [
|
|
522655
522553
|
"Yes, and don't ask again for ",
|
|
522656
|
-
/* @__PURE__ */
|
|
522554
|
+
/* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
|
|
522657
522555
|
bold: true,
|
|
522658
522556
|
children: host
|
|
522659
522557
|
}, undefined, false, undefined, this)
|
|
@@ -522670,11 +522568,11 @@ function SandboxPermissionRequest(t0) {
|
|
|
522670
522568
|
let t6;
|
|
522671
522569
|
if ($2[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
522672
522570
|
t6 = {
|
|
522673
|
-
label: /* @__PURE__ */
|
|
522571
|
+
label: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
|
|
522674
522572
|
children: [
|
|
522675
522573
|
"No, and tell Maximo what to do differently",
|
|
522676
522574
|
" ",
|
|
522677
|
-
/* @__PURE__ */
|
|
522575
|
+
/* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
|
|
522678
522576
|
bold: true,
|
|
522679
522577
|
children: "(esc)"
|
|
522680
522578
|
}, undefined, false, undefined, this)
|
|
@@ -522697,7 +522595,7 @@ function SandboxPermissionRequest(t0) {
|
|
|
522697
522595
|
const options2 = t7;
|
|
522698
522596
|
let t8;
|
|
522699
522597
|
if ($2[9] === Symbol.for("react.memo_cache_sentinel")) {
|
|
522700
|
-
t8 = /* @__PURE__ */
|
|
522598
|
+
t8 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
|
|
522701
522599
|
dimColor: true,
|
|
522702
522600
|
children: "Host:"
|
|
522703
522601
|
}, undefined, false, undefined, this);
|
|
@@ -522707,10 +522605,10 @@ function SandboxPermissionRequest(t0) {
|
|
|
522707
522605
|
}
|
|
522708
522606
|
let t9;
|
|
522709
522607
|
if ($2[10] !== host) {
|
|
522710
|
-
t9 = /* @__PURE__ */
|
|
522608
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
|
|
522711
522609
|
children: [
|
|
522712
522610
|
t8,
|
|
522713
|
-
/* @__PURE__ */
|
|
522611
|
+
/* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
|
|
522714
522612
|
children: [
|
|
522715
522613
|
" ",
|
|
522716
522614
|
host
|
|
@@ -522725,9 +522623,9 @@ function SandboxPermissionRequest(t0) {
|
|
|
522725
522623
|
}
|
|
522726
522624
|
let t10;
|
|
522727
522625
|
if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
522728
|
-
t10 = /* @__PURE__ */
|
|
522626
|
+
t10 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
|
|
522729
522627
|
marginTop: 1,
|
|
522730
|
-
children: /* @__PURE__ */
|
|
522628
|
+
children: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
|
|
522731
522629
|
children: "Do you want to allow this connection?"
|
|
522732
522630
|
}, undefined, false, undefined, this)
|
|
522733
522631
|
}, undefined, false, undefined, this);
|
|
@@ -522750,8 +522648,8 @@ function SandboxPermissionRequest(t0) {
|
|
|
522750
522648
|
}
|
|
522751
522649
|
let t12;
|
|
522752
522650
|
if ($2[15] !== onSelect || $2[16] !== options2 || $2[17] !== t11) {
|
|
522753
|
-
t12 = /* @__PURE__ */
|
|
522754
|
-
children: /* @__PURE__ */
|
|
522651
|
+
t12 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
|
|
522652
|
+
children: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(Select, {
|
|
522755
522653
|
options: options2,
|
|
522756
522654
|
onChange: onSelect,
|
|
522757
522655
|
onCancel: t11
|
|
@@ -522766,9 +522664,9 @@ function SandboxPermissionRequest(t0) {
|
|
|
522766
522664
|
}
|
|
522767
522665
|
let t13;
|
|
522768
522666
|
if ($2[19] !== t12 || $2[20] !== t9) {
|
|
522769
|
-
t13 = /* @__PURE__ */
|
|
522667
|
+
t13 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(PermissionDialog, {
|
|
522770
522668
|
title: "Network request outside of sandbox",
|
|
522771
|
-
children: /* @__PURE__ */
|
|
522669
|
+
children: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
|
|
522772
522670
|
flexDirection: "column",
|
|
522773
522671
|
paddingX: 2,
|
|
522774
522672
|
paddingY: 1,
|
|
@@ -522787,14 +522685,14 @@ function SandboxPermissionRequest(t0) {
|
|
|
522787
522685
|
}
|
|
522788
522686
|
return t13;
|
|
522789
522687
|
}
|
|
522790
|
-
var
|
|
522688
|
+
var import_react_compiler_runtime347, jsx_dev_runtime450;
|
|
522791
522689
|
var init_SandboxPermissionRequest = __esm(() => {
|
|
522792
522690
|
init_ink2();
|
|
522793
522691
|
init_sandbox_adapter();
|
|
522794
522692
|
init_select();
|
|
522795
522693
|
init_PermissionDialog();
|
|
522796
|
-
|
|
522797
|
-
|
|
522694
|
+
import_react_compiler_runtime347 = __toESM(require_dist4(), 1);
|
|
522695
|
+
jsx_dev_runtime450 = __toESM(require_jsx_dev_runtime(), 1);
|
|
522798
522696
|
});
|
|
522799
522697
|
|
|
522800
522698
|
// src/components/SandboxViolationExpandedView.tsx
|
|
@@ -522806,7 +522704,7 @@ function formatTime(date6) {
|
|
|
522806
522704
|
return `${h2}:${m}:${s}${ampm}`;
|
|
522807
522705
|
}
|
|
522808
522706
|
function SandboxViolationExpandedView() {
|
|
522809
|
-
const $2 =
|
|
522707
|
+
const $2 = import_react_compiler_runtime348.c(15);
|
|
522810
522708
|
let t0;
|
|
522811
522709
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
522812
522710
|
t0 = [];
|
|
@@ -522814,13 +522712,19 @@ function SandboxViolationExpandedView() {
|
|
|
522814
522712
|
} else {
|
|
522815
522713
|
t0 = $2[0];
|
|
522816
522714
|
}
|
|
522817
|
-
const [violations, setViolations] =
|
|
522818
|
-
const [totalCount, setTotalCount] =
|
|
522715
|
+
const [violations, setViolations] = import_react302.useState(t0);
|
|
522716
|
+
const [totalCount, setTotalCount] = import_react302.useState(0);
|
|
522819
522717
|
let t1;
|
|
522820
522718
|
let t2;
|
|
522821
522719
|
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
522822
522720
|
t1 = () => {
|
|
522721
|
+
if (!SandboxManager3.isSandboxingEnabled() || getPlatform() === "linux") {
|
|
522722
|
+
return;
|
|
522723
|
+
}
|
|
522823
522724
|
const store = SandboxManager3.getSandboxViolationStore();
|
|
522725
|
+
if (!store) {
|
|
522726
|
+
return;
|
|
522727
|
+
}
|
|
522824
522728
|
const unsubscribe2 = store.subscribe((allViolations) => {
|
|
522825
522729
|
setViolations(allViolations.slice(-10));
|
|
522826
522730
|
setTotalCount(store.getTotalCount());
|
|
@@ -522834,7 +522738,7 @@ function SandboxViolationExpandedView() {
|
|
|
522834
522738
|
t1 = $2[1];
|
|
522835
522739
|
t2 = $2[2];
|
|
522836
522740
|
}
|
|
522837
|
-
|
|
522741
|
+
import_react302.useEffect(t1, t2);
|
|
522838
522742
|
if (!SandboxManager3.isSandboxingEnabled() || getPlatform() === "linux") {
|
|
522839
522743
|
return null;
|
|
522840
522744
|
}
|
|
@@ -522844,9 +522748,9 @@ function SandboxViolationExpandedView() {
|
|
|
522844
522748
|
const t3 = totalCount === 1 ? "operation" : "operations";
|
|
522845
522749
|
let t4;
|
|
522846
522750
|
if ($2[3] !== t3 || $2[4] !== totalCount) {
|
|
522847
|
-
t4 = /* @__PURE__ */
|
|
522751
|
+
t4 = /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
|
|
522848
522752
|
marginLeft: 0,
|
|
522849
|
-
children: /* @__PURE__ */
|
|
522753
|
+
children: /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
|
|
522850
522754
|
color: "permission",
|
|
522851
522755
|
children: [
|
|
522852
522756
|
"⧈ Sandbox blocked ",
|
|
@@ -522865,7 +522769,7 @@ function SandboxViolationExpandedView() {
|
|
|
522865
522769
|
}
|
|
522866
522770
|
let t5;
|
|
522867
522771
|
if ($2[6] !== violations) {
|
|
522868
|
-
t5 = violations.map(
|
|
522772
|
+
t5 = violations.map(_temp205);
|
|
522869
522773
|
$2[6] = violations;
|
|
522870
522774
|
$2[7] = t5;
|
|
522871
522775
|
} else {
|
|
@@ -522874,9 +522778,9 @@ function SandboxViolationExpandedView() {
|
|
|
522874
522778
|
const t6 = Math.min(10, violations.length);
|
|
522875
522779
|
let t7;
|
|
522876
522780
|
if ($2[8] !== t6 || $2[9] !== totalCount) {
|
|
522877
|
-
t7 = /* @__PURE__ */
|
|
522781
|
+
t7 = /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
|
|
522878
522782
|
paddingLeft: 2,
|
|
522879
|
-
children: /* @__PURE__ */
|
|
522783
|
+
children: /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
|
|
522880
522784
|
dimColor: true,
|
|
522881
522785
|
children: [
|
|
522882
522786
|
"… showing last ",
|
|
@@ -522894,7 +522798,7 @@ function SandboxViolationExpandedView() {
|
|
|
522894
522798
|
}
|
|
522895
522799
|
let t8;
|
|
522896
522800
|
if ($2[11] !== t4 || $2[12] !== t5 || $2[13] !== t7) {
|
|
522897
|
-
t8 = /* @__PURE__ */
|
|
522801
|
+
t8 = /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
|
|
522898
522802
|
flexDirection: "column",
|
|
522899
522803
|
marginTop: 1,
|
|
522900
522804
|
children: [
|
|
@@ -522912,10 +522816,10 @@ function SandboxViolationExpandedView() {
|
|
|
522912
522816
|
}
|
|
522913
522817
|
return t8;
|
|
522914
522818
|
}
|
|
522915
|
-
function
|
|
522916
|
-
return /* @__PURE__ */
|
|
522819
|
+
function _temp205(v, i3) {
|
|
522820
|
+
return /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
|
|
522917
522821
|
paddingLeft: 2,
|
|
522918
|
-
children: /* @__PURE__ */
|
|
522822
|
+
children: /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
|
|
522919
522823
|
dimColor: true,
|
|
522920
522824
|
children: [
|
|
522921
522825
|
formatTime(v.timestamp),
|
|
@@ -522926,19 +522830,19 @@ function _temp206(v, i3) {
|
|
|
522926
522830
|
}, undefined, true, undefined, this)
|
|
522927
522831
|
}, `${v.timestamp.getTime()}-${i3}`, false, undefined, this);
|
|
522928
522832
|
}
|
|
522929
|
-
var
|
|
522833
|
+
var import_react_compiler_runtime348, import_react302, jsx_dev_runtime451;
|
|
522930
522834
|
var init_SandboxViolationExpandedView = __esm(() => {
|
|
522931
522835
|
init_ink2();
|
|
522932
522836
|
init_sandbox_adapter();
|
|
522933
522837
|
init_platform2();
|
|
522934
|
-
|
|
522935
|
-
|
|
522936
|
-
|
|
522838
|
+
import_react_compiler_runtime348 = __toESM(require_dist4(), 1);
|
|
522839
|
+
import_react302 = __toESM(require_react(), 1);
|
|
522840
|
+
jsx_dev_runtime451 = __toESM(require_jsx_dev_runtime(), 1);
|
|
522937
522841
|
});
|
|
522938
522842
|
|
|
522939
522843
|
// src/hooks/notifs/useMcpConnectivityStatus.tsx
|
|
522940
522844
|
function useMcpConnectivityStatus(t0) {
|
|
522941
|
-
const $2 =
|
|
522845
|
+
const $2 = import_react_compiler_runtime349.c(4);
|
|
522942
522846
|
const { mcpClients: t1 } = t0;
|
|
522943
522847
|
const mcpClients = t1 === undefined ? EMPTY_MCP_CLIENTS : t1;
|
|
522944
522848
|
const { addNotification } = useNotifications();
|
|
@@ -522949,8 +522853,8 @@ function useMcpConnectivityStatus(t0) {
|
|
|
522949
522853
|
if (getIsRemoteMode()) {
|
|
522950
522854
|
return;
|
|
522951
522855
|
}
|
|
522952
|
-
const failedLocalClients = mcpClients.filter(
|
|
522953
|
-
const failedMaximoAiClients = mcpClients.filter(
|
|
522856
|
+
const failedLocalClients = mcpClients.filter(_temp206);
|
|
522857
|
+
const failedMaximoAiClients = mcpClients.filter(_temp285);
|
|
522954
522858
|
const needsAuthLocalServers = mcpClients.filter(_temp355);
|
|
522955
522859
|
const needsAuthMaximoAiServers = mcpClients.filter(_temp442);
|
|
522956
522860
|
if (failedLocalClients.length === 0 && failedMaximoAiClients.length === 0 && needsAuthLocalServers.length === 0 && needsAuthMaximoAiServers.length === 0) {
|
|
@@ -522959,9 +522863,9 @@ function useMcpConnectivityStatus(t0) {
|
|
|
522959
522863
|
if (failedLocalClients.length > 0) {
|
|
522960
522864
|
addNotification({
|
|
522961
522865
|
key: "mcp-failed",
|
|
522962
|
-
jsx: /* @__PURE__ */
|
|
522866
|
+
jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
|
|
522963
522867
|
children: [
|
|
522964
|
-
/* @__PURE__ */
|
|
522868
|
+
/* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
|
|
522965
522869
|
color: "error",
|
|
522966
522870
|
children: [
|
|
522967
522871
|
failedLocalClients.length,
|
|
@@ -522971,7 +522875,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
522971
522875
|
" failed"
|
|
522972
522876
|
]
|
|
522973
522877
|
}, undefined, true, undefined, this),
|
|
522974
|
-
/* @__PURE__ */
|
|
522878
|
+
/* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
|
|
522975
522879
|
dimColor: true,
|
|
522976
522880
|
children: " · /mcp"
|
|
522977
522881
|
}, undefined, false, undefined, this)
|
|
@@ -522983,9 +522887,9 @@ function useMcpConnectivityStatus(t0) {
|
|
|
522983
522887
|
if (failedMaximoAiClients.length > 0) {
|
|
522984
522888
|
addNotification({
|
|
522985
522889
|
key: "mcp-claudeai-failed",
|
|
522986
|
-
jsx: /* @__PURE__ */
|
|
522890
|
+
jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
|
|
522987
522891
|
children: [
|
|
522988
|
-
/* @__PURE__ */
|
|
522892
|
+
/* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
|
|
522989
522893
|
color: "error",
|
|
522990
522894
|
children: [
|
|
522991
522895
|
failedMaximoAiClients.length,
|
|
@@ -522996,7 +522900,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
522996
522900
|
"unavailable"
|
|
522997
522901
|
]
|
|
522998
522902
|
}, undefined, true, undefined, this),
|
|
522999
|
-
/* @__PURE__ */
|
|
522903
|
+
/* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
|
|
523000
522904
|
dimColor: true,
|
|
523001
522905
|
children: " · /mcp"
|
|
523002
522906
|
}, undefined, false, undefined, this)
|
|
@@ -523008,9 +522912,9 @@ function useMcpConnectivityStatus(t0) {
|
|
|
523008
522912
|
if (needsAuthLocalServers.length > 0) {
|
|
523009
522913
|
addNotification({
|
|
523010
522914
|
key: "mcp-needs-auth",
|
|
523011
|
-
jsx: /* @__PURE__ */
|
|
522915
|
+
jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
|
|
523012
522916
|
children: [
|
|
523013
|
-
/* @__PURE__ */
|
|
522917
|
+
/* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
|
|
523014
522918
|
color: "warning",
|
|
523015
522919
|
children: [
|
|
523016
522920
|
needsAuthLocalServers.length,
|
|
@@ -523021,7 +522925,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
523021
522925
|
"auth"
|
|
523022
522926
|
]
|
|
523023
522927
|
}, undefined, true, undefined, this),
|
|
523024
|
-
/* @__PURE__ */
|
|
522928
|
+
/* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
|
|
523025
522929
|
dimColor: true,
|
|
523026
522930
|
children: " · /mcp"
|
|
523027
522931
|
}, undefined, false, undefined, this)
|
|
@@ -523033,9 +522937,9 @@ function useMcpConnectivityStatus(t0) {
|
|
|
523033
522937
|
if (needsAuthMaximoAiServers.length > 0) {
|
|
523034
522938
|
addNotification({
|
|
523035
522939
|
key: "mcp-claudeai-needs-auth",
|
|
523036
|
-
jsx: /* @__PURE__ */
|
|
522940
|
+
jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
|
|
523037
522941
|
children: [
|
|
523038
|
-
/* @__PURE__ */
|
|
522942
|
+
/* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
|
|
523039
522943
|
color: "warning",
|
|
523040
522944
|
children: [
|
|
523041
522945
|
needsAuthMaximoAiServers.length,
|
|
@@ -523046,7 +522950,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
523046
522950
|
"auth"
|
|
523047
522951
|
]
|
|
523048
522952
|
}, undefined, true, undefined, this),
|
|
523049
|
-
/* @__PURE__ */
|
|
522953
|
+
/* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
|
|
523050
522954
|
dimColor: true,
|
|
523051
522955
|
children: " · /mcp"
|
|
523052
522956
|
}, undefined, false, undefined, this)
|
|
@@ -523065,7 +522969,7 @@ function useMcpConnectivityStatus(t0) {
|
|
|
523065
522969
|
t2 = $2[2];
|
|
523066
522970
|
t3 = $2[3];
|
|
523067
522971
|
}
|
|
523068
|
-
|
|
522972
|
+
import_react303.useEffect(t2, t3);
|
|
523069
522973
|
}
|
|
523070
522974
|
function _temp442(client_2) {
|
|
523071
522975
|
return client_2.type === "needs-auth" && client_2.config.type === "claudeai-proxy" && hasMaximoAiMcpEverConnected(client_2.name);
|
|
@@ -523073,21 +522977,21 @@ function _temp442(client_2) {
|
|
|
523073
522977
|
function _temp355(client_1) {
|
|
523074
522978
|
return client_1.type === "needs-auth" && client_1.config.type !== "claudeai-proxy";
|
|
523075
522979
|
}
|
|
523076
|
-
function
|
|
522980
|
+
function _temp285(client_0) {
|
|
523077
522981
|
return client_0.type === "failed" && client_0.config.type === "claudeai-proxy" && hasMaximoAiMcpEverConnected(client_0.name);
|
|
523078
522982
|
}
|
|
523079
|
-
function
|
|
522983
|
+
function _temp206(client3) {
|
|
523080
522984
|
return client3.type === "failed" && client3.config.type !== "sse-ide" && client3.config.type !== "ws-ide" && client3.config.type !== "claudeai-proxy";
|
|
523081
522985
|
}
|
|
523082
|
-
var
|
|
522986
|
+
var import_react_compiler_runtime349, import_react303, jsx_dev_runtime452, EMPTY_MCP_CLIENTS;
|
|
523083
522987
|
var init_useMcpConnectivityStatus = __esm(() => {
|
|
523084
522988
|
init_notifications();
|
|
523085
522989
|
init_state();
|
|
523086
522990
|
init_ink2();
|
|
523087
522991
|
init_claudeai();
|
|
523088
|
-
|
|
523089
|
-
|
|
523090
|
-
|
|
522992
|
+
import_react_compiler_runtime349 = __toESM(require_dist4(), 1);
|
|
522993
|
+
import_react303 = __toESM(require_react(), 1);
|
|
522994
|
+
jsx_dev_runtime452 = __toESM(require_jsx_dev_runtime(), 1);
|
|
523091
522995
|
EMPTY_MCP_CLIENTS = [];
|
|
523092
522996
|
});
|
|
523093
522997
|
|
|
@@ -523096,9 +523000,9 @@ function useAutoModeUnavailableNotification() {
|
|
|
523096
523000
|
const { addNotification } = useNotifications();
|
|
523097
523001
|
const mode = useAppState((s) => s.toolPermissionContext.mode);
|
|
523098
523002
|
const isAutoModeAvailable = useAppState((s) => s.toolPermissionContext.isAutoModeAvailable);
|
|
523099
|
-
const shownRef =
|
|
523100
|
-
const prevModeRef =
|
|
523101
|
-
|
|
523003
|
+
const shownRef = import_react304.useRef(false);
|
|
523004
|
+
const prevModeRef = import_react304.useRef(mode);
|
|
523005
|
+
import_react304.useEffect(() => {
|
|
523102
523006
|
const prevMode = prevModeRef.current;
|
|
523103
523007
|
prevModeRef.current = mode;
|
|
523104
523008
|
if (true)
|
|
@@ -523122,24 +523026,24 @@ function useAutoModeUnavailableNotification() {
|
|
|
523122
523026
|
});
|
|
523123
523027
|
}, [mode, isAutoModeAvailable, addNotification]);
|
|
523124
523028
|
}
|
|
523125
|
-
var
|
|
523029
|
+
var import_react304;
|
|
523126
523030
|
var init_useAutoModeUnavailableNotification = __esm(() => {
|
|
523127
523031
|
init_notifications();
|
|
523128
523032
|
init_state();
|
|
523129
523033
|
init_AppState();
|
|
523130
523034
|
init_permissionSetup();
|
|
523131
523035
|
init_settings2();
|
|
523132
|
-
|
|
523036
|
+
import_react304 = __toESM(require_react(), 1);
|
|
523133
523037
|
});
|
|
523134
523038
|
|
|
523135
523039
|
// src/hooks/notifs/useLspInitializationNotification.tsx
|
|
523136
523040
|
function useLspInitializationNotification() {
|
|
523137
|
-
const $2 =
|
|
523041
|
+
const $2 = import_react_compiler_runtime350.c(10);
|
|
523138
523042
|
const {
|
|
523139
523043
|
addNotification
|
|
523140
523044
|
} = useNotifications();
|
|
523141
523045
|
const setAppState = useSetAppState();
|
|
523142
|
-
const [shouldPoll, setShouldPoll] = React149.useState(
|
|
523046
|
+
const [shouldPoll, setShouldPoll] = React149.useState(_temp207);
|
|
523143
523047
|
let t0;
|
|
523144
523048
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
523145
523049
|
t0 = new Set;
|
|
@@ -523158,7 +523062,7 @@ function useLspInitializationNotification() {
|
|
|
523158
523062
|
notifiedErrorsRef.current.add(errorKey2);
|
|
523159
523063
|
logForDebugging2(`LSP error: ${source} - ${errorMessage4}`);
|
|
523160
523064
|
setAppState((prev) => {
|
|
523161
|
-
const existingKeys = new Set(prev.plugins.errors.map(
|
|
523065
|
+
const existingKeys = new Set(prev.plugins.errors.map(_temp286));
|
|
523162
523066
|
const stateErrorKey = `generic-error:${source}:${errorMessage4}`;
|
|
523163
523067
|
if (existingKeys.has(stateErrorKey)) {
|
|
523164
523068
|
return prev;
|
|
@@ -523178,9 +523082,9 @@ function useLspInitializationNotification() {
|
|
|
523178
523082
|
const displayName = source.startsWith("plugin:") ? source.split(":")[1] ?? source : source;
|
|
523179
523083
|
addNotification({
|
|
523180
523084
|
key: `lsp-error-${source}`,
|
|
523181
|
-
jsx: /* @__PURE__ */
|
|
523085
|
+
jsx: /* @__PURE__ */ jsx_dev_runtime453.jsxDEV(jsx_dev_runtime453.Fragment, {
|
|
523182
523086
|
children: [
|
|
523183
|
-
/* @__PURE__ */
|
|
523087
|
+
/* @__PURE__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
|
|
523184
523088
|
color: "error",
|
|
523185
523089
|
children: [
|
|
523186
523090
|
"LSP for ",
|
|
@@ -523188,7 +523092,7 @@ function useLspInitializationNotification() {
|
|
|
523188
523092
|
" failed"
|
|
523189
523093
|
]
|
|
523190
523094
|
}, undefined, true, undefined, this),
|
|
523191
|
-
/* @__PURE__ */
|
|
523095
|
+
/* @__PURE__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
|
|
523192
523096
|
dimColor: true,
|
|
523193
523097
|
children: " · /plugin for details"
|
|
523194
523098
|
}, undefined, false, undefined, this)
|
|
@@ -523260,16 +523164,16 @@ function useLspInitializationNotification() {
|
|
|
523260
523164
|
}
|
|
523261
523165
|
React149.useEffect(t3, t4);
|
|
523262
523166
|
}
|
|
523263
|
-
function
|
|
523167
|
+
function _temp286(e) {
|
|
523264
523168
|
if (e.type === "generic-error") {
|
|
523265
523169
|
return `generic-error:${e.source}:${e.error}`;
|
|
523266
523170
|
}
|
|
523267
523171
|
return `${e.type}:${e.source}`;
|
|
523268
523172
|
}
|
|
523269
|
-
function
|
|
523173
|
+
function _temp207() {
|
|
523270
523174
|
return isEnvTruthy("true");
|
|
523271
523175
|
}
|
|
523272
|
-
var
|
|
523176
|
+
var import_react_compiler_runtime350, React149, jsx_dev_runtime453, LSP_POLL_INTERVAL_MS = 5000;
|
|
523273
523177
|
var init_useLspInitializationNotification = __esm(() => {
|
|
523274
523178
|
init_dist();
|
|
523275
523179
|
init_state();
|
|
@@ -523279,9 +523183,9 @@ var init_useLspInitializationNotification = __esm(() => {
|
|
|
523279
523183
|
init_AppState();
|
|
523280
523184
|
init_debug();
|
|
523281
523185
|
init_envUtils();
|
|
523282
|
-
|
|
523186
|
+
import_react_compiler_runtime350 = __toESM(require_dist4(), 1);
|
|
523283
523187
|
React149 = __toESM(require_react(), 1);
|
|
523284
|
-
|
|
523188
|
+
jsx_dev_runtime453 = __toESM(require_jsx_dev_runtime(), 1);
|
|
523285
523189
|
});
|
|
523286
523190
|
|
|
523287
523191
|
// src/utils/binaryCheck.ts
|
|
@@ -523492,7 +523396,7 @@ var init_lspRecommendation = __esm(() => {
|
|
|
523492
523396
|
|
|
523493
523397
|
// src/hooks/usePluginRecommendationBase.tsx
|
|
523494
523398
|
function usePluginRecommendationBase() {
|
|
523495
|
-
const $2 =
|
|
523399
|
+
const $2 = import_react_compiler_runtime351.c(6);
|
|
523496
523400
|
const [recommendation, setRecommendation] = React150.useState(null);
|
|
523497
523401
|
const isCheckingRef = React150.useRef(false);
|
|
523498
523402
|
let t0;
|
|
@@ -523554,7 +523458,7 @@ async function installPluginAndNotify(pluginId, pluginName, keyPrefix, addNotifi
|
|
|
523554
523458
|
await install(pluginData);
|
|
523555
523459
|
addNotification({
|
|
523556
523460
|
key: `${keyPrefix}-installed`,
|
|
523557
|
-
jsx: /* @__PURE__ */
|
|
523461
|
+
jsx: /* @__PURE__ */ jsx_dev_runtime454.jsxDEV(ThemedText, {
|
|
523558
523462
|
color: "success",
|
|
523559
523463
|
children: [
|
|
523560
523464
|
figures_default.tick,
|
|
@@ -523570,7 +523474,7 @@ async function installPluginAndNotify(pluginId, pluginName, keyPrefix, addNotifi
|
|
|
523570
523474
|
logError2(error42);
|
|
523571
523475
|
addNotification({
|
|
523572
523476
|
key: `${keyPrefix}-install-failed`,
|
|
523573
|
-
jsx: /* @__PURE__ */
|
|
523477
|
+
jsx: /* @__PURE__ */ jsx_dev_runtime454.jsxDEV(ThemedText, {
|
|
523574
523478
|
color: "error",
|
|
523575
523479
|
children: [
|
|
523576
523480
|
"Failed to install ",
|
|
@@ -523582,23 +523486,23 @@ async function installPluginAndNotify(pluginId, pluginName, keyPrefix, addNotifi
|
|
|
523582
523486
|
});
|
|
523583
523487
|
}
|
|
523584
523488
|
}
|
|
523585
|
-
var
|
|
523489
|
+
var import_react_compiler_runtime351, React150, jsx_dev_runtime454;
|
|
523586
523490
|
var init_usePluginRecommendationBase = __esm(() => {
|
|
523587
523491
|
init_figures();
|
|
523588
523492
|
init_state();
|
|
523589
523493
|
init_ink2();
|
|
523590
523494
|
init_log3();
|
|
523591
523495
|
init_marketplaceManager();
|
|
523592
|
-
|
|
523496
|
+
import_react_compiler_runtime351 = __toESM(require_dist4(), 1);
|
|
523593
523497
|
React150 = __toESM(require_react(), 1);
|
|
523594
|
-
|
|
523498
|
+
jsx_dev_runtime454 = __toESM(require_jsx_dev_runtime(), 1);
|
|
523595
523499
|
});
|
|
523596
523500
|
|
|
523597
523501
|
// src/hooks/useLspPluginRecommendation.tsx
|
|
523598
523502
|
import { extname as extname16, join as join142 } from "path";
|
|
523599
523503
|
function useLspPluginRecommendation() {
|
|
523600
|
-
const $2 =
|
|
523601
|
-
const trackedFiles = useAppState(
|
|
523504
|
+
const $2 = import_react_compiler_runtime352.c(12);
|
|
523505
|
+
const trackedFiles = useAppState(_temp208);
|
|
523602
523506
|
const {
|
|
523603
523507
|
addNotification
|
|
523604
523508
|
} = useNotifications();
|
|
@@ -523706,7 +523610,7 @@ function useLspPluginRecommendation() {
|
|
|
523706
523610
|
break bb60;
|
|
523707
523611
|
}
|
|
523708
523612
|
case "disable": {
|
|
523709
|
-
saveGlobalConfig(
|
|
523613
|
+
saveGlobalConfig(_temp287);
|
|
523710
523614
|
}
|
|
523711
523615
|
}
|
|
523712
523616
|
clearRecommendation();
|
|
@@ -523733,7 +523637,7 @@ function useLspPluginRecommendation() {
|
|
|
523733
523637
|
}
|
|
523734
523638
|
return t4;
|
|
523735
523639
|
}
|
|
523736
|
-
function
|
|
523640
|
+
function _temp287(current) {
|
|
523737
523641
|
if (current.lspRecommendationDisabled) {
|
|
523738
523642
|
return current;
|
|
523739
523643
|
}
|
|
@@ -523742,10 +523646,10 @@ function _temp288(current) {
|
|
|
523742
523646
|
lspRecommendationDisabled: true
|
|
523743
523647
|
};
|
|
523744
523648
|
}
|
|
523745
|
-
function
|
|
523649
|
+
function _temp208(s) {
|
|
523746
523650
|
return s.fileHistory.trackedFiles;
|
|
523747
523651
|
}
|
|
523748
|
-
var
|
|
523652
|
+
var import_react_compiler_runtime352, React151, TIMEOUT_THRESHOLD_MS = 28000;
|
|
523749
523653
|
var init_useLspPluginRecommendation = __esm(() => {
|
|
523750
523654
|
init_state();
|
|
523751
523655
|
init_notifications();
|
|
@@ -523757,7 +523661,7 @@ var init_useLspPluginRecommendation = __esm(() => {
|
|
|
523757
523661
|
init_pluginInstallationHelpers();
|
|
523758
523662
|
init_settings2();
|
|
523759
523663
|
init_usePluginRecommendationBase();
|
|
523760
|
-
|
|
523664
|
+
import_react_compiler_runtime352 = __toESM(require_dist4(), 1);
|
|
523761
523665
|
React151 = __toESM(require_react(), 1);
|
|
523762
523666
|
});
|
|
523763
523667
|
|
|
@@ -523791,10 +523695,10 @@ function LspRecommendationMenu({
|
|
|
523791
523695
|
}
|
|
523792
523696
|
}
|
|
523793
523697
|
const options2 = [{
|
|
523794
|
-
label: /* @__PURE__ */
|
|
523698
|
+
label: /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523795
523699
|
children: [
|
|
523796
523700
|
"Yes, install ",
|
|
523797
|
-
/* @__PURE__ */
|
|
523701
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523798
523702
|
bold: true,
|
|
523799
523703
|
children: pluginName
|
|
523800
523704
|
}, undefined, false, undefined, this)
|
|
@@ -523805,10 +523709,10 @@ function LspRecommendationMenu({
|
|
|
523805
523709
|
label: "No, not now",
|
|
523806
523710
|
value: "no"
|
|
523807
523711
|
}, {
|
|
523808
|
-
label: /* @__PURE__ */
|
|
523712
|
+
label: /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523809
523713
|
children: [
|
|
523810
523714
|
"Never for ",
|
|
523811
|
-
/* @__PURE__ */
|
|
523715
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523812
523716
|
bold: true,
|
|
523813
523717
|
children: pluginName
|
|
523814
523718
|
}, undefined, false, undefined, this)
|
|
@@ -523819,27 +523723,27 @@ function LspRecommendationMenu({
|
|
|
523819
523723
|
label: "Disable all LSP recommendations",
|
|
523820
523724
|
value: "disable"
|
|
523821
523725
|
}];
|
|
523822
|
-
return /* @__PURE__ */
|
|
523726
|
+
return /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(PermissionDialog, {
|
|
523823
523727
|
title: "LSP Plugin Recommendation",
|
|
523824
|
-
children: /* @__PURE__ */
|
|
523728
|
+
children: /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
|
|
523825
523729
|
flexDirection: "column",
|
|
523826
523730
|
paddingX: 2,
|
|
523827
523731
|
paddingY: 1,
|
|
523828
523732
|
children: [
|
|
523829
|
-
/* @__PURE__ */
|
|
523733
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
|
|
523830
523734
|
marginBottom: 1,
|
|
523831
|
-
children: /* @__PURE__ */
|
|
523735
|
+
children: /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523832
523736
|
dimColor: true,
|
|
523833
523737
|
children: "LSP provides code intelligence like go-to-definition and error checking"
|
|
523834
523738
|
}, undefined, false, undefined, this)
|
|
523835
523739
|
}, undefined, false, undefined, this),
|
|
523836
|
-
/* @__PURE__ */
|
|
523740
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
|
|
523837
523741
|
children: [
|
|
523838
|
-
/* @__PURE__ */
|
|
523742
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523839
523743
|
dimColor: true,
|
|
523840
523744
|
children: "Plugin:"
|
|
523841
523745
|
}, undefined, false, undefined, this),
|
|
523842
|
-
/* @__PURE__ */
|
|
523746
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523843
523747
|
children: [
|
|
523844
523748
|
" ",
|
|
523845
523749
|
pluginName
|
|
@@ -523847,19 +523751,19 @@ function LspRecommendationMenu({
|
|
|
523847
523751
|
}, undefined, true, undefined, this)
|
|
523848
523752
|
]
|
|
523849
523753
|
}, undefined, true, undefined, this),
|
|
523850
|
-
pluginDescription && /* @__PURE__ */
|
|
523851
|
-
children: /* @__PURE__ */
|
|
523754
|
+
pluginDescription && /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
|
|
523755
|
+
children: /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523852
523756
|
dimColor: true,
|
|
523853
523757
|
children: pluginDescription
|
|
523854
523758
|
}, undefined, false, undefined, this)
|
|
523855
523759
|
}, undefined, false, undefined, this),
|
|
523856
|
-
/* @__PURE__ */
|
|
523760
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
|
|
523857
523761
|
children: [
|
|
523858
|
-
/* @__PURE__ */
|
|
523762
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523859
523763
|
dimColor: true,
|
|
523860
523764
|
children: "Triggered by:"
|
|
523861
523765
|
}, undefined, false, undefined, this),
|
|
523862
|
-
/* @__PURE__ */
|
|
523766
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523863
523767
|
children: [
|
|
523864
523768
|
" ",
|
|
523865
523769
|
fileExtension3,
|
|
@@ -523868,14 +523772,14 @@ function LspRecommendationMenu({
|
|
|
523868
523772
|
}, undefined, true, undefined, this)
|
|
523869
523773
|
]
|
|
523870
523774
|
}, undefined, true, undefined, this),
|
|
523871
|
-
/* @__PURE__ */
|
|
523775
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
|
|
523872
523776
|
marginTop: 1,
|
|
523873
|
-
children: /* @__PURE__ */
|
|
523777
|
+
children: /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
|
|
523874
523778
|
children: "Would you like to install this LSP plugin?"
|
|
523875
523779
|
}, undefined, false, undefined, this)
|
|
523876
523780
|
}, undefined, false, undefined, this),
|
|
523877
|
-
/* @__PURE__ */
|
|
523878
|
-
children: /* @__PURE__ */
|
|
523781
|
+
/* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
|
|
523782
|
+
children: /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(Select, {
|
|
523879
523783
|
options: options2,
|
|
523880
523784
|
onChange: onSelect,
|
|
523881
523785
|
onCancel: () => onResponse("no")
|
|
@@ -523885,18 +523789,18 @@ function LspRecommendationMenu({
|
|
|
523885
523789
|
}, undefined, true, undefined, this)
|
|
523886
523790
|
}, undefined, false, undefined, this);
|
|
523887
523791
|
}
|
|
523888
|
-
var React152,
|
|
523792
|
+
var React152, jsx_dev_runtime455, AUTO_DISMISS_MS2 = 30000;
|
|
523889
523793
|
var init_LspRecommendationMenu = __esm(() => {
|
|
523890
523794
|
init_ink2();
|
|
523891
523795
|
init_select();
|
|
523892
523796
|
init_PermissionDialog();
|
|
523893
523797
|
React152 = __toESM(require_react(), 1);
|
|
523894
|
-
|
|
523798
|
+
jsx_dev_runtime455 = __toESM(require_jsx_dev_runtime(), 1);
|
|
523895
523799
|
});
|
|
523896
523800
|
|
|
523897
523801
|
// src/hooks/useClaudeCodeHintRecommendation.tsx
|
|
523898
523802
|
function useMaximoCodeHintRecommendation() {
|
|
523899
|
-
const $2 =
|
|
523803
|
+
const $2 = import_react_compiler_runtime353.c(11);
|
|
523900
523804
|
const pendingHint2 = React153.useSyncExternalStore(subscribeToPendingHint, getPendingHintSnapshot);
|
|
523901
523805
|
const { addNotification } = useNotifications();
|
|
523902
523806
|
const { recommendation, clearRecommendation, tryResolve } = usePluginRecommendationBase();
|
|
@@ -523989,7 +523893,7 @@ function useMaximoCodeHintRecommendation() {
|
|
|
523989
523893
|
}
|
|
523990
523894
|
return t3;
|
|
523991
523895
|
}
|
|
523992
|
-
var
|
|
523896
|
+
var import_react_compiler_runtime353, React153;
|
|
523993
523897
|
var init_useClaudeCodeHintRecommendation = __esm(() => {
|
|
523994
523898
|
init_notifications();
|
|
523995
523899
|
init_analytics();
|
|
@@ -523998,7 +523902,7 @@ var init_useClaudeCodeHintRecommendation = __esm(() => {
|
|
|
523998
523902
|
init_hintRecommendation();
|
|
523999
523903
|
init_pluginInstallationHelpers();
|
|
524000
523904
|
init_usePluginRecommendationBase();
|
|
524001
|
-
|
|
523905
|
+
import_react_compiler_runtime353 = __toESM(require_dist4(), 1);
|
|
524002
523906
|
React153 = __toESM(require_react(), 1);
|
|
524003
523907
|
});
|
|
524004
523908
|
|
|
@@ -524029,10 +523933,10 @@ function PluginHintMenu({
|
|
|
524029
523933
|
}
|
|
524030
523934
|
}
|
|
524031
523935
|
const options2 = [{
|
|
524032
|
-
label: /* @__PURE__ */
|
|
523936
|
+
label: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524033
523937
|
children: [
|
|
524034
523938
|
"Yes, install ",
|
|
524035
|
-
/* @__PURE__ */
|
|
523939
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524036
523940
|
bold: true,
|
|
524037
523941
|
children: pluginName
|
|
524038
523942
|
}, undefined, false, undefined, this)
|
|
@@ -524046,20 +523950,20 @@ function PluginHintMenu({
|
|
|
524046
523950
|
label: "No, and don't show plugin installation hints again",
|
|
524047
523951
|
value: "disable"
|
|
524048
523952
|
}];
|
|
524049
|
-
return /* @__PURE__ */
|
|
523953
|
+
return /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(PermissionDialog, {
|
|
524050
523954
|
title: "Plugin Recommendation",
|
|
524051
|
-
children: /* @__PURE__ */
|
|
523955
|
+
children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
|
|
524052
523956
|
flexDirection: "column",
|
|
524053
523957
|
paddingX: 2,
|
|
524054
523958
|
paddingY: 1,
|
|
524055
523959
|
children: [
|
|
524056
|
-
/* @__PURE__ */
|
|
523960
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
|
|
524057
523961
|
marginBottom: 1,
|
|
524058
|
-
children: /* @__PURE__ */
|
|
523962
|
+
children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524059
523963
|
dimColor: true,
|
|
524060
523964
|
children: [
|
|
524061
523965
|
"The ",
|
|
524062
|
-
/* @__PURE__ */
|
|
523966
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524063
523967
|
bold: true,
|
|
524064
523968
|
children: sourceCommand
|
|
524065
523969
|
}, undefined, false, undefined, this),
|
|
@@ -524067,13 +523971,13 @@ function PluginHintMenu({
|
|
|
524067
523971
|
]
|
|
524068
523972
|
}, undefined, true, undefined, this)
|
|
524069
523973
|
}, undefined, false, undefined, this),
|
|
524070
|
-
/* @__PURE__ */
|
|
523974
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
|
|
524071
523975
|
children: [
|
|
524072
|
-
/* @__PURE__ */
|
|
523976
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524073
523977
|
dimColor: true,
|
|
524074
523978
|
children: "Plugin:"
|
|
524075
523979
|
}, undefined, false, undefined, this),
|
|
524076
|
-
/* @__PURE__ */
|
|
523980
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524077
523981
|
children: [
|
|
524078
523982
|
" ",
|
|
524079
523983
|
pluginName
|
|
@@ -524081,13 +523985,13 @@ function PluginHintMenu({
|
|
|
524081
523985
|
}, undefined, true, undefined, this)
|
|
524082
523986
|
]
|
|
524083
523987
|
}, undefined, true, undefined, this),
|
|
524084
|
-
/* @__PURE__ */
|
|
523988
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
|
|
524085
523989
|
children: [
|
|
524086
|
-
/* @__PURE__ */
|
|
523990
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524087
523991
|
dimColor: true,
|
|
524088
523992
|
children: "Marketplace:"
|
|
524089
523993
|
}, undefined, false, undefined, this),
|
|
524090
|
-
/* @__PURE__ */
|
|
523994
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524091
523995
|
children: [
|
|
524092
523996
|
" ",
|
|
524093
523997
|
marketplaceName
|
|
@@ -524095,20 +523999,20 @@ function PluginHintMenu({
|
|
|
524095
523999
|
}, undefined, true, undefined, this)
|
|
524096
524000
|
]
|
|
524097
524001
|
}, undefined, true, undefined, this),
|
|
524098
|
-
pluginDescription && /* @__PURE__ */
|
|
524099
|
-
children: /* @__PURE__ */
|
|
524002
|
+
pluginDescription && /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
|
|
524003
|
+
children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524100
524004
|
dimColor: true,
|
|
524101
524005
|
children: pluginDescription
|
|
524102
524006
|
}, undefined, false, undefined, this)
|
|
524103
524007
|
}, undefined, false, undefined, this),
|
|
524104
|
-
/* @__PURE__ */
|
|
524008
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
|
|
524105
524009
|
marginTop: 1,
|
|
524106
|
-
children: /* @__PURE__ */
|
|
524010
|
+
children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
|
|
524107
524011
|
children: "Would you like to install it?"
|
|
524108
524012
|
}, undefined, false, undefined, this)
|
|
524109
524013
|
}, undefined, false, undefined, this),
|
|
524110
|
-
/* @__PURE__ */
|
|
524111
|
-
children: /* @__PURE__ */
|
|
524014
|
+
/* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
|
|
524015
|
+
children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(Select, {
|
|
524112
524016
|
options: options2,
|
|
524113
524017
|
onChange: onSelect,
|
|
524114
524018
|
onCancel: () => onResponse("no")
|
|
@@ -524118,13 +524022,205 @@ function PluginHintMenu({
|
|
|
524118
524022
|
}, undefined, true, undefined, this)
|
|
524119
524023
|
}, undefined, false, undefined, this);
|
|
524120
524024
|
}
|
|
524121
|
-
var React154,
|
|
524025
|
+
var React154, jsx_dev_runtime456, AUTO_DISMISS_MS3 = 30000;
|
|
524122
524026
|
var init_PluginHintMenu = __esm(() => {
|
|
524123
524027
|
init_ink2();
|
|
524124
524028
|
init_select();
|
|
524125
524029
|
init_PermissionDialog();
|
|
524126
524030
|
React154 = __toESM(require_react(), 1);
|
|
524031
|
+
jsx_dev_runtime456 = __toESM(require_jsx_dev_runtime(), 1);
|
|
524032
|
+
});
|
|
524033
|
+
|
|
524034
|
+
// src/components/DesktopUpsell/DesktopUpsellStartup.tsx
|
|
524035
|
+
function getDesktopUpsellConfig() {
|
|
524036
|
+
return getDynamicConfig_CACHED_MAY_BE_STALE("tengu_desktop_upsell", DESKTOP_UPSELL_DEFAULT);
|
|
524037
|
+
}
|
|
524038
|
+
function isSupportedPlatform3() {
|
|
524039
|
+
return process.platform === "darwin" || process.platform === "win32" && process.arch === "x64";
|
|
524040
|
+
}
|
|
524041
|
+
function shouldShowDesktopUpsellStartup() {
|
|
524042
|
+
if (!isSupportedPlatform3())
|
|
524043
|
+
return false;
|
|
524044
|
+
if (!getDesktopUpsellConfig().enable_startup_dialog)
|
|
524045
|
+
return false;
|
|
524046
|
+
const config3 = getGlobalConfig();
|
|
524047
|
+
if (config3.desktopUpsellDismissed)
|
|
524048
|
+
return false;
|
|
524049
|
+
if ((config3.desktopUpsellSeenCount ?? 0) >= 3)
|
|
524050
|
+
return false;
|
|
524051
|
+
return true;
|
|
524052
|
+
}
|
|
524053
|
+
function DesktopUpsellStartup(t0) {
|
|
524054
|
+
const $2 = import_react_compiler_runtime354.c(14);
|
|
524055
|
+
const { onDone } = t0;
|
|
524056
|
+
const [showHandoff, setShowHandoff] = import_react305.useState(false);
|
|
524057
|
+
let t1;
|
|
524058
|
+
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
524059
|
+
t1 = [];
|
|
524060
|
+
$2[0] = t1;
|
|
524061
|
+
} else {
|
|
524062
|
+
t1 = $2[0];
|
|
524063
|
+
}
|
|
524064
|
+
import_react305.useEffect(_temp209, t1);
|
|
524065
|
+
if (showHandoff) {
|
|
524066
|
+
let t22;
|
|
524067
|
+
if ($2[1] !== onDone) {
|
|
524068
|
+
t22 = /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(DesktopHandoff, {
|
|
524069
|
+
onDone: () => onDone()
|
|
524070
|
+
}, undefined, false, undefined, this);
|
|
524071
|
+
$2[1] = onDone;
|
|
524072
|
+
$2[2] = t22;
|
|
524073
|
+
} else {
|
|
524074
|
+
t22 = $2[2];
|
|
524075
|
+
}
|
|
524076
|
+
return t22;
|
|
524077
|
+
}
|
|
524078
|
+
let t2;
|
|
524079
|
+
if ($2[3] !== onDone) {
|
|
524080
|
+
t2 = function handleSelect2(value) {
|
|
524081
|
+
switch (value) {
|
|
524082
|
+
case "try": {
|
|
524083
|
+
setShowHandoff(true);
|
|
524084
|
+
return;
|
|
524085
|
+
}
|
|
524086
|
+
case "never": {
|
|
524087
|
+
saveGlobalConfig(_temp288);
|
|
524088
|
+
onDone();
|
|
524089
|
+
return;
|
|
524090
|
+
}
|
|
524091
|
+
case "not-now": {
|
|
524092
|
+
onDone();
|
|
524093
|
+
return;
|
|
524094
|
+
}
|
|
524095
|
+
}
|
|
524096
|
+
};
|
|
524097
|
+
$2[3] = onDone;
|
|
524098
|
+
$2[4] = t2;
|
|
524099
|
+
} else {
|
|
524100
|
+
t2 = $2[4];
|
|
524101
|
+
}
|
|
524102
|
+
const handleSelect = t2;
|
|
524103
|
+
let t3;
|
|
524104
|
+
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
524105
|
+
t3 = {
|
|
524106
|
+
label: "Open in Maximo Syntax Desktop",
|
|
524107
|
+
value: "try"
|
|
524108
|
+
};
|
|
524109
|
+
$2[5] = t3;
|
|
524110
|
+
} else {
|
|
524111
|
+
t3 = $2[5];
|
|
524112
|
+
}
|
|
524113
|
+
let t4;
|
|
524114
|
+
if ($2[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
524115
|
+
t4 = {
|
|
524116
|
+
label: "Not now",
|
|
524117
|
+
value: "not-now"
|
|
524118
|
+
};
|
|
524119
|
+
$2[6] = t4;
|
|
524120
|
+
} else {
|
|
524121
|
+
t4 = $2[6];
|
|
524122
|
+
}
|
|
524123
|
+
let t5;
|
|
524124
|
+
if ($2[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
524125
|
+
t5 = [
|
|
524126
|
+
t3,
|
|
524127
|
+
t4,
|
|
524128
|
+
{
|
|
524129
|
+
label: "Don't ask again",
|
|
524130
|
+
value: "never"
|
|
524131
|
+
}
|
|
524132
|
+
];
|
|
524133
|
+
$2[7] = t5;
|
|
524134
|
+
} else {
|
|
524135
|
+
t5 = $2[7];
|
|
524136
|
+
}
|
|
524137
|
+
const options2 = t5;
|
|
524138
|
+
let t6;
|
|
524139
|
+
if ($2[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
524140
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedBox_default, {
|
|
524141
|
+
marginBottom: 1,
|
|
524142
|
+
children: /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
|
|
524143
|
+
children: "Same Maximo Syntax with visual diffs, live app preview, parallel sessions, and more."
|
|
524144
|
+
}, undefined, false, undefined, this)
|
|
524145
|
+
}, undefined, false, undefined, this);
|
|
524146
|
+
$2[8] = t6;
|
|
524147
|
+
} else {
|
|
524148
|
+
t6 = $2[8];
|
|
524149
|
+
}
|
|
524150
|
+
let t7;
|
|
524151
|
+
if ($2[9] !== handleSelect) {
|
|
524152
|
+
t7 = () => handleSelect("not-now");
|
|
524153
|
+
$2[9] = handleSelect;
|
|
524154
|
+
$2[10] = t7;
|
|
524155
|
+
} else {
|
|
524156
|
+
t7 = $2[10];
|
|
524157
|
+
}
|
|
524158
|
+
let t8;
|
|
524159
|
+
if ($2[11] !== handleSelect || $2[12] !== t7) {
|
|
524160
|
+
t8 = /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(PermissionDialog, {
|
|
524161
|
+
title: "Try Maximo Syntax Desktop",
|
|
524162
|
+
children: /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedBox_default, {
|
|
524163
|
+
flexDirection: "column",
|
|
524164
|
+
paddingX: 2,
|
|
524165
|
+
paddingY: 1,
|
|
524166
|
+
children: [
|
|
524167
|
+
t6,
|
|
524168
|
+
/* @__PURE__ */ jsx_dev_runtime457.jsxDEV(Select, {
|
|
524169
|
+
options: options2,
|
|
524170
|
+
onChange: handleSelect,
|
|
524171
|
+
onCancel: t7
|
|
524172
|
+
}, undefined, false, undefined, this)
|
|
524173
|
+
]
|
|
524174
|
+
}, undefined, true, undefined, this)
|
|
524175
|
+
}, undefined, false, undefined, this);
|
|
524176
|
+
$2[11] = handleSelect;
|
|
524177
|
+
$2[12] = t7;
|
|
524178
|
+
$2[13] = t8;
|
|
524179
|
+
} else {
|
|
524180
|
+
t8 = $2[13];
|
|
524181
|
+
}
|
|
524182
|
+
return t8;
|
|
524183
|
+
}
|
|
524184
|
+
function _temp288(prev_0) {
|
|
524185
|
+
if (prev_0.desktopUpsellDismissed) {
|
|
524186
|
+
return prev_0;
|
|
524187
|
+
}
|
|
524188
|
+
return {
|
|
524189
|
+
...prev_0,
|
|
524190
|
+
desktopUpsellDismissed: true
|
|
524191
|
+
};
|
|
524192
|
+
}
|
|
524193
|
+
function _temp209() {
|
|
524194
|
+
const newCount = (getGlobalConfig().desktopUpsellSeenCount ?? 0) + 1;
|
|
524195
|
+
saveGlobalConfig((prev) => {
|
|
524196
|
+
if ((prev.desktopUpsellSeenCount ?? 0) >= newCount) {
|
|
524197
|
+
return prev;
|
|
524198
|
+
}
|
|
524199
|
+
return {
|
|
524200
|
+
...prev,
|
|
524201
|
+
desktopUpsellSeenCount: newCount
|
|
524202
|
+
};
|
|
524203
|
+
});
|
|
524204
|
+
logEvent("tengu_desktop_upsell_shown", {
|
|
524205
|
+
seen_count: newCount
|
|
524206
|
+
});
|
|
524207
|
+
}
|
|
524208
|
+
var import_react_compiler_runtime354, import_react305, jsx_dev_runtime457, DESKTOP_UPSELL_DEFAULT;
|
|
524209
|
+
var init_DesktopUpsellStartup = __esm(() => {
|
|
524210
|
+
init_ink2();
|
|
524211
|
+
init_growthbook();
|
|
524212
|
+
init_analytics();
|
|
524213
|
+
init_config2();
|
|
524214
|
+
init_select();
|
|
524215
|
+
init_DesktopHandoff();
|
|
524216
|
+
init_PermissionDialog();
|
|
524217
|
+
import_react_compiler_runtime354 = __toESM(require_dist4(), 1);
|
|
524218
|
+
import_react305 = __toESM(require_react(), 1);
|
|
524127
524219
|
jsx_dev_runtime457 = __toESM(require_jsx_dev_runtime(), 1);
|
|
524220
|
+
DESKTOP_UPSELL_DEFAULT = {
|
|
524221
|
+
enable_shortcut_tip: false,
|
|
524222
|
+
enable_startup_dialog: false
|
|
524223
|
+
};
|
|
524128
524224
|
});
|
|
524129
524225
|
|
|
524130
524226
|
// src/hooks/notifs/usePluginInstallationStatus.tsx
|
|
@@ -531240,7 +531336,7 @@ function SetupRow({ children }) {
|
|
|
531240
531336
|
}
|
|
531241
531337
|
function WelcomeV2() {
|
|
531242
531338
|
const { columns } = useTerminalSize();
|
|
531243
|
-
const version3 = "0.1.
|
|
531339
|
+
const version3 = "0.1.14";
|
|
531244
531340
|
const width = Math.max(48, Math.min(columns || 92, 92));
|
|
531245
531341
|
const stacked = width < OCTOPUS_COMPACT_WIDTH + 42;
|
|
531246
531342
|
return /* @__PURE__ */ jsx_dev_runtime475.jsxDEV(ThemedBox_default, {
|
|
@@ -549218,6 +549314,7 @@ function startDeferredPrefetches() {
|
|
|
549218
549314
|
initializeAnalyticsGates();
|
|
549219
549315
|
prefetchOfficialMcpUrls();
|
|
549220
549316
|
refreshModelCapabilities();
|
|
549317
|
+
prefetchMaximoModels();
|
|
549221
549318
|
settingsChangeDetector.initialize();
|
|
549222
549319
|
if (!isBareMode()) {
|
|
549223
549320
|
skillChangeDetector.initialize();
|
|
@@ -551014,7 +551111,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
551014
551111
|
pendingHookMessages
|
|
551015
551112
|
}, renderAndRun);
|
|
551016
551113
|
}
|
|
551017
|
-
}).version("0.1.
|
|
551114
|
+
}).version("0.1.14 (Maximo Syntax)", "-v, --version", "Output the version number");
|
|
551018
551115
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
551019
551116
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
551020
551117
|
if (canUserConfigureAdvisor()) {
|
|
@@ -551418,6 +551515,7 @@ var init_main3 = __esm(() => {
|
|
|
551418
551515
|
init_fsOperations();
|
|
551419
551516
|
init_gracefulShutdown();
|
|
551420
551517
|
init_hookEvents();
|
|
551518
|
+
init_maximoModels();
|
|
551421
551519
|
init_modelCapabilities();
|
|
551422
551520
|
init_Shell();
|
|
551423
551521
|
init_sessionRestore();
|
|
@@ -551519,7 +551617,7 @@ function validateProviderEnvOrExit() {
|
|
|
551519
551617
|
async function main2() {
|
|
551520
551618
|
const args = process.argv.slice(2);
|
|
551521
551619
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
551522
|
-
console.log(`${"0.1.
|
|
551620
|
+
console.log(`${"0.1.14"} (Maximo Syntax)`);
|
|
551523
551621
|
return;
|
|
551524
551622
|
}
|
|
551525
551623
|
validateProviderEnvOrExit();
|
|
@@ -551588,4 +551686,4 @@ async function main2() {
|
|
|
551588
551686
|
}
|
|
551589
551687
|
main2();
|
|
551590
551688
|
|
|
551591
|
-
//# debugId=
|
|
551689
|
+
//# debugId=97E65E9B2A55182164756E2164756E21
|