@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.
Files changed (2) hide show
  1. package/dist/cli.mjs +610 -512
  2. 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-05T14:46:29.056Z",
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-05T14:46:29.056Z").getTime();
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: Math.min(COMPACT_MAX_OUTPUT_TOKENS, getMaxOutputTokensForModel(context6.options.mainLoopModel)),
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
- return contextWindow - reservedTokensForSummary;
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 MAX_OUTPUT_TOKENS_FOR_SUMMARY = 20000, AUTOCOMPACT_BUFFER_TOKENS = 13000, WARNING_THRESHOLD_BUFFER_TOKENS = 20000, ERROR_THRESHOLD_BUFFER_TOKENS = 20000, MANUAL_COMPACT_BUFFER_TOKENS = 3000, MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3;
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
- init_claude();
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 ? getEffectiveContextWindowSize(model) - AUTOCOMPACT_BUFFER_TOKENS : undefined;
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.13" ?? "99.0.0";
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-05T14:46:29.056Z"})`
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 = import_react302.useRef(false);
522577
- import_react302.useEffect(() => {
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 import_react302;
522485
+ var import_react301;
522588
522486
  var init_useFileHistorySnapshotInit = __esm(() => {
522589
522487
  init_fileHistory();
522590
- import_react302 = __toESM(require_react(), 1);
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 = import_react_compiler_runtime348.c(22);
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__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
522551
+ label: /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedText, {
522654
522552
  children: [
522655
522553
  "Yes, and don't ask again for ",
522656
- /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
522608
+ t9 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
522711
522609
  children: [
522712
522610
  t8,
522713
- /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
522626
+ t10 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(ThemedBox_default, {
522729
522627
  marginTop: 1,
522730
- children: /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
522754
- children: /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(Select, {
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__ */ jsx_dev_runtime451.jsxDEV(PermissionDialog, {
522667
+ t13 = /* @__PURE__ */ jsx_dev_runtime450.jsxDEV(PermissionDialog, {
522770
522668
  title: "Network request outside of sandbox",
522771
- children: /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
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 import_react_compiler_runtime348, jsx_dev_runtime451;
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
- import_react_compiler_runtime348 = __toESM(require_dist4(), 1);
522797
- jsx_dev_runtime451 = __toESM(require_jsx_dev_runtime(), 1);
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 = import_react_compiler_runtime349.c(15);
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] = import_react303.useState(t0);
522818
- const [totalCount, setTotalCount] = import_react303.useState(0);
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
- import_react303.useEffect(t1, t2);
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__ */ jsx_dev_runtime452.jsxDEV(ThemedBox_default, {
522751
+ t4 = /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
522848
522752
  marginLeft: 0,
522849
- children: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
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(_temp206);
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__ */ jsx_dev_runtime452.jsxDEV(ThemedBox_default, {
522781
+ t7 = /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
522878
522782
  paddingLeft: 2,
522879
- children: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime452.jsxDEV(ThemedBox_default, {
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 _temp206(v, i3) {
522916
- return /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedBox_default, {
522819
+ function _temp205(v, i3) {
522820
+ return /* @__PURE__ */ jsx_dev_runtime451.jsxDEV(ThemedBox_default, {
522917
522821
  paddingLeft: 2,
522918
- children: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
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 import_react_compiler_runtime349, import_react303, jsx_dev_runtime452;
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
- import_react_compiler_runtime349 = __toESM(require_dist4(), 1);
522935
- import_react303 = __toESM(require_react(), 1);
522936
- jsx_dev_runtime452 = __toESM(require_jsx_dev_runtime(), 1);
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 = import_react_compiler_runtime350.c(4);
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(_temp207);
522953
- const failedMaximoAiClients = mcpClients.filter(_temp286);
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__ */ jsx_dev_runtime453.jsxDEV(jsx_dev_runtime453.Fragment, {
522866
+ jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
522963
522867
  children: [
522964
- /* @__PURE__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime453.jsxDEV(jsx_dev_runtime453.Fragment, {
522890
+ jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
522987
522891
  children: [
522988
- /* @__PURE__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime453.jsxDEV(jsx_dev_runtime453.Fragment, {
522915
+ jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
523012
522916
  children: [
523013
- /* @__PURE__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime453.jsxDEV(jsx_dev_runtime453.Fragment, {
522940
+ jsx: /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(jsx_dev_runtime452.Fragment, {
523037
522941
  children: [
523038
- /* @__PURE__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime453.jsxDEV(ThemedText, {
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
- import_react304.useEffect(t2, t3);
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 _temp286(client_0) {
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 _temp207(client3) {
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 import_react_compiler_runtime350, import_react304, jsx_dev_runtime453, EMPTY_MCP_CLIENTS;
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
- import_react_compiler_runtime350 = __toESM(require_dist4(), 1);
523089
- import_react304 = __toESM(require_react(), 1);
523090
- jsx_dev_runtime453 = __toESM(require_jsx_dev_runtime(), 1);
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 = import_react305.useRef(false);
523100
- const prevModeRef = import_react305.useRef(mode);
523101
- import_react305.useEffect(() => {
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 import_react305;
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
- import_react305 = __toESM(require_react(), 1);
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 = import_react_compiler_runtime351.c(10);
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(_temp208);
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(_temp287));
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__ */ jsx_dev_runtime454.jsxDEV(jsx_dev_runtime454.Fragment, {
523085
+ jsx: /* @__PURE__ */ jsx_dev_runtime453.jsxDEV(jsx_dev_runtime453.Fragment, {
523182
523086
  children: [
523183
- /* @__PURE__ */ jsx_dev_runtime454.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime454.jsxDEV(ThemedText, {
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 _temp287(e) {
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 _temp208() {
523173
+ function _temp207() {
523270
523174
  return isEnvTruthy("true");
523271
523175
  }
523272
- var import_react_compiler_runtime351, React149, jsx_dev_runtime454, LSP_POLL_INTERVAL_MS = 5000;
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
- import_react_compiler_runtime351 = __toESM(require_dist4(), 1);
523186
+ import_react_compiler_runtime350 = __toESM(require_dist4(), 1);
523283
523187
  React149 = __toESM(require_react(), 1);
523284
- jsx_dev_runtime454 = __toESM(require_jsx_dev_runtime(), 1);
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 = import_react_compiler_runtime352.c(6);
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__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
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 import_react_compiler_runtime352, React150, jsx_dev_runtime455;
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
- import_react_compiler_runtime352 = __toESM(require_dist4(), 1);
523496
+ import_react_compiler_runtime351 = __toESM(require_dist4(), 1);
523593
523497
  React150 = __toESM(require_react(), 1);
523594
- jsx_dev_runtime455 = __toESM(require_jsx_dev_runtime(), 1);
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 = import_react_compiler_runtime353.c(12);
523601
- const trackedFiles = useAppState(_temp209);
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(_temp288);
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 _temp288(current) {
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 _temp209(s) {
523649
+ function _temp208(s) {
523746
523650
  return s.fileHistory.trackedFiles;
523747
523651
  }
523748
- var import_react_compiler_runtime353, React151, TIMEOUT_THRESHOLD_MS = 28000;
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
- import_react_compiler_runtime353 = __toESM(require_dist4(), 1);
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__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
523698
+ label: /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
523795
523699
  children: [
523796
523700
  "Yes, install ",
523797
- /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
523712
+ label: /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
523809
523713
  children: [
523810
523714
  "Never for ",
523811
- /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime456.jsxDEV(PermissionDialog, {
523726
+ return /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(PermissionDialog, {
523823
523727
  title: "LSP Plugin Recommendation",
523824
- children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
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__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
523733
+ /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
523830
523734
  marginBottom: 1,
523831
- children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
523740
+ /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
523837
523741
  children: [
523838
- /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
523742
+ /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
523839
523743
  dimColor: true,
523840
523744
  children: "Plugin:"
523841
523745
  }, undefined, false, undefined, this),
523842
- /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
523851
- children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
523760
+ /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
523857
523761
  children: [
523858
- /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
523762
+ /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedText, {
523859
523763
  dimColor: true,
523860
523764
  children: "Triggered by:"
523861
523765
  }, undefined, false, undefined, this),
523862
- /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
523775
+ /* @__PURE__ */ jsx_dev_runtime455.jsxDEV(ThemedBox_default, {
523872
523776
  marginTop: 1,
523873
- children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
523878
- children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(Select, {
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, jsx_dev_runtime456, AUTO_DISMISS_MS2 = 30000;
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
- jsx_dev_runtime456 = __toESM(require_jsx_dev_runtime(), 1);
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 = import_react_compiler_runtime354.c(11);
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 import_react_compiler_runtime354, React153;
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
- import_react_compiler_runtime354 = __toESM(require_dist4(), 1);
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__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
523936
+ label: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
524033
523937
  children: [
524034
523938
  "Yes, install ",
524035
- /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime457.jsxDEV(PermissionDialog, {
523953
+ return /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(PermissionDialog, {
524050
523954
  title: "Plugin Recommendation",
524051
- children: /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedBox_default, {
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__ */ jsx_dev_runtime457.jsxDEV(ThemedBox_default, {
523960
+ /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
524057
523961
  marginBottom: 1,
524058
- children: /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
523962
+ children: /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
524059
523963
  dimColor: true,
524060
523964
  children: [
524061
523965
  "The ",
524062
- /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime457.jsxDEV(ThemedBox_default, {
523974
+ /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
524071
523975
  children: [
524072
- /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
523976
+ /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
524073
523977
  dimColor: true,
524074
523978
  children: "Plugin:"
524075
523979
  }, undefined, false, undefined, this),
524076
- /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime457.jsxDEV(ThemedBox_default, {
523988
+ /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
524085
523989
  children: [
524086
- /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
523990
+ /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedText, {
524087
523991
  dimColor: true,
524088
523992
  children: "Marketplace:"
524089
523993
  }, undefined, false, undefined, this),
524090
- /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime457.jsxDEV(ThemedBox_default, {
524099
- children: /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime457.jsxDEV(ThemedBox_default, {
524008
+ /* @__PURE__ */ jsx_dev_runtime456.jsxDEV(ThemedBox_default, {
524105
524009
  marginTop: 1,
524106
- children: /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(ThemedText, {
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__ */ jsx_dev_runtime457.jsxDEV(ThemedBox_default, {
524111
- children: /* @__PURE__ */ jsx_dev_runtime457.jsxDEV(Select, {
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, jsx_dev_runtime457, AUTO_DISMISS_MS3 = 30000;
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.13";
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.13 (Maximo Syntax)", "-v, --version", "Output the version number");
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.13"} (Maximo Syntax)`);
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=494D9509BFCC2DF364756E2164756E21
551689
+ //# debugId=97E65E9B2A55182164756E2164756E21