@maximoai/maximo-syntax-cli 0.1.32 → 0.1.34
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 +1292 -764
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -79659,7 +79659,7 @@ var require_eventsource = __commonJS((exports, module) => {
|
|
|
79659
79659
|
|
|
79660
79660
|
// node_modules/undici/index.js
|
|
79661
79661
|
var require_undici = __commonJS((exports, module) => {
|
|
79662
|
-
var __filename = "/
|
|
79662
|
+
var __filename = "/Users/johnsondaniel/Documents/maximo-syntax-cli/node_modules/undici/index.js";
|
|
79663
79663
|
var Client = require_client();
|
|
79664
79664
|
var Dispatcher = require_dispatcher();
|
|
79665
79665
|
var Pool = require_pool();
|
|
@@ -96490,7 +96490,7 @@ var require_package = __commonJS((exports, module) => {
|
|
|
96490
96490
|
|
|
96491
96491
|
// node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js
|
|
96492
96492
|
var require_dist_cjs78 = __commonJS((exports) => {
|
|
96493
|
-
var __dirname = "/
|
|
96493
|
+
var __dirname = "/Users/johnsondaniel/Documents/maximo-syntax-cli/node_modules/@aws-sdk/util-user-agent-node/dist-cjs";
|
|
96494
96494
|
var node_os = __require("node:os");
|
|
96495
96495
|
var node_process = __require("node:process");
|
|
96496
96496
|
var utilConfigProvider = require_dist_cjs63();
|
|
@@ -108410,6 +108410,17 @@ var init_betas = __esm(() => {
|
|
|
108410
108410
|
]);
|
|
108411
108411
|
});
|
|
108412
108412
|
|
|
108413
|
+
// src/utils/model/modelDefaults.ts
|
|
108414
|
+
function normalizeRetiredMytabulonModel(value) {
|
|
108415
|
+
if (value === RETIRED_MYTABULON_MODEL)
|
|
108416
|
+
return MYTABULON_DEFAULT_MODEL;
|
|
108417
|
+
return value;
|
|
108418
|
+
}
|
|
108419
|
+
function chooseMytabulonDefaultModel(modelIds) {
|
|
108420
|
+
return modelIds.find((id) => id === MYTABULON_DEFAULT_MODEL) ?? modelIds.find((id) => id !== RETIRED_MYTABULON_MODEL) ?? MYTABULON_DEFAULT_MODEL;
|
|
108421
|
+
}
|
|
108422
|
+
var MYTABULON_DEFAULT_MODEL = "maximo-atlas-1.2", RETIRED_MYTABULON_MODEL = "maximo-atlas-preview";
|
|
108423
|
+
|
|
108413
108424
|
// src/services/api/maximoModels.ts
|
|
108414
108425
|
function normalizedBaseUrl(baseUrl) {
|
|
108415
108426
|
return (baseUrl || "").replace(/\/+$/, "").toLowerCase();
|
|
@@ -108822,7 +108833,7 @@ async function refreshMyTabulonAccount({
|
|
|
108822
108833
|
};
|
|
108823
108834
|
}
|
|
108824
108835
|
function persistMyTabulonState(apiKey, baseUrl, models, account) {
|
|
108825
|
-
const defaultModel = models.
|
|
108836
|
+
const defaultModel = chooseMytabulonDefaultModel(models.map((model) => model.id));
|
|
108826
108837
|
process.env.MAXIMO_SYNTAX_USE_OPENAI = "1";
|
|
108827
108838
|
process.env.OPENAI_API_KEY = apiKey;
|
|
108828
108839
|
process.env.OPENAI_BASE_URL = baseUrl;
|
|
@@ -109674,13 +109685,13 @@ function isMaximoAIProvider() {
|
|
|
109674
109685
|
return false;
|
|
109675
109686
|
}
|
|
109676
109687
|
function getOpenAIProviderDefaultModel(fallback) {
|
|
109677
|
-
if (process.env.OPENAI_MODEL) {
|
|
109678
|
-
return process.env.OPENAI_MODEL;
|
|
109679
|
-
}
|
|
109680
109688
|
const globalConfig2 = getGlobalConfig();
|
|
109681
109689
|
const baseUrl = process.env.OPENAI_BASE_URL || globalConfig2.openAIBaseUrl || "";
|
|
109690
|
+
if (process.env.OPENAI_MODEL) {
|
|
109691
|
+
return normalizeRetiredMytabulonModel(process.env.OPENAI_MODEL) || process.env.OPENAI_MODEL;
|
|
109692
|
+
}
|
|
109682
109693
|
if (baseUrl.includes("api.mytabulon.com")) {
|
|
109683
|
-
return globalConfig2.mytabulonDefaultModel ||
|
|
109694
|
+
return normalizeRetiredMytabulonModel(globalConfig2.mytabulonDefaultModel) || MYTABULON_DEFAULT_MODEL;
|
|
109684
109695
|
}
|
|
109685
109696
|
if (baseUrl.includes("maximoai.co")) {
|
|
109686
109697
|
return "maximo-pandora-3.8-nano";
|
|
@@ -109716,6 +109727,9 @@ function getUserSpecifiedModelSetting() {
|
|
|
109716
109727
|
const settings = getSettings_DEPRECATED() || {};
|
|
109717
109728
|
specifiedModel = process.env.ANTHROPIC_MODEL || process.env.GEMINI_MODEL || settings.model || process.env.OPENAI_MODEL || undefined;
|
|
109718
109729
|
}
|
|
109730
|
+
if (typeof specifiedModel === "string") {
|
|
109731
|
+
specifiedModel = normalizeRetiredMytabulonModel(specifiedModel);
|
|
109732
|
+
}
|
|
109719
109733
|
if (specifiedModel && !isModelAllowed(specifiedModel)) {
|
|
109720
109734
|
return;
|
|
109721
109735
|
}
|
|
@@ -109812,6 +109826,9 @@ function firstPartyNameToCanonical(name) {
|
|
|
109812
109826
|
if (name.includes("maximo-pandora-3.7-nano")) {
|
|
109813
109827
|
return "maximo-pandora-3.7-nano";
|
|
109814
109828
|
}
|
|
109829
|
+
if (name.includes("maximo-atlas-1.2")) {
|
|
109830
|
+
return "maximo-atlas-1.2";
|
|
109831
|
+
}
|
|
109815
109832
|
if (name.includes("maximo-atlas-preview")) {
|
|
109816
109833
|
return "maximo-atlas-preview";
|
|
109817
109834
|
}
|
|
@@ -109899,7 +109916,7 @@ function getMaximoAiUserDefaultModelDescription(fastMode = false) {
|
|
|
109899
109916
|
if (fastMode) {
|
|
109900
109917
|
return "Pandora 3.8 Nano · Fast & efficient";
|
|
109901
109918
|
}
|
|
109902
|
-
return getOpenAIProviderDefaultModel("maximo-pandora-3.8-nano") ===
|
|
109919
|
+
return getOpenAIProviderDefaultModel("maximo-pandora-3.8-nano") === MYTABULON_DEFAULT_MODEL ? "Atlas 1.2 · Included with MyTabulon Coding Plan" : "Pandora 3.8 Nano · Optimized for coding";
|
|
109903
109920
|
}
|
|
109904
109921
|
if (isMaxSubscriber() || isTeamPremiumSubscriber()) {
|
|
109905
109922
|
if (isOpus1mMergeEnabled()) {
|
|
@@ -123983,7 +124000,7 @@ var init_metadata = __esm(() => {
|
|
|
123983
124000
|
isMaximoAiAuth: isMaximoAISubscriber(),
|
|
123984
124001
|
version: "99.0.0",
|
|
123985
124002
|
versionBase: getVersionBase(),
|
|
123986
|
-
buildTime: "2026-08-
|
|
124003
|
+
buildTime: "2026-08-15T17:26:52.338Z",
|
|
123987
124004
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
123988
124005
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
123989
124006
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -165964,6 +165981,9 @@ function getSupportedEffortLevelsForModel(model) {
|
|
|
165964
165981
|
return providerConfig.supportedEfforts.filter(isEffortLevel);
|
|
165965
165982
|
}
|
|
165966
165983
|
const m = model.toLowerCase();
|
|
165984
|
+
if (m.includes("maximo-atlas-1.2")) {
|
|
165985
|
+
return ["low", "medium", "high", "xhigh", "max"];
|
|
165986
|
+
}
|
|
165967
165987
|
if (m.includes("opus-4-6")) {
|
|
165968
165988
|
return ["low", "medium", "high", "max"];
|
|
165969
165989
|
}
|
|
@@ -263677,10 +263697,496 @@ var init_registerFrontmatterHooks = __esm(() => {
|
|
|
263677
263697
|
init_sessionHooks();
|
|
263678
263698
|
});
|
|
263679
263699
|
|
|
263700
|
+
// src/utils/model/check1mAccess.ts
|
|
263701
|
+
function isExtraUsageEnabled() {
|
|
263702
|
+
const reason = getGlobalConfig().cachedExtraUsageDisabledReason;
|
|
263703
|
+
if (reason === undefined) {
|
|
263704
|
+
return false;
|
|
263705
|
+
}
|
|
263706
|
+
if (reason === null) {
|
|
263707
|
+
return true;
|
|
263708
|
+
}
|
|
263709
|
+
switch (reason) {
|
|
263710
|
+
case "out_of_credits":
|
|
263711
|
+
return true;
|
|
263712
|
+
case "overage_not_provisioned":
|
|
263713
|
+
case "org_level_disabled":
|
|
263714
|
+
case "org_level_disabled_until":
|
|
263715
|
+
case "seat_tier_level_disabled":
|
|
263716
|
+
case "member_level_disabled":
|
|
263717
|
+
case "seat_tier_zero_credit_limit":
|
|
263718
|
+
case "group_zero_credit_limit":
|
|
263719
|
+
case "member_zero_credit_limit":
|
|
263720
|
+
case "org_service_level_disabled":
|
|
263721
|
+
case "org_service_zero_credit_limit":
|
|
263722
|
+
case "no_limits_configured":
|
|
263723
|
+
case "unknown":
|
|
263724
|
+
return false;
|
|
263725
|
+
default:
|
|
263726
|
+
return false;
|
|
263727
|
+
}
|
|
263728
|
+
}
|
|
263729
|
+
function checkOpus1mAccess() {
|
|
263730
|
+
if (is1mContextDisabled()) {
|
|
263731
|
+
return false;
|
|
263732
|
+
}
|
|
263733
|
+
if (isMaximoAISubscriber()) {
|
|
263734
|
+
return isExtraUsageEnabled();
|
|
263735
|
+
}
|
|
263736
|
+
return true;
|
|
263737
|
+
}
|
|
263738
|
+
function checkSonnet1mAccess() {
|
|
263739
|
+
if (is1mContextDisabled()) {
|
|
263740
|
+
return false;
|
|
263741
|
+
}
|
|
263742
|
+
if (isMaximoAISubscriber()) {
|
|
263743
|
+
return isExtraUsageEnabled();
|
|
263744
|
+
}
|
|
263745
|
+
return true;
|
|
263746
|
+
}
|
|
263747
|
+
var init_check1mAccess = __esm(() => {
|
|
263748
|
+
init_auth2();
|
|
263749
|
+
init_config2();
|
|
263750
|
+
init_context();
|
|
263751
|
+
});
|
|
263752
|
+
|
|
263753
|
+
// src/utils/model/modelOptions.ts
|
|
263754
|
+
function getDefaultOptionForUser(fastMode = false) {
|
|
263755
|
+
if (process.env.USER_TYPE === "ant") {
|
|
263756
|
+
const currentModel = renderDefaultModelSetting(getDefaultMainLoopModelSetting());
|
|
263757
|
+
return {
|
|
263758
|
+
value: null,
|
|
263759
|
+
label: "Default (recommended)",
|
|
263760
|
+
description: `Use the default model for Ants (currently ${currentModel})`,
|
|
263761
|
+
descriptionForModel: `Default model (currently ${currentModel})`
|
|
263762
|
+
};
|
|
263763
|
+
}
|
|
263764
|
+
if (isMaximoAISubscriber()) {
|
|
263765
|
+
return {
|
|
263766
|
+
value: null,
|
|
263767
|
+
label: "Default (recommended)",
|
|
263768
|
+
description: getMaximoAiUserDefaultModelDescription(fastMode)
|
|
263769
|
+
};
|
|
263770
|
+
}
|
|
263771
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263772
|
+
return {
|
|
263773
|
+
value: null,
|
|
263774
|
+
label: "Default (recommended)",
|
|
263775
|
+
description: `Use the default model (currently ${renderDefaultModelSetting(getDefaultMainLoopModelSetting())})${is3P ? "" : ` · ${formatModelPricing(COST_TIER_3_15)}`}`
|
|
263776
|
+
};
|
|
263777
|
+
}
|
|
263778
|
+
function getCustomSonnetOption() {
|
|
263779
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263780
|
+
const customSonnetModel = process.env.ANTHROPIC_DEFAULT_SONNET_MODEL;
|
|
263781
|
+
if (is3P && customSonnetModel) {
|
|
263782
|
+
const is1m = has1mContext(customSonnetModel);
|
|
263783
|
+
return {
|
|
263784
|
+
value: "sonnet",
|
|
263785
|
+
label: process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_NAME ?? customSonnetModel,
|
|
263786
|
+
description: process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION ?? `Custom Sonnet model${is1m ? " (1M context)" : ""}`,
|
|
263787
|
+
descriptionForModel: `${process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION ?? `Custom Sonnet model${is1m ? " with 1M context" : ""}`} (${customSonnetModel})`
|
|
263788
|
+
};
|
|
263789
|
+
}
|
|
263790
|
+
}
|
|
263791
|
+
function getSonnet46Option() {
|
|
263792
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263793
|
+
return {
|
|
263794
|
+
value: is3P ? getModelStrings2().sonnet46 : "sonnet",
|
|
263795
|
+
label: "Sonnet",
|
|
263796
|
+
description: `Sonnet 4.6 · Best for everyday tasks${is3P ? "" : ` · ${formatModelPricing(COST_TIER_3_15)}`}`,
|
|
263797
|
+
descriptionForModel: "Sonnet 4.6 - best for everyday tasks. Generally recommended for most coding tasks"
|
|
263798
|
+
};
|
|
263799
|
+
}
|
|
263800
|
+
function getCustomOpusOption() {
|
|
263801
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263802
|
+
const customOpusModel = process.env.ANTHROPIC_DEFAULT_OPUS_MODEL;
|
|
263803
|
+
if (is3P && customOpusModel) {
|
|
263804
|
+
const is1m = has1mContext(customOpusModel);
|
|
263805
|
+
return {
|
|
263806
|
+
value: "opus",
|
|
263807
|
+
label: process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_NAME ?? customOpusModel,
|
|
263808
|
+
description: process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION ?? `Custom Opus model${is1m ? " (1M context)" : ""}`,
|
|
263809
|
+
descriptionForModel: `${process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION ?? `Custom Opus model${is1m ? " with 1M context" : ""}`} (${customOpusModel})`
|
|
263810
|
+
};
|
|
263811
|
+
}
|
|
263812
|
+
}
|
|
263813
|
+
function getOpus41Option() {
|
|
263814
|
+
return {
|
|
263815
|
+
value: "opus",
|
|
263816
|
+
label: "Opus 4.1",
|
|
263817
|
+
description: `Opus 4.1 · Legacy`,
|
|
263818
|
+
descriptionForModel: "Opus 4.1 - legacy version"
|
|
263819
|
+
};
|
|
263820
|
+
}
|
|
263821
|
+
function getOpus46Option(fastMode = false) {
|
|
263822
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263823
|
+
return {
|
|
263824
|
+
value: is3P ? getModelStrings2().opus46 : "opus",
|
|
263825
|
+
label: "Opus",
|
|
263826
|
+
description: `Opus 4.6 · Most capable for complex work${getOpus46PricingSuffix(fastMode)}`,
|
|
263827
|
+
descriptionForModel: "Opus 4.6 - most capable for complex work"
|
|
263828
|
+
};
|
|
263829
|
+
}
|
|
263830
|
+
function getSonnet46_1MOption() {
|
|
263831
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263832
|
+
return {
|
|
263833
|
+
value: is3P ? getModelStrings2().sonnet46 + "[1m]" : "sonnet[1m]",
|
|
263834
|
+
label: "Sonnet (1M context)",
|
|
263835
|
+
description: `Sonnet 4.6 for long sessions${is3P ? "" : ` · ${formatModelPricing(COST_TIER_3_15)}`}`,
|
|
263836
|
+
descriptionForModel: "Sonnet 4.6 with 1M context window - for long sessions with large codebases"
|
|
263837
|
+
};
|
|
263838
|
+
}
|
|
263839
|
+
function getOpus46_1MOption(fastMode = false) {
|
|
263840
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263841
|
+
return {
|
|
263842
|
+
value: is3P ? getModelStrings2().opus46 + "[1m]" : "opus[1m]",
|
|
263843
|
+
label: "Opus (1M context)",
|
|
263844
|
+
description: `Opus 4.6 for long sessions${getOpus46PricingSuffix(fastMode)}`,
|
|
263845
|
+
descriptionForModel: "Opus 4.6 with 1M context window - for long sessions with large codebases"
|
|
263846
|
+
};
|
|
263847
|
+
}
|
|
263848
|
+
function getCustomHaikuOption() {
|
|
263849
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263850
|
+
const customHaikuModel = process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;
|
|
263851
|
+
if (is3P && customHaikuModel) {
|
|
263852
|
+
return {
|
|
263853
|
+
value: "haiku",
|
|
263854
|
+
label: process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME ?? customHaikuModel,
|
|
263855
|
+
description: process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION ?? "Custom Haiku model",
|
|
263856
|
+
descriptionForModel: `${process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION ?? "Custom Haiku model"} (${customHaikuModel})`
|
|
263857
|
+
};
|
|
263858
|
+
}
|
|
263859
|
+
}
|
|
263860
|
+
function getHaiku45Option() {
|
|
263861
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263862
|
+
return {
|
|
263863
|
+
value: "haiku",
|
|
263864
|
+
label: "Haiku",
|
|
263865
|
+
description: `Haiku 4.5 · Fastest for quick answers${is3P ? "" : ` · ${formatModelPricing(COST_HAIKU_45)}`}`,
|
|
263866
|
+
descriptionForModel: "Haiku 4.5 - fastest for quick answers. Lower cost but less capable than Sonnet 4.6."
|
|
263867
|
+
};
|
|
263868
|
+
}
|
|
263869
|
+
function getHaiku35Option() {
|
|
263870
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263871
|
+
return {
|
|
263872
|
+
value: "haiku",
|
|
263873
|
+
label: "Haiku",
|
|
263874
|
+
description: `Haiku 3.5 for simple tasks${is3P ? "" : ` · ${formatModelPricing(COST_HAIKU_35)}`}`,
|
|
263875
|
+
descriptionForModel: "Haiku 3.5 - faster and lower cost, but less capable than Sonnet. Use for simple tasks."
|
|
263876
|
+
};
|
|
263877
|
+
}
|
|
263878
|
+
function getHaikuOption() {
|
|
263879
|
+
const haikuModel = getDefaultHaikuModel();
|
|
263880
|
+
return haikuModel === getModelStrings2().haiku45 ? getHaiku45Option() : getHaiku35Option();
|
|
263881
|
+
}
|
|
263882
|
+
function getMaxOpusOption(fastMode = false) {
|
|
263883
|
+
return {
|
|
263884
|
+
value: "opus",
|
|
263885
|
+
label: "Opus",
|
|
263886
|
+
description: `Opus 4.6 · Most capable for complex work${fastMode ? getOpus46PricingSuffix(true) : ""}`
|
|
263887
|
+
};
|
|
263888
|
+
}
|
|
263889
|
+
function getMaxSonnet46_1MOption() {
|
|
263890
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263891
|
+
const billingInfo = isMaximoAISubscriber() ? " · Billed as extra usage" : "";
|
|
263892
|
+
return {
|
|
263893
|
+
value: "sonnet[1m]",
|
|
263894
|
+
label: "Sonnet (1M context)",
|
|
263895
|
+
description: `Sonnet 4.6 with 1M context${billingInfo}${is3P ? "" : ` · ${formatModelPricing(COST_TIER_3_15)}`}`
|
|
263896
|
+
};
|
|
263897
|
+
}
|
|
263898
|
+
function getMaxOpus46_1MOption(fastMode = false) {
|
|
263899
|
+
const billingInfo = isMaximoAISubscriber() ? " · Billed as extra usage" : "";
|
|
263900
|
+
return {
|
|
263901
|
+
value: "opus[1m]",
|
|
263902
|
+
label: "Opus (1M context)",
|
|
263903
|
+
description: `Opus 4.6 with 1M context${billingInfo}${getOpus46PricingSuffix(fastMode)}`
|
|
263904
|
+
};
|
|
263905
|
+
}
|
|
263906
|
+
function getMergedOpus1MOption(fastMode = false) {
|
|
263907
|
+
const is3P = getAPIProvider() !== "firstParty";
|
|
263908
|
+
return {
|
|
263909
|
+
value: is3P ? getModelStrings2().opus46 + "[1m]" : "opus[1m]",
|
|
263910
|
+
label: "Opus (1M context)",
|
|
263911
|
+
description: `Opus 4.6 with 1M context · Most capable for complex work${!is3P && fastMode ? getOpus46PricingSuffix(fastMode) : ""}`,
|
|
263912
|
+
descriptionForModel: "Opus 4.6 with 1M context - most capable for complex work"
|
|
263913
|
+
};
|
|
263914
|
+
}
|
|
263915
|
+
function getOpusPlanOption() {
|
|
263916
|
+
return {
|
|
263917
|
+
value: "opusplan",
|
|
263918
|
+
label: "Opus Plan Mode",
|
|
263919
|
+
description: "Use Opus 4.6 in plan mode, Sonnet 4.6 otherwise"
|
|
263920
|
+
};
|
|
263921
|
+
}
|
|
263922
|
+
function getCodexPlanOption() {
|
|
263923
|
+
return {
|
|
263924
|
+
value: "codexplan",
|
|
263925
|
+
label: "Codex Plan",
|
|
263926
|
+
description: "GPT-5.4 on the Codex backend with high reasoning"
|
|
263927
|
+
};
|
|
263928
|
+
}
|
|
263929
|
+
function getCodexSparkOption() {
|
|
263930
|
+
return {
|
|
263931
|
+
value: "codexspark",
|
|
263932
|
+
label: "Codex Spark",
|
|
263933
|
+
description: "GPT-5.3 Codex Spark on the Codex backend for fast tool loops"
|
|
263934
|
+
};
|
|
263935
|
+
}
|
|
263936
|
+
function getModelOptionsBase(fastMode = false) {
|
|
263937
|
+
if (process.env.USER_TYPE === "ant") {
|
|
263938
|
+
const antModelOptions = getAntModels().map((m) => ({
|
|
263939
|
+
value: m.alias,
|
|
263940
|
+
label: m.label,
|
|
263941
|
+
description: m.description ?? `[ANT-ONLY] ${m.label} (${m.model})`
|
|
263942
|
+
}));
|
|
263943
|
+
return [
|
|
263944
|
+
getDefaultOptionForUser(),
|
|
263945
|
+
...antModelOptions,
|
|
263946
|
+
getMergedOpus1MOption(fastMode),
|
|
263947
|
+
getSonnet46Option(),
|
|
263948
|
+
getSonnet46_1MOption(),
|
|
263949
|
+
getHaiku45Option()
|
|
263950
|
+
];
|
|
263951
|
+
}
|
|
263952
|
+
if (isMaximoAISubscriber()) {
|
|
263953
|
+
if (isMaxSubscriber() || isTeamPremiumSubscriber()) {
|
|
263954
|
+
const premiumOptions = [getDefaultOptionForUser(fastMode)];
|
|
263955
|
+
if (!isOpus1mMergeEnabled() && checkOpus1mAccess()) {
|
|
263956
|
+
premiumOptions.push(getMaxOpus46_1MOption(fastMode));
|
|
263957
|
+
}
|
|
263958
|
+
premiumOptions.push(MaxSonnet46Option);
|
|
263959
|
+
if (checkSonnet1mAccess()) {
|
|
263960
|
+
premiumOptions.push(getMaxSonnet46_1MOption());
|
|
263961
|
+
}
|
|
263962
|
+
premiumOptions.push(MaxHaiku45Option);
|
|
263963
|
+
return premiumOptions;
|
|
263964
|
+
}
|
|
263965
|
+
const standardOptions = [getDefaultOptionForUser(fastMode)];
|
|
263966
|
+
if (checkSonnet1mAccess()) {
|
|
263967
|
+
standardOptions.push(getMaxSonnet46_1MOption());
|
|
263968
|
+
}
|
|
263969
|
+
if (isOpus1mMergeEnabled()) {
|
|
263970
|
+
standardOptions.push(getMergedOpus1MOption(fastMode));
|
|
263971
|
+
} else {
|
|
263972
|
+
standardOptions.push(getMaxOpusOption(fastMode));
|
|
263973
|
+
if (checkOpus1mAccess()) {
|
|
263974
|
+
standardOptions.push(getMaxOpus46_1MOption(fastMode));
|
|
263975
|
+
}
|
|
263976
|
+
}
|
|
263977
|
+
standardOptions.push(MaxHaiku45Option);
|
|
263978
|
+
return standardOptions;
|
|
263979
|
+
}
|
|
263980
|
+
if (getAPIProvider() === "firstParty") {
|
|
263981
|
+
const payg1POptions = [getDefaultOptionForUser(fastMode)];
|
|
263982
|
+
if (checkSonnet1mAccess()) {
|
|
263983
|
+
payg1POptions.push(getSonnet46_1MOption());
|
|
263984
|
+
}
|
|
263985
|
+
if (isOpus1mMergeEnabled()) {
|
|
263986
|
+
payg1POptions.push(getMergedOpus1MOption(fastMode));
|
|
263987
|
+
} else {
|
|
263988
|
+
payg1POptions.push(getOpus46Option(fastMode));
|
|
263989
|
+
if (checkOpus1mAccess()) {
|
|
263990
|
+
payg1POptions.push(getOpus46_1MOption(fastMode));
|
|
263991
|
+
}
|
|
263992
|
+
}
|
|
263993
|
+
payg1POptions.push(getHaiku45Option());
|
|
263994
|
+
return payg1POptions;
|
|
263995
|
+
}
|
|
263996
|
+
const payg3pOptions = [getDefaultOptionForUser(fastMode)];
|
|
263997
|
+
if (getAPIProvider() === "openai") {
|
|
263998
|
+
payg3pOptions.push(getCodexPlanOption(), getCodexSparkOption());
|
|
263999
|
+
}
|
|
264000
|
+
const customSonnet = getCustomSonnetOption();
|
|
264001
|
+
if (customSonnet !== undefined) {
|
|
264002
|
+
payg3pOptions.push(customSonnet);
|
|
264003
|
+
} else {
|
|
264004
|
+
payg3pOptions.push(getSonnet46Option());
|
|
264005
|
+
if (checkSonnet1mAccess()) {
|
|
264006
|
+
payg3pOptions.push(getSonnet46_1MOption());
|
|
264007
|
+
}
|
|
264008
|
+
}
|
|
264009
|
+
const customOpus = getCustomOpusOption();
|
|
264010
|
+
if (customOpus !== undefined) {
|
|
264011
|
+
payg3pOptions.push(customOpus);
|
|
264012
|
+
} else {
|
|
264013
|
+
payg3pOptions.push(getOpus41Option());
|
|
264014
|
+
payg3pOptions.push(getOpus46Option(fastMode));
|
|
264015
|
+
if (checkOpus1mAccess()) {
|
|
264016
|
+
payg3pOptions.push(getOpus46_1MOption(fastMode));
|
|
264017
|
+
}
|
|
264018
|
+
}
|
|
264019
|
+
const customHaiku = getCustomHaikuOption();
|
|
264020
|
+
if (customHaiku !== undefined) {
|
|
264021
|
+
payg3pOptions.push(customHaiku);
|
|
264022
|
+
} else {
|
|
264023
|
+
payg3pOptions.push(getHaikuOption());
|
|
264024
|
+
}
|
|
264025
|
+
return payg3pOptions;
|
|
264026
|
+
}
|
|
264027
|
+
function getModelFamilyInfo(model) {
|
|
264028
|
+
const canonical = getCanonicalName(model);
|
|
264029
|
+
if (canonical.includes("claude-sonnet-4-6") || canonical.includes("claude-sonnet-4-5") || canonical.includes("claude-sonnet-4-") || canonical.includes("claude-3-7-sonnet") || canonical.includes("claude-3-5-sonnet")) {
|
|
264030
|
+
const currentName = getMarketingNameForModel(getDefaultSonnetModel());
|
|
264031
|
+
if (currentName) {
|
|
264032
|
+
return { alias: "Sonnet", currentVersionName: currentName };
|
|
264033
|
+
}
|
|
264034
|
+
}
|
|
264035
|
+
if (canonical.includes("claude-opus-4")) {
|
|
264036
|
+
const currentName = getMarketingNameForModel(getDefaultOpusModel());
|
|
264037
|
+
if (currentName) {
|
|
264038
|
+
return { alias: "Opus", currentVersionName: currentName };
|
|
264039
|
+
}
|
|
264040
|
+
}
|
|
264041
|
+
if (canonical.includes("claude-haiku") || canonical.includes("claude-3-5-haiku")) {
|
|
264042
|
+
const currentName = getMarketingNameForModel(getDefaultHaikuModel());
|
|
264043
|
+
if (currentName) {
|
|
264044
|
+
return { alias: "Haiku", currentVersionName: currentName };
|
|
264045
|
+
}
|
|
264046
|
+
}
|
|
264047
|
+
return null;
|
|
264048
|
+
}
|
|
264049
|
+
function getKnownModelOption(model) {
|
|
264050
|
+
const marketingName = getMarketingNameForModel(model);
|
|
264051
|
+
if (!marketingName)
|
|
264052
|
+
return null;
|
|
264053
|
+
const familyInfo = getModelFamilyInfo(model);
|
|
264054
|
+
if (!familyInfo) {
|
|
264055
|
+
return {
|
|
264056
|
+
value: model,
|
|
264057
|
+
label: marketingName,
|
|
264058
|
+
description: model
|
|
264059
|
+
};
|
|
264060
|
+
}
|
|
264061
|
+
if (marketingName !== familyInfo.currentVersionName) {
|
|
264062
|
+
return {
|
|
264063
|
+
value: model,
|
|
264064
|
+
label: marketingName,
|
|
264065
|
+
description: `Newer version available · select ${familyInfo.alias} for ${familyInfo.currentVersionName}`
|
|
264066
|
+
};
|
|
264067
|
+
}
|
|
264068
|
+
return {
|
|
264069
|
+
value: model,
|
|
264070
|
+
label: marketingName,
|
|
264071
|
+
description: model
|
|
264072
|
+
};
|
|
264073
|
+
}
|
|
264074
|
+
async function getModelOptionsAsync(fastMode = false) {
|
|
264075
|
+
const maximoOptions = await getMaximoModelOptions();
|
|
264076
|
+
if (maximoOptions) {
|
|
264077
|
+
return filterModelOptionsByAllowlist([
|
|
264078
|
+
getDefaultOptionForUser(fastMode),
|
|
264079
|
+
...maximoOptions
|
|
264080
|
+
]);
|
|
264081
|
+
}
|
|
264082
|
+
return getModelOptionsBase(fastMode);
|
|
264083
|
+
}
|
|
264084
|
+
function getModelOptions(fastMode = false) {
|
|
264085
|
+
const maximoOptions = getCachedMaximoModelOptions();
|
|
264086
|
+
if (maximoOptions) {
|
|
264087
|
+
return filterModelOptionsByAllowlist([
|
|
264088
|
+
getDefaultOptionForUser(fastMode),
|
|
264089
|
+
...maximoOptions
|
|
264090
|
+
]);
|
|
264091
|
+
}
|
|
264092
|
+
const options2 = getModelOptionsBase(fastMode);
|
|
264093
|
+
const envCustomModel = process.env.ANTHROPIC_CUSTOM_MODEL_OPTION;
|
|
264094
|
+
if (envCustomModel && !options2.some((existing) => existing.value === envCustomModel)) {
|
|
264095
|
+
options2.push({
|
|
264096
|
+
value: envCustomModel,
|
|
264097
|
+
label: process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME ?? envCustomModel,
|
|
264098
|
+
description: process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION ?? `Custom model (${envCustomModel})`
|
|
264099
|
+
});
|
|
264100
|
+
}
|
|
264101
|
+
for (const opt of getGlobalConfig().additionalModelOptionsCache ?? []) {
|
|
264102
|
+
if (!options2.some((existing) => existing.value === opt.value)) {
|
|
264103
|
+
options2.push(opt);
|
|
264104
|
+
}
|
|
264105
|
+
}
|
|
264106
|
+
let customModel = null;
|
|
264107
|
+
const currentMainLoopModel = getUserSpecifiedModelSetting();
|
|
264108
|
+
const initialMainLoopModel = getInitialMainLoopModel();
|
|
264109
|
+
if (currentMainLoopModel !== undefined && currentMainLoopModel !== null) {
|
|
264110
|
+
customModel = currentMainLoopModel;
|
|
264111
|
+
} else if (initialMainLoopModel !== null) {
|
|
264112
|
+
customModel = initialMainLoopModel;
|
|
264113
|
+
}
|
|
264114
|
+
if (customModel === null || options2.some((opt) => opt.value === customModel)) {
|
|
264115
|
+
return filterModelOptionsByAllowlist(options2);
|
|
264116
|
+
} else if (customModel === "opusplan") {
|
|
264117
|
+
return filterModelOptionsByAllowlist([...options2, getOpusPlanOption()]);
|
|
264118
|
+
} else if (customModel === "codexplan") {
|
|
264119
|
+
return filterModelOptionsByAllowlist([...options2, getCodexPlanOption()]);
|
|
264120
|
+
} else if (customModel === "codexspark") {
|
|
264121
|
+
return filterModelOptionsByAllowlist([...options2, getCodexSparkOption()]);
|
|
264122
|
+
} else if (customModel === "opus" && getAPIProvider() === "firstParty") {
|
|
264123
|
+
return filterModelOptionsByAllowlist([
|
|
264124
|
+
...options2,
|
|
264125
|
+
getMaxOpusOption(fastMode)
|
|
264126
|
+
]);
|
|
264127
|
+
} else if (customModel === "opus[1m]" && getAPIProvider() === "firstParty") {
|
|
264128
|
+
return filterModelOptionsByAllowlist([
|
|
264129
|
+
...options2,
|
|
264130
|
+
getMergedOpus1MOption(fastMode)
|
|
264131
|
+
]);
|
|
264132
|
+
} else {
|
|
264133
|
+
const knownOption = getKnownModelOption(customModel);
|
|
264134
|
+
if (knownOption) {
|
|
264135
|
+
options2.push(knownOption);
|
|
264136
|
+
} else {
|
|
264137
|
+
options2.push({
|
|
264138
|
+
value: customModel,
|
|
264139
|
+
label: customModel,
|
|
264140
|
+
description: "Custom model"
|
|
264141
|
+
});
|
|
264142
|
+
}
|
|
264143
|
+
return filterModelOptionsByAllowlist(options2);
|
|
264144
|
+
}
|
|
264145
|
+
}
|
|
264146
|
+
function filterModelOptionsByAllowlist(options2) {
|
|
264147
|
+
const settings = getSettings_DEPRECATED() || {};
|
|
264148
|
+
if (!settings.availableModels) {
|
|
264149
|
+
return options2;
|
|
264150
|
+
}
|
|
264151
|
+
return options2.filter((opt) => opt.value === null || opt.value !== null && isModelAllowed(opt.value));
|
|
264152
|
+
}
|
|
264153
|
+
var MaxSonnet46Option, MaxHaiku45Option;
|
|
264154
|
+
var init_modelOptions = __esm(() => {
|
|
264155
|
+
init_state();
|
|
264156
|
+
init_antModels();
|
|
264157
|
+
init_auth2();
|
|
264158
|
+
init_modelStrings();
|
|
264159
|
+
init_modelCost();
|
|
264160
|
+
init_settings2();
|
|
264161
|
+
init_check1mAccess();
|
|
264162
|
+
init_providers();
|
|
264163
|
+
init_modelAllowlist();
|
|
264164
|
+
init_model();
|
|
264165
|
+
init_context();
|
|
264166
|
+
init_config2();
|
|
264167
|
+
init_maximoModels();
|
|
264168
|
+
MaxSonnet46Option = {
|
|
264169
|
+
value: "sonnet",
|
|
264170
|
+
label: "Sonnet",
|
|
264171
|
+
description: "Sonnet 4.6 · Best for everyday tasks"
|
|
264172
|
+
};
|
|
264173
|
+
MaxHaiku45Option = {
|
|
264174
|
+
value: "haiku",
|
|
264175
|
+
label: "Haiku",
|
|
264176
|
+
description: "Haiku 4.5 · Fastest for quick answers"
|
|
264177
|
+
};
|
|
264178
|
+
});
|
|
264179
|
+
|
|
263680
264180
|
// src/utils/model/agent.ts
|
|
263681
264181
|
function getDefaultSubagentModel() {
|
|
263682
264182
|
return "inherit";
|
|
263683
264183
|
}
|
|
264184
|
+
function isInheritAgentModel(value) {
|
|
264185
|
+
if (!value)
|
|
264186
|
+
return true;
|
|
264187
|
+
const normalized = value.trim().toLowerCase();
|
|
264188
|
+
return normalized === "inherit" || normalized === "parent" || normalized === "same";
|
|
264189
|
+
}
|
|
263684
264190
|
function getAgentModel(agentModel, parentModel, toolSpecifiedModel, permissionMode) {
|
|
263685
264191
|
if (process.env.MAXIMO_SYNTAX_SUBAGENT_MODEL) {
|
|
263686
264192
|
return parseUserSpecifiedModel(process.env.MAXIMO_SYNTAX_SUBAGENT_MODEL);
|
|
@@ -263694,7 +264200,7 @@ function getAgentModel(agentModel, parentModel, toolSpecifiedModel, permissionMo
|
|
|
263694
264200
|
}
|
|
263695
264201
|
return resolvedModel;
|
|
263696
264202
|
};
|
|
263697
|
-
if (toolSpecifiedModel) {
|
|
264203
|
+
if (toolSpecifiedModel && !isInheritAgentModel(toolSpecifiedModel)) {
|
|
263698
264204
|
if (aliasMatchesParentTier(toolSpecifiedModel, parentModel)) {
|
|
263699
264205
|
return parentModel;
|
|
263700
264206
|
}
|
|
@@ -263736,7 +264242,29 @@ function getAgentModelDisplay(model) {
|
|
|
263736
264242
|
return capitalize(model);
|
|
263737
264243
|
}
|
|
263738
264244
|
function getAgentModelOptions() {
|
|
263739
|
-
|
|
264245
|
+
const options2 = [
|
|
264246
|
+
{
|
|
264247
|
+
value: "inherit",
|
|
264248
|
+
label: "Inherit from parent",
|
|
264249
|
+
description: "Use the same model as the main conversation"
|
|
264250
|
+
}
|
|
264251
|
+
];
|
|
264252
|
+
const seen = new Set(["inherit"]);
|
|
264253
|
+
try {
|
|
264254
|
+
for (const option of getModelOptions()) {
|
|
264255
|
+
if (typeof option.value !== "string" || !option.value.trim())
|
|
264256
|
+
continue;
|
|
264257
|
+
if (seen.has(option.value))
|
|
264258
|
+
continue;
|
|
264259
|
+
seen.add(option.value);
|
|
264260
|
+
options2.push({
|
|
264261
|
+
value: option.value,
|
|
264262
|
+
label: option.label,
|
|
264263
|
+
description: option.description
|
|
264264
|
+
});
|
|
264265
|
+
}
|
|
264266
|
+
} catch {}
|
|
264267
|
+
const aliasFallbacks = [
|
|
263740
264268
|
{
|
|
263741
264269
|
value: "sonnet",
|
|
263742
264270
|
label: "Sonnet",
|
|
@@ -263751,13 +264279,13 @@ function getAgentModelOptions() {
|
|
|
263751
264279
|
value: "haiku",
|
|
263752
264280
|
label: "Haiku",
|
|
263753
264281
|
description: "Fast and efficient for simple tasks"
|
|
263754
|
-
},
|
|
263755
|
-
{
|
|
263756
|
-
value: "inherit",
|
|
263757
|
-
label: "Inherit from parent",
|
|
263758
|
-
description: "Use the same model as the main conversation"
|
|
263759
264282
|
}
|
|
263760
264283
|
];
|
|
264284
|
+
for (const alias of aliasFallbacks) {
|
|
264285
|
+
if (!seen.has(alias.value))
|
|
264286
|
+
options2.push(alias);
|
|
264287
|
+
}
|
|
264288
|
+
return options2;
|
|
263761
264289
|
}
|
|
263762
264290
|
var AGENT_MODEL_OPTIONS;
|
|
263763
264291
|
var init_agent = __esm(() => {
|
|
@@ -263765,6 +264293,7 @@ var init_agent = __esm(() => {
|
|
|
263765
264293
|
init_aliases();
|
|
263766
264294
|
init_bedrock();
|
|
263767
264295
|
init_model();
|
|
264296
|
+
init_modelOptions();
|
|
263768
264297
|
init_providers();
|
|
263769
264298
|
AGENT_MODEL_OPTIONS = [...MODEL_ALIASES, "inherit"];
|
|
263770
264299
|
});
|
|
@@ -267230,59 +267759,6 @@ var init_AssistantRedactedThinkingMessage = __esm(() => {
|
|
|
267230
267759
|
jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
|
|
267231
267760
|
});
|
|
267232
267761
|
|
|
267233
|
-
// src/utils/model/check1mAccess.ts
|
|
267234
|
-
function isExtraUsageEnabled() {
|
|
267235
|
-
const reason = getGlobalConfig().cachedExtraUsageDisabledReason;
|
|
267236
|
-
if (reason === undefined) {
|
|
267237
|
-
return false;
|
|
267238
|
-
}
|
|
267239
|
-
if (reason === null) {
|
|
267240
|
-
return true;
|
|
267241
|
-
}
|
|
267242
|
-
switch (reason) {
|
|
267243
|
-
case "out_of_credits":
|
|
267244
|
-
return true;
|
|
267245
|
-
case "overage_not_provisioned":
|
|
267246
|
-
case "org_level_disabled":
|
|
267247
|
-
case "org_level_disabled_until":
|
|
267248
|
-
case "seat_tier_level_disabled":
|
|
267249
|
-
case "member_level_disabled":
|
|
267250
|
-
case "seat_tier_zero_credit_limit":
|
|
267251
|
-
case "group_zero_credit_limit":
|
|
267252
|
-
case "member_zero_credit_limit":
|
|
267253
|
-
case "org_service_level_disabled":
|
|
267254
|
-
case "org_service_zero_credit_limit":
|
|
267255
|
-
case "no_limits_configured":
|
|
267256
|
-
case "unknown":
|
|
267257
|
-
return false;
|
|
267258
|
-
default:
|
|
267259
|
-
return false;
|
|
267260
|
-
}
|
|
267261
|
-
}
|
|
267262
|
-
function checkOpus1mAccess() {
|
|
267263
|
-
if (is1mContextDisabled()) {
|
|
267264
|
-
return false;
|
|
267265
|
-
}
|
|
267266
|
-
if (isMaximoAISubscriber()) {
|
|
267267
|
-
return isExtraUsageEnabled();
|
|
267268
|
-
}
|
|
267269
|
-
return true;
|
|
267270
|
-
}
|
|
267271
|
-
function checkSonnet1mAccess() {
|
|
267272
|
-
if (is1mContextDisabled()) {
|
|
267273
|
-
return false;
|
|
267274
|
-
}
|
|
267275
|
-
if (isMaximoAISubscriber()) {
|
|
267276
|
-
return isExtraUsageEnabled();
|
|
267277
|
-
}
|
|
267278
|
-
return true;
|
|
267279
|
-
}
|
|
267280
|
-
var init_check1mAccess = __esm(() => {
|
|
267281
|
-
init_auth2();
|
|
267282
|
-
init_config2();
|
|
267283
|
-
init_context();
|
|
267284
|
-
});
|
|
267285
|
-
|
|
267286
267762
|
// src/utils/model/contextWindowUpgradeCheck.ts
|
|
267287
267763
|
function getAvailableUpgrade() {
|
|
267288
267764
|
const currentModelSetting = getUserSpecifiedModelSetting();
|
|
@@ -276770,7 +277246,7 @@ import { access as access3, writeFile as writeFile13 } from "fs/promises";
|
|
|
276770
277246
|
import { homedir as homedir22 } from "os";
|
|
276771
277247
|
import { join as join65 } from "path";
|
|
276772
277248
|
function getCurrentRealVersion() {
|
|
276773
|
-
return "0.1.
|
|
277249
|
+
return "0.1.34";
|
|
276774
277250
|
}
|
|
276775
277251
|
async function getRolloutConfig() {
|
|
276776
277252
|
try {
|
|
@@ -300376,6 +300852,7 @@ async function* runAgent({
|
|
|
300376
300852
|
useExactTools,
|
|
300377
300853
|
worktreePath,
|
|
300378
300854
|
description,
|
|
300855
|
+
effort,
|
|
300379
300856
|
transcriptSubdir,
|
|
300380
300857
|
onQueryProgress
|
|
300381
300858
|
}) {
|
|
@@ -300438,7 +300915,7 @@ async function* runAgent({
|
|
|
300438
300915
|
}
|
|
300439
300916
|
};
|
|
300440
300917
|
}
|
|
300441
|
-
const effortValue = agentDefinition.effort !== undefined ? agentDefinition.effort : state.effortValue;
|
|
300918
|
+
const effortValue = effort !== undefined ? effort : agentDefinition.effort !== undefined ? agentDefinition.effort : state.effortValue;
|
|
300442
300919
|
if (toolPermissionContext === state.toolPermissionContext && effortValue === state.effortValue) {
|
|
300443
300920
|
return state;
|
|
300444
300921
|
}
|
|
@@ -345963,6 +346440,247 @@ var init_BriefTool = __esm(() => {
|
|
|
345963
346440
|
});
|
|
345964
346441
|
});
|
|
345965
346442
|
|
|
346443
|
+
// src/tools/AutomationTool/host.ts
|
|
346444
|
+
import { createConnection as createConnection2 } from "node:net";
|
|
346445
|
+
import { randomUUID as randomUUID18 } from "node:crypto";
|
|
346446
|
+
function safeErrorMessage(error42) {
|
|
346447
|
+
if (typeof error42 === "string" && error42.trim())
|
|
346448
|
+
return error42.trim();
|
|
346449
|
+
if (error42 && typeof error42 === "object" && typeof error42.message === "string") {
|
|
346450
|
+
return error42.message.trim() || "The desktop automation host rejected the request.";
|
|
346451
|
+
}
|
|
346452
|
+
return "The desktop automation host rejected the request.";
|
|
346453
|
+
}
|
|
346454
|
+
function getAutomationHostEnvironment(environment = process.env) {
|
|
346455
|
+
const pipe2 = environment.MAXIMO_SYNTAX_AUTOMATION_HOST_PIPE?.trim();
|
|
346456
|
+
const capability = environment.MAXIMO_SYNTAX_AUTOMATION_HOST_CAPABILITY?.trim();
|
|
346457
|
+
if (!pipe2 || !capability)
|
|
346458
|
+
return null;
|
|
346459
|
+
return {
|
|
346460
|
+
pipe: pipe2,
|
|
346461
|
+
capability,
|
|
346462
|
+
threadId: environment.MAXIMO_SYNTAX_DESKTOP_THREAD_ID?.trim() || undefined,
|
|
346463
|
+
projectId: environment.MAXIMO_SYNTAX_DESKTOP_PROJECT_ID?.trim() || undefined,
|
|
346464
|
+
workspaceRoot: environment.MAXIMO_SYNTAX_DESKTOP_WORKSPACE_ROOT?.trim() || undefined
|
|
346465
|
+
};
|
|
346466
|
+
}
|
|
346467
|
+
async function callAutomationHost(action2, argumentsValue, host = getAutomationHostEnvironment()) {
|
|
346468
|
+
if (!host) {
|
|
346469
|
+
throw new Error("Automations are only available while Maximo Syntax is running inside the desktop app.");
|
|
346470
|
+
}
|
|
346471
|
+
const requestId = randomUUID18();
|
|
346472
|
+
const request = JSON.stringify({
|
|
346473
|
+
id: requestId,
|
|
346474
|
+
capability: host.capability,
|
|
346475
|
+
action: action2,
|
|
346476
|
+
arguments: argumentsValue,
|
|
346477
|
+
context: {
|
|
346478
|
+
threadId: host.threadId,
|
|
346479
|
+
projectId: host.projectId,
|
|
346480
|
+
workspaceRoot: host.workspaceRoot
|
|
346481
|
+
}
|
|
346482
|
+
});
|
|
346483
|
+
return new Promise((resolve31, reject2) => {
|
|
346484
|
+
const socket = createConnection2(host.pipe);
|
|
346485
|
+
let settled = false;
|
|
346486
|
+
let responseText = "";
|
|
346487
|
+
const finish = (error42, value) => {
|
|
346488
|
+
if (settled)
|
|
346489
|
+
return;
|
|
346490
|
+
settled = true;
|
|
346491
|
+
clearTimeout(timeout);
|
|
346492
|
+
socket.destroy();
|
|
346493
|
+
if (error42)
|
|
346494
|
+
reject2(error42);
|
|
346495
|
+
else
|
|
346496
|
+
resolve31(value);
|
|
346497
|
+
};
|
|
346498
|
+
const timeout = setTimeout(() => {
|
|
346499
|
+
finish(new Error("The desktop automation host did not respond in time."));
|
|
346500
|
+
}, REQUEST_TIMEOUT_MS);
|
|
346501
|
+
socket.setEncoding("utf8");
|
|
346502
|
+
socket.on("connect", () => socket.write(`${request}
|
|
346503
|
+
`));
|
|
346504
|
+
socket.on("data", (chunk) => {
|
|
346505
|
+
responseText += chunk;
|
|
346506
|
+
if (Buffer.byteLength(responseText, "utf8") > MAX_RESPONSE_BYTES) {
|
|
346507
|
+
finish(new Error("The desktop automation response was too large."));
|
|
346508
|
+
return;
|
|
346509
|
+
}
|
|
346510
|
+
const newline2 = responseText.indexOf(`
|
|
346511
|
+
`);
|
|
346512
|
+
if (newline2 < 0)
|
|
346513
|
+
return;
|
|
346514
|
+
try {
|
|
346515
|
+
const response = JSON.parse(responseText.slice(0, newline2));
|
|
346516
|
+
if (response.id !== requestId) {
|
|
346517
|
+
finish(new Error("The desktop automation host returned a mismatched response."));
|
|
346518
|
+
} else if (response.ok === false || response.error) {
|
|
346519
|
+
finish(new Error(safeErrorMessage(response.error)));
|
|
346520
|
+
} else {
|
|
346521
|
+
finish(undefined, response.result);
|
|
346522
|
+
}
|
|
346523
|
+
} catch (error42) {
|
|
346524
|
+
finish(new Error(error42 instanceof Error ? `Invalid response from the desktop automation host: ${error42.message}` : "Invalid response from the desktop automation host."));
|
|
346525
|
+
}
|
|
346526
|
+
});
|
|
346527
|
+
socket.on("error", (error42) => {
|
|
346528
|
+
finish(new Error(`Could not reach the desktop automation host: ${error42.message}`));
|
|
346529
|
+
});
|
|
346530
|
+
socket.on("close", () => {
|
|
346531
|
+
if (!settled)
|
|
346532
|
+
finish(new Error("The desktop automation host closed the connection."));
|
|
346533
|
+
});
|
|
346534
|
+
});
|
|
346535
|
+
}
|
|
346536
|
+
var MAX_RESPONSE_BYTES, REQUEST_TIMEOUT_MS = 15000;
|
|
346537
|
+
var init_host = __esm(() => {
|
|
346538
|
+
MAX_RESPONSE_BYTES = 4 * 1024 * 1024;
|
|
346539
|
+
});
|
|
346540
|
+
|
|
346541
|
+
// src/tools/AutomationTool/AutomationTool.ts
|
|
346542
|
+
var actionSchema, scheduleSchema, inputSchema20, outputSchema17, MUTATING_ACTIONS, AutomationTool;
|
|
346543
|
+
var init_AutomationTool = __esm(() => {
|
|
346544
|
+
init_v4();
|
|
346545
|
+
init_Tool();
|
|
346546
|
+
init_host();
|
|
346547
|
+
actionSchema = exports_external.enum([
|
|
346548
|
+
"create",
|
|
346549
|
+
"list",
|
|
346550
|
+
"get",
|
|
346551
|
+
"update",
|
|
346552
|
+
"pause",
|
|
346553
|
+
"resume",
|
|
346554
|
+
"delete",
|
|
346555
|
+
"run_now",
|
|
346556
|
+
"list_runs",
|
|
346557
|
+
"cancel_run",
|
|
346558
|
+
"mark_runs_read"
|
|
346559
|
+
]);
|
|
346560
|
+
scheduleSchema = exports_external.strictObject({
|
|
346561
|
+
type: exports_external.enum(["manual", "once", "interval", "daily", "weekdays", "weekly", "cron"]),
|
|
346562
|
+
run_at: exports_external.string().optional().describe("ISO timestamp for a one-time automation."),
|
|
346563
|
+
every_minutes: exports_external.number().int().min(1).max(525600).optional(),
|
|
346564
|
+
time_of_day: exports_external.string().optional().describe('Local 24-hour time such as "09:00".'),
|
|
346565
|
+
day_of_week: exports_external.number().int().min(0).max(6).optional().describe("0 is Sunday and 6 is Saturday."),
|
|
346566
|
+
expression: exports_external.string().optional().describe("Standard five-field cron expression."),
|
|
346567
|
+
timezone: exports_external.string().optional().describe('IANA timezone such as "Africa/Lagos".')
|
|
346568
|
+
}).optional();
|
|
346569
|
+
inputSchema20 = lazySchema(() => exports_external.strictObject({
|
|
346570
|
+
action: actionSchema.describe("The automation operation to perform."),
|
|
346571
|
+
automation_id: exports_external.string().optional(),
|
|
346572
|
+
run_id: exports_external.string().optional(),
|
|
346573
|
+
limit: exports_external.number().int().min(1).max(200).optional().describe("Run-history page size for list_runs. Defaults to 50."),
|
|
346574
|
+
offset: exports_external.number().int().min(0).max(1000).optional().describe("Run-history offset for list_runs. Defaults to 0."),
|
|
346575
|
+
name: exports_external.string().max(160).optional(),
|
|
346576
|
+
description: exports_external.string().max(2000).optional(),
|
|
346577
|
+
prompt: exports_external.string().max(1e5).optional(),
|
|
346578
|
+
schedule: scheduleSchema,
|
|
346579
|
+
destination: exports_external.enum(["new_chat", "dedicated_chat", "existing_chat"]).optional(),
|
|
346580
|
+
thread_id: exports_external.string().optional().describe("Required when destination is existing_chat."),
|
|
346581
|
+
model: exports_external.string().optional(),
|
|
346582
|
+
effort: exports_external.enum(["low", "medium", "high", "xhigh", "max"]).optional(),
|
|
346583
|
+
permission_mode: exports_external.enum(["default", "acceptEdits", "auto", "full", "bypassPermissions", "plan"]).optional().describe("Desktop permission policy. full and bypassPermissions both grant unrestricted command access."),
|
|
346584
|
+
workspace_mode: exports_external.enum(["auto", "local", "worktree"]).optional(),
|
|
346585
|
+
allow_local_fallback: exports_external.boolean().optional(),
|
|
346586
|
+
notification_policy: exports_external.enum(["all", "failures_only", "none"]).optional(),
|
|
346587
|
+
max_runtime_minutes: exports_external.number().int().min(1).max(1440).optional(),
|
|
346588
|
+
enabled: exports_external.boolean().optional()
|
|
346589
|
+
}));
|
|
346590
|
+
outputSchema17 = lazySchema(() => exports_external.object({
|
|
346591
|
+
success: exports_external.boolean(),
|
|
346592
|
+
action: actionSchema,
|
|
346593
|
+
result: exports_external.unknown().optional()
|
|
346594
|
+
}));
|
|
346595
|
+
MUTATING_ACTIONS = new Set([
|
|
346596
|
+
"create",
|
|
346597
|
+
"update",
|
|
346598
|
+
"pause",
|
|
346599
|
+
"resume",
|
|
346600
|
+
"delete",
|
|
346601
|
+
"run_now",
|
|
346602
|
+
"cancel_run",
|
|
346603
|
+
"mark_runs_read"
|
|
346604
|
+
]);
|
|
346605
|
+
AutomationTool = buildTool({
|
|
346606
|
+
name: "Automation",
|
|
346607
|
+
searchHint: "schedule manage background recurring work",
|
|
346608
|
+
shouldDefer: true,
|
|
346609
|
+
maxResultSizeChars: 1e5,
|
|
346610
|
+
get inputSchema() {
|
|
346611
|
+
return inputSchema20();
|
|
346612
|
+
},
|
|
346613
|
+
get outputSchema() {
|
|
346614
|
+
return outputSchema17();
|
|
346615
|
+
},
|
|
346616
|
+
isEnabled() {
|
|
346617
|
+
return getAutomationHostEnvironment() !== null;
|
|
346618
|
+
},
|
|
346619
|
+
isConcurrencySafe(input) {
|
|
346620
|
+
return !MUTATING_ACTIONS.has(input.action);
|
|
346621
|
+
},
|
|
346622
|
+
isReadOnly(input) {
|
|
346623
|
+
return !MUTATING_ACTIONS.has(input.action);
|
|
346624
|
+
},
|
|
346625
|
+
isDestructive(input) {
|
|
346626
|
+
return input.action === "delete" || input.action === "cancel_run";
|
|
346627
|
+
},
|
|
346628
|
+
toAutoClassifierInput(input) {
|
|
346629
|
+
return `${input.action}: ${input.name ?? input.automation_id ?? input.run_id ?? "automations"}`;
|
|
346630
|
+
},
|
|
346631
|
+
async description() {
|
|
346632
|
+
return "Create and fully manage persistent desktop automations. Automations can run once, on an interval, daily, on weekdays, weekly, or from a five-field cron schedule; run in a new, dedicated, or existing chat; use the project checkout or an isolated git worktree; and keep durable run history. Use this only when the user explicitly asks to schedule or manage future/background work. Never silently turn an ordinary request into an automation.";
|
|
346633
|
+
},
|
|
346634
|
+
async prompt() {
|
|
346635
|
+
return `Use Automation when the user explicitly asks to schedule, repeat, pause, resume, inspect, run, or delete background work in Maximo Syntax Desktop.
|
|
346636
|
+
|
|
346637
|
+
For create, provide name, prompt, and schedule. The current desktop project is used automatically. Default to destination=new_chat and workspace_mode=auto unless the user says otherwise. Use existing_chat only with a thread_id. Preserve the user's timezone intent; use an IANA timezone. Use action=list or list_runs before changing an ambiguous automation; list returns compact prompt previews, while get returns the complete definition. Paginate list_runs with limit and offset when needed. You may edit an automation that is currently executing, including this automation, when the user's request requires it. Never create an automation merely because work could be repeated.`;
|
|
346638
|
+
},
|
|
346639
|
+
async validateInput(input) {
|
|
346640
|
+
if (input.action === "create" && (!input.name?.trim() || !input.prompt?.trim() || !input.schedule)) {
|
|
346641
|
+
return {
|
|
346642
|
+
result: false,
|
|
346643
|
+
message: "create requires name, prompt, and schedule",
|
|
346644
|
+
errorCode: 1
|
|
346645
|
+
};
|
|
346646
|
+
}
|
|
346647
|
+
if (["get", "update", "pause", "resume", "delete", "run_now", "list_runs", "mark_runs_read"].includes(input.action) && !input.automation_id) {
|
|
346648
|
+
return {
|
|
346649
|
+
result: false,
|
|
346650
|
+
message: `${input.action} requires automation_id`,
|
|
346651
|
+
errorCode: 2
|
|
346652
|
+
};
|
|
346653
|
+
}
|
|
346654
|
+
if (input.action === "cancel_run" && !input.run_id) {
|
|
346655
|
+
return { result: false, message: "cancel_run requires run_id", errorCode: 3 };
|
|
346656
|
+
}
|
|
346657
|
+
if (input.destination === "existing_chat" && !input.thread_id) {
|
|
346658
|
+
return {
|
|
346659
|
+
result: false,
|
|
346660
|
+
message: "destination=existing_chat requires thread_id",
|
|
346661
|
+
errorCode: 4
|
|
346662
|
+
};
|
|
346663
|
+
}
|
|
346664
|
+
return { result: true };
|
|
346665
|
+
},
|
|
346666
|
+
renderToolUseMessage() {
|
|
346667
|
+
return null;
|
|
346668
|
+
},
|
|
346669
|
+
async call(input) {
|
|
346670
|
+
const { action: action2, ...argumentsValue } = input;
|
|
346671
|
+
const result = await callAutomationHost(action2, argumentsValue);
|
|
346672
|
+
return { data: { success: true, action: action2, result } };
|
|
346673
|
+
},
|
|
346674
|
+
mapToolResultToToolResultBlockParam(output, toolUseID) {
|
|
346675
|
+
return {
|
|
346676
|
+
tool_use_id: toolUseID,
|
|
346677
|
+
type: "tool_result",
|
|
346678
|
+
content: JSON.stringify(output.result ?? { success: output.success }, null, 2)
|
|
346679
|
+
};
|
|
346680
|
+
}
|
|
346681
|
+
});
|
|
346682
|
+
});
|
|
346683
|
+
|
|
345966
346684
|
// src/utils/task/outputFormatting.ts
|
|
345967
346685
|
function getMaxTaskOutputLength() {
|
|
345968
346686
|
const result = validateBoundedIntEnvVar("TASK_MAX_OUTPUT_LENGTH", process.env.TASK_MAX_OUTPUT_LENGTH, TASK_MAX_OUTPUT_DEFAULT, TASK_MAX_OUTPUT_UPPER_LIMIT);
|
|
@@ -346418,7 +347136,7 @@ function TaskOutputResultDisplay(t0) {
|
|
|
346418
347136
|
}
|
|
346419
347137
|
return t5;
|
|
346420
347138
|
}
|
|
346421
|
-
var import_react_compiler_runtime118, jsx_runtime140,
|
|
347139
|
+
var import_react_compiler_runtime118, jsx_runtime140, inputSchema21, TaskOutputTool;
|
|
346422
347140
|
var init_TaskOutputTool = __esm(() => {
|
|
346423
347141
|
init_v4();
|
|
346424
347142
|
init_FallbackToolUseErrorMessage();
|
|
@@ -346439,7 +347157,7 @@ var init_TaskOutputTool = __esm(() => {
|
|
|
346439
347157
|
init_BashToolResultMessage();
|
|
346440
347158
|
import_react_compiler_runtime118 = __toESM(require_dist4(), 1);
|
|
346441
347159
|
jsx_runtime140 = __toESM(require_jsx_runtime(), 1);
|
|
346442
|
-
|
|
347160
|
+
inputSchema21 = lazySchema(() => exports_external.strictObject({
|
|
346443
347161
|
task_id: exports_external.string().describe("The task ID to get output from"),
|
|
346444
347162
|
block: semanticBoolean(exports_external.boolean().default(true)).describe("Whether to wait for completion"),
|
|
346445
347163
|
timeout: exports_external.number().min(0).max(600000).default(30000).describe("Max wait time in ms")
|
|
@@ -346454,7 +347172,7 @@ var init_TaskOutputTool = __esm(() => {
|
|
|
346454
347172
|
return "Task Output";
|
|
346455
347173
|
},
|
|
346456
347174
|
get inputSchema() {
|
|
346457
|
-
return
|
|
347175
|
+
return inputSchema21();
|
|
346458
347176
|
},
|
|
346459
347177
|
async description() {
|
|
346460
347178
|
return "[Deprecated] — prefer Read on the task output file path";
|
|
@@ -346798,7 +347516,7 @@ function resolveWebSearchEndpoint(baseUrl) {
|
|
|
346798
347516
|
}
|
|
346799
347517
|
return { url: `${trimmed.replace(/\/v1$/, "")}/v1/api/web-search`, path: "/v1/api/web-search" };
|
|
346800
347518
|
}
|
|
346801
|
-
var
|
|
347519
|
+
var inputSchema22, searchResultSchema, outputSchema18, WebSearchTool;
|
|
346802
347520
|
var init_WebSearchTool = __esm(() => {
|
|
346803
347521
|
init_v4();
|
|
346804
347522
|
init_maximoModels();
|
|
@@ -346806,7 +347524,7 @@ var init_WebSearchTool = __esm(() => {
|
|
|
346806
347524
|
init_log3();
|
|
346807
347525
|
init_prompt5();
|
|
346808
347526
|
init_UI16();
|
|
346809
|
-
|
|
347527
|
+
inputSchema22 = lazySchema(() => exports_external.strictObject({
|
|
346810
347528
|
query: exports_external.string().min(2).describe("The search query to use"),
|
|
346811
347529
|
allowed_domains: exports_external.array(exports_external.string()).optional().describe("Only include search results from these domains"),
|
|
346812
347530
|
blocked_domains: exports_external.array(exports_external.string()).optional().describe("Never include search results from these domains"),
|
|
@@ -346830,7 +347548,7 @@ var init_WebSearchTool = __esm(() => {
|
|
|
346830
347548
|
content: exports_external.array(searchHitSchema).describe("Array of search hits")
|
|
346831
347549
|
});
|
|
346832
347550
|
});
|
|
346833
|
-
|
|
347551
|
+
outputSchema18 = lazySchema(() => exports_external.object({
|
|
346834
347552
|
query: exports_external.string().describe("The search query that was executed"),
|
|
346835
347553
|
results: exports_external.array(exports_external.union([searchResultSchema(), exports_external.string()])).describe("Search results and/or text commentary from the model"),
|
|
346836
347554
|
durationSeconds: exports_external.number().describe("Time taken to complete the search operation")
|
|
@@ -346861,10 +347579,10 @@ var init_WebSearchTool = __esm(() => {
|
|
|
346861
347579
|
return true;
|
|
346862
347580
|
},
|
|
346863
347581
|
get inputSchema() {
|
|
346864
|
-
return
|
|
347582
|
+
return inputSchema22();
|
|
346865
347583
|
},
|
|
346866
347584
|
get outputSchema() {
|
|
346867
|
-
return
|
|
347585
|
+
return outputSchema18();
|
|
346868
347586
|
},
|
|
346869
347587
|
isConcurrencySafe() {
|
|
346870
347588
|
return true;
|
|
@@ -347068,19 +347786,19 @@ function resolveImageEndpoint(baseUrl) {
|
|
|
347068
347786
|
path: "/v1/api/image-generation"
|
|
347069
347787
|
};
|
|
347070
347788
|
}
|
|
347071
|
-
var
|
|
347789
|
+
var inputSchema23, outputSchema19, ImageGenerationTool;
|
|
347072
347790
|
var init_ImageGenerationTool = __esm(() => {
|
|
347073
347791
|
init_v4();
|
|
347074
347792
|
init_maximoModels();
|
|
347075
347793
|
init_Tool();
|
|
347076
347794
|
init_log3();
|
|
347077
|
-
|
|
347795
|
+
inputSchema23 = lazySchema(() => exports_external.strictObject({
|
|
347078
347796
|
prompt: exports_external.string().min(1).describe("The image generation prompt to use"),
|
|
347079
347797
|
aspect_ratio: exports_external.string().optional().describe('Aspect ratio for the image (e.g. "16:9", "1:1", "4:3")'),
|
|
347080
347798
|
size: exports_external.string().optional().describe('Image size/resolution (e.g. "1K", "2K", "4K")'),
|
|
347081
347799
|
output_count: exports_external.number().int().positive().max(4).optional().describe("Number of images to generate (1-4)")
|
|
347082
347800
|
}));
|
|
347083
|
-
|
|
347801
|
+
outputSchema19 = lazySchema(() => exports_external.object({
|
|
347084
347802
|
prompt: exports_external.string().describe("The image prompt that was executed"),
|
|
347085
347803
|
images: exports_external.array(exports_external.object({
|
|
347086
347804
|
url: exports_external.string().describe("The URL of the generated image")
|
|
@@ -347110,10 +347828,10 @@ var init_ImageGenerationTool = __esm(() => {
|
|
|
347110
347828
|
return true;
|
|
347111
347829
|
},
|
|
347112
347830
|
get inputSchema() {
|
|
347113
|
-
return
|
|
347831
|
+
return inputSchema23();
|
|
347114
347832
|
},
|
|
347115
347833
|
get outputSchema() {
|
|
347116
|
-
return
|
|
347834
|
+
return outputSchema19();
|
|
347117
347835
|
},
|
|
347118
347836
|
isConcurrencySafe() {
|
|
347119
347837
|
return true;
|
|
@@ -347513,7 +348231,7 @@ var autoModeActive = false, autoModeFlagCli = false, autoModeCircuitBroken = fal
|
|
|
347513
348231
|
|
|
347514
348232
|
// src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts
|
|
347515
348233
|
import { writeFile as writeFile21 } from "fs/promises";
|
|
347516
|
-
var autoModeStateModule, permissionSetupModule, allowedPromptSchema,
|
|
348234
|
+
var autoModeStateModule, permissionSetupModule, allowedPromptSchema, inputSchema24, _sdkInputSchema, outputSchema20, ExitPlanModeV2Tool;
|
|
347517
348235
|
var init_ExitPlanModeV2Tool = __esm(() => {
|
|
347518
348236
|
init_v4();
|
|
347519
348237
|
init_state();
|
|
@@ -347536,14 +348254,14 @@ var init_ExitPlanModeV2Tool = __esm(() => {
|
|
|
347536
348254
|
tool: exports_external.enum(["Bash"]).describe("The tool this prompt applies to"),
|
|
347537
348255
|
prompt: exports_external.string().describe('Semantic description of the action, e.g. "run tests", "install dependencies"')
|
|
347538
348256
|
}));
|
|
347539
|
-
|
|
348257
|
+
inputSchema24 = lazySchema(() => exports_external.strictObject({
|
|
347540
348258
|
allowedPrompts: exports_external.array(allowedPromptSchema()).optional().describe("Prompt-based permissions needed to implement the plan. These describe categories of actions rather than specific commands.")
|
|
347541
348259
|
}).passthrough());
|
|
347542
|
-
_sdkInputSchema = lazySchema(() =>
|
|
348260
|
+
_sdkInputSchema = lazySchema(() => inputSchema24().extend({
|
|
347543
348261
|
plan: exports_external.string().optional().describe("The plan content (injected by normalizeToolInput from disk)"),
|
|
347544
348262
|
planFilePath: exports_external.string().optional().describe("The plan file path (injected by normalizeToolInput)")
|
|
347545
348263
|
}));
|
|
347546
|
-
|
|
348264
|
+
outputSchema20 = lazySchema(() => exports_external.object({
|
|
347547
348265
|
plan: exports_external.string().nullable().describe("The plan that was presented to the user"),
|
|
347548
348266
|
isAgent: exports_external.boolean(),
|
|
347549
348267
|
filePath: exports_external.string().optional().describe("The file path where the plan was saved"),
|
|
@@ -347563,10 +348281,10 @@ var init_ExitPlanModeV2Tool = __esm(() => {
|
|
|
347563
348281
|
return EXIT_PLAN_MODE_V2_TOOL_PROMPT;
|
|
347564
348282
|
},
|
|
347565
348283
|
get inputSchema() {
|
|
347566
|
-
return
|
|
348284
|
+
return inputSchema24();
|
|
347567
348285
|
},
|
|
347568
348286
|
get outputSchema() {
|
|
347569
|
-
return
|
|
348287
|
+
return outputSchema20();
|
|
347570
348288
|
},
|
|
347571
348289
|
userFacingName() {
|
|
347572
348290
|
return "";
|
|
@@ -347792,11 +348510,11 @@ ${plan}`,
|
|
|
347792
348510
|
});
|
|
347793
348511
|
|
|
347794
348512
|
// src/tools/testing/TestingPermissionTool.tsx
|
|
347795
|
-
var NAME = "TestingPermission",
|
|
348513
|
+
var NAME = "TestingPermission", inputSchema25, TestingPermissionTool;
|
|
347796
348514
|
var init_TestingPermissionTool = __esm(() => {
|
|
347797
348515
|
init_v4();
|
|
347798
348516
|
init_Tool();
|
|
347799
|
-
|
|
348517
|
+
inputSchema25 = lazySchema(() => exports_external.strictObject({}));
|
|
347800
348518
|
TestingPermissionTool = buildTool({
|
|
347801
348519
|
name: NAME,
|
|
347802
348520
|
maxResultSizeChars: 1e5,
|
|
@@ -347807,7 +348525,7 @@ var init_TestingPermissionTool = __esm(() => {
|
|
|
347807
348525
|
return "Test tool that always asks for permission before executing. Used for end-to-end testing.";
|
|
347808
348526
|
},
|
|
347809
348527
|
get inputSchema() {
|
|
347810
|
-
return
|
|
348528
|
+
return inputSchema25();
|
|
347811
348529
|
},
|
|
347812
348530
|
userFacingName() {
|
|
347813
348531
|
return "TestingPermission";
|
|
@@ -347940,7 +348658,7 @@ function validateHtmlPreview(preview) {
|
|
|
347940
348658
|
}
|
|
347941
348659
|
return null;
|
|
347942
348660
|
}
|
|
347943
|
-
var import_react_compiler_runtime119, jsx_runtime143, questionOptionSchema, questionSchema, annotationsSchema, UNIQUENESS_REFINE, commonFields,
|
|
348661
|
+
var import_react_compiler_runtime119, jsx_runtime143, questionOptionSchema, questionSchema, annotationsSchema, UNIQUENESS_REFINE, commonFields, inputSchema26, outputSchema21, AskUserQuestionTool;
|
|
347944
348662
|
var init_AskUserQuestionTool = __esm(() => {
|
|
347945
348663
|
init_state();
|
|
347946
348664
|
init_MessageResponse();
|
|
@@ -347993,13 +348711,13 @@ var init_AskUserQuestionTool = __esm(() => {
|
|
|
347993
348711
|
source: exports_external.string().optional().describe('Optional identifier for the source of this question (e.g., "remember" for /remember command). Used for analytics tracking.')
|
|
347994
348712
|
}).optional().describe("Optional metadata for tracking and analytics purposes. Not displayed to user.")
|
|
347995
348713
|
}));
|
|
347996
|
-
|
|
348714
|
+
inputSchema26 = lazySchema(() => exports_external.strictObject({
|
|
347997
348715
|
questions: exports_external.array(questionSchema()).min(1).max(4).describe("Questions to ask the user (1-4 questions)"),
|
|
347998
348716
|
...commonFields()
|
|
347999
348717
|
}).refine(UNIQUENESS_REFINE.check, {
|
|
348000
348718
|
message: UNIQUENESS_REFINE.message
|
|
348001
348719
|
}));
|
|
348002
|
-
|
|
348720
|
+
outputSchema21 = lazySchema(() => exports_external.object({
|
|
348003
348721
|
questions: exports_external.array(questionSchema()).describe("The questions that were asked"),
|
|
348004
348722
|
answers: exports_external.record(exports_external.string(), exports_external.string()).describe("The answers provided by the user (question text -> answer string; multi-select answers are comma-separated)"),
|
|
348005
348723
|
annotations: annotationsSchema()
|
|
@@ -348020,10 +348738,10 @@ var init_AskUserQuestionTool = __esm(() => {
|
|
|
348020
348738
|
return ASK_USER_QUESTION_TOOL_PROMPT + PREVIEW_FEATURE_PROMPT[format4];
|
|
348021
348739
|
},
|
|
348022
348740
|
get inputSchema() {
|
|
348023
|
-
return
|
|
348741
|
+
return inputSchema26();
|
|
348024
348742
|
},
|
|
348025
348743
|
get outputSchema() {
|
|
348026
|
-
return
|
|
348744
|
+
return outputSchema21();
|
|
348027
348745
|
},
|
|
348028
348746
|
userFacingName() {
|
|
348029
348747
|
return "";
|
|
@@ -349188,7 +349906,7 @@ function countUniqueFilesFromOutgoingCalls(calls) {
|
|
|
349188
349906
|
const validUris = calls.map((call5) => call5.to?.uri).filter((uri) => uri);
|
|
349189
349907
|
return new Set(validUris).size;
|
|
349190
349908
|
}
|
|
349191
|
-
var MAX_LSP_FILE_SIZE_BYTES = 1e7,
|
|
349909
|
+
var MAX_LSP_FILE_SIZE_BYTES = 1e7, inputSchema27, outputSchema22, LSPTool;
|
|
349192
349910
|
var init_LSPTool = __esm(() => {
|
|
349193
349911
|
init_v4();
|
|
349194
349912
|
init_manager();
|
|
@@ -349204,7 +349922,7 @@ var init_LSPTool = __esm(() => {
|
|
|
349204
349922
|
init_formatters();
|
|
349205
349923
|
init_schemas5();
|
|
349206
349924
|
init_UI18();
|
|
349207
|
-
|
|
349925
|
+
inputSchema27 = lazySchema(() => exports_external.strictObject({
|
|
349208
349926
|
operation: exports_external.enum([
|
|
349209
349927
|
"goToDefinition",
|
|
349210
349928
|
"findReferences",
|
|
@@ -349220,7 +349938,7 @@ var init_LSPTool = __esm(() => {
|
|
|
349220
349938
|
line: exports_external.number().int().positive().describe("The line number (1-based, as shown in editors)"),
|
|
349221
349939
|
character: exports_external.number().int().positive().describe("The character offset (1-based, as shown in editors)")
|
|
349222
349940
|
}));
|
|
349223
|
-
|
|
349941
|
+
outputSchema22 = lazySchema(() => exports_external.object({
|
|
349224
349942
|
operation: exports_external.enum([
|
|
349225
349943
|
"goToDefinition",
|
|
349226
349944
|
"findReferences",
|
|
@@ -349251,10 +349969,10 @@ var init_LSPTool = __esm(() => {
|
|
|
349251
349969
|
return isLspConnected();
|
|
349252
349970
|
},
|
|
349253
349971
|
get inputSchema() {
|
|
349254
|
-
return
|
|
349972
|
+
return inputSchema27();
|
|
349255
349973
|
},
|
|
349256
349974
|
get outputSchema() {
|
|
349257
|
-
return
|
|
349975
|
+
return outputSchema22();
|
|
349258
349976
|
},
|
|
349259
349977
|
isConcurrencySafe() {
|
|
349260
349978
|
return true;
|
|
@@ -349703,7 +350421,7 @@ var init_UI19 = __esm(() => {
|
|
|
349703
350421
|
});
|
|
349704
350422
|
|
|
349705
350423
|
// src/tools/EnterPlanModeTool/EnterPlanModeTool.ts
|
|
349706
|
-
var
|
|
350424
|
+
var inputSchema28, outputSchema23, EnterPlanModeTool;
|
|
349707
350425
|
var init_EnterPlanModeTool = __esm(() => {
|
|
349708
350426
|
init_v4();
|
|
349709
350427
|
init_state();
|
|
@@ -349713,8 +350431,8 @@ var init_EnterPlanModeTool = __esm(() => {
|
|
|
349713
350431
|
init_planModeV2();
|
|
349714
350432
|
init_prompt16();
|
|
349715
350433
|
init_UI19();
|
|
349716
|
-
|
|
349717
|
-
|
|
350434
|
+
inputSchema28 = lazySchema(() => exports_external.strictObject({}));
|
|
350435
|
+
outputSchema23 = lazySchema(() => exports_external.object({
|
|
349718
350436
|
message: exports_external.string().describe("Confirmation that plan mode was entered")
|
|
349719
350437
|
}));
|
|
349720
350438
|
EnterPlanModeTool = buildTool({
|
|
@@ -349728,10 +350446,10 @@ var init_EnterPlanModeTool = __esm(() => {
|
|
|
349728
350446
|
return getEnterPlanModeToolPrompt();
|
|
349729
350447
|
},
|
|
349730
350448
|
get inputSchema() {
|
|
349731
|
-
return
|
|
350449
|
+
return inputSchema28();
|
|
349732
350450
|
},
|
|
349733
350451
|
get outputSchema() {
|
|
349734
|
-
return
|
|
350452
|
+
return outputSchema23();
|
|
349735
350453
|
},
|
|
349736
350454
|
userFacingName() {
|
|
349737
350455
|
return "";
|
|
@@ -349885,7 +350603,7 @@ var init_UI20 = __esm(() => {
|
|
|
349885
350603
|
});
|
|
349886
350604
|
|
|
349887
350605
|
// src/tools/EnterWorktreeTool/EnterWorktreeTool.ts
|
|
349888
|
-
var
|
|
350606
|
+
var inputSchema29, outputSchema24, EnterWorktreeTool;
|
|
349889
350607
|
var init_EnterWorktreeTool = __esm(() => {
|
|
349890
350608
|
init_v4();
|
|
349891
350609
|
init_state();
|
|
@@ -349900,7 +350618,7 @@ var init_EnterWorktreeTool = __esm(() => {
|
|
|
349900
350618
|
init_sessionStorage();
|
|
349901
350619
|
init_worktree();
|
|
349902
350620
|
init_UI20();
|
|
349903
|
-
|
|
350621
|
+
inputSchema29 = lazySchema(() => exports_external.strictObject({
|
|
349904
350622
|
name: exports_external.string().superRefine((s, ctx) => {
|
|
349905
350623
|
try {
|
|
349906
350624
|
validateWorktreeSlug(s);
|
|
@@ -349909,7 +350627,7 @@ var init_EnterWorktreeTool = __esm(() => {
|
|
|
349909
350627
|
}
|
|
349910
350628
|
}).optional().describe('Optional name for the worktree. Each "/"-separated segment may contain only letters, digits, dots, underscores, and dashes; max 64 chars total. A random name is generated if not provided.')
|
|
349911
350629
|
}));
|
|
349912
|
-
|
|
350630
|
+
outputSchema24 = lazySchema(() => exports_external.object({
|
|
349913
350631
|
worktreePath: exports_external.string(),
|
|
349914
350632
|
worktreeBranch: exports_external.string().optional(),
|
|
349915
350633
|
message: exports_external.string()
|
|
@@ -349925,10 +350643,10 @@ var init_EnterWorktreeTool = __esm(() => {
|
|
|
349925
350643
|
return getEnterWorktreeToolPrompt();
|
|
349926
350644
|
},
|
|
349927
350645
|
get inputSchema() {
|
|
349928
|
-
return
|
|
350646
|
+
return inputSchema29();
|
|
349929
350647
|
},
|
|
349930
350648
|
get outputSchema() {
|
|
349931
|
-
return
|
|
350649
|
+
return outputSchema24();
|
|
349932
350650
|
},
|
|
349933
350651
|
userFacingName() {
|
|
349934
350652
|
return "Creating worktree";
|
|
@@ -350095,7 +350813,7 @@ function restoreSessionToOriginalCwd(originalCwd, projectRootIsWorktree) {
|
|
|
350095
350813
|
clearMemoryFileCaches();
|
|
350096
350814
|
getPlansDirectory.cache.clear?.();
|
|
350097
350815
|
}
|
|
350098
|
-
var
|
|
350816
|
+
var inputSchema30, outputSchema25, ExitWorktreeTool;
|
|
350099
350817
|
var init_ExitWorktreeTool = __esm(() => {
|
|
350100
350818
|
init_v4();
|
|
350101
350819
|
init_state();
|
|
@@ -350110,11 +350828,11 @@ var init_ExitWorktreeTool = __esm(() => {
|
|
|
350110
350828
|
init_sessionStorage();
|
|
350111
350829
|
init_worktree();
|
|
350112
350830
|
init_UI21();
|
|
350113
|
-
|
|
350831
|
+
inputSchema30 = lazySchema(() => exports_external.strictObject({
|
|
350114
350832
|
action: exports_external.enum(["keep", "remove"]).describe('"keep" leaves the worktree and branch on disk; "remove" deletes both.'),
|
|
350115
350833
|
discard_changes: exports_external.boolean().optional().describe('Required true when action is "remove" and the worktree has uncommitted files or unmerged commits. The tool will refuse and list them otherwise.')
|
|
350116
350834
|
}));
|
|
350117
|
-
|
|
350835
|
+
outputSchema25 = lazySchema(() => exports_external.object({
|
|
350118
350836
|
action: exports_external.enum(["keep", "remove"]),
|
|
350119
350837
|
originalCwd: exports_external.string(),
|
|
350120
350838
|
worktreePath: exports_external.string(),
|
|
@@ -350135,10 +350853,10 @@ var init_ExitWorktreeTool = __esm(() => {
|
|
|
350135
350853
|
return getExitWorktreeToolPrompt();
|
|
350136
350854
|
},
|
|
350137
350855
|
get inputSchema() {
|
|
350138
|
-
return
|
|
350856
|
+
return inputSchema30();
|
|
350139
350857
|
},
|
|
350140
350858
|
get outputSchema() {
|
|
350141
|
-
return
|
|
350859
|
+
return outputSchema25();
|
|
350142
350860
|
},
|
|
350143
350861
|
userFacingName() {
|
|
350144
350862
|
return "Exiting worktree";
|
|
@@ -350265,433 +350983,6 @@ var init_ExitWorktreeTool = __esm(() => {
|
|
|
350265
350983
|
// src/tools/ConfigTool/constants.ts
|
|
350266
350984
|
var CONFIG_TOOL_NAME = "Config";
|
|
350267
350985
|
|
|
350268
|
-
// src/utils/model/modelOptions.ts
|
|
350269
|
-
function getDefaultOptionForUser(fastMode = false) {
|
|
350270
|
-
if (process.env.USER_TYPE === "ant") {
|
|
350271
|
-
const currentModel = renderDefaultModelSetting(getDefaultMainLoopModelSetting());
|
|
350272
|
-
return {
|
|
350273
|
-
value: null,
|
|
350274
|
-
label: "Default (recommended)",
|
|
350275
|
-
description: `Use the default model for Ants (currently ${currentModel})`,
|
|
350276
|
-
descriptionForModel: `Default model (currently ${currentModel})`
|
|
350277
|
-
};
|
|
350278
|
-
}
|
|
350279
|
-
if (isMaximoAISubscriber()) {
|
|
350280
|
-
return {
|
|
350281
|
-
value: null,
|
|
350282
|
-
label: "Default (recommended)",
|
|
350283
|
-
description: getMaximoAiUserDefaultModelDescription(fastMode)
|
|
350284
|
-
};
|
|
350285
|
-
}
|
|
350286
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350287
|
-
return {
|
|
350288
|
-
value: null,
|
|
350289
|
-
label: "Default (recommended)",
|
|
350290
|
-
description: `Use the default model (currently ${renderDefaultModelSetting(getDefaultMainLoopModelSetting())})${is3P ? "" : ` · ${formatModelPricing(COST_TIER_3_15)}`}`
|
|
350291
|
-
};
|
|
350292
|
-
}
|
|
350293
|
-
function getCustomSonnetOption() {
|
|
350294
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350295
|
-
const customSonnetModel = process.env.ANTHROPIC_DEFAULT_SONNET_MODEL;
|
|
350296
|
-
if (is3P && customSonnetModel) {
|
|
350297
|
-
const is1m = has1mContext(customSonnetModel);
|
|
350298
|
-
return {
|
|
350299
|
-
value: "sonnet",
|
|
350300
|
-
label: process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_NAME ?? customSonnetModel,
|
|
350301
|
-
description: process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION ?? `Custom Sonnet model${is1m ? " (1M context)" : ""}`,
|
|
350302
|
-
descriptionForModel: `${process.env.ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION ?? `Custom Sonnet model${is1m ? " with 1M context" : ""}`} (${customSonnetModel})`
|
|
350303
|
-
};
|
|
350304
|
-
}
|
|
350305
|
-
}
|
|
350306
|
-
function getSonnet46Option() {
|
|
350307
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350308
|
-
return {
|
|
350309
|
-
value: is3P ? getModelStrings2().sonnet46 : "sonnet",
|
|
350310
|
-
label: "Sonnet",
|
|
350311
|
-
description: `Sonnet 4.6 · Best for everyday tasks${is3P ? "" : ` · ${formatModelPricing(COST_TIER_3_15)}`}`,
|
|
350312
|
-
descriptionForModel: "Sonnet 4.6 - best for everyday tasks. Generally recommended for most coding tasks"
|
|
350313
|
-
};
|
|
350314
|
-
}
|
|
350315
|
-
function getCustomOpusOption() {
|
|
350316
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350317
|
-
const customOpusModel = process.env.ANTHROPIC_DEFAULT_OPUS_MODEL;
|
|
350318
|
-
if (is3P && customOpusModel) {
|
|
350319
|
-
const is1m = has1mContext(customOpusModel);
|
|
350320
|
-
return {
|
|
350321
|
-
value: "opus",
|
|
350322
|
-
label: process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_NAME ?? customOpusModel,
|
|
350323
|
-
description: process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION ?? `Custom Opus model${is1m ? " (1M context)" : ""}`,
|
|
350324
|
-
descriptionForModel: `${process.env.ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION ?? `Custom Opus model${is1m ? " with 1M context" : ""}`} (${customOpusModel})`
|
|
350325
|
-
};
|
|
350326
|
-
}
|
|
350327
|
-
}
|
|
350328
|
-
function getOpus41Option() {
|
|
350329
|
-
return {
|
|
350330
|
-
value: "opus",
|
|
350331
|
-
label: "Opus 4.1",
|
|
350332
|
-
description: `Opus 4.1 · Legacy`,
|
|
350333
|
-
descriptionForModel: "Opus 4.1 - legacy version"
|
|
350334
|
-
};
|
|
350335
|
-
}
|
|
350336
|
-
function getOpus46Option(fastMode = false) {
|
|
350337
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350338
|
-
return {
|
|
350339
|
-
value: is3P ? getModelStrings2().opus46 : "opus",
|
|
350340
|
-
label: "Opus",
|
|
350341
|
-
description: `Opus 4.6 · Most capable for complex work${getOpus46PricingSuffix(fastMode)}`,
|
|
350342
|
-
descriptionForModel: "Opus 4.6 - most capable for complex work"
|
|
350343
|
-
};
|
|
350344
|
-
}
|
|
350345
|
-
function getSonnet46_1MOption() {
|
|
350346
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350347
|
-
return {
|
|
350348
|
-
value: is3P ? getModelStrings2().sonnet46 + "[1m]" : "sonnet[1m]",
|
|
350349
|
-
label: "Sonnet (1M context)",
|
|
350350
|
-
description: `Sonnet 4.6 for long sessions${is3P ? "" : ` · ${formatModelPricing(COST_TIER_3_15)}`}`,
|
|
350351
|
-
descriptionForModel: "Sonnet 4.6 with 1M context window - for long sessions with large codebases"
|
|
350352
|
-
};
|
|
350353
|
-
}
|
|
350354
|
-
function getOpus46_1MOption(fastMode = false) {
|
|
350355
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350356
|
-
return {
|
|
350357
|
-
value: is3P ? getModelStrings2().opus46 + "[1m]" : "opus[1m]",
|
|
350358
|
-
label: "Opus (1M context)",
|
|
350359
|
-
description: `Opus 4.6 for long sessions${getOpus46PricingSuffix(fastMode)}`,
|
|
350360
|
-
descriptionForModel: "Opus 4.6 with 1M context window - for long sessions with large codebases"
|
|
350361
|
-
};
|
|
350362
|
-
}
|
|
350363
|
-
function getCustomHaikuOption() {
|
|
350364
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350365
|
-
const customHaikuModel = process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;
|
|
350366
|
-
if (is3P && customHaikuModel) {
|
|
350367
|
-
return {
|
|
350368
|
-
value: "haiku",
|
|
350369
|
-
label: process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME ?? customHaikuModel,
|
|
350370
|
-
description: process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION ?? "Custom Haiku model",
|
|
350371
|
-
descriptionForModel: `${process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION ?? "Custom Haiku model"} (${customHaikuModel})`
|
|
350372
|
-
};
|
|
350373
|
-
}
|
|
350374
|
-
}
|
|
350375
|
-
function getHaiku45Option() {
|
|
350376
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350377
|
-
return {
|
|
350378
|
-
value: "haiku",
|
|
350379
|
-
label: "Haiku",
|
|
350380
|
-
description: `Haiku 4.5 · Fastest for quick answers${is3P ? "" : ` · ${formatModelPricing(COST_HAIKU_45)}`}`,
|
|
350381
|
-
descriptionForModel: "Haiku 4.5 - fastest for quick answers. Lower cost but less capable than Sonnet 4.6."
|
|
350382
|
-
};
|
|
350383
|
-
}
|
|
350384
|
-
function getHaiku35Option() {
|
|
350385
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350386
|
-
return {
|
|
350387
|
-
value: "haiku",
|
|
350388
|
-
label: "Haiku",
|
|
350389
|
-
description: `Haiku 3.5 for simple tasks${is3P ? "" : ` · ${formatModelPricing(COST_HAIKU_35)}`}`,
|
|
350390
|
-
descriptionForModel: "Haiku 3.5 - faster and lower cost, but less capable than Sonnet. Use for simple tasks."
|
|
350391
|
-
};
|
|
350392
|
-
}
|
|
350393
|
-
function getHaikuOption() {
|
|
350394
|
-
const haikuModel = getDefaultHaikuModel();
|
|
350395
|
-
return haikuModel === getModelStrings2().haiku45 ? getHaiku45Option() : getHaiku35Option();
|
|
350396
|
-
}
|
|
350397
|
-
function getMaxOpusOption(fastMode = false) {
|
|
350398
|
-
return {
|
|
350399
|
-
value: "opus",
|
|
350400
|
-
label: "Opus",
|
|
350401
|
-
description: `Opus 4.6 · Most capable for complex work${fastMode ? getOpus46PricingSuffix(true) : ""}`
|
|
350402
|
-
};
|
|
350403
|
-
}
|
|
350404
|
-
function getMaxSonnet46_1MOption() {
|
|
350405
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350406
|
-
const billingInfo = isMaximoAISubscriber() ? " · Billed as extra usage" : "";
|
|
350407
|
-
return {
|
|
350408
|
-
value: "sonnet[1m]",
|
|
350409
|
-
label: "Sonnet (1M context)",
|
|
350410
|
-
description: `Sonnet 4.6 with 1M context${billingInfo}${is3P ? "" : ` · ${formatModelPricing(COST_TIER_3_15)}`}`
|
|
350411
|
-
};
|
|
350412
|
-
}
|
|
350413
|
-
function getMaxOpus46_1MOption(fastMode = false) {
|
|
350414
|
-
const billingInfo = isMaximoAISubscriber() ? " · Billed as extra usage" : "";
|
|
350415
|
-
return {
|
|
350416
|
-
value: "opus[1m]",
|
|
350417
|
-
label: "Opus (1M context)",
|
|
350418
|
-
description: `Opus 4.6 with 1M context${billingInfo}${getOpus46PricingSuffix(fastMode)}`
|
|
350419
|
-
};
|
|
350420
|
-
}
|
|
350421
|
-
function getMergedOpus1MOption(fastMode = false) {
|
|
350422
|
-
const is3P = getAPIProvider() !== "firstParty";
|
|
350423
|
-
return {
|
|
350424
|
-
value: is3P ? getModelStrings2().opus46 + "[1m]" : "opus[1m]",
|
|
350425
|
-
label: "Opus (1M context)",
|
|
350426
|
-
description: `Opus 4.6 with 1M context · Most capable for complex work${!is3P && fastMode ? getOpus46PricingSuffix(fastMode) : ""}`,
|
|
350427
|
-
descriptionForModel: "Opus 4.6 with 1M context - most capable for complex work"
|
|
350428
|
-
};
|
|
350429
|
-
}
|
|
350430
|
-
function getOpusPlanOption() {
|
|
350431
|
-
return {
|
|
350432
|
-
value: "opusplan",
|
|
350433
|
-
label: "Opus Plan Mode",
|
|
350434
|
-
description: "Use Opus 4.6 in plan mode, Sonnet 4.6 otherwise"
|
|
350435
|
-
};
|
|
350436
|
-
}
|
|
350437
|
-
function getCodexPlanOption() {
|
|
350438
|
-
return {
|
|
350439
|
-
value: "codexplan",
|
|
350440
|
-
label: "Codex Plan",
|
|
350441
|
-
description: "GPT-5.4 on the Codex backend with high reasoning"
|
|
350442
|
-
};
|
|
350443
|
-
}
|
|
350444
|
-
function getCodexSparkOption() {
|
|
350445
|
-
return {
|
|
350446
|
-
value: "codexspark",
|
|
350447
|
-
label: "Codex Spark",
|
|
350448
|
-
description: "GPT-5.3 Codex Spark on the Codex backend for fast tool loops"
|
|
350449
|
-
};
|
|
350450
|
-
}
|
|
350451
|
-
function getModelOptionsBase(fastMode = false) {
|
|
350452
|
-
if (process.env.USER_TYPE === "ant") {
|
|
350453
|
-
const antModelOptions = getAntModels().map((m) => ({
|
|
350454
|
-
value: m.alias,
|
|
350455
|
-
label: m.label,
|
|
350456
|
-
description: m.description ?? `[ANT-ONLY] ${m.label} (${m.model})`
|
|
350457
|
-
}));
|
|
350458
|
-
return [
|
|
350459
|
-
getDefaultOptionForUser(),
|
|
350460
|
-
...antModelOptions,
|
|
350461
|
-
getMergedOpus1MOption(fastMode),
|
|
350462
|
-
getSonnet46Option(),
|
|
350463
|
-
getSonnet46_1MOption(),
|
|
350464
|
-
getHaiku45Option()
|
|
350465
|
-
];
|
|
350466
|
-
}
|
|
350467
|
-
if (isMaximoAISubscriber()) {
|
|
350468
|
-
if (isMaxSubscriber() || isTeamPremiumSubscriber()) {
|
|
350469
|
-
const premiumOptions = [getDefaultOptionForUser(fastMode)];
|
|
350470
|
-
if (!isOpus1mMergeEnabled() && checkOpus1mAccess()) {
|
|
350471
|
-
premiumOptions.push(getMaxOpus46_1MOption(fastMode));
|
|
350472
|
-
}
|
|
350473
|
-
premiumOptions.push(MaxSonnet46Option);
|
|
350474
|
-
if (checkSonnet1mAccess()) {
|
|
350475
|
-
premiumOptions.push(getMaxSonnet46_1MOption());
|
|
350476
|
-
}
|
|
350477
|
-
premiumOptions.push(MaxHaiku45Option);
|
|
350478
|
-
return premiumOptions;
|
|
350479
|
-
}
|
|
350480
|
-
const standardOptions = [getDefaultOptionForUser(fastMode)];
|
|
350481
|
-
if (checkSonnet1mAccess()) {
|
|
350482
|
-
standardOptions.push(getMaxSonnet46_1MOption());
|
|
350483
|
-
}
|
|
350484
|
-
if (isOpus1mMergeEnabled()) {
|
|
350485
|
-
standardOptions.push(getMergedOpus1MOption(fastMode));
|
|
350486
|
-
} else {
|
|
350487
|
-
standardOptions.push(getMaxOpusOption(fastMode));
|
|
350488
|
-
if (checkOpus1mAccess()) {
|
|
350489
|
-
standardOptions.push(getMaxOpus46_1MOption(fastMode));
|
|
350490
|
-
}
|
|
350491
|
-
}
|
|
350492
|
-
standardOptions.push(MaxHaiku45Option);
|
|
350493
|
-
return standardOptions;
|
|
350494
|
-
}
|
|
350495
|
-
if (getAPIProvider() === "firstParty") {
|
|
350496
|
-
const payg1POptions = [getDefaultOptionForUser(fastMode)];
|
|
350497
|
-
if (checkSonnet1mAccess()) {
|
|
350498
|
-
payg1POptions.push(getSonnet46_1MOption());
|
|
350499
|
-
}
|
|
350500
|
-
if (isOpus1mMergeEnabled()) {
|
|
350501
|
-
payg1POptions.push(getMergedOpus1MOption(fastMode));
|
|
350502
|
-
} else {
|
|
350503
|
-
payg1POptions.push(getOpus46Option(fastMode));
|
|
350504
|
-
if (checkOpus1mAccess()) {
|
|
350505
|
-
payg1POptions.push(getOpus46_1MOption(fastMode));
|
|
350506
|
-
}
|
|
350507
|
-
}
|
|
350508
|
-
payg1POptions.push(getHaiku45Option());
|
|
350509
|
-
return payg1POptions;
|
|
350510
|
-
}
|
|
350511
|
-
const payg3pOptions = [getDefaultOptionForUser(fastMode)];
|
|
350512
|
-
if (getAPIProvider() === "openai") {
|
|
350513
|
-
payg3pOptions.push(getCodexPlanOption(), getCodexSparkOption());
|
|
350514
|
-
}
|
|
350515
|
-
const customSonnet = getCustomSonnetOption();
|
|
350516
|
-
if (customSonnet !== undefined) {
|
|
350517
|
-
payg3pOptions.push(customSonnet);
|
|
350518
|
-
} else {
|
|
350519
|
-
payg3pOptions.push(getSonnet46Option());
|
|
350520
|
-
if (checkSonnet1mAccess()) {
|
|
350521
|
-
payg3pOptions.push(getSonnet46_1MOption());
|
|
350522
|
-
}
|
|
350523
|
-
}
|
|
350524
|
-
const customOpus = getCustomOpusOption();
|
|
350525
|
-
if (customOpus !== undefined) {
|
|
350526
|
-
payg3pOptions.push(customOpus);
|
|
350527
|
-
} else {
|
|
350528
|
-
payg3pOptions.push(getOpus41Option());
|
|
350529
|
-
payg3pOptions.push(getOpus46Option(fastMode));
|
|
350530
|
-
if (checkOpus1mAccess()) {
|
|
350531
|
-
payg3pOptions.push(getOpus46_1MOption(fastMode));
|
|
350532
|
-
}
|
|
350533
|
-
}
|
|
350534
|
-
const customHaiku = getCustomHaikuOption();
|
|
350535
|
-
if (customHaiku !== undefined) {
|
|
350536
|
-
payg3pOptions.push(customHaiku);
|
|
350537
|
-
} else {
|
|
350538
|
-
payg3pOptions.push(getHaikuOption());
|
|
350539
|
-
}
|
|
350540
|
-
return payg3pOptions;
|
|
350541
|
-
}
|
|
350542
|
-
function getModelFamilyInfo(model) {
|
|
350543
|
-
const canonical = getCanonicalName(model);
|
|
350544
|
-
if (canonical.includes("claude-sonnet-4-6") || canonical.includes("claude-sonnet-4-5") || canonical.includes("claude-sonnet-4-") || canonical.includes("claude-3-7-sonnet") || canonical.includes("claude-3-5-sonnet")) {
|
|
350545
|
-
const currentName = getMarketingNameForModel(getDefaultSonnetModel());
|
|
350546
|
-
if (currentName) {
|
|
350547
|
-
return { alias: "Sonnet", currentVersionName: currentName };
|
|
350548
|
-
}
|
|
350549
|
-
}
|
|
350550
|
-
if (canonical.includes("claude-opus-4")) {
|
|
350551
|
-
const currentName = getMarketingNameForModel(getDefaultOpusModel());
|
|
350552
|
-
if (currentName) {
|
|
350553
|
-
return { alias: "Opus", currentVersionName: currentName };
|
|
350554
|
-
}
|
|
350555
|
-
}
|
|
350556
|
-
if (canonical.includes("claude-haiku") || canonical.includes("claude-3-5-haiku")) {
|
|
350557
|
-
const currentName = getMarketingNameForModel(getDefaultHaikuModel());
|
|
350558
|
-
if (currentName) {
|
|
350559
|
-
return { alias: "Haiku", currentVersionName: currentName };
|
|
350560
|
-
}
|
|
350561
|
-
}
|
|
350562
|
-
return null;
|
|
350563
|
-
}
|
|
350564
|
-
function getKnownModelOption(model) {
|
|
350565
|
-
const marketingName = getMarketingNameForModel(model);
|
|
350566
|
-
if (!marketingName)
|
|
350567
|
-
return null;
|
|
350568
|
-
const familyInfo = getModelFamilyInfo(model);
|
|
350569
|
-
if (!familyInfo) {
|
|
350570
|
-
return {
|
|
350571
|
-
value: model,
|
|
350572
|
-
label: marketingName,
|
|
350573
|
-
description: model
|
|
350574
|
-
};
|
|
350575
|
-
}
|
|
350576
|
-
if (marketingName !== familyInfo.currentVersionName) {
|
|
350577
|
-
return {
|
|
350578
|
-
value: model,
|
|
350579
|
-
label: marketingName,
|
|
350580
|
-
description: `Newer version available · select ${familyInfo.alias} for ${familyInfo.currentVersionName}`
|
|
350581
|
-
};
|
|
350582
|
-
}
|
|
350583
|
-
return {
|
|
350584
|
-
value: model,
|
|
350585
|
-
label: marketingName,
|
|
350586
|
-
description: model
|
|
350587
|
-
};
|
|
350588
|
-
}
|
|
350589
|
-
async function getModelOptionsAsync(fastMode = false) {
|
|
350590
|
-
const maximoOptions = await getMaximoModelOptions();
|
|
350591
|
-
if (maximoOptions) {
|
|
350592
|
-
return filterModelOptionsByAllowlist([
|
|
350593
|
-
getDefaultOptionForUser(fastMode),
|
|
350594
|
-
...maximoOptions
|
|
350595
|
-
]);
|
|
350596
|
-
}
|
|
350597
|
-
return getModelOptionsBase(fastMode);
|
|
350598
|
-
}
|
|
350599
|
-
function getModelOptions(fastMode = false) {
|
|
350600
|
-
const maximoOptions = getCachedMaximoModelOptions();
|
|
350601
|
-
if (maximoOptions) {
|
|
350602
|
-
return filterModelOptionsByAllowlist([
|
|
350603
|
-
getDefaultOptionForUser(fastMode),
|
|
350604
|
-
...maximoOptions
|
|
350605
|
-
]);
|
|
350606
|
-
}
|
|
350607
|
-
const options2 = getModelOptionsBase(fastMode);
|
|
350608
|
-
const envCustomModel = process.env.ANTHROPIC_CUSTOM_MODEL_OPTION;
|
|
350609
|
-
if (envCustomModel && !options2.some((existing) => existing.value === envCustomModel)) {
|
|
350610
|
-
options2.push({
|
|
350611
|
-
value: envCustomModel,
|
|
350612
|
-
label: process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_NAME ?? envCustomModel,
|
|
350613
|
-
description: process.env.ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION ?? `Custom model (${envCustomModel})`
|
|
350614
|
-
});
|
|
350615
|
-
}
|
|
350616
|
-
for (const opt of getGlobalConfig().additionalModelOptionsCache ?? []) {
|
|
350617
|
-
if (!options2.some((existing) => existing.value === opt.value)) {
|
|
350618
|
-
options2.push(opt);
|
|
350619
|
-
}
|
|
350620
|
-
}
|
|
350621
|
-
let customModel = null;
|
|
350622
|
-
const currentMainLoopModel = getUserSpecifiedModelSetting();
|
|
350623
|
-
const initialMainLoopModel = getInitialMainLoopModel();
|
|
350624
|
-
if (currentMainLoopModel !== undefined && currentMainLoopModel !== null) {
|
|
350625
|
-
customModel = currentMainLoopModel;
|
|
350626
|
-
} else if (initialMainLoopModel !== null) {
|
|
350627
|
-
customModel = initialMainLoopModel;
|
|
350628
|
-
}
|
|
350629
|
-
if (customModel === null || options2.some((opt) => opt.value === customModel)) {
|
|
350630
|
-
return filterModelOptionsByAllowlist(options2);
|
|
350631
|
-
} else if (customModel === "opusplan") {
|
|
350632
|
-
return filterModelOptionsByAllowlist([...options2, getOpusPlanOption()]);
|
|
350633
|
-
} else if (customModel === "codexplan") {
|
|
350634
|
-
return filterModelOptionsByAllowlist([...options2, getCodexPlanOption()]);
|
|
350635
|
-
} else if (customModel === "codexspark") {
|
|
350636
|
-
return filterModelOptionsByAllowlist([...options2, getCodexSparkOption()]);
|
|
350637
|
-
} else if (customModel === "opus" && getAPIProvider() === "firstParty") {
|
|
350638
|
-
return filterModelOptionsByAllowlist([
|
|
350639
|
-
...options2,
|
|
350640
|
-
getMaxOpusOption(fastMode)
|
|
350641
|
-
]);
|
|
350642
|
-
} else if (customModel === "opus[1m]" && getAPIProvider() === "firstParty") {
|
|
350643
|
-
return filterModelOptionsByAllowlist([
|
|
350644
|
-
...options2,
|
|
350645
|
-
getMergedOpus1MOption(fastMode)
|
|
350646
|
-
]);
|
|
350647
|
-
} else {
|
|
350648
|
-
const knownOption = getKnownModelOption(customModel);
|
|
350649
|
-
if (knownOption) {
|
|
350650
|
-
options2.push(knownOption);
|
|
350651
|
-
} else {
|
|
350652
|
-
options2.push({
|
|
350653
|
-
value: customModel,
|
|
350654
|
-
label: customModel,
|
|
350655
|
-
description: "Custom model"
|
|
350656
|
-
});
|
|
350657
|
-
}
|
|
350658
|
-
return filterModelOptionsByAllowlist(options2);
|
|
350659
|
-
}
|
|
350660
|
-
}
|
|
350661
|
-
function filterModelOptionsByAllowlist(options2) {
|
|
350662
|
-
const settings = getSettings_DEPRECATED() || {};
|
|
350663
|
-
if (!settings.availableModels) {
|
|
350664
|
-
return options2;
|
|
350665
|
-
}
|
|
350666
|
-
return options2.filter((opt) => opt.value === null || opt.value !== null && isModelAllowed(opt.value));
|
|
350667
|
-
}
|
|
350668
|
-
var MaxSonnet46Option, MaxHaiku45Option;
|
|
350669
|
-
var init_modelOptions = __esm(() => {
|
|
350670
|
-
init_state();
|
|
350671
|
-
init_antModels();
|
|
350672
|
-
init_auth2();
|
|
350673
|
-
init_modelStrings();
|
|
350674
|
-
init_modelCost();
|
|
350675
|
-
init_settings2();
|
|
350676
|
-
init_check1mAccess();
|
|
350677
|
-
init_providers();
|
|
350678
|
-
init_modelAllowlist();
|
|
350679
|
-
init_model();
|
|
350680
|
-
init_context();
|
|
350681
|
-
init_config2();
|
|
350682
|
-
init_maximoModels();
|
|
350683
|
-
MaxSonnet46Option = {
|
|
350684
|
-
value: "sonnet",
|
|
350685
|
-
label: "Sonnet",
|
|
350686
|
-
description: "Sonnet 4.6 · Best for everyday tasks"
|
|
350687
|
-
};
|
|
350688
|
-
MaxHaiku45Option = {
|
|
350689
|
-
value: "haiku",
|
|
350690
|
-
label: "Haiku",
|
|
350691
|
-
description: "Haiku 4.5 · Fastest for quick answers"
|
|
350692
|
-
};
|
|
350693
|
-
});
|
|
350694
|
-
|
|
350695
350986
|
// src/voice/voiceModeEnabled.ts
|
|
350696
350987
|
var init_voiceModeEnabled = __esm(() => {
|
|
350697
350988
|
init_growthbook();
|
|
@@ -351133,7 +351424,7 @@ function buildNestedObject(path16, value) {
|
|
|
351133
351424
|
}
|
|
351134
351425
|
return { [key]: buildNestedObject(path16.slice(1), value) };
|
|
351135
351426
|
}
|
|
351136
|
-
var
|
|
351427
|
+
var inputSchema31, outputSchema26, ConfigTool;
|
|
351137
351428
|
var init_ConfigTool = __esm(() => {
|
|
351138
351429
|
init_v4();
|
|
351139
351430
|
init_analytics();
|
|
@@ -351146,11 +351437,11 @@ var init_ConfigTool = __esm(() => {
|
|
|
351146
351437
|
init_prompt17();
|
|
351147
351438
|
init_supportedSettings();
|
|
351148
351439
|
init_UI22();
|
|
351149
|
-
|
|
351440
|
+
inputSchema31 = lazySchema(() => exports_external.strictObject({
|
|
351150
351441
|
setting: exports_external.string().describe('The setting key (e.g., "theme", "model", "permissions.defaultMode")'),
|
|
351151
351442
|
value: exports_external.union([exports_external.string(), exports_external.boolean(), exports_external.number()]).optional().describe("The new value. Omit to get current value.")
|
|
351152
351443
|
}));
|
|
351153
|
-
|
|
351444
|
+
outputSchema26 = lazySchema(() => exports_external.object({
|
|
351154
351445
|
success: exports_external.boolean(),
|
|
351155
351446
|
operation: exports_external.enum(["get", "set"]).optional(),
|
|
351156
351447
|
setting: exports_external.string().optional(),
|
|
@@ -351170,10 +351461,10 @@ var init_ConfigTool = __esm(() => {
|
|
|
351170
351461
|
return generatePrompt();
|
|
351171
351462
|
},
|
|
351172
351463
|
get inputSchema() {
|
|
351173
|
-
return
|
|
351464
|
+
return inputSchema31();
|
|
351174
351465
|
},
|
|
351175
351466
|
get outputSchema() {
|
|
351176
|
-
return
|
|
351467
|
+
return outputSchema26();
|
|
351177
351468
|
},
|
|
351178
351469
|
userFacingName() {
|
|
351179
351470
|
return "Config";
|
|
@@ -351445,7 +351736,7 @@ var init_prompt18 = __esm(() => {
|
|
|
351445
351736
|
});
|
|
351446
351737
|
|
|
351447
351738
|
// src/tools/TaskCreateTool/TaskCreateTool.ts
|
|
351448
|
-
var
|
|
351739
|
+
var inputSchema32, outputSchema27, TaskCreateTool;
|
|
351449
351740
|
var init_TaskCreateTool = __esm(() => {
|
|
351450
351741
|
init_v4();
|
|
351451
351742
|
init_Tool();
|
|
@@ -351453,13 +351744,13 @@ var init_TaskCreateTool = __esm(() => {
|
|
|
351453
351744
|
init_tasks();
|
|
351454
351745
|
init_teammate();
|
|
351455
351746
|
init_prompt18();
|
|
351456
|
-
|
|
351747
|
+
inputSchema32 = lazySchema(() => exports_external.strictObject({
|
|
351457
351748
|
subject: exports_external.string().describe("A brief title for the task"),
|
|
351458
351749
|
description: exports_external.string().describe("What needs to be done"),
|
|
351459
351750
|
activeForm: exports_external.string().optional().describe('Present continuous form shown in spinner when in_progress (e.g., "Running tests")'),
|
|
351460
351751
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional().describe("Arbitrary metadata to attach to the task")
|
|
351461
351752
|
}));
|
|
351462
|
-
|
|
351753
|
+
outputSchema27 = lazySchema(() => exports_external.object({
|
|
351463
351754
|
task: exports_external.object({
|
|
351464
351755
|
id: exports_external.string(),
|
|
351465
351756
|
subject: exports_external.string()
|
|
@@ -351476,10 +351767,10 @@ var init_TaskCreateTool = __esm(() => {
|
|
|
351476
351767
|
return getPrompt4();
|
|
351477
351768
|
},
|
|
351478
351769
|
get inputSchema() {
|
|
351479
|
-
return
|
|
351770
|
+
return inputSchema32();
|
|
351480
351771
|
},
|
|
351481
351772
|
get outputSchema() {
|
|
351482
|
-
return
|
|
351773
|
+
return outputSchema27();
|
|
351483
351774
|
},
|
|
351484
351775
|
userFacingName() {
|
|
351485
351776
|
return "TaskCreate";
|
|
@@ -351570,15 +351861,15 @@ Returns full task details:
|
|
|
351570
351861
|
`;
|
|
351571
351862
|
|
|
351572
351863
|
// src/tools/TaskGetTool/TaskGetTool.ts
|
|
351573
|
-
var
|
|
351864
|
+
var inputSchema33, outputSchema28, TaskGetTool;
|
|
351574
351865
|
var init_TaskGetTool = __esm(() => {
|
|
351575
351866
|
init_v4();
|
|
351576
351867
|
init_Tool();
|
|
351577
351868
|
init_tasks();
|
|
351578
|
-
|
|
351869
|
+
inputSchema33 = lazySchema(() => exports_external.strictObject({
|
|
351579
351870
|
taskId: exports_external.string().describe("The ID of the task to retrieve")
|
|
351580
351871
|
}));
|
|
351581
|
-
|
|
351872
|
+
outputSchema28 = lazySchema(() => exports_external.object({
|
|
351582
351873
|
task: exports_external.object({
|
|
351583
351874
|
id: exports_external.string(),
|
|
351584
351875
|
subject: exports_external.string(),
|
|
@@ -351599,10 +351890,10 @@ var init_TaskGetTool = __esm(() => {
|
|
|
351599
351890
|
return PROMPT6;
|
|
351600
351891
|
},
|
|
351601
351892
|
get inputSchema() {
|
|
351602
|
-
return
|
|
351893
|
+
return inputSchema33();
|
|
351603
351894
|
},
|
|
351604
351895
|
get outputSchema() {
|
|
351605
|
-
return
|
|
351896
|
+
return outputSchema28();
|
|
351606
351897
|
},
|
|
351607
351898
|
userFacingName() {
|
|
351608
351899
|
return "TaskGet";
|
|
@@ -351754,7 +352045,7 @@ Set up task dependencies:
|
|
|
351754
352045
|
`;
|
|
351755
352046
|
|
|
351756
352047
|
// src/tools/TaskUpdateTool/TaskUpdateTool.ts
|
|
351757
|
-
var
|
|
352048
|
+
var inputSchema34, outputSchema29, TaskUpdateTool;
|
|
351758
352049
|
var init_TaskUpdateTool = __esm(() => {
|
|
351759
352050
|
init_v4();
|
|
351760
352051
|
init_growthbook();
|
|
@@ -351765,7 +352056,7 @@ var init_TaskUpdateTool = __esm(() => {
|
|
|
351765
352056
|
init_teammate();
|
|
351766
352057
|
init_teammateMailbox();
|
|
351767
352058
|
init_constants3();
|
|
351768
|
-
|
|
352059
|
+
inputSchema34 = lazySchema(() => {
|
|
351769
352060
|
const TaskUpdateStatusSchema = TaskStatusSchema2().or(exports_external.literal("deleted"));
|
|
351770
352061
|
return exports_external.strictObject({
|
|
351771
352062
|
taskId: exports_external.string().describe("The ID of the task to update"),
|
|
@@ -351779,7 +352070,7 @@ var init_TaskUpdateTool = __esm(() => {
|
|
|
351779
352070
|
metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional().describe("Metadata keys to merge into the task. Set a key to null to delete it.")
|
|
351780
352071
|
});
|
|
351781
352072
|
});
|
|
351782
|
-
|
|
352073
|
+
outputSchema29 = lazySchema(() => exports_external.object({
|
|
351783
352074
|
success: exports_external.boolean(),
|
|
351784
352075
|
taskId: exports_external.string(),
|
|
351785
352076
|
updatedFields: exports_external.array(exports_external.string()),
|
|
@@ -351801,10 +352092,10 @@ var init_TaskUpdateTool = __esm(() => {
|
|
|
351801
352092
|
return PROMPT7;
|
|
351802
352093
|
},
|
|
351803
352094
|
get inputSchema() {
|
|
351804
|
-
return
|
|
352095
|
+
return inputSchema34();
|
|
351805
352096
|
},
|
|
351806
352097
|
get outputSchema() {
|
|
351807
|
-
return
|
|
352098
|
+
return outputSchema29();
|
|
351808
352099
|
},
|
|
351809
352100
|
userFacingName() {
|
|
351810
352101
|
return "TaskUpdate";
|
|
@@ -352060,14 +352351,14 @@ var init_prompt19 = __esm(() => {
|
|
|
352060
352351
|
});
|
|
352061
352352
|
|
|
352062
352353
|
// src/tools/TaskListTool/TaskListTool.ts
|
|
352063
|
-
var
|
|
352354
|
+
var inputSchema35, outputSchema30, TaskListTool;
|
|
352064
352355
|
var init_TaskListTool = __esm(() => {
|
|
352065
352356
|
init_v4();
|
|
352066
352357
|
init_Tool();
|
|
352067
352358
|
init_tasks();
|
|
352068
352359
|
init_prompt19();
|
|
352069
|
-
|
|
352070
|
-
|
|
352360
|
+
inputSchema35 = lazySchema(() => exports_external.strictObject({}));
|
|
352361
|
+
outputSchema30 = lazySchema(() => exports_external.object({
|
|
352071
352362
|
tasks: exports_external.array(exports_external.object({
|
|
352072
352363
|
id: exports_external.string(),
|
|
352073
352364
|
subject: exports_external.string(),
|
|
@@ -352087,10 +352378,10 @@ var init_TaskListTool = __esm(() => {
|
|
|
352087
352378
|
return getPrompt5();
|
|
352088
352379
|
},
|
|
352089
352380
|
get inputSchema() {
|
|
352090
|
-
return
|
|
352381
|
+
return inputSchema35();
|
|
352091
352382
|
},
|
|
352092
352383
|
get outputSchema() {
|
|
352093
|
-
return
|
|
352384
|
+
return outputSchema30();
|
|
352094
352385
|
},
|
|
352095
352386
|
userFacingName() {
|
|
352096
352387
|
return "TaskList";
|
|
@@ -352305,7 +352596,7 @@ function generateUniqueTeamName(providedName) {
|
|
|
352305
352596
|
}
|
|
352306
352597
|
return generateWordSlug();
|
|
352307
352598
|
}
|
|
352308
|
-
var
|
|
352599
|
+
var inputSchema36, TeamCreateTool;
|
|
352309
352600
|
var init_TeamCreateTool = __esm(() => {
|
|
352310
352601
|
init_v4();
|
|
352311
352602
|
init_state();
|
|
@@ -352320,7 +352611,7 @@ var init_TeamCreateTool = __esm(() => {
|
|
|
352320
352611
|
init_teammateLayoutManager();
|
|
352321
352612
|
init_tasks();
|
|
352322
352613
|
init_words();
|
|
352323
|
-
|
|
352614
|
+
inputSchema36 = lazySchema(() => exports_external.strictObject({
|
|
352324
352615
|
team_name: exports_external.string().describe("Name for the new team to create."),
|
|
352325
352616
|
description: exports_external.string().optional().describe("Team description/purpose."),
|
|
352326
352617
|
agent_type: exports_external.string().optional().describe('Type/role of the team lead (e.g., "researcher", "test-runner"). ' + "Used for team file and inter-agent coordination.")
|
|
@@ -352334,7 +352625,7 @@ var init_TeamCreateTool = __esm(() => {
|
|
|
352334
352625
|
return "";
|
|
352335
352626
|
},
|
|
352336
352627
|
get inputSchema() {
|
|
352337
|
-
return
|
|
352628
|
+
return inputSchema36();
|
|
352338
352629
|
},
|
|
352339
352630
|
isEnabled() {
|
|
352340
352631
|
return isAgentSwarmsEnabled();
|
|
@@ -352485,7 +352776,7 @@ var exports_TeamDeleteTool = {};
|
|
|
352485
352776
|
__export(exports_TeamDeleteTool, {
|
|
352486
352777
|
TeamDeleteTool: () => TeamDeleteTool
|
|
352487
352778
|
});
|
|
352488
|
-
var
|
|
352779
|
+
var inputSchema37, TeamDeleteTool;
|
|
352489
352780
|
var init_TeamDeleteTool = __esm(() => {
|
|
352490
352781
|
init_v4();
|
|
352491
352782
|
init_analytics();
|
|
@@ -352496,7 +352787,7 @@ var init_TeamDeleteTool = __esm(() => {
|
|
|
352496
352787
|
init_teammateLayoutManager();
|
|
352497
352788
|
init_tasks();
|
|
352498
352789
|
init_UI23();
|
|
352499
|
-
|
|
352790
|
+
inputSchema37 = lazySchema(() => exports_external.strictObject({}));
|
|
352500
352791
|
TeamDeleteTool = buildTool({
|
|
352501
352792
|
name: TEAM_DELETE_TOOL_NAME,
|
|
352502
352793
|
searchHint: "disband a swarm team and clean up",
|
|
@@ -352506,7 +352797,7 @@ var init_TeamDeleteTool = __esm(() => {
|
|
|
352506
352797
|
return "";
|
|
352507
352798
|
},
|
|
352508
352799
|
get inputSchema() {
|
|
352509
|
-
return
|
|
352800
|
+
return inputSchema37();
|
|
352510
352801
|
},
|
|
352511
352802
|
isEnabled() {
|
|
352512
352803
|
return isAgentSwarmsEnabled();
|
|
@@ -352964,7 +353255,7 @@ var init_systemPrompt = __esm(() => {
|
|
|
352964
353255
|
});
|
|
352965
353256
|
|
|
352966
353257
|
// src/tools/AgentTool/forkSubagent.ts
|
|
352967
|
-
import { randomUUID as
|
|
353258
|
+
import { randomUUID as randomUUID19 } from "crypto";
|
|
352968
353259
|
function isForkSubagentEnabled() {
|
|
352969
353260
|
if (false) {}
|
|
352970
353261
|
return false;
|
|
@@ -352982,7 +353273,7 @@ function isInForkChild(messages) {
|
|
|
352982
353273
|
function buildForkedMessages(directive, assistantMessage) {
|
|
352983
353274
|
const fullAssistantMessage = {
|
|
352984
353275
|
...assistantMessage,
|
|
352985
|
-
uuid:
|
|
353276
|
+
uuid: randomUUID19(),
|
|
352986
353277
|
message: {
|
|
352987
353278
|
...assistantMessage.message,
|
|
352988
353279
|
content: [...assistantMessage.message.content]
|
|
@@ -353574,7 +353865,7 @@ async function handlePlanRejection(recipientName, requestId, feedback, context6)
|
|
|
353574
353865
|
}
|
|
353575
353866
|
};
|
|
353576
353867
|
}
|
|
353577
|
-
var StructuredMessage,
|
|
353868
|
+
var StructuredMessage, inputSchema38, SendMessageTool;
|
|
353578
353869
|
var init_SendMessageTool = __esm(() => {
|
|
353579
353870
|
init_v4();
|
|
353580
353871
|
init_state();
|
|
@@ -353614,7 +353905,7 @@ var init_SendMessageTool = __esm(() => {
|
|
|
353614
353905
|
feedback: exports_external.string().optional()
|
|
353615
353906
|
})
|
|
353616
353907
|
]));
|
|
353617
|
-
|
|
353908
|
+
inputSchema38 = lazySchema(() => exports_external.object({
|
|
353618
353909
|
to: exports_external.string().describe('Recipient: teammate name, or "*" for broadcast to all teammates'),
|
|
353619
353910
|
summary: exports_external.string().optional().describe("A 5-10 word summary shown as a preview in the UI (required when message is a string)"),
|
|
353620
353911
|
message: exports_external.union([
|
|
@@ -353630,7 +353921,7 @@ var init_SendMessageTool = __esm(() => {
|
|
|
353630
353921
|
return "SendMessage";
|
|
353631
353922
|
},
|
|
353632
353923
|
get inputSchema() {
|
|
353633
|
-
return
|
|
353924
|
+
return inputSchema38();
|
|
353634
353925
|
},
|
|
353635
353926
|
shouldDefer: true,
|
|
353636
353927
|
isEnabled() {
|
|
@@ -353892,6 +354183,7 @@ function getAllBaseTools() {
|
|
|
353892
354183
|
ImageGenerationTool,
|
|
353893
354184
|
TaskStopTool,
|
|
353894
354185
|
AskUserQuestionTool,
|
|
354186
|
+
AutomationTool,
|
|
353895
354187
|
SkillTool,
|
|
353896
354188
|
EnterPlanModeTool,
|
|
353897
354189
|
...process.env.USER_TYPE === "ant" ? [ConfigTool] : [],
|
|
@@ -353979,6 +354271,7 @@ var init_tools2 = __esm(() => {
|
|
|
353979
354271
|
init_WebFetchTool();
|
|
353980
354272
|
init_TaskStopTool();
|
|
353981
354273
|
init_BriefTool();
|
|
354274
|
+
init_AutomationTool();
|
|
353982
354275
|
init_TaskOutputTool();
|
|
353983
354276
|
init_WebSearchTool();
|
|
353984
354277
|
init_ImageGenerationTool();
|
|
@@ -354017,6 +354310,188 @@ var init_tools2 = __esm(() => {
|
|
|
354017
354310
|
TOOL_PRESETS = ["default"];
|
|
354018
354311
|
});
|
|
354019
354312
|
|
|
354313
|
+
// src/tools/AgentTool/agentToolParams.ts
|
|
354314
|
+
function firstNonEmptyString(...values2) {
|
|
354315
|
+
for (const value of values2) {
|
|
354316
|
+
if (typeof value !== "string")
|
|
354317
|
+
continue;
|
|
354318
|
+
const trimmed = value.trim();
|
|
354319
|
+
if (trimmed && !SENTINEL_STRINGS.has(trimmed.toLowerCase())) {
|
|
354320
|
+
return trimmed;
|
|
354321
|
+
}
|
|
354322
|
+
}
|
|
354323
|
+
return;
|
|
354324
|
+
}
|
|
354325
|
+
function sanitizeOptionalArg(value) {
|
|
354326
|
+
if (value === undefined || value === null)
|
|
354327
|
+
return;
|
|
354328
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
354329
|
+
return String(value);
|
|
354330
|
+
}
|
|
354331
|
+
if (typeof value !== "string")
|
|
354332
|
+
return;
|
|
354333
|
+
const trimmed = value.trim();
|
|
354334
|
+
if (!trimmed || SENTINEL_STRINGS.has(trimmed.toLowerCase())) {
|
|
354335
|
+
return;
|
|
354336
|
+
}
|
|
354337
|
+
return trimmed;
|
|
354338
|
+
}
|
|
354339
|
+
function deriveAgentDescription(prompt) {
|
|
354340
|
+
const words = prompt.replace(/\s+/g, " ").trim().split(" ").filter(Boolean);
|
|
354341
|
+
const title = words.slice(0, 5).join(" ");
|
|
354342
|
+
if (!title)
|
|
354343
|
+
return "Sub-agent task";
|
|
354344
|
+
return title.length > 60 ? `${title.slice(0, 57)}…` : title;
|
|
354345
|
+
}
|
|
354346
|
+
function normalizeIsolation(value) {
|
|
354347
|
+
if (value === undefined || value === null || value === false) {
|
|
354348
|
+
return;
|
|
354349
|
+
}
|
|
354350
|
+
if (value === true)
|
|
354351
|
+
return "worktree";
|
|
354352
|
+
if (typeof value !== "string")
|
|
354353
|
+
return;
|
|
354354
|
+
const normalized = value.trim().toLowerCase();
|
|
354355
|
+
if (!normalized || SHARED_ISOLATION_STRINGS.has(normalized)) {
|
|
354356
|
+
return;
|
|
354357
|
+
}
|
|
354358
|
+
if (WORKTREE_ISOLATION_STRINGS.has(normalized))
|
|
354359
|
+
return "worktree";
|
|
354360
|
+
if (normalized === "remote")
|
|
354361
|
+
return "remote";
|
|
354362
|
+
return;
|
|
354363
|
+
}
|
|
354364
|
+
function normalizeEffortInput(value) {
|
|
354365
|
+
return parseEffortValue(sanitizeOptionalArg(value) ?? value);
|
|
354366
|
+
}
|
|
354367
|
+
function coerceBoolean(value) {
|
|
354368
|
+
if (typeof value === "boolean")
|
|
354369
|
+
return value;
|
|
354370
|
+
if (typeof value === "string") {
|
|
354371
|
+
const normalized = value.trim().toLowerCase();
|
|
354372
|
+
if (normalized === "true" || normalized === "1" || normalized === "yes") {
|
|
354373
|
+
return true;
|
|
354374
|
+
}
|
|
354375
|
+
if (normalized === "false" || normalized === "0" || normalized === "no") {
|
|
354376
|
+
return false;
|
|
354377
|
+
}
|
|
354378
|
+
}
|
|
354379
|
+
return;
|
|
354380
|
+
}
|
|
354381
|
+
function normalizeAgentToolInput(value) {
|
|
354382
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
354383
|
+
return value;
|
|
354384
|
+
}
|
|
354385
|
+
const input = value;
|
|
354386
|
+
const out = { ...input };
|
|
354387
|
+
const prompt = firstNonEmptyString(out.prompt, out.task, out.instruction, out.goal, out.query);
|
|
354388
|
+
if (prompt)
|
|
354389
|
+
out.prompt = prompt;
|
|
354390
|
+
const description = firstNonEmptyString(out.description, out.title, out.summary, typeof out.name === "string" && out.team_name == null ? out.name : undefined);
|
|
354391
|
+
if (description) {
|
|
354392
|
+
out.description = description;
|
|
354393
|
+
} else if (prompt) {
|
|
354394
|
+
out.description = deriveAgentDescription(prompt);
|
|
354395
|
+
}
|
|
354396
|
+
if (out.run_in_background == null && out.background != null) {
|
|
354397
|
+
const background = coerceBoolean(out.background);
|
|
354398
|
+
if (background !== undefined)
|
|
354399
|
+
out.run_in_background = background;
|
|
354400
|
+
}
|
|
354401
|
+
const runInBackground = coerceBoolean(out.run_in_background);
|
|
354402
|
+
if (runInBackground !== undefined)
|
|
354403
|
+
out.run_in_background = runInBackground;
|
|
354404
|
+
if ("isolation" in out) {
|
|
354405
|
+
const isolation = normalizeIsolation(out.isolation);
|
|
354406
|
+
if (isolation)
|
|
354407
|
+
out.isolation = isolation;
|
|
354408
|
+
else
|
|
354409
|
+
delete out.isolation;
|
|
354410
|
+
}
|
|
354411
|
+
if ("model" in out) {
|
|
354412
|
+
const model = sanitizeOptionalArg(out.model);
|
|
354413
|
+
if (!model || isInheritAgentModel(model))
|
|
354414
|
+
delete out.model;
|
|
354415
|
+
else
|
|
354416
|
+
out.model = model;
|
|
354417
|
+
}
|
|
354418
|
+
if ("effort" in out) {
|
|
354419
|
+
const effort = normalizeEffortInput(out.effort);
|
|
354420
|
+
if (effort === undefined)
|
|
354421
|
+
delete out.effort;
|
|
354422
|
+
else
|
|
354423
|
+
out.effort = typeof effort === "number" ? String(effort) : effort;
|
|
354424
|
+
}
|
|
354425
|
+
delete out.background;
|
|
354426
|
+
delete out.task;
|
|
354427
|
+
delete out.instruction;
|
|
354428
|
+
delete out.goal;
|
|
354429
|
+
delete out.query;
|
|
354430
|
+
delete out.title;
|
|
354431
|
+
delete out.summary;
|
|
354432
|
+
return out;
|
|
354433
|
+
}
|
|
354434
|
+
function listSubagentModelSlugs() {
|
|
354435
|
+
const slugs = new Set(["inherit"]);
|
|
354436
|
+
try {
|
|
354437
|
+
for (const option of getModelOptions()) {
|
|
354438
|
+
if (typeof option.value === "string" && option.value.trim()) {
|
|
354439
|
+
slugs.add(option.value.trim());
|
|
354440
|
+
}
|
|
354441
|
+
}
|
|
354442
|
+
} catch {}
|
|
354443
|
+
for (const alias of ["sonnet", "opus", "haiku"]) {
|
|
354444
|
+
slugs.add(alias);
|
|
354445
|
+
}
|
|
354446
|
+
return [...slugs];
|
|
354447
|
+
}
|
|
354448
|
+
function listSubagentEffortLevels(model) {
|
|
354449
|
+
if (model) {
|
|
354450
|
+
const supported = getSupportedEffortLevelsForModel(model);
|
|
354451
|
+
if (supported?.length)
|
|
354452
|
+
return [...supported];
|
|
354453
|
+
}
|
|
354454
|
+
return [...EFFORT_LEVELS];
|
|
354455
|
+
}
|
|
354456
|
+
function formatSubagentModelList(slugs) {
|
|
354457
|
+
if (slugs.length === 0)
|
|
354458
|
+
return "inherit, or any available model slug";
|
|
354459
|
+
const shown = slugs.slice(0, 24);
|
|
354460
|
+
const extra = slugs.length - shown.length;
|
|
354461
|
+
return extra > 0 ? `${shown.join(", ")}, and ${extra} more` : shown.join(", ");
|
|
354462
|
+
}
|
|
354463
|
+
var SENTINEL_STRINGS, SHARED_ISOLATION_STRINGS, WORKTREE_ISOLATION_STRINGS;
|
|
354464
|
+
var init_agentToolParams = __esm(() => {
|
|
354465
|
+
init_effort();
|
|
354466
|
+
init_agent();
|
|
354467
|
+
init_modelOptions();
|
|
354468
|
+
SENTINEL_STRINGS = new Set([
|
|
354469
|
+
"",
|
|
354470
|
+
"null",
|
|
354471
|
+
"none",
|
|
354472
|
+
"undefined",
|
|
354473
|
+
"n/a",
|
|
354474
|
+
"na"
|
|
354475
|
+
]);
|
|
354476
|
+
SHARED_ISOLATION_STRINGS = new Set([
|
|
354477
|
+
"none",
|
|
354478
|
+
"null",
|
|
354479
|
+
"undefined",
|
|
354480
|
+
"false",
|
|
354481
|
+
"shared",
|
|
354482
|
+
"default",
|
|
354483
|
+
"off",
|
|
354484
|
+
"disabled"
|
|
354485
|
+
]);
|
|
354486
|
+
WORKTREE_ISOLATION_STRINGS = new Set([
|
|
354487
|
+
"worktree",
|
|
354488
|
+
"work-tree",
|
|
354489
|
+
"work_tree",
|
|
354490
|
+
"isolated",
|
|
354491
|
+
"isolate"
|
|
354492
|
+
]);
|
|
354493
|
+
});
|
|
354494
|
+
|
|
354020
354495
|
// src/utils/swarm/It2SetupPrompt.tsx
|
|
354021
354496
|
function It2SetupPrompt(t0) {
|
|
354022
354497
|
const $2 = import_react_compiler_runtime121.c(44);
|
|
@@ -355222,6 +355697,44 @@ Forks are cheap because they share your prompt cache. Don't set \`model\` on a f
|
|
|
355222
355697
|
|
|
355223
355698
|
**Writing a fork prompt.** Since the fork inherits your context, the prompt is a *directive* — what to do, not what the situation is. Be specific about scope: what's in, what's out, what another agent is handling. Don't re-explain background.
|
|
355224
355699
|
` : "";
|
|
355700
|
+
const availableModels = formatSubagentModelList(listSubagentModelSlugs());
|
|
355701
|
+
const availableEfforts = listSubagentEffortLevels().join(", ");
|
|
355702
|
+
const requiredCallShapeSection = `
|
|
355703
|
+
|
|
355704
|
+
## Required call shape
|
|
355705
|
+
|
|
355706
|
+
Every ${AGENT_TOOL_NAME} call MUST include both:
|
|
355707
|
+
- \`description\`: a short 3-5 word title shown in the UI (for example "Analyze video style")
|
|
355708
|
+
- \`prompt\`: the full task for the subagent
|
|
355709
|
+
|
|
355710
|
+
A call that omits \`description\` or \`prompt\` is rejected. Do not start the subagent and "fill those in later".
|
|
355711
|
+
|
|
355712
|
+
Optional but supported on every spawn:
|
|
355713
|
+
- \`subagent_type\`: one of the types listed above. If omitted, ${forkEnabled ? "a fork of yourself is created" : "the general-purpose agent is used"}.
|
|
355714
|
+
- \`model\`: any available model slug, a family alias (\`sonnet\`, \`opus\`, \`haiku\`), or \`inherit\`. Omit to inherit the parent model. Available models right now: ${availableModels}.
|
|
355715
|
+
- \`effort\`: any effort the chosen model supports (${availableEfforts}, plus display aliases like Extra High). Omit to inherit the parent effort.
|
|
355716
|
+
- \`isolation\`: \`"none"\` (default, shared workspace) or \`"worktree"\` (isolated git worktree). Never pass any other value. \`"none"\` is valid and means "do not isolate".
|
|
355717
|
+
- \`run_in_background\`: \`true\` to return immediately and get a completion notification later.
|
|
355718
|
+
|
|
355719
|
+
Example of a correct call:
|
|
355720
|
+
|
|
355721
|
+
${AGENT_TOOL_NAME}({
|
|
355722
|
+
description: "Analyze video style",
|
|
355723
|
+
prompt: "Inspect the extracted frames and write a concise style report. Include palette, motion, typography, and camera language.",
|
|
355724
|
+
subagent_type: "general-purpose",
|
|
355725
|
+
isolation: "none"
|
|
355726
|
+
})
|
|
355727
|
+
|
|
355728
|
+
To pin a different model or effort:
|
|
355729
|
+
|
|
355730
|
+
${AGENT_TOOL_NAME}({
|
|
355731
|
+
description: "Deep code review",
|
|
355732
|
+
prompt: "Review src/auth for token handling bugs. Report file paths and line numbers. Do not edit files.",
|
|
355733
|
+
subagent_type: "general-purpose",
|
|
355734
|
+
model: "inherit",
|
|
355735
|
+
effort: "high"
|
|
355736
|
+
})
|
|
355737
|
+
`;
|
|
355225
355738
|
const writingThePromptSection = `
|
|
355226
355739
|
|
|
355227
355740
|
## Writing the prompt
|
|
@@ -355320,7 +355833,9 @@ The ${AGENT_TOOL_NAME} tool launches specialized agents (subprocesses) that auto
|
|
|
355320
355833
|
|
|
355321
355834
|
${agentListSection}
|
|
355322
355835
|
|
|
355323
|
-
${forkEnabled ? `When using the ${AGENT_TOOL_NAME} tool, specify a subagent_type to use a specialized agent, or omit it to fork yourself — a fork inherits your full conversation context.` : `When using the ${AGENT_TOOL_NAME} tool, specify a subagent_type parameter to select which agent type to use. If omitted, the general-purpose agent is used.`}
|
|
355836
|
+
${forkEnabled ? `When using the ${AGENT_TOOL_NAME} tool, specify a subagent_type to use a specialized agent, or omit it to fork yourself — a fork inherits your full conversation context.` : `When using the ${AGENT_TOOL_NAME} tool, specify a subagent_type parameter to select which agent type to use. If omitted, the general-purpose agent is used.`}
|
|
355837
|
+
|
|
355838
|
+
Always pass both \`description\` (3-5 word title) and \`prompt\` (full task). You may set \`model\` to any available model slug and \`effort\` to any effort that model supports; omit them to inherit the parent. \`isolation\` accepts only \`"none"\` (default, shared workspace) or \`"worktree"\`.`;
|
|
355324
355839
|
if (isCoordinator) {
|
|
355325
355840
|
return shared2;
|
|
355326
355841
|
}
|
|
@@ -355349,10 +355864,11 @@ Usage notes:
|
|
|
355349
355864
|
- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.)${forkEnabled ? "" : ", since it is not aware of the user's intent"}
|
|
355350
355865
|
- If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.
|
|
355351
355866
|
- If the user specifies that they want you to run agents "in parallel", you MUST send a single message with multiple ${AGENT_TOOL_NAME} tool use content blocks. For example, if you need to launch both a build-validator agent and a test-runner agent in parallel, send a single message with both tool calls.
|
|
355352
|
-
- You can optionally set \`
|
|
355867
|
+
- You can optionally set \`model\` to any available model slug listed above (or \`inherit\`) and \`effort\` to any effort that model supports. Omit both to inherit the parent conversation's model and effort.
|
|
355868
|
+
- You can optionally set \`isolation: "none"\` (default, shared workspace) or \`isolation: "worktree"\` to run the agent in a temporary git worktree, giving it an isolated copy of the repository. The worktree is automatically cleaned up if the agent makes no changes; if changes are made, the worktree path and branch are returned in the result. Do not pass any isolation value other than \`"none"\` or \`"worktree"\`.${process.env.USER_TYPE === "ant" ? `
|
|
355353
355869
|
- You can set \`isolation: "remote"\` to run the agent in a remote CCR environment. This is always a background task; you'll be notified when it completes. Use for long-running tasks that need a fresh sandbox.` : ""}${isInProcessTeammate() ? `
|
|
355354
355870
|
- The run_in_background, name, team_name, and mode parameters are not available in this context. Only synchronous subagents are supported.` : isTeammate() ? `
|
|
355355
|
-
- The name, team_name, and mode parameters are not available in this context — teammates cannot spawn other teammates. Omit them to spawn a subagent.` : ""}${whenToForkSection}${writingThePromptSection}
|
|
355871
|
+
- The name, team_name, and mode parameters are not available in this context — teammates cannot spawn other teammates. Omit them to spawn a subagent.` : ""}${whenToForkSection}${requiredCallShapeSection}${writingThePromptSection}
|
|
355356
355872
|
|
|
355357
355873
|
${forkEnabled ? forkExamples : currentExamples}`;
|
|
355358
355874
|
}
|
|
@@ -355366,6 +355882,7 @@ var init_prompt20 = __esm(() => {
|
|
|
355366
355882
|
init_prompt2();
|
|
355367
355883
|
init_prompt3();
|
|
355368
355884
|
init_constants3();
|
|
355885
|
+
init_agentToolParams();
|
|
355369
355886
|
init_forkSubagent();
|
|
355370
355887
|
});
|
|
355371
355888
|
|
|
@@ -355381,7 +355898,7 @@ function resolveTeamName(input, appState) {
|
|
|
355381
355898
|
return;
|
|
355382
355899
|
return input.team_name || appState.teamContext?.teamName;
|
|
355383
355900
|
}
|
|
355384
|
-
var jsx_runtime151, proactiveModule = null, PROGRESS_THRESHOLD_MS2 = 2000, isBackgroundTasksDisabled2, baseInputSchema, fullInputSchema2, inputSchema8,
|
|
355901
|
+
var jsx_runtime151, proactiveModule = null, PROGRESS_THRESHOLD_MS2 = 2000, isBackgroundTasksDisabled2, baseInputSchema, fullInputSchema2, inputSchema8, outputSchema31, AgentTool;
|
|
355385
355902
|
var init_AgentTool = __esm(() => {
|
|
355386
355903
|
init_Tool();
|
|
355387
355904
|
init_promptCategory();
|
|
@@ -355405,6 +355922,8 @@ var init_AgentTool = __esm(() => {
|
|
|
355405
355922
|
init_errors();
|
|
355406
355923
|
init_messages3();
|
|
355407
355924
|
init_agent();
|
|
355925
|
+
init_modelAllowlist();
|
|
355926
|
+
init_agentToolParams();
|
|
355408
355927
|
init_PermissionMode();
|
|
355409
355928
|
init_permissions2();
|
|
355410
355929
|
init_sdkEventQueue();
|
|
@@ -355432,10 +355951,11 @@ var init_AgentTool = __esm(() => {
|
|
|
355432
355951
|
jsx_runtime151 = __toESM(require_jsx_runtime(), 1);
|
|
355433
355952
|
isBackgroundTasksDisabled2 = isEnvTruthy(process.env.MAXIMO_SYNTAX_DISABLE_BACKGROUND_TASKS);
|
|
355434
355953
|
baseInputSchema = lazySchema(() => exports_external.object({
|
|
355435
|
-
description: exports_external.string().describe("A short (3-5 word)
|
|
355436
|
-
prompt: exports_external.string().describe("The task for the agent to perform"),
|
|
355437
|
-
subagent_type: exports_external.string().optional().describe("The type of specialized agent to use for this task"),
|
|
355438
|
-
model: exports_external.
|
|
355954
|
+
description: exports_external.string().describe("A short (3-5 word) title for the task. Required. Shown in the UI as the subagent name."),
|
|
355955
|
+
prompt: exports_external.string().describe("The full task for the agent to perform. Required. The subagent starts with zero conversation context, so include everything it needs."),
|
|
355956
|
+
subagent_type: exports_external.string().optional().describe("The type of specialized agent to use for this task. Built-in types include general-purpose, Explore, and Plan when enabled. If omitted, the general-purpose agent is used (or a fork, when forking is enabled)."),
|
|
355957
|
+
model: exports_external.string().optional().describe(`Optional model slug for this subagent. Pass any available model id from the current provider catalog, a family alias (sonnet, opus, haiku), or "inherit". If omitted, uses the agent definition's model or inherits the parent. Only set this when you intend a different model than the parent.`),
|
|
355958
|
+
effort: exports_external.string().optional().describe("Optional reasoning effort for this subagent. Pass any effort the chosen model supports (minimal, low, medium, high, xhigh, max, ultra — plus Extra High / extra_high aliases). If omitted, inherits the parent effort or the agent definition's effort."),
|
|
355439
355959
|
run_in_background: exports_external.boolean().optional().describe("Set to true to run this agent in the background. You will be notified when it completes.")
|
|
355440
355960
|
}));
|
|
355441
355961
|
fullInputSchema2 = lazySchema(() => {
|
|
@@ -355445,7 +355965,7 @@ var init_AgentTool = __esm(() => {
|
|
|
355445
355965
|
mode: permissionModeSchema().optional().describe('Permission mode for spawned teammate (e.g., "plan" to require plan approval).')
|
|
355446
355966
|
});
|
|
355447
355967
|
return baseInputSchema().merge(multiAgentInputSchema).extend({
|
|
355448
|
-
isolation: exports_external.enum(["worktree"]).optional().describe('Isolation mode. "worktree" creates a temporary git worktree so the agent works on an isolated copy of the repo.'),
|
|
355968
|
+
isolation: exports_external.enum(["none", "worktree"]).optional().describe('Isolation mode. "none" (default) shares the parent workspace. "worktree" creates a temporary git worktree so the agent works on an isolated copy of the repo. Do not pass any other value.'),
|
|
355449
355969
|
cwd: exports_external.string().optional().describe('Absolute path to run the agent in. Overrides the working directory for all filesystem and shell operations within this agent. Mutually exclusive with isolation: "worktree".')
|
|
355450
355970
|
});
|
|
355451
355971
|
});
|
|
@@ -355453,11 +355973,12 @@ var init_AgentTool = __esm(() => {
|
|
|
355453
355973
|
const schema = fullInputSchema2().omit({
|
|
355454
355974
|
cwd: true
|
|
355455
355975
|
});
|
|
355456
|
-
|
|
355976
|
+
const gated = isBackgroundTasksDisabled2 || isForkSubagentEnabled() ? schema.omit({
|
|
355457
355977
|
run_in_background: true
|
|
355458
355978
|
}) : schema;
|
|
355979
|
+
return exports_external.preprocess(normalizeAgentToolInput, gated);
|
|
355459
355980
|
});
|
|
355460
|
-
|
|
355981
|
+
outputSchema31 = lazySchema(() => {
|
|
355461
355982
|
const syncOutputSchema = agentToolResultSchema().extend({
|
|
355462
355983
|
status: exports_external.literal("completed"),
|
|
355463
355984
|
prompt: exports_external.string()
|
|
@@ -355506,13 +356027,14 @@ var init_AgentTool = __esm(() => {
|
|
|
355506
356027
|
return inputSchema8();
|
|
355507
356028
|
},
|
|
355508
356029
|
get outputSchema() {
|
|
355509
|
-
return
|
|
356030
|
+
return outputSchema31();
|
|
355510
356031
|
},
|
|
355511
356032
|
async call({
|
|
355512
356033
|
prompt,
|
|
355513
356034
|
subagent_type,
|
|
355514
356035
|
description,
|
|
355515
356036
|
model: modelParam,
|
|
356037
|
+
effort: effortParam,
|
|
355516
356038
|
run_in_background,
|
|
355517
356039
|
name,
|
|
355518
356040
|
team_name,
|
|
@@ -355522,6 +356044,8 @@ var init_AgentTool = __esm(() => {
|
|
|
355522
356044
|
}, toolUseContext, canUseTool, assistantMessage, onProgress) {
|
|
355523
356045
|
const startTime2 = Date.now();
|
|
355524
356046
|
const model = isCoordinatorMode() ? undefined : modelParam;
|
|
356047
|
+
const requestedEffort = isCoordinatorMode() ? undefined : normalizeEffortInput(effortParam);
|
|
356048
|
+
const requestedIsolation = isolation === "none" ? undefined : isolation;
|
|
355525
356049
|
const appState = toolUseContext.getAppState();
|
|
355526
356050
|
const permissionMode = appState.toolPermissionContext.mode;
|
|
355527
356051
|
const rootSetAppState = toolUseContext.setAppStateForTasks ?? toolUseContext.setAppState;
|
|
@@ -355628,6 +356152,9 @@ var init_AgentTool = __esm(() => {
|
|
|
355628
356152
|
setAgentColor(selectedAgent.agentType, selectedAgent.color);
|
|
355629
356153
|
}
|
|
355630
356154
|
const resolvedAgentModel = getAgentModel(selectedAgent.model, toolUseContext.options.mainLoopModel, isForkPath ? undefined : model, permissionMode);
|
|
356155
|
+
if (model && !isModelAllowed(resolvedAgentModel)) {
|
|
356156
|
+
throw new Error(`Model '${model}' is not available. Available models: ${formatSubagentModelList(listSubagentModelSlugs())}.`);
|
|
356157
|
+
}
|
|
355631
356158
|
logEvent("tengu_agent_tool_selected", {
|
|
355632
356159
|
agent_type: selectedAgent.agentType,
|
|
355633
356160
|
model: resolvedAgentModel,
|
|
@@ -355638,7 +356165,7 @@ var init_AgentTool = __esm(() => {
|
|
|
355638
356165
|
is_async: (run_in_background === true || selectedAgent.background === true) && !isBackgroundTasksDisabled2,
|
|
355639
356166
|
is_fork: isForkPath
|
|
355640
356167
|
});
|
|
355641
|
-
const effectiveIsolation =
|
|
356168
|
+
const effectiveIsolation = requestedIsolation ?? selectedAgent.isolation;
|
|
355642
356169
|
if (false) {}
|
|
355643
356170
|
let enhancedSystemPrompt;
|
|
355644
356171
|
let forkParentSystemPrompt;
|
|
@@ -355727,7 +356254,8 @@ var init_AgentTool = __esm(() => {
|
|
|
355727
356254
|
useExactTools: true
|
|
355728
356255
|
},
|
|
355729
356256
|
worktreePath: worktreeInfo?.worktreePath,
|
|
355730
|
-
description
|
|
356257
|
+
description,
|
|
356258
|
+
effort: requestedEffort
|
|
355731
356259
|
};
|
|
355732
356260
|
const cwdOverridePath = cwd2 ?? worktreeInfo?.worktreePath;
|
|
355733
356261
|
const wrapWithCwd = (fn) => cwdOverridePath ? runWithCwdOverride(cwdOverridePath, fn) : fn();
|
|
@@ -359075,7 +359603,7 @@ async function* runShellCommand({
|
|
|
359075
359603
|
}
|
|
359076
359604
|
}
|
|
359077
359605
|
var jsx_runtime152, EOL4 = `
|
|
359078
|
-
`, PROGRESS_THRESHOLD_MS3 = 2000, ASSISTANT_BLOCKING_BUDGET_MS2 = 15000, BASH_SEARCH_COMMANDS, BASH_READ_COMMANDS, BASH_LIST_COMMANDS, BASH_SEMANTIC_NEUTRAL_COMMANDS, BASH_SILENT_COMMANDS, DISALLOWED_AUTO_BACKGROUND_COMMANDS2, isBackgroundTasksDisabled3, fullInputSchema3,
|
|
359606
|
+
`, PROGRESS_THRESHOLD_MS3 = 2000, ASSISTANT_BLOCKING_BUDGET_MS2 = 15000, BASH_SEARCH_COMMANDS, BASH_READ_COMMANDS, BASH_LIST_COMMANDS, BASH_SEMANTIC_NEUTRAL_COMMANDS, BASH_SILENT_COMMANDS, DISALLOWED_AUTO_BACKGROUND_COMMANDS2, isBackgroundTasksDisabled3, fullInputSchema3, inputSchema39, COMMON_BACKGROUND_COMMANDS2, outputSchema32, BashTool;
|
|
359079
359607
|
var init_BashTool = __esm(() => {
|
|
359080
359608
|
init_v4();
|
|
359081
359609
|
init_state();
|
|
@@ -359192,7 +359720,7 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
|
|
|
359192
359720
|
newContent: exports_external.string()
|
|
359193
359721
|
}).optional().describe("Internal: pre-computed sed edit result from preview")
|
|
359194
359722
|
}));
|
|
359195
|
-
|
|
359723
|
+
inputSchema39 = lazySchema(() => isBackgroundTasksDisabled3 ? fullInputSchema3().omit({
|
|
359196
359724
|
run_in_background: true,
|
|
359197
359725
|
_simulatedSedEdit: true
|
|
359198
359726
|
}) : fullInputSchema3().omit({
|
|
@@ -359222,7 +359750,7 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
|
|
|
359222
359750
|
"watch",
|
|
359223
359751
|
"dev"
|
|
359224
359752
|
];
|
|
359225
|
-
|
|
359753
|
+
outputSchema32 = lazySchema(() => exports_external.object({
|
|
359226
359754
|
stdout: exports_external.string().describe("The standard output of the command"),
|
|
359227
359755
|
stderr: exports_external.string().describe("The standard error output of the command"),
|
|
359228
359756
|
rawOutputPath: exports_external.string().optional().describe("Path to raw output file for large MCP tool outputs"),
|
|
@@ -359277,7 +359805,7 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
|
|
|
359277
359805
|
};
|
|
359278
359806
|
},
|
|
359279
359807
|
isSearchOrReadCommand(input) {
|
|
359280
|
-
const parsed =
|
|
359808
|
+
const parsed = inputSchema39().safeParse(input);
|
|
359281
359809
|
if (!parsed.success)
|
|
359282
359810
|
return {
|
|
359283
359811
|
isSearch: false,
|
|
@@ -359287,10 +359815,10 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
|
|
|
359287
359815
|
return isSearchOrReadBashCommand(parsed.data.command);
|
|
359288
359816
|
},
|
|
359289
359817
|
get inputSchema() {
|
|
359290
|
-
return
|
|
359818
|
+
return inputSchema39();
|
|
359291
359819
|
},
|
|
359292
359820
|
get outputSchema() {
|
|
359293
|
-
return
|
|
359821
|
+
return outputSchema32();
|
|
359294
359822
|
},
|
|
359295
359823
|
userFacingName(input) {
|
|
359296
359824
|
if (!input) {
|
|
@@ -363904,13 +364432,13 @@ var init_config6 = __esm(() => {
|
|
|
363904
364432
|
});
|
|
363905
364433
|
|
|
363906
364434
|
// src/query/deps.ts
|
|
363907
|
-
import { randomUUID as
|
|
364435
|
+
import { randomUUID as randomUUID20 } from "crypto";
|
|
363908
364436
|
function productionDeps() {
|
|
363909
364437
|
return {
|
|
363910
364438
|
callModel: queryModelWithStreaming,
|
|
363911
364439
|
microcompact: microcompactMessages,
|
|
363912
364440
|
autocompact: autoCompactIfNeeded,
|
|
363913
|
-
uuid:
|
|
364441
|
+
uuid: randomUUID20
|
|
363914
364442
|
};
|
|
363915
364443
|
}
|
|
363916
364444
|
var init_deps = __esm(() => {
|
|
@@ -363939,7 +364467,7 @@ var init_types10 = __esm(() => {
|
|
|
363939
364467
|
});
|
|
363940
364468
|
|
|
363941
364469
|
// src/services/goal/goalTracker.ts
|
|
363942
|
-
import { randomUUID as
|
|
364470
|
+
import { randomUUID as randomUUID21 } from "crypto";
|
|
363943
364471
|
import { mkdirSync as mkdirSync5 } from "fs";
|
|
363944
364472
|
import { tmpdir as tmpdir6 } from "os";
|
|
363945
364473
|
import { join as join87 } from "path";
|
|
@@ -364040,7 +364568,7 @@ function makeScratchDir(goalId) {
|
|
|
364040
364568
|
return dir;
|
|
364041
364569
|
}
|
|
364042
364570
|
function createGoal(objective, options2) {
|
|
364043
|
-
const goalId =
|
|
364571
|
+
const goalId = randomUUID21().slice(0, 8);
|
|
364044
364572
|
const scratchDir = makeScratchDir(goalId);
|
|
364045
364573
|
current = {
|
|
364046
364574
|
goalId,
|
|
@@ -366177,7 +366705,7 @@ function getAnthropicEnvMetadata() {
|
|
|
366177
366705
|
function getBuildAgeMinutes() {
|
|
366178
366706
|
if (false)
|
|
366179
366707
|
;
|
|
366180
|
-
const buildTime = new Date("2026-08-
|
|
366708
|
+
const buildTime = new Date("2026-08-15T17:26:52.338Z").getTime();
|
|
366181
366709
|
if (isNaN(buildTime))
|
|
366182
366710
|
return;
|
|
366183
366711
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -366628,7 +367156,7 @@ var init_denialTracking = __esm(() => {
|
|
|
366628
367156
|
});
|
|
366629
367157
|
|
|
366630
367158
|
// src/utils/forkedAgent.ts
|
|
366631
|
-
import { randomUUID as
|
|
367159
|
+
import { randomUUID as randomUUID22 } from "crypto";
|
|
366632
367160
|
function saveCacheSafeParams(params) {
|
|
366633
367161
|
lastCacheSafeParams = params;
|
|
366634
367162
|
}
|
|
@@ -366737,7 +367265,7 @@ function createSubagentContext(parentContext, overrides) {
|
|
|
366737
367265
|
agentId: overrides?.agentId ?? createAgentId(),
|
|
366738
367266
|
agentType: overrides?.agentType,
|
|
366739
367267
|
queryTracking: {
|
|
366740
|
-
chainId:
|
|
367268
|
+
chainId: randomUUID22(),
|
|
366741
367269
|
depth: (parentContext.queryTracking?.depth ?? -1) + 1
|
|
366742
367270
|
},
|
|
366743
367271
|
fileReadingLimits: parentContext.fileReadingLimits,
|
|
@@ -369723,8 +370251,8 @@ async function calculateDeferredToolDescriptionChars(tools, getToolPermissionCon
|
|
|
369723
370251
|
tools,
|
|
369724
370252
|
agents
|
|
369725
370253
|
});
|
|
369726
|
-
const
|
|
369727
|
-
return tool.name.length + description.length +
|
|
370254
|
+
const inputSchema40 = tool.inputJSONSchema ? jsonStringify(tool.inputJSONSchema) : tool.inputSchema ? jsonStringify(zodToJsonSchema3(tool.inputSchema)) : "";
|
|
370255
|
+
return tool.name.length + description.length + inputSchema40.length;
|
|
369728
370256
|
}));
|
|
369729
370257
|
return sizes.reduce((total, size) => total + size, 0);
|
|
369730
370258
|
}
|
|
@@ -369915,7 +370443,7 @@ var init_toolSearch = __esm(() => {
|
|
|
369915
370443
|
});
|
|
369916
370444
|
|
|
369917
370445
|
// src/services/vcr.ts
|
|
369918
|
-
import { createHash as createHash20, randomUUID as
|
|
370446
|
+
import { createHash as createHash20, randomUUID as randomUUID23 } from "crypto";
|
|
369919
370447
|
import { mkdir as mkdir23, readFile as readFile29, writeFile as writeFile24 } from "fs/promises";
|
|
369920
370448
|
import { dirname as dirname36, join as join90 } from "path";
|
|
369921
370449
|
function shouldUseVCR() {
|
|
@@ -369968,7 +370496,7 @@ async function withVCR(messages, f) {
|
|
|
369968
370496
|
try {
|
|
369969
370497
|
const cached3 = jsonParse(await readFile29(filename, { encoding: "utf8" }));
|
|
369970
370498
|
cached3.output.forEach(addCachedCostToTotalSessionCost);
|
|
369971
|
-
return cached3.output.map((message, index) => mapMessage(message, hydrateValue, index,
|
|
370499
|
+
return cached3.output.map((message, index) => mapMessage(message, hydrateValue, index, randomUUID23()));
|
|
369972
370500
|
} catch (e) {
|
|
369973
370501
|
const code = getErrnoCode(e);
|
|
369974
370502
|
if (code !== "ENOENT") {
|
|
@@ -370429,7 +370957,7 @@ var init_tokenEstimation = __esm(() => {
|
|
|
370429
370957
|
});
|
|
370430
370958
|
|
|
370431
370959
|
// src/utils/pdf.ts
|
|
370432
|
-
import { randomUUID as
|
|
370960
|
+
import { randomUUID as randomUUID24 } from "crypto";
|
|
370433
370961
|
import { mkdir as mkdir24, readdir as readdir16, readFile as readFile30 } from "fs/promises";
|
|
370434
370962
|
import { join as join91 } from "path";
|
|
370435
370963
|
async function readPDF(filePath) {
|
|
@@ -370540,7 +371068,7 @@ async function extractPDFPages(filePath, options2) {
|
|
|
370540
371068
|
}
|
|
370541
371069
|
};
|
|
370542
371070
|
}
|
|
370543
|
-
const uuid3 =
|
|
371071
|
+
const uuid3 = randomUUID24();
|
|
370544
371072
|
const outputDir = join91(getToolResultsDir(), `pdf-${uuid3}`);
|
|
370545
371073
|
await mkdir24(outputDir, { recursive: true });
|
|
370546
371074
|
const prefix = join91(outputDir, "page");
|
|
@@ -371232,7 +371760,7 @@ async function readImageWithTokenBudget(filePath, maxTokens = getDefaultFileRead
|
|
|
371232
371760
|
}
|
|
371233
371761
|
return result;
|
|
371234
371762
|
}
|
|
371235
|
-
var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS,
|
|
371763
|
+
var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS, inputSchema40, outputSchema33, FileReadTool, CYBER_RISK_MITIGATION_REMINDER = `
|
|
371236
371764
|
|
|
371237
371765
|
<system-reminder>
|
|
371238
371766
|
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
|
|
@@ -371300,13 +371828,13 @@ var init_FileReadTool = __esm(() => {
|
|
|
371300
371828
|
}
|
|
371301
371829
|
};
|
|
371302
371830
|
IMAGE_EXTENSIONS = new Set(["png", "jpg", "jpeg", "gif", "webp"]);
|
|
371303
|
-
|
|
371831
|
+
inputSchema40 = lazySchema(() => exports_external.strictObject({
|
|
371304
371832
|
file_path: exports_external.string().describe("The absolute path to the file to read"),
|
|
371305
371833
|
offset: semanticNumber(exports_external.number().int().nonnegative().optional()).describe("The line number to start reading from. Only provide if the file is too large to read at once"),
|
|
371306
371834
|
limit: semanticNumber(exports_external.number().int().positive().optional()).describe("The number of lines to read. Only provide if the file is too large to read at once."),
|
|
371307
371835
|
pages: exports_external.string().optional().describe(`Page range for PDF files (e.g., "1-5", "3", "10-20"). Only applicable to PDF files. Maximum ${PDF_MAX_PAGES_PER_READ} pages per request.`)
|
|
371308
371836
|
}));
|
|
371309
|
-
|
|
371837
|
+
outputSchema33 = lazySchema(() => {
|
|
371310
371838
|
const imageMediaTypes = exports_external.enum([
|
|
371311
371839
|
"image/jpeg",
|
|
371312
371840
|
"image/png",
|
|
@@ -371385,10 +371913,10 @@ var init_FileReadTool = __esm(() => {
|
|
|
371385
371913
|
return renderPromptTemplate(pickLineFormatInstruction(), maxSizeInstruction, offsetInstruction);
|
|
371386
371914
|
},
|
|
371387
371915
|
get inputSchema() {
|
|
371388
|
-
return
|
|
371916
|
+
return inputSchema40();
|
|
371389
371917
|
},
|
|
371390
371918
|
get outputSchema() {
|
|
371391
|
-
return
|
|
371919
|
+
return outputSchema33();
|
|
371392
371920
|
},
|
|
371393
371921
|
userFacingName: userFacingName7,
|
|
371394
371922
|
getToolUseSummary: getToolUseSummary8,
|
|
@@ -372118,7 +372646,7 @@ var init_findRelevantMemories = __esm(() => {
|
|
|
372118
372646
|
// src/utils/attachments.ts
|
|
372119
372647
|
import { readdir as readdir18, stat as stat32 } from "fs/promises";
|
|
372120
372648
|
import { dirname as dirname37, parse as parse12, relative as relative19, resolve as resolve31 } from "path";
|
|
372121
|
-
import { randomUUID as
|
|
372649
|
+
import { randomUUID as randomUUID25 } from "crypto";
|
|
372122
372650
|
async function getAttachments(input, toolUseContext, ideSelection, queuedCommands, messages, querySource, options2) {
|
|
372123
372651
|
if (isEnvTruthy(process.env.MAXIMO_SYNTAX_DISABLE_ATTACHMENTS) || isEnvTruthy(process.env.MAXIMO_SYNTAX_SIMPLE)) {
|
|
372124
372652
|
return getQueuedCommandAttachments(queuedCommands);
|
|
@@ -373338,7 +373866,7 @@ function createAttachmentMessage(attachment) {
|
|
|
373338
373866
|
return {
|
|
373339
373867
|
attachment,
|
|
373340
373868
|
type: "attachment",
|
|
373341
|
-
uuid:
|
|
373869
|
+
uuid: randomUUID25(),
|
|
373342
373870
|
timestamp: new Date().toISOString()
|
|
373343
373871
|
};
|
|
373344
373872
|
}
|
|
@@ -378929,7 +379457,7 @@ ${EXPLANATORY_FEATURE_PROMPT}`
|
|
|
378929
379457
|
});
|
|
378930
379458
|
|
|
378931
379459
|
// src/utils/messages.ts
|
|
378932
|
-
import { randomUUID as
|
|
379460
|
+
import { randomUUID as randomUUID26 } from "crypto";
|
|
378933
379461
|
function getTeammateMailbox() {
|
|
378934
379462
|
return init_teammateMailbox(), __toCommonJS(exports_teammateMailbox);
|
|
378935
379463
|
}
|
|
@@ -379004,10 +379532,10 @@ function baseCreateAssistantMessage({
|
|
|
379004
379532
|
}) {
|
|
379005
379533
|
return {
|
|
379006
379534
|
type: "assistant",
|
|
379007
|
-
uuid:
|
|
379535
|
+
uuid: randomUUID26(),
|
|
379008
379536
|
timestamp: new Date().toISOString(),
|
|
379009
379537
|
message: {
|
|
379010
|
-
id:
|
|
379538
|
+
id: randomUUID26(),
|
|
379011
379539
|
container: null,
|
|
379012
379540
|
model: SYNTHETIC_MODEL,
|
|
379013
379541
|
role: "assistant",
|
|
@@ -379088,7 +379616,7 @@ function createUserMessage({
|
|
|
379088
379616
|
isVirtual,
|
|
379089
379617
|
isCompactSummary,
|
|
379090
379618
|
summarizeMetadata,
|
|
379091
|
-
uuid: uuid3 ||
|
|
379619
|
+
uuid: uuid3 || randomUUID26(),
|
|
379092
379620
|
timestamp: timestamp ?? new Date().toISOString(),
|
|
379093
379621
|
toolUseResult,
|
|
379094
379622
|
mcpMeta,
|
|
@@ -379157,7 +379685,7 @@ function createProgressMessage({
|
|
|
379157
379685
|
data,
|
|
379158
379686
|
toolUseID,
|
|
379159
379687
|
parentToolUseID,
|
|
379160
|
-
uuid:
|
|
379688
|
+
uuid: randomUUID26(),
|
|
379161
379689
|
timestamp: new Date().toISOString()
|
|
379162
379690
|
};
|
|
379163
379691
|
}
|
|
@@ -381464,7 +381992,7 @@ function createSystemMessage(content, level, toolUseID, preventContinuation) {
|
|
|
381464
381992
|
content,
|
|
381465
381993
|
isMeta: false,
|
|
381466
381994
|
timestamp: new Date().toISOString(),
|
|
381467
|
-
uuid:
|
|
381995
|
+
uuid: randomUUID26(),
|
|
381468
381996
|
toolUseID,
|
|
381469
381997
|
level,
|
|
381470
381998
|
...preventContinuation && { preventContinuation }
|
|
@@ -381479,7 +382007,7 @@ function createPermissionRetryMessage(commands) {
|
|
|
381479
382007
|
level: "info",
|
|
381480
382008
|
isMeta: false,
|
|
381481
382009
|
timestamp: new Date().toISOString(),
|
|
381482
|
-
uuid:
|
|
382010
|
+
uuid: randomUUID26()
|
|
381483
382011
|
};
|
|
381484
382012
|
}
|
|
381485
382013
|
function createStopHookSummaryMessage(hookCount, hookInfos, hookErrors, preventedContinuation, stopReason, hasOutput, level, toolUseID, hookLabel, totalDurationMs) {
|
|
@@ -381494,7 +382022,7 @@ function createStopHookSummaryMessage(hookCount, hookInfos, hookErrors, prevente
|
|
|
381494
382022
|
hasOutput,
|
|
381495
382023
|
level,
|
|
381496
382024
|
timestamp: new Date().toISOString(),
|
|
381497
|
-
uuid:
|
|
382025
|
+
uuid: randomUUID26(),
|
|
381498
382026
|
toolUseID,
|
|
381499
382027
|
hookLabel,
|
|
381500
382028
|
totalDurationMs
|
|
@@ -381510,7 +382038,7 @@ function createTurnDurationMessage(durationMs, budget, messageCount) {
|
|
|
381510
382038
|
budgetNudges: budget?.nudges,
|
|
381511
382039
|
messageCount,
|
|
381512
382040
|
timestamp: new Date().toISOString(),
|
|
381513
|
-
uuid:
|
|
382041
|
+
uuid: randomUUID26(),
|
|
381514
382042
|
isMeta: false
|
|
381515
382043
|
};
|
|
381516
382044
|
}
|
|
@@ -381520,7 +382048,7 @@ function createMemorySavedMessage(writtenPaths) {
|
|
|
381520
382048
|
subtype: "memory_saved",
|
|
381521
382049
|
writtenPaths,
|
|
381522
382050
|
timestamp: new Date().toISOString(),
|
|
381523
|
-
uuid:
|
|
382051
|
+
uuid: randomUUID26(),
|
|
381524
382052
|
isMeta: false
|
|
381525
382053
|
};
|
|
381526
382054
|
}
|
|
@@ -381529,7 +382057,7 @@ function createAgentsKilledMessage() {
|
|
|
381529
382057
|
type: "system",
|
|
381530
382058
|
subtype: "agents_killed",
|
|
381531
382059
|
timestamp: new Date().toISOString(),
|
|
381532
|
-
uuid:
|
|
382060
|
+
uuid: randomUUID26(),
|
|
381533
382061
|
isMeta: false
|
|
381534
382062
|
};
|
|
381535
382063
|
}
|
|
@@ -381540,7 +382068,7 @@ function createCommandInputMessage(content) {
|
|
|
381540
382068
|
content,
|
|
381541
382069
|
level: "info",
|
|
381542
382070
|
timestamp: new Date().toISOString(),
|
|
381543
|
-
uuid:
|
|
382071
|
+
uuid: randomUUID26(),
|
|
381544
382072
|
isMeta: false
|
|
381545
382073
|
};
|
|
381546
382074
|
}
|
|
@@ -381551,7 +382079,7 @@ function createCompactBoundaryMessage(trigger, preTokens, lastPreCompactMessageU
|
|
|
381551
382079
|
content: `Conversation compacted`,
|
|
381552
382080
|
isMeta: false,
|
|
381553
382081
|
timestamp: new Date().toISOString(),
|
|
381554
|
-
uuid:
|
|
382082
|
+
uuid: randomUUID26(),
|
|
381555
382083
|
level: "info",
|
|
381556
382084
|
compactMetadata: {
|
|
381557
382085
|
trigger,
|
|
@@ -381575,7 +382103,7 @@ function createSystemAPIErrorMessage(error42, retryInMs, retryAttempt, maxRetrie
|
|
|
381575
382103
|
retryAttempt,
|
|
381576
382104
|
maxRetries,
|
|
381577
382105
|
timestamp: new Date().toISOString(),
|
|
381578
|
-
uuid:
|
|
382106
|
+
uuid: randomUUID26()
|
|
381579
382107
|
};
|
|
381580
382108
|
}
|
|
381581
382109
|
function isCompactBoundaryMessage(message) {
|
|
@@ -381844,7 +382372,7 @@ function createToolUseSummaryMessage(summary, precedingToolUseIds) {
|
|
|
381844
382372
|
type: "tool_use_summary",
|
|
381845
382373
|
summary,
|
|
381846
382374
|
precedingToolUseIds,
|
|
381847
|
-
uuid:
|
|
382375
|
+
uuid: randomUUID26(),
|
|
381848
382376
|
timestamp: new Date().toISOString()
|
|
381849
382377
|
};
|
|
381850
382378
|
}
|
|
@@ -392214,7 +392742,7 @@ var exports_conversation = {};
|
|
|
392214
392742
|
__export(exports_conversation, {
|
|
392215
392743
|
clearConversation: () => clearConversation
|
|
392216
392744
|
});
|
|
392217
|
-
import { randomUUID as
|
|
392745
|
+
import { randomUUID as randomUUID27 } from "crypto";
|
|
392218
392746
|
async function clearConversation({
|
|
392219
392747
|
setMessages,
|
|
392220
392748
|
readFileState,
|
|
@@ -392259,7 +392787,7 @@ async function clearConversation({
|
|
|
392259
392787
|
setMessages(() => []);
|
|
392260
392788
|
if (false) {}
|
|
392261
392789
|
if (setConversationId) {
|
|
392262
|
-
setConversationId(
|
|
392790
|
+
setConversationId(randomUUID27());
|
|
392263
392791
|
}
|
|
392264
392792
|
clearSessionCaches(preservedAgentIds);
|
|
392265
392793
|
setCwd(getOriginalCwd());
|
|
@@ -432255,7 +432783,7 @@ function getRecentActivitySync() {
|
|
|
432255
432783
|
return cachedActivity;
|
|
432256
432784
|
}
|
|
432257
432785
|
function getLogoDisplayData() {
|
|
432258
|
-
const version2 = process.env.DEMO_VERSION ?? "0.1.
|
|
432786
|
+
const version2 = process.env.DEMO_VERSION ?? "0.1.34" ?? "99.0.0";
|
|
432259
432787
|
const serverUrl = getDirectConnectServerUrl();
|
|
432260
432788
|
const displayPath = process.env.DEMO_VERSION ? "/code/maximo" : getDisplayPath(getCwd());
|
|
432261
432789
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -444352,7 +444880,7 @@ var init_InProcessTeammateDetailDialog = __esm(() => {
|
|
|
444352
444880
|
});
|
|
444353
444881
|
|
|
444354
444882
|
// src/utils/messages/mappers.ts
|
|
444355
|
-
import { randomUUID as
|
|
444883
|
+
import { randomUUID as randomUUID28 } from "crypto";
|
|
444356
444884
|
function toInternalMessages(messages) {
|
|
444357
444885
|
return messages.flatMap((message) => {
|
|
444358
444886
|
switch (message.type) {
|
|
@@ -444371,7 +444899,7 @@ function toInternalMessages(messages) {
|
|
|
444371
444899
|
{
|
|
444372
444900
|
type: "user",
|
|
444373
444901
|
message: message.message,
|
|
444374
|
-
uuid: message.uuid ??
|
|
444902
|
+
uuid: message.uuid ?? randomUUID28(),
|
|
444375
444903
|
timestamp: message.timestamp ?? new Date().toISOString(),
|
|
444376
444904
|
isMeta: message.isSynthetic
|
|
444377
444905
|
}
|
|
@@ -454656,7 +455184,7 @@ __export(exports_branch, {
|
|
|
454656
455184
|
deriveFirstPrompt: () => deriveFirstPrompt,
|
|
454657
455185
|
call: () => call50
|
|
454658
455186
|
});
|
|
454659
|
-
import { randomUUID as
|
|
455187
|
+
import { randomUUID as randomUUID29 } from "crypto";
|
|
454660
455188
|
import { mkdir as mkdir34, readFile as readFile43, writeFile as writeFile39 } from "fs/promises";
|
|
454661
455189
|
function deriveFirstPrompt(firstUserMessage) {
|
|
454662
455190
|
const content = firstUserMessage?.message?.content;
|
|
@@ -454668,7 +455196,7 @@ function deriveFirstPrompt(firstUserMessage) {
|
|
|
454668
455196
|
return raw.replace(/\s+/g, " ").trim().slice(0, 100) || "Branched conversation";
|
|
454669
455197
|
}
|
|
454670
455198
|
async function createFork(customTitle) {
|
|
454671
|
-
const forkSessionId =
|
|
455199
|
+
const forkSessionId = randomUUID29();
|
|
454672
455200
|
const originalSessionId = getSessionId();
|
|
454673
455201
|
const projectDir = getProjectDir2(getOriginalCwd());
|
|
454674
455202
|
const forkSessionPath = getTranscriptPathForSession(forkSessionId);
|
|
@@ -461720,7 +462248,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
461720
462248
|
var call57 = async () => {
|
|
461721
462249
|
return {
|
|
461722
462250
|
type: "text",
|
|
461723
|
-
value: `${"99.0.0"} (built ${"2026-08-
|
|
462251
|
+
value: `${"99.0.0"} (built ${"2026-08-15T17:26:52.338Z"})`
|
|
461724
462252
|
};
|
|
461725
462253
|
}, version2, version_default;
|
|
461726
462254
|
var init_version = __esm(() => {
|
|
@@ -477101,9 +477629,9 @@ var init_hookHelpers = __esm(() => {
|
|
|
477101
477629
|
});
|
|
477102
477630
|
|
|
477103
477631
|
// src/utils/hooks/execPromptHook.ts
|
|
477104
|
-
import { randomUUID as
|
|
477632
|
+
import { randomUUID as randomUUID30 } from "crypto";
|
|
477105
477633
|
async function execPromptHook(hook, hookName, hookEvent, jsonInput, signal, toolUseContext, messages, toolUseID) {
|
|
477106
|
-
const effectiveToolUseID = toolUseID || `hook-${
|
|
477634
|
+
const effectiveToolUseID = toolUseID || `hook-${randomUUID30()}`;
|
|
477107
477635
|
try {
|
|
477108
477636
|
const processedPrompt = addArgumentsToPrompt(hook.prompt, jsonInput);
|
|
477109
477637
|
logForDebugging2(`Hooks: Processing prompt hook with prompt: ${processedPrompt}`);
|
|
@@ -477257,9 +477785,9 @@ var init_execPromptHook = __esm(() => {
|
|
|
477257
477785
|
});
|
|
477258
477786
|
|
|
477259
477787
|
// src/utils/hooks/execAgentHook.ts
|
|
477260
|
-
import { randomUUID as
|
|
477788
|
+
import { randomUUID as randomUUID31 } from "crypto";
|
|
477261
477789
|
async function execAgentHook(hook, hookName, hookEvent, jsonInput, signal, toolUseContext, toolUseID, _messages, agentName) {
|
|
477262
|
-
const effectiveToolUseID = toolUseID || `hook-${
|
|
477790
|
+
const effectiveToolUseID = toolUseID || `hook-${randomUUID31()}`;
|
|
477263
477791
|
const transcriptPath = toolUseContext.agentId ? getAgentTranscriptPath(toolUseContext.agentId) : getTranscriptPath();
|
|
477264
477792
|
const hookStartTime = Date.now();
|
|
477265
477793
|
try {
|
|
@@ -477294,7 +477822,7 @@ When done, return your result using the ${SYNTHETIC_OUTPUT_TOOL_NAME} tool with:
|
|
|
477294
477822
|
]);
|
|
477295
477823
|
const model = hook.model ?? getSmallFastModel();
|
|
477296
477824
|
const MAX_AGENT_TURNS = 50;
|
|
477297
|
-
const hookAgentId = asAgentId(`hook-agent-${
|
|
477825
|
+
const hookAgentId = asAgentId(`hook-agent-${randomUUID31()}`);
|
|
477298
477826
|
const agentToolUseContext = {
|
|
477299
477827
|
...toolUseContext,
|
|
477300
477828
|
agentId: hookAgentId,
|
|
@@ -477788,7 +478316,7 @@ __export(exports_hooks2, {
|
|
|
477788
478316
|
});
|
|
477789
478317
|
import { basename as basename42 } from "path";
|
|
477790
478318
|
import { spawn as spawn7 } from "child_process";
|
|
477791
|
-
import { randomUUID as
|
|
478319
|
+
import { randomUUID as randomUUID32 } from "crypto";
|
|
477792
478320
|
function getSessionEndHookTimeoutMs() {
|
|
477793
478321
|
const raw = process.env.MAXIMO_SYNTAX_SESSIONEND_HOOKS_TIMEOUT_MS;
|
|
477794
478322
|
const parsed = raw ? parseInt(raw, 10) : NaN;
|
|
@@ -478826,7 +479354,7 @@ async function* executeHooks({
|
|
|
478826
479354
|
parentToolUseID: toolUseID,
|
|
478827
479355
|
toolUseID,
|
|
478828
479356
|
timestamp: new Date().toISOString(),
|
|
478829
|
-
uuid:
|
|
479357
|
+
uuid: randomUUID32()
|
|
478830
479358
|
}
|
|
478831
479359
|
};
|
|
478832
479360
|
}
|
|
@@ -478888,7 +479416,7 @@ async function* executeHooks({
|
|
|
478888
479416
|
const { signal: abortSignal, cleanup } = createCombinedAbortSignal(signal, {
|
|
478889
479417
|
timeoutMs: commandTimeoutMs
|
|
478890
479418
|
});
|
|
478891
|
-
const hookId =
|
|
479419
|
+
const hookId = randomUUID32();
|
|
478892
479420
|
const hookStartMs = Date.now();
|
|
478893
479421
|
const hookCommand = getHookDisplayText(hook);
|
|
478894
479422
|
try {
|
|
@@ -479536,7 +480064,7 @@ async function executeHooksOutsideREPL({
|
|
|
479536
480064
|
const callbackTimeoutMs = hook.timeout ? hook.timeout * 1000 : timeoutMs;
|
|
479537
480065
|
const { signal: abortSignal2, cleanup: cleanup2 } = createCombinedAbortSignal(signal, { timeoutMs: callbackTimeoutMs });
|
|
479538
480066
|
try {
|
|
479539
|
-
const toolUseID =
|
|
480067
|
+
const toolUseID = randomUUID32();
|
|
479540
480068
|
const json2 = await hook.callback(hookInput, toolUseID, abortSignal2, hookIndex);
|
|
479541
480069
|
cleanup2?.();
|
|
479542
480070
|
if (isAsyncHookJSONOutput(json2)) {
|
|
@@ -479647,7 +480175,7 @@ async function executeHooksOutsideREPL({
|
|
|
479647
480175
|
const commandTimeoutMs = hook.timeout ? hook.timeout * 1000 : timeoutMs;
|
|
479648
480176
|
const { signal: abortSignal, cleanup } = createCombinedAbortSignal(signal, { timeoutMs: commandTimeoutMs });
|
|
479649
480177
|
try {
|
|
479650
|
-
const result = await execCommandHook(hook, hookEvent, hookName, jsonInput, abortSignal,
|
|
480178
|
+
const result = await execCommandHook(hook, hookEvent, hookName, jsonInput, abortSignal, randomUUID32(), hookIndex, pluginRoot, pluginId);
|
|
479651
480179
|
cleanup?.();
|
|
479652
480180
|
if (result.aborted) {
|
|
479653
480181
|
logForDebugging2(`${hookName} [${hook.command}] cancelled`);
|
|
@@ -479848,7 +480376,7 @@ async function* executeStopHooks(permissionMode, signal, timeoutMs = TOOL_HOOK_E
|
|
|
479848
480376
|
};
|
|
479849
480377
|
yield* executeHooks({
|
|
479850
480378
|
hookInput,
|
|
479851
|
-
toolUseID:
|
|
480379
|
+
toolUseID: randomUUID32(),
|
|
479852
480380
|
signal,
|
|
479853
480381
|
timeoutMs,
|
|
479854
480382
|
toolUseContext,
|
|
@@ -479865,7 +480393,7 @@ async function* executeTeammateIdleHooks(teammateName, teamName, permissionMode,
|
|
|
479865
480393
|
};
|
|
479866
480394
|
yield* executeHooks({
|
|
479867
480395
|
hookInput,
|
|
479868
|
-
toolUseID:
|
|
480396
|
+
toolUseID: randomUUID32(),
|
|
479869
480397
|
signal,
|
|
479870
480398
|
timeoutMs
|
|
479871
480399
|
});
|
|
@@ -479882,7 +480410,7 @@ async function* executeTaskCreatedHooks(taskId, taskSubject, taskDescription, te
|
|
|
479882
480410
|
};
|
|
479883
480411
|
yield* executeHooks({
|
|
479884
480412
|
hookInput,
|
|
479885
|
-
toolUseID:
|
|
480413
|
+
toolUseID: randomUUID32(),
|
|
479886
480414
|
signal,
|
|
479887
480415
|
timeoutMs,
|
|
479888
480416
|
toolUseContext
|
|
@@ -479900,7 +480428,7 @@ async function* executeTaskCompletedHooks(taskId, taskSubject, taskDescription,
|
|
|
479900
480428
|
};
|
|
479901
480429
|
yield* executeHooks({
|
|
479902
480430
|
hookInput,
|
|
479903
|
-
toolUseID:
|
|
480431
|
+
toolUseID: randomUUID32(),
|
|
479904
480432
|
signal,
|
|
479905
480433
|
timeoutMs,
|
|
479906
480434
|
toolUseContext
|
|
@@ -479919,7 +480447,7 @@ async function* executeUserPromptSubmitHooks(prompt, permissionMode, toolUseCont
|
|
|
479919
480447
|
};
|
|
479920
480448
|
yield* executeHooks({
|
|
479921
480449
|
hookInput,
|
|
479922
|
-
toolUseID:
|
|
480450
|
+
toolUseID: randomUUID32(),
|
|
479923
480451
|
signal: toolUseContext.abortController.signal,
|
|
479924
480452
|
timeoutMs: TOOL_HOOK_EXECUTION_TIMEOUT_MS,
|
|
479925
480453
|
toolUseContext,
|
|
@@ -479936,7 +480464,7 @@ async function* executeSessionStartHooks(source, sessionId, agentType, model, si
|
|
|
479936
480464
|
};
|
|
479937
480465
|
yield* executeHooks({
|
|
479938
480466
|
hookInput,
|
|
479939
|
-
toolUseID:
|
|
480467
|
+
toolUseID: randomUUID32(),
|
|
479940
480468
|
matchQuery: source,
|
|
479941
480469
|
signal,
|
|
479942
480470
|
timeoutMs,
|
|
@@ -479951,7 +480479,7 @@ async function* executeSetupHooks(trigger, signal, timeoutMs = TOOL_HOOK_EXECUTI
|
|
|
479951
480479
|
};
|
|
479952
480480
|
yield* executeHooks({
|
|
479953
480481
|
hookInput,
|
|
479954
|
-
toolUseID:
|
|
480482
|
+
toolUseID: randomUUID32(),
|
|
479955
480483
|
matchQuery: trigger,
|
|
479956
480484
|
signal,
|
|
479957
480485
|
timeoutMs,
|
|
@@ -479967,7 +480495,7 @@ async function* executeSubagentStartHooks(agentId, agentType, signal, timeoutMs
|
|
|
479967
480495
|
};
|
|
479968
480496
|
yield* executeHooks({
|
|
479969
480497
|
hookInput,
|
|
479970
|
-
toolUseID:
|
|
480498
|
+
toolUseID: randomUUID32(),
|
|
479971
480499
|
matchQuery: agentType,
|
|
479972
480500
|
signal,
|
|
479973
480501
|
timeoutMs
|
|
@@ -480330,7 +480858,7 @@ async function executeStatusLineCommand(statusLineInput, signal, timeoutMs = 500
|
|
|
480330
480858
|
const abortSignal = signal || AbortSignal.timeout(timeoutMs);
|
|
480331
480859
|
try {
|
|
480332
480860
|
const jsonInput = jsonStringify(statusLineInput);
|
|
480333
|
-
const result = await execCommandHook(statusLine, "StatusLine", "statusLine", jsonInput, abortSignal,
|
|
480861
|
+
const result = await execCommandHook(statusLine, "StatusLine", "statusLine", jsonInput, abortSignal, randomUUID32());
|
|
480334
480862
|
if (result.aborted) {
|
|
480335
480863
|
return;
|
|
480336
480864
|
}
|
|
@@ -480374,7 +480902,7 @@ async function executeFileSuggestionCommand(fileSuggestionInput, signal, timeout
|
|
|
480374
480902
|
try {
|
|
480375
480903
|
const jsonInput = jsonStringify(fileSuggestionInput);
|
|
480376
480904
|
const hook = { type: "command", command: fileSuggestion.command };
|
|
480377
|
-
const result = await execCommandHook(hook, "FileSuggestion", "FileSuggestion", jsonInput, abortSignal,
|
|
480905
|
+
const result = await execCommandHook(hook, "FileSuggestion", "FileSuggestion", jsonInput, abortSignal, randomUUID32());
|
|
480378
480906
|
if (result.aborted || result.status !== 0) {
|
|
480379
480907
|
return [];
|
|
480380
480908
|
}
|
|
@@ -481603,7 +482131,7 @@ function getUsingYourToolsSection(enabledTools) {
|
|
|
481603
482131
|
`);
|
|
481604
482132
|
}
|
|
481605
482133
|
function getAgentToolSection() {
|
|
481606
|
-
return isForkSubagentEnabled() ? `Calling ${AGENT_TOOL_NAME} without a subagent_type creates a fork, which runs in the background and keeps its tool output out of your context — so you can keep chatting with the user while it works. Reach for it when research or multi-step implementation work would otherwise fill your context with raw output you won't need again. **If you ARE the fork** — execute directly; do not re-delegate.` : `Use the ${AGENT_TOOL_NAME} tool with specialized agents when the task at hand matches the agent's description. Subagents are valuable for parallelizing independent queries or for protecting the main context window from excessive results, but they should not be used excessively when not needed. Importantly, avoid duplicating work that subagents are already doing - if you delegate research to a subagent, do not also perform the same searches yourself.`;
|
|
482134
|
+
return isForkSubagentEnabled() ? `Calling ${AGENT_TOOL_NAME} without a subagent_type creates a fork, which runs in the background and keeps its tool output out of your context — so you can keep chatting with the user while it works. Reach for it when research or multi-step implementation work would otherwise fill your context with raw output you won't need again. **If you ARE the fork** — execute directly; do not re-delegate.` : `Use the ${AGENT_TOOL_NAME} tool with specialized agents when the task at hand matches the agent's description. Subagents are valuable for parallelizing independent queries or for protecting the main context window from excessive results, but they should not be used excessively when not needed. Importantly, avoid duplicating work that subagents are already doing - if you delegate research to a subagent, do not also perform the same searches yourself. Every ${AGENT_TOOL_NAME} call must include \`description\` (3-5 word title) and \`prompt\` (full task). You may set \`model\` to any available model slug and \`effort\` to any effort that model supports; omit them to inherit the parent. \`isolation\` is \`"none"\` (default) or \`"worktree"\` — never any other value.`;
|
|
481607
482135
|
}
|
|
481608
482136
|
function getDiscoverSkillsGuidance() {
|
|
481609
482137
|
if (false) {}
|
|
@@ -482442,7 +482970,7 @@ function insertBlockAfterToolResults(content, block2) {
|
|
|
482442
482970
|
}
|
|
482443
482971
|
|
|
482444
482972
|
// src/services/api/maximo.ts
|
|
482445
|
-
import { randomUUID as
|
|
482973
|
+
import { randomUUID as randomUUID33 } from "crypto";
|
|
482446
482974
|
function getExtraBodyParams(betaHeaders) {
|
|
482447
482975
|
const extraBodyStr = process.env.MAXIMO_SYNTAX_EXTRA_BODY;
|
|
482448
482976
|
let result = {};
|
|
@@ -483225,7 +483753,7 @@ ${deferredToolList}
|
|
|
483225
483753
|
if (!options2.agentId) {
|
|
483226
483754
|
headlessProfilerCheckpoint("api_request_sent");
|
|
483227
483755
|
}
|
|
483228
|
-
clientRequestId = getAPIProvider() === "firstParty" && isFirstPartyAnthropicBaseUrl() ?
|
|
483756
|
+
clientRequestId = getAPIProvider() === "firstParty" && isFirstPartyAnthropicBaseUrl() ? randomUUID33() : undefined;
|
|
483229
483757
|
const result = await anthropic.beta.messages.create({ ...params, stream: true }, {
|
|
483230
483758
|
signal,
|
|
483231
483759
|
...clientRequestId && {
|
|
@@ -483455,7 +483983,7 @@ ${deferredToolList}
|
|
|
483455
483983
|
},
|
|
483456
483984
|
requestId: streamRequestId ?? undefined,
|
|
483457
483985
|
type: "assistant",
|
|
483458
|
-
uuid:
|
|
483986
|
+
uuid: randomUUID33(),
|
|
483459
483987
|
timestamp: new Date().toISOString(),
|
|
483460
483988
|
...process.env.USER_TYPE === "ant" && research !== undefined && { research },
|
|
483461
483989
|
...advisorModel && { advisorModel }
|
|
@@ -483635,7 +484163,7 @@ ${deferredToolList}
|
|
|
483635
484163
|
},
|
|
483636
484164
|
requestId: streamRequestId ?? undefined,
|
|
483637
484165
|
type: "assistant",
|
|
483638
|
-
uuid:
|
|
484166
|
+
uuid: randomUUID33(),
|
|
483639
484167
|
timestamp: new Date().toISOString(),
|
|
483640
484168
|
...process.env.USER_TYPE === "ant" && research !== undefined && {
|
|
483641
484169
|
research
|
|
@@ -483689,7 +484217,7 @@ ${deferredToolList}
|
|
|
483689
484217
|
},
|
|
483690
484218
|
requestId: streamRequestId ?? undefined,
|
|
483691
484219
|
type: "assistant",
|
|
483692
|
-
uuid:
|
|
484220
|
+
uuid: randomUUID33(),
|
|
483693
484221
|
timestamp: new Date().toISOString(),
|
|
483694
484222
|
...process.env.USER_TYPE === "ant" && research !== undefined && { research },
|
|
483695
484223
|
...advisorModel && { advisorModel }
|
|
@@ -486885,7 +487413,7 @@ function applySafeConfigEnvironmentVariables() {
|
|
|
486885
487413
|
process.env.OPENAI_BASE_URL = baseUrl;
|
|
486886
487414
|
if (!process.env.OPENAI_MODEL) {
|
|
486887
487415
|
if (baseUrl.includes("api.mytabulon.com")) {
|
|
486888
|
-
process.env.OPENAI_MODEL = globalConfig2.mytabulonDefaultModel ||
|
|
487416
|
+
process.env.OPENAI_MODEL = normalizeRetiredMytabulonModel(globalConfig2.mytabulonDefaultModel) || MYTABULON_DEFAULT_MODEL;
|
|
486889
487417
|
} else if (baseUrl.includes("openrouter.ai/api/v1")) {
|
|
486890
487418
|
process.env.OPENAI_MODEL = "openai/gpt-5.4";
|
|
486891
487419
|
} else if (baseUrl.includes("opencode.ai/zen/")) {
|
|
@@ -488808,7 +489336,7 @@ var init_inboundMessages = __esm(() => {
|
|
|
488808
489336
|
});
|
|
488809
489337
|
|
|
488810
489338
|
// src/utils/messages/systemInit.ts
|
|
488811
|
-
import { randomUUID as
|
|
489339
|
+
import { randomUUID as randomUUID34 } from "crypto";
|
|
488812
489340
|
function sdkCompatToolName(name) {
|
|
488813
489341
|
return name === AGENT_TOOL_NAME ? LEGACY_AGENT_TOOL_NAME : name;
|
|
488814
489342
|
}
|
|
@@ -488839,7 +489367,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
488839
489367
|
path: plugin2.path,
|
|
488840
489368
|
source: plugin2.source
|
|
488841
489369
|
})),
|
|
488842
|
-
uuid:
|
|
489370
|
+
uuid: randomUUID34()
|
|
488843
489371
|
};
|
|
488844
489372
|
if (false) {}
|
|
488845
489373
|
initMessage.fast_mode_state = getFastModeState(inputs.model, inputs.fastMode);
|
|
@@ -488927,7 +489455,7 @@ __export(exports_MessageSelector, {
|
|
|
488927
489455
|
messagesAfterAreOnlySynthetic: () => messagesAfterAreOnlySynthetic,
|
|
488928
489456
|
MessageSelector: () => MessageSelector
|
|
488929
489457
|
});
|
|
488930
|
-
import { randomUUID as
|
|
489458
|
+
import { randomUUID as randomUUID35 } from "crypto";
|
|
488931
489459
|
import * as path21 from "path";
|
|
488932
489460
|
function isTextBlock2(block2) {
|
|
488933
489461
|
return block2.type === "text";
|
|
@@ -488947,7 +489475,7 @@ function MessageSelector({
|
|
|
488947
489475
|
const fileHistory = useAppState((s) => s.fileHistory);
|
|
488948
489476
|
const [error42, setError] = import_react206.useState(undefined);
|
|
488949
489477
|
const isFileHistoryEnabled = fileHistoryEnabled();
|
|
488950
|
-
const currentUUID = import_react206.useMemo(
|
|
489478
|
+
const currentUUID = import_react206.useMemo(randomUUID35, []);
|
|
488951
489479
|
const messageOptions = import_react206.useMemo(() => [...messages.filter(selectableUserMessagesFilter), {
|
|
488952
489480
|
...createUserMessage({
|
|
488953
489481
|
content: ""
|
|
@@ -494817,7 +495345,7 @@ var init_FileEditToolDiff = __esm(() => {
|
|
|
494817
495345
|
});
|
|
494818
495346
|
|
|
494819
495347
|
// src/hooks/useDiffInIDE.ts
|
|
494820
|
-
import { randomUUID as
|
|
495348
|
+
import { randomUUID as randomUUID36 } from "crypto";
|
|
494821
495349
|
import { basename as basename45 } from "path";
|
|
494822
495350
|
function useDiffInIDE({
|
|
494823
495351
|
onChange,
|
|
@@ -494828,7 +495356,7 @@ function useDiffInIDE({
|
|
|
494828
495356
|
}) {
|
|
494829
495357
|
const isUnmounted = import_react217.useRef(false);
|
|
494830
495358
|
const [hasError, setHasError] = import_react217.useState(false);
|
|
494831
|
-
const sha = import_react217.useMemo(() =>
|
|
495359
|
+
const sha = import_react217.useMemo(() => randomUUID36().slice(0, 6), []);
|
|
494832
495360
|
const tabName = import_react217.useMemo(() => `✻ [Maximo Syntax] ${basename45(filePath)} (${sha}) ⧉`, [filePath, sha]);
|
|
494833
495361
|
const shouldShowDiffInIDE = hasAccessToIDEExtensionDiffFeature(toolUseContext.options.mcpClients) && getGlobalConfig().diffTool === "auto" && !filePath.endsWith(".ipynb");
|
|
494834
495362
|
const ideName = getConnectedIdeName(toolUseContext.options.mcpClients) ?? "IDE";
|
|
@@ -510235,7 +510763,7 @@ var init_teamDiscovery = __esm(() => {
|
|
|
510235
510763
|
});
|
|
510236
510764
|
|
|
510237
510765
|
// src/components/teams/TeamsDialog.tsx
|
|
510238
|
-
import { randomUUID as
|
|
510766
|
+
import { randomUUID as randomUUID37 } from "crypto";
|
|
510239
510767
|
function TeamsDialog({
|
|
510240
510768
|
initialTeams,
|
|
510241
510769
|
onDone
|
|
@@ -510859,7 +511387,7 @@ async function killTeammate(paneId, backendType, teamName, teammateId, teammateN
|
|
|
510859
511387
|
},
|
|
510860
511388
|
inbox: {
|
|
510861
511389
|
messages: [...prev.inbox.messages, {
|
|
510862
|
-
id:
|
|
511390
|
+
id: randomUUID37(),
|
|
510863
511391
|
from: "system",
|
|
510864
511392
|
text: jsonStringify({
|
|
510865
511393
|
type: "teammate_terminated",
|
|
@@ -517141,7 +517669,7 @@ function normalizeControlMessageKeys(obj) {
|
|
|
517141
517669
|
}
|
|
517142
517670
|
|
|
517143
517671
|
// src/bridge/bridgeMessaging.ts
|
|
517144
|
-
import { randomUUID as
|
|
517672
|
+
import { randomUUID as randomUUID38 } from "crypto";
|
|
517145
517673
|
function isSDKMessage(value) {
|
|
517146
517674
|
return value !== null && typeof value === "object" && "type" in value && typeof value.type === "string";
|
|
517147
517675
|
}
|
|
@@ -517349,7 +517877,7 @@ function makeResultMessage(sessionId) {
|
|
|
517349
517877
|
modelUsage: {},
|
|
517350
517878
|
permission_denials: [],
|
|
517351
517879
|
session_id: sessionId,
|
|
517352
|
-
uuid:
|
|
517880
|
+
uuid: randomUUID38()
|
|
517353
517881
|
};
|
|
517354
517882
|
}
|
|
517355
517883
|
|
|
@@ -517393,7 +517921,7 @@ var init_bridgeMessaging = __esm(() => {
|
|
|
517393
517921
|
});
|
|
517394
517922
|
|
|
517395
517923
|
// src/remote/SessionsWebSocket.ts
|
|
517396
|
-
import { randomUUID as
|
|
517924
|
+
import { randomUUID as randomUUID39 } from "crypto";
|
|
517397
517925
|
function isSessionsMessage(value) {
|
|
517398
517926
|
if (typeof value !== "object" || value === null || !("type" in value)) {
|
|
517399
517927
|
return false;
|
|
@@ -517577,7 +518105,7 @@ class SessionsWebSocket {
|
|
|
517577
518105
|
}
|
|
517578
518106
|
const controlRequest = {
|
|
517579
518107
|
type: "control_request",
|
|
517580
|
-
request_id:
|
|
518108
|
+
request_id: randomUUID39(),
|
|
517581
518109
|
request
|
|
517582
518110
|
};
|
|
517583
518111
|
logForDebugging2(`[SessionsWebSocket] Sending control request: ${request.subtype}`);
|
|
@@ -517769,11 +518297,11 @@ var init_RemoteSessionManager = __esm(() => {
|
|
|
517769
518297
|
});
|
|
517770
518298
|
|
|
517771
518299
|
// src/remote/remotePermissionBridge.ts
|
|
517772
|
-
import { randomUUID as
|
|
518300
|
+
import { randomUUID as randomUUID40 } from "crypto";
|
|
517773
518301
|
function createSyntheticAssistantMessage(request, requestId) {
|
|
517774
518302
|
return {
|
|
517775
518303
|
type: "assistant",
|
|
517776
|
-
uuid:
|
|
518304
|
+
uuid: randomUUID40(),
|
|
517777
518305
|
message: {
|
|
517778
518306
|
id: `remote-${requestId}`,
|
|
517779
518307
|
type: "message",
|
|
@@ -518576,7 +519104,7 @@ var init_useDirectConnect = __esm(() => {
|
|
|
518576
519104
|
});
|
|
518577
519105
|
|
|
518578
519106
|
// src/hooks/useSSHSession.ts
|
|
518579
|
-
import { randomUUID as
|
|
519107
|
+
import { randomUUID as randomUUID41 } from "crypto";
|
|
518580
519108
|
function useSSHSession({
|
|
518581
519109
|
session: session2,
|
|
518582
519110
|
setMessages,
|
|
@@ -518674,7 +519202,7 @@ function useSSHSession({
|
|
|
518674
519202
|
subtype: "informational",
|
|
518675
519203
|
content: `SSH connection dropped — reconnecting (attempt ${attempt}/${max2})...`,
|
|
518676
519204
|
timestamp: new Date().toISOString(),
|
|
518677
|
-
uuid:
|
|
519205
|
+
uuid: randomUUID41(),
|
|
518678
519206
|
level: "warning"
|
|
518679
519207
|
};
|
|
518680
519208
|
setMessages((prev) => [...prev, msg]);
|
|
@@ -520816,7 +521344,7 @@ var init_PermissionContext = __esm(() => {
|
|
|
520816
521344
|
});
|
|
520817
521345
|
|
|
520818
521346
|
// src/hooks/toolPermission/handlers/interactiveHandler.ts
|
|
520819
|
-
import { randomUUID as
|
|
521347
|
+
import { randomUUID as randomUUID42 } from "crypto";
|
|
520820
521348
|
function handleInteractivePermission(params, resolve42) {
|
|
520821
521349
|
const {
|
|
520822
521350
|
ctx,
|
|
@@ -520834,7 +521362,7 @@ function handleInteractivePermission(params, resolve42) {
|
|
|
520834
521362
|
let userInteracted = false;
|
|
520835
521363
|
let checkmarkTransitionTimer;
|
|
520836
521364
|
let checkmarkAbortHandler;
|
|
520837
|
-
const bridgeRequestId = bridgeCallbacks ?
|
|
521365
|
+
const bridgeRequestId = bridgeCallbacks ? randomUUID42() : undefined;
|
|
520838
521366
|
let channelUnsubscribe;
|
|
520839
521367
|
const permissionPromptStartTimeMs = Date.now();
|
|
520840
521368
|
const displayInput = result.updatedInput ?? ctx.input;
|
|
@@ -521256,9 +521784,9 @@ function matchesKeepGoingKeyword(input) {
|
|
|
521256
521784
|
}
|
|
521257
521785
|
|
|
521258
521786
|
// src/utils/processUserInput/processTextPrompt.ts
|
|
521259
|
-
import { randomUUID as
|
|
521787
|
+
import { randomUUID as randomUUID43 } from "crypto";
|
|
521260
521788
|
function processTextPrompt(input, imageContentBlocks, imagePasteIds, attachmentMessages, uuid3, permissionMode, isMeta) {
|
|
521261
|
-
const promptId =
|
|
521789
|
+
const promptId = randomUUID43();
|
|
521262
521790
|
setPromptId(promptId);
|
|
521263
521791
|
const userPromptText = typeof input === "string" ? input : input.find((block2) => block2.type === "text")?.text || "";
|
|
521264
521792
|
startInteractionSpan(userPromptText);
|
|
@@ -521392,7 +521920,7 @@ var exports_processBashCommand = {};
|
|
|
521392
521920
|
__export(exports_processBashCommand, {
|
|
521393
521921
|
processBashCommand: () => processBashCommand
|
|
521394
521922
|
});
|
|
521395
|
-
import { randomUUID as
|
|
521923
|
+
import { randomUUID as randomUUID44 } from "crypto";
|
|
521396
521924
|
async function processBashCommand(inputString, precedingInputBlocks, attachmentMessages, context8, setToolJSX) {
|
|
521397
521925
|
const usePowerShell = isPowerShellToolEnabled() && resolveDefaultShell() === "powershell";
|
|
521398
521926
|
logEvent("tengu_input_bash", {
|
|
@@ -521456,7 +521984,7 @@ async function processBashCommand(inputString, precedingInputBlocks, attachmentM
|
|
|
521456
521984
|
const mapped = await processToolResultBlock(shellTool, {
|
|
521457
521985
|
...data,
|
|
521458
521986
|
stderr: ""
|
|
521459
|
-
},
|
|
521987
|
+
}, randomUUID44());
|
|
521460
521988
|
const stdout = typeof mapped.content === "string" ? mapped.content : escapeXml(data.stdout);
|
|
521461
521989
|
return {
|
|
521462
521990
|
messages: [createSyntheticUserCaveatMessage(), userMessage, ...attachmentMessages, createUserMessage({
|
|
@@ -521505,7 +522033,7 @@ var init_processBashCommand = __esm(() => {
|
|
|
521505
522033
|
});
|
|
521506
522034
|
|
|
521507
522035
|
// src/utils/processUserInput/processUserInput.ts
|
|
521508
|
-
import { randomUUID as
|
|
522036
|
+
import { randomUUID as randomUUID45 } from "crypto";
|
|
521509
522037
|
async function processUserInput({
|
|
521510
522038
|
input,
|
|
521511
522039
|
preExpansionInput,
|
|
@@ -521567,7 +522095,7 @@ Original prompt: ${input}`, "warning")
|
|
|
521567
522095
|
type: "hook_additional_context",
|
|
521568
522096
|
content: hookResult.additionalContexts.map(applyTruncation),
|
|
521569
522097
|
hookName: "UserPromptSubmit",
|
|
521570
|
-
toolUseID: `hook-${
|
|
522098
|
+
toolUseID: `hook-${randomUUID45()}`,
|
|
521571
522099
|
hookEvent: "UserPromptSubmit"
|
|
521572
522100
|
}));
|
|
521573
522101
|
}
|
|
@@ -523073,7 +523601,7 @@ var init_sessionRestore = __esm(() => {
|
|
|
523073
523601
|
});
|
|
523074
523602
|
|
|
523075
523603
|
// src/hooks/useInboxPoller.ts
|
|
523076
|
-
import { randomUUID as
|
|
523604
|
+
import { randomUUID as randomUUID46 } from "crypto";
|
|
523077
523605
|
function getAgentNameToPoll(appState) {
|
|
523078
523606
|
if (isInProcessTeammate()) {
|
|
523079
523607
|
return;
|
|
@@ -523490,7 +524018,7 @@ function useInboxPoller({
|
|
|
523490
524018
|
messages: [
|
|
523491
524019
|
...prev.inbox.messages,
|
|
523492
524020
|
{
|
|
523493
|
-
id:
|
|
524021
|
+
id: randomUUID46(),
|
|
523494
524022
|
from: "system",
|
|
523495
524023
|
text: jsonStringify({
|
|
523496
524024
|
type: "teammate_terminated",
|
|
@@ -523530,7 +524058,7 @@ ${messageContent}
|
|
|
523530
524058
|
messages: [
|
|
523531
524059
|
...prev.inbox.messages,
|
|
523532
524060
|
...regularMessages.map((m) => ({
|
|
523533
|
-
id:
|
|
524061
|
+
id: randomUUID46(),
|
|
523534
524062
|
from: m.from,
|
|
523535
524063
|
text: m.text,
|
|
523536
524064
|
timestamp: m.timestamp,
|
|
@@ -524434,7 +524962,7 @@ var init_submitTranscriptShare = __esm(() => {
|
|
|
524434
524962
|
});
|
|
524435
524963
|
|
|
524436
524964
|
// src/components/FeedbackSurvey/useSurveyState.tsx
|
|
524437
|
-
import { randomUUID as
|
|
524965
|
+
import { randomUUID as randomUUID47 } from "crypto";
|
|
524438
524966
|
function useSurveyState({
|
|
524439
524967
|
hideThanksAfterMs,
|
|
524440
524968
|
onOpen,
|
|
@@ -524445,7 +524973,7 @@ function useSurveyState({
|
|
|
524445
524973
|
}) {
|
|
524446
524974
|
const [state2, setState] = import_react300.useState("closed");
|
|
524447
524975
|
const [lastResponse, setLastResponse] = import_react300.useState(null);
|
|
524448
|
-
const appearanceId = import_react300.useRef(
|
|
524976
|
+
const appearanceId = import_react300.useRef(randomUUID47());
|
|
524449
524977
|
const lastResponseRef = import_react300.useRef(null);
|
|
524450
524978
|
const showThanksThenClose = import_react300.useCallback(() => {
|
|
524451
524979
|
setState("thanks");
|
|
@@ -524463,7 +524991,7 @@ function useSurveyState({
|
|
|
524463
524991
|
return;
|
|
524464
524992
|
}
|
|
524465
524993
|
setState("open");
|
|
524466
|
-
appearanceId.current =
|
|
524994
|
+
appearanceId.current = randomUUID47();
|
|
524467
524995
|
onOpen(appearanceId.current);
|
|
524468
524996
|
}, [state2, onOpen]);
|
|
524469
524997
|
const handleSelect = import_react300.useCallback((selected) => {
|
|
@@ -526677,13 +527205,13 @@ function permissionPromptToolResultToPermissionDecision(result, tool, input, too
|
|
|
526677
527205
|
decisionReason
|
|
526678
527206
|
};
|
|
526679
527207
|
}
|
|
526680
|
-
var
|
|
527208
|
+
var inputSchema41, decisionClassificationField, PermissionAllowResultSchema, PermissionDenyResultSchema, outputSchema34;
|
|
526681
527209
|
var init_PermissionPromptToolResultSchema = __esm(() => {
|
|
526682
527210
|
init_v4();
|
|
526683
527211
|
init_debug();
|
|
526684
527212
|
init_PermissionUpdate();
|
|
526685
527213
|
init_PermissionUpdateSchema();
|
|
526686
|
-
|
|
527214
|
+
inputSchema41 = lazySchema(() => v4_default.object({
|
|
526687
527215
|
tool_name: v4_default.string().describe("The name of the tool requesting permission"),
|
|
526688
527216
|
input: v4_default.record(v4_default.string(), v4_default.unknown()).describe("The input for the tool"),
|
|
526689
527217
|
tool_use_id: v4_default.string().optional().describe("The unique tool use request ID")
|
|
@@ -526706,7 +527234,7 @@ var init_PermissionPromptToolResultSchema = __esm(() => {
|
|
|
526706
527234
|
toolUseID: v4_default.string().optional(),
|
|
526707
527235
|
decisionClassification: decisionClassificationField()
|
|
526708
527236
|
}));
|
|
526709
|
-
|
|
527237
|
+
outputSchema34 = lazySchema(() => v4_default.union([PermissionAllowResultSchema(), PermissionDenyResultSchema()]));
|
|
526710
527238
|
});
|
|
526711
527239
|
|
|
526712
527240
|
// src/cli/ndjsonSafeStringify.ts
|
|
@@ -526723,7 +527251,7 @@ var init_ndjsonSafeStringify = __esm(() => {
|
|
|
526723
527251
|
});
|
|
526724
527252
|
|
|
526725
527253
|
// src/cli/structuredIO.ts
|
|
526726
|
-
import { randomUUID as
|
|
527254
|
+
import { randomUUID as randomUUID48 } from "crypto";
|
|
526727
527255
|
function serializeDecisionReason(reason) {
|
|
526728
527256
|
if (!reason) {
|
|
526729
527257
|
return;
|
|
@@ -526973,7 +527501,7 @@ class StructuredIO {
|
|
|
526973
527501
|
writeToStdout(ndjsonSafeStringify(message) + `
|
|
526974
527502
|
`);
|
|
526975
527503
|
}
|
|
526976
|
-
async sendRequest(request, schema, signal, requestId =
|
|
527504
|
+
async sendRequest(request, schema, signal, requestId = randomUUID48()) {
|
|
526977
527505
|
const message = {
|
|
526978
527506
|
type: "control_request",
|
|
526979
527507
|
request_id: requestId,
|
|
@@ -527039,7 +527567,7 @@ class StructuredIO {
|
|
|
527039
527567
|
parentSignal.addEventListener("abort", onParentAbort, { once: true });
|
|
527040
527568
|
try {
|
|
527041
527569
|
const hookPromise = executePermissionRequestHooksForSDK(tool.name, toolUseID, input, toolUseContext, mainPermissionResult.suggestions).then((decision) => ({ source: "hook", decision }));
|
|
527042
|
-
const requestId =
|
|
527570
|
+
const requestId = randomUUID48();
|
|
527043
527571
|
onPermissionPrompt?.(buildRequiresActionDetails(tool, input, toolUseID, requestId));
|
|
527044
527572
|
const sdkPromise = this.sendRequest({
|
|
527045
527573
|
subtype: "can_use_tool",
|
|
@@ -527050,7 +527578,7 @@ class StructuredIO {
|
|
|
527050
527578
|
decision_reason: serializeDecisionReason(mainPermissionResult.decisionReason),
|
|
527051
527579
|
tool_use_id: toolUseID,
|
|
527052
527580
|
agent_id: toolUseContext.agentId
|
|
527053
|
-
},
|
|
527581
|
+
}, outputSchema34(), hookAbortController.signal, requestId).then((result) => ({ source: "sdk", result }));
|
|
527054
527582
|
const winner = await Promise.race([hookPromise, sdkPromise]);
|
|
527055
527583
|
if (winner.source === "hook") {
|
|
527056
527584
|
if (winner.decision) {
|
|
@@ -527119,9 +527647,9 @@ class StructuredIO {
|
|
|
527119
527647
|
subtype: "can_use_tool",
|
|
527120
527648
|
tool_name: SANDBOX_NETWORK_ACCESS_TOOL_NAME,
|
|
527121
527649
|
input: { host: hostPattern.host },
|
|
527122
|
-
tool_use_id:
|
|
527650
|
+
tool_use_id: randomUUID48(),
|
|
527123
527651
|
description: `Allow network connection to ${hostPattern.host}?`
|
|
527124
|
-
},
|
|
527652
|
+
}, outputSchema34());
|
|
527125
527653
|
return result.behavior === "allow";
|
|
527126
527654
|
} catch {
|
|
527127
527655
|
return false;
|
|
@@ -531462,7 +531990,7 @@ __export(exports_REPL, {
|
|
|
531462
531990
|
import { dirname as dirname60, join as join147 } from "path";
|
|
531463
531991
|
import { tmpdir as tmpdir12 } from "os";
|
|
531464
531992
|
import { writeFile as writeFile47 } from "fs/promises";
|
|
531465
|
-
import { randomUUID as
|
|
531993
|
+
import { randomUUID as randomUUID49 } from "crypto";
|
|
531466
531994
|
function TranscriptModeFooter(t0) {
|
|
531467
531995
|
const $2 = import_react_compiler_runtime363.c(9);
|
|
531468
531996
|
const {
|
|
@@ -532178,7 +532706,7 @@ function REPL({
|
|
|
532178
532706
|
const [isMessageSelectorVisible, setIsMessageSelectorVisible] = import_react327.useState(false);
|
|
532179
532707
|
const [messageSelectorPreselect, setMessageSelectorPreselect] = import_react327.useState(undefined);
|
|
532180
532708
|
const [showCostDialog, setShowCostDialog] = import_react327.useState(false);
|
|
532181
|
-
const [conversationId, setConversationId] = import_react327.useState(
|
|
532709
|
+
const [conversationId, setConversationId] = import_react327.useState(randomUUID49());
|
|
532182
532710
|
const [idleReturnPending, setIdleReturnPending] = import_react327.useState(null);
|
|
532183
532711
|
const skipIdleCheckRef = import_react327.useRef(false);
|
|
532184
532712
|
const lastQueryCompletionTimeRef = import_react327.useRef(lastQueryCompletionTime);
|
|
@@ -532971,7 +533499,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
532971
533499
|
} else {
|
|
532972
533500
|
setMessages(() => [newMessage]);
|
|
532973
533501
|
}
|
|
532974
|
-
setConversationId(
|
|
533502
|
+
setConversationId(randomUUID49());
|
|
532975
533503
|
if (false) {}
|
|
532976
533504
|
} else if (newMessage.type === "progress" && isEphemeralToolProgress(newMessage.data.type)) {
|
|
532977
533505
|
setMessages((oldMessages) => {
|
|
@@ -533054,7 +533582,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
533054
533582
|
});
|
|
533055
533583
|
if (!shouldQuery) {
|
|
533056
533584
|
if (newMessages.some(isCompactBoundaryMessage)) {
|
|
533057
|
-
setConversationId(
|
|
533585
|
+
setConversationId(randomUUID49());
|
|
533058
533586
|
if (false) {}
|
|
533059
533587
|
}
|
|
533060
533588
|
resetLoadingState();
|
|
@@ -533701,7 +534229,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
533701
534229
|
rewindToMessageIndex: messageIndex
|
|
533702
534230
|
});
|
|
533703
534231
|
setMessages(prev.slice(0, messageIndex));
|
|
533704
|
-
setConversationId(
|
|
534232
|
+
setConversationId(randomUUID49());
|
|
533705
534233
|
resetMicrocompactState();
|
|
533706
534234
|
if (false) {}
|
|
533707
534235
|
setAppState((prev2) => ({
|
|
@@ -534900,7 +535428,7 @@ Note: ctrl + z now suspends Maximo Syntax, ctrl + _ undoes input.
|
|
|
534900
535428
|
setMessages(postCompact);
|
|
534901
535429
|
}
|
|
534902
535430
|
if (false) {}
|
|
534903
|
-
setConversationId(
|
|
535431
|
+
setConversationId(randomUUID49());
|
|
534904
535432
|
runPostCompactCleanup(context8.options.querySource);
|
|
534905
535433
|
if (direction === "from") {
|
|
534906
535434
|
const r = textForResubmit(message);
|
|
@@ -536252,7 +536780,7 @@ function SetupRow({ children }) {
|
|
|
536252
536780
|
}
|
|
536253
536781
|
function WelcomeV2() {
|
|
536254
536782
|
const { columns } = useTerminalSize();
|
|
536255
|
-
const version3 = "0.1.
|
|
536783
|
+
const version3 = "0.1.34";
|
|
536256
536784
|
const width = Math.max(48, Math.min(columns || 92, 92));
|
|
536257
536785
|
const stacked = width < OCTOPUS_COMPACT_WIDTH + 42;
|
|
536258
536786
|
return /* @__PURE__ */ jsx_runtime479.jsx(ThemedBox_default, {
|
|
@@ -542989,7 +543517,7 @@ function coalescePatches(base2, overlay) {
|
|
|
542989
543517
|
var init_WorkerStateUploader = () => {};
|
|
542990
543518
|
|
|
542991
543519
|
// src/cli/transports/ccrClient.ts
|
|
542992
|
-
import { randomUUID as
|
|
543520
|
+
import { randomUUID as randomUUID50 } from "crypto";
|
|
542993
543521
|
function alwaysValidStatus() {
|
|
542994
543522
|
return true;
|
|
542995
543523
|
}
|
|
@@ -543348,7 +543876,7 @@ class CCRClient {
|
|
|
543348
543876
|
return {
|
|
543349
543877
|
payload: {
|
|
543350
543878
|
...msg,
|
|
543351
|
-
uuid: typeof msg.uuid === "string" ? msg.uuid :
|
|
543879
|
+
uuid: typeof msg.uuid === "string" ? msg.uuid : randomUUID50()
|
|
543352
543880
|
}
|
|
543353
543881
|
};
|
|
543354
543882
|
}
|
|
@@ -543372,7 +543900,7 @@ class CCRClient {
|
|
|
543372
543900
|
payload: {
|
|
543373
543901
|
type: eventType,
|
|
543374
543902
|
...payload,
|
|
543375
|
-
uuid: typeof payload.uuid === "string" ? payload.uuid :
|
|
543903
|
+
uuid: typeof payload.uuid === "string" ? payload.uuid : randomUUID50()
|
|
543376
543904
|
},
|
|
543377
543905
|
...isCompaction && { is_compaction: true },
|
|
543378
543906
|
...agentId && { agent_id: agentId }
|
|
@@ -544880,7 +545408,7 @@ var init_queryContext = __esm(() => {
|
|
|
544880
545408
|
});
|
|
544881
545409
|
|
|
544882
545410
|
// src/QueryEngine.ts
|
|
544883
|
-
import { randomUUID as
|
|
545411
|
+
import { randomUUID as randomUUID51 } from "crypto";
|
|
544884
545412
|
|
|
544885
545413
|
class QueryEngine {
|
|
544886
545414
|
config;
|
|
@@ -545177,7 +545705,7 @@ class QueryEngine {
|
|
|
545177
545705
|
modelUsage: getModelUsage(),
|
|
545178
545706
|
permission_denials: this.permissionDenials,
|
|
545179
545707
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
545180
|
-
uuid:
|
|
545708
|
+
uuid: randomUUID51()
|
|
545181
545709
|
};
|
|
545182
545710
|
return;
|
|
545183
545711
|
}
|
|
@@ -545290,7 +545818,7 @@ class QueryEngine {
|
|
|
545290
545818
|
event: message.event,
|
|
545291
545819
|
session_id: getSessionId(),
|
|
545292
545820
|
parent_tool_use_id: null,
|
|
545293
|
-
uuid:
|
|
545821
|
+
uuid: randomUUID51()
|
|
545294
545822
|
};
|
|
545295
545823
|
}
|
|
545296
545824
|
break;
|
|
@@ -545322,7 +545850,7 @@ class QueryEngine {
|
|
|
545322
545850
|
modelUsage: getModelUsage(),
|
|
545323
545851
|
permission_denials: this.permissionDenials,
|
|
545324
545852
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
545325
|
-
uuid:
|
|
545853
|
+
uuid: randomUUID51(),
|
|
545326
545854
|
errors: [
|
|
545327
545855
|
`Reached maximum number of turns (${message.attachment.maxTurns})`
|
|
545328
545856
|
]
|
|
@@ -545426,7 +545954,7 @@ class QueryEngine {
|
|
|
545426
545954
|
modelUsage: getModelUsage(),
|
|
545427
545955
|
permission_denials: this.permissionDenials,
|
|
545428
545956
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
545429
|
-
uuid:
|
|
545957
|
+
uuid: randomUUID51(),
|
|
545430
545958
|
errors: [`Reached maximum budget ($${maxBudgetUsd})`]
|
|
545431
545959
|
};
|
|
545432
545960
|
return;
|
|
@@ -545455,7 +545983,7 @@ class QueryEngine {
|
|
|
545455
545983
|
modelUsage: getModelUsage(),
|
|
545456
545984
|
permission_denials: this.permissionDenials,
|
|
545457
545985
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
545458
|
-
uuid:
|
|
545986
|
+
uuid: randomUUID51(),
|
|
545459
545987
|
errors: [
|
|
545460
545988
|
`Failed to provide valid structured output after ${maxRetries} attempts`
|
|
545461
545989
|
]
|
|
@@ -545487,7 +546015,7 @@ class QueryEngine {
|
|
|
545487
546015
|
modelUsage: getModelUsage(),
|
|
545488
546016
|
permission_denials: this.permissionDenials,
|
|
545489
546017
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
545490
|
-
uuid:
|
|
546018
|
+
uuid: randomUUID51(),
|
|
545491
546019
|
errors: (() => {
|
|
545492
546020
|
const all4 = getInMemoryErrors();
|
|
545493
546021
|
const start = errorLogWatermark ? all4.lastIndexOf(errorLogWatermark) + 1 : 0;
|
|
@@ -545524,7 +546052,7 @@ class QueryEngine {
|
|
|
545524
546052
|
permission_denials: this.permissionDenials,
|
|
545525
546053
|
structured_output: structuredOutputFromTool,
|
|
545526
546054
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
545527
|
-
uuid:
|
|
546055
|
+
uuid: randomUUID51()
|
|
545528
546056
|
};
|
|
545529
546057
|
}
|
|
545530
546058
|
interrupt() {
|
|
@@ -545701,7 +546229,7 @@ var init_idleTimeout = __esm(() => {
|
|
|
545701
546229
|
});
|
|
545702
546230
|
|
|
545703
546231
|
// src/bridge/inboundAttachments.ts
|
|
545704
|
-
import { randomUUID as
|
|
546232
|
+
import { randomUUID as randomUUID52 } from "crypto";
|
|
545705
546233
|
import { mkdir as mkdir45, writeFile as writeFile50 } from "fs/promises";
|
|
545706
546234
|
import { basename as basename58, join as join150 } from "path";
|
|
545707
546235
|
function debug(msg) {
|
|
@@ -545746,7 +546274,7 @@ async function resolveOne(att) {
|
|
|
545746
546274
|
return;
|
|
545747
546275
|
}
|
|
545748
546276
|
const safeName = sanitizeFileName(att.file_name);
|
|
545749
|
-
const prefix = (att.file_uuid.slice(0, 8) ||
|
|
546277
|
+
const prefix = (att.file_uuid.slice(0, 8) || randomUUID52().slice(0, 8)).replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
545750
546278
|
const dir = uploadsDir();
|
|
545751
546279
|
const outPath = join150(dir, `${prefix}-${safeName}`);
|
|
545752
546280
|
try {
|
|
@@ -545810,11 +546338,11 @@ var init_inboundAttachments = __esm(() => {
|
|
|
545810
546338
|
});
|
|
545811
546339
|
|
|
545812
546340
|
// src/utils/sessionUrl.ts
|
|
545813
|
-
import { randomUUID as
|
|
546341
|
+
import { randomUUID as randomUUID53 } from "crypto";
|
|
545814
546342
|
function parseSessionIdentifier(resumeIdentifier) {
|
|
545815
546343
|
if (resumeIdentifier.toLowerCase().endsWith(".jsonl")) {
|
|
545816
546344
|
return {
|
|
545817
|
-
sessionId:
|
|
546345
|
+
sessionId: randomUUID53(),
|
|
545818
546346
|
ingressUrl: null,
|
|
545819
546347
|
isUrl: false,
|
|
545820
546348
|
jsonlFile: resumeIdentifier,
|
|
@@ -545833,7 +546361,7 @@ function parseSessionIdentifier(resumeIdentifier) {
|
|
|
545833
546361
|
try {
|
|
545834
546362
|
const url3 = new URL(resumeIdentifier);
|
|
545835
546363
|
return {
|
|
545836
|
-
sessionId:
|
|
546364
|
+
sessionId: randomUUID53(),
|
|
545837
546365
|
ingressUrl: url3.href,
|
|
545838
546366
|
isUrl: true,
|
|
545839
546367
|
jsonlFile: null,
|
|
@@ -546442,7 +546970,7 @@ var init_bridgePointer = __esm(() => {
|
|
|
546442
546970
|
});
|
|
546443
546971
|
|
|
546444
546972
|
// src/bridge/replBridge.ts
|
|
546445
|
-
import { randomUUID as
|
|
546973
|
+
import { randomUUID as randomUUID54 } from "crypto";
|
|
546446
546974
|
async function initBridgeCore(params) {
|
|
546447
546975
|
const {
|
|
546448
546976
|
dir,
|
|
@@ -546499,9 +547027,9 @@ async function initBridgeCore(params) {
|
|
|
546499
547027
|
spawnMode: "single-session",
|
|
546500
547028
|
verbose: false,
|
|
546501
547029
|
sandbox: false,
|
|
546502
|
-
bridgeId:
|
|
547030
|
+
bridgeId: randomUUID54(),
|
|
546503
547031
|
workerType,
|
|
546504
|
-
environmentId:
|
|
547032
|
+
environmentId: randomUUID54(),
|
|
546505
547033
|
reuseEnvironmentId: prior?.environmentId,
|
|
546506
547034
|
apiBaseUrl: baseUrl,
|
|
546507
547035
|
sessionIngressUrl
|
|
@@ -548351,7 +548879,7 @@ __export(exports_print, {
|
|
|
548351
548879
|
import { readFile as readFile53, stat as stat52 } from "fs/promises";
|
|
548352
548880
|
import { dirname as dirname64 } from "path";
|
|
548353
548881
|
import { cwd as cwd2 } from "process";
|
|
548354
|
-
import { randomUUID as
|
|
548882
|
+
import { randomUUID as randomUUID55 } from "crypto";
|
|
548355
548883
|
function trackReceivedMessageUuid(uuid3) {
|
|
548356
548884
|
if (receivedMessageUuids.has(uuid3)) {
|
|
548357
548885
|
return false;
|
|
@@ -548471,7 +548999,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
|
|
|
548471
548999
|
hook_id: event.hookId,
|
|
548472
549000
|
hook_name: event.hookName,
|
|
548473
549001
|
hook_event: event.hookEvent,
|
|
548474
|
-
uuid:
|
|
549002
|
+
uuid: randomUUID55(),
|
|
548475
549003
|
session_id: getSessionId()
|
|
548476
549004
|
};
|
|
548477
549005
|
case "progress":
|
|
@@ -548484,7 +549012,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
|
|
|
548484
549012
|
stdout: event.stdout,
|
|
548485
549013
|
stderr: event.stderr,
|
|
548486
549014
|
output: event.output,
|
|
548487
|
-
uuid:
|
|
549015
|
+
uuid: randomUUID55(),
|
|
548488
549016
|
session_id: getSessionId()
|
|
548489
549017
|
};
|
|
548490
549018
|
case "response":
|
|
@@ -548499,7 +549027,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
|
|
|
548499
549027
|
stderr: event.stderr,
|
|
548500
549028
|
exit_code: event.exitCode,
|
|
548501
549029
|
outcome: event.outcome,
|
|
548502
|
-
uuid:
|
|
549030
|
+
uuid: randomUUID55(),
|
|
548503
549031
|
session_id: getSessionId()
|
|
548504
549032
|
};
|
|
548505
549033
|
}
|
|
@@ -548517,7 +549045,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
|
|
|
548517
549045
|
decision: event.decision,
|
|
548518
549046
|
classifier: event.classifier,
|
|
548519
549047
|
reason: event.reason,
|
|
548520
|
-
uuid:
|
|
549048
|
+
uuid: randomUUID55(),
|
|
548521
549049
|
session_id: getSessionId()
|
|
548522
549050
|
});
|
|
548523
549051
|
});
|
|
@@ -548711,7 +549239,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
548711
549239
|
subtype: "status",
|
|
548712
549240
|
status: null,
|
|
548713
549241
|
permissionMode: newMode,
|
|
548714
|
-
uuid:
|
|
549242
|
+
uuid: randomUUID55(),
|
|
548715
549243
|
session_id: getSessionId()
|
|
548716
549244
|
});
|
|
548717
549245
|
}
|
|
@@ -548732,7 +549260,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
548732
549260
|
isAuthenticating: status2.isAuthenticating,
|
|
548733
549261
|
output: status2.output,
|
|
548734
549262
|
error: status2.error,
|
|
548735
|
-
uuid:
|
|
549263
|
+
uuid: randomUUID55(),
|
|
548736
549264
|
session_id: getSessionId()
|
|
548737
549265
|
});
|
|
548738
549266
|
});
|
|
@@ -548743,7 +549271,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
548743
549271
|
output.enqueue({
|
|
548744
549272
|
type: "rate_limit_event",
|
|
548745
549273
|
rate_limit_info: rateLimitInfo,
|
|
548746
|
-
uuid:
|
|
549274
|
+
uuid: randomUUID55(),
|
|
548747
549275
|
session_id: getSessionId()
|
|
548748
549276
|
});
|
|
548749
549277
|
}
|
|
@@ -548759,7 +549287,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
548759
549287
|
enqueue({
|
|
548760
549288
|
mode: "prompt",
|
|
548761
549289
|
value: turnInterruptionState.message.message.content,
|
|
548762
|
-
uuid:
|
|
549290
|
+
uuid: randomUUID55()
|
|
548763
549291
|
});
|
|
548764
549292
|
}
|
|
548765
549293
|
const modelOptions = getModelOptions();
|
|
@@ -548853,7 +549381,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
548853
549381
|
subtype: "elicitation_complete",
|
|
548854
549382
|
mcp_server_name: serverName,
|
|
548855
549383
|
elicitation_id: elicitationId,
|
|
548856
|
-
uuid:
|
|
549384
|
+
uuid: randomUUID55(),
|
|
548857
549385
|
session_id: getSessionId()
|
|
548858
549386
|
});
|
|
548859
549387
|
});
|
|
@@ -549201,7 +549729,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
549201
549729
|
duration_ms: durationMsMatch ? parseInt(durationMsMatch[1], 10) : 0
|
|
549202
549730
|
} : undefined,
|
|
549203
549731
|
session_id: getSessionId(),
|
|
549204
|
-
uuid:
|
|
549732
|
+
uuid: randomUUID55()
|
|
549205
549733
|
});
|
|
549206
549734
|
}
|
|
549207
549735
|
}
|
|
@@ -549275,7 +549803,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
549275
549803
|
subtype: "status",
|
|
549276
549804
|
status: status2,
|
|
549277
549805
|
session_id: getSessionId(),
|
|
549278
|
-
uuid:
|
|
549806
|
+
uuid: randomUUID55()
|
|
549279
549807
|
});
|
|
549280
549808
|
}
|
|
549281
549809
|
})) {
|
|
@@ -549323,7 +549851,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
549323
549851
|
const suggestionMsg = {
|
|
549324
549852
|
type: "prompt_suggestion",
|
|
549325
549853
|
suggestion: result.suggestion,
|
|
549326
|
-
uuid:
|
|
549854
|
+
uuid: randomUUID55(),
|
|
549327
549855
|
session_id: getSessionId()
|
|
549328
549856
|
};
|
|
549329
549857
|
const lastEmittedEntry = {
|
|
@@ -549413,7 +549941,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
549413
549941
|
usage: EMPTY_USAGE,
|
|
549414
549942
|
modelUsage: {},
|
|
549415
549943
|
permission_denials: [],
|
|
549416
|
-
uuid:
|
|
549944
|
+
uuid: randomUUID55(),
|
|
549417
549945
|
errors: [
|
|
549418
549946
|
errorMessage(error42),
|
|
549419
549947
|
...getInMemoryErrors().map((_) => _.error)
|
|
@@ -549497,7 +550025,7 @@ ${m.text}
|
|
|
549497
550025
|
enqueue({
|
|
549498
550026
|
mode: "prompt",
|
|
549499
550027
|
value: formatted,
|
|
549500
|
-
uuid:
|
|
550028
|
+
uuid: randomUUID55()
|
|
549501
550029
|
});
|
|
549502
550030
|
run();
|
|
549503
550031
|
return;
|
|
@@ -549508,7 +550036,7 @@ ${m.text}
|
|
|
549508
550036
|
enqueue({
|
|
549509
550037
|
mode: "prompt",
|
|
549510
550038
|
value: SHUTDOWN_TEAM_PROMPT,
|
|
549511
|
-
uuid:
|
|
550039
|
+
uuid: randomUUID55()
|
|
549512
550040
|
});
|
|
549513
550041
|
run();
|
|
549514
550042
|
return;
|
|
@@ -549532,7 +550060,7 @@ ${m.text}
|
|
|
549532
550060
|
enqueue({
|
|
549533
550061
|
mode: "prompt",
|
|
549534
550062
|
value: SHUTDOWN_TEAM_PROMPT,
|
|
549535
|
-
uuid:
|
|
550063
|
+
uuid: randomUUID55()
|
|
549536
550064
|
});
|
|
549537
550065
|
run();
|
|
549538
550066
|
} else {
|
|
@@ -550283,7 +550811,7 @@ ${m.text}
|
|
|
550283
550811
|
subtype: "bridge_state",
|
|
550284
550812
|
state: state2,
|
|
550285
550813
|
detail,
|
|
550286
|
-
uuid:
|
|
550814
|
+
uuid: randomUUID55(),
|
|
550287
550815
|
session_id: getSessionId()
|
|
550288
550816
|
});
|
|
550289
550817
|
},
|
|
@@ -550441,7 +550969,7 @@ function createCanUseToolWithPermissionPrompt(permissionPromptTool) {
|
|
|
550441
550969
|
if (!permissionToolResultBlockParam.content || !Array.isArray(permissionToolResultBlockParam.content) || !permissionToolResultBlockParam.content[0] || permissionToolResultBlockParam.content[0].type !== "text" || typeof permissionToolResultBlockParam.content[0].text !== "string") {
|
|
550442
550970
|
throw new Error('Permission prompt tool returned an invalid result. Expected a single text block param with type="text" and a string text value.');
|
|
550443
550971
|
}
|
|
550444
|
-
return permissionPromptToolResultToPermissionDecision(
|
|
550972
|
+
return permissionPromptToolResultToPermissionDecision(outputSchema34().parse(safeParseJSON(permissionToolResultBlockParam.content[0].text)), permissionPromptTool, input, toolUseContext);
|
|
550445
550973
|
};
|
|
550446
550974
|
return canUseTool;
|
|
550447
550975
|
}
|
|
@@ -550591,7 +551119,7 @@ async function handleInitializeRequest(request, requestId, initialized5, output,
|
|
|
550591
551119
|
isAuthenticating: status2.isAuthenticating,
|
|
550592
551120
|
output: status2.output,
|
|
550593
551121
|
error: status2.error,
|
|
550594
|
-
uuid:
|
|
551122
|
+
uuid: randomUUID55(),
|
|
550595
551123
|
session_id: getSessionId()
|
|
550596
551124
|
});
|
|
550597
551125
|
}
|
|
@@ -550790,7 +551318,7 @@ function emitLoadError(message, outputFormat) {
|
|
|
550790
551318
|
usage: EMPTY_USAGE,
|
|
550791
551319
|
modelUsage: {},
|
|
550792
551320
|
permission_denials: [],
|
|
550793
|
-
uuid:
|
|
551321
|
+
uuid: randomUUID55(),
|
|
550794
551322
|
errors: [message]
|
|
550795
551323
|
};
|
|
550796
551324
|
process.stdout.write(jsonStringify(errorResult) + `
|
|
@@ -552186,11 +552714,11 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
552186
552714
|
const tools = getTools(toolPermissionContext);
|
|
552187
552715
|
return {
|
|
552188
552716
|
tools: await Promise.all(tools.map(async (tool) => {
|
|
552189
|
-
let
|
|
552717
|
+
let outputSchema35;
|
|
552190
552718
|
if (tool.outputSchema) {
|
|
552191
552719
|
const convertedSchema = zodToJsonSchema3(tool.outputSchema);
|
|
552192
552720
|
if (typeof convertedSchema === "object" && convertedSchema !== null && "type" in convertedSchema && convertedSchema.type === "object") {
|
|
552193
|
-
|
|
552721
|
+
outputSchema35 = convertedSchema;
|
|
552194
552722
|
}
|
|
552195
552723
|
}
|
|
552196
552724
|
return {
|
|
@@ -552201,7 +552729,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
552201
552729
|
agents: []
|
|
552202
552730
|
}),
|
|
552203
552731
|
inputSchema: zodToJsonSchema3(tool.inputSchema),
|
|
552204
|
-
outputSchema:
|
|
552732
|
+
outputSchema: outputSchema35
|
|
552205
552733
|
};
|
|
552206
552734
|
}))
|
|
552207
552735
|
};
|
|
@@ -554602,7 +555130,7 @@ async function run() {
|
|
|
554602
555130
|
}).hideHelp()).option("--replay-user-messages", "Re-emit user messages from stdin back on stdout for acknowledgment (only works with --input-format=stream-json and --output-format=stream-json)", () => true).addOption(new Option("--enable-auth-status", "Enable auth status messages in SDK mode").default(false).hideHelp()).option("--allowedTools, --allowed-tools <tools...>", 'Comma or space-separated list of tool names to allow (e.g. "Bash(git:*) Edit")').option("--tools <tools...>", 'Specify the list of available tools from the built-in set. Use "" to disable all tools, "default" to use all tools, or specify tool names (e.g. "Bash,Edit,Read").').option("--disallowedTools, --disallowed-tools <tools...>", 'Comma or space-separated list of tool names to deny (e.g. "Bash(git:*) Edit")').option("--mcp-config <configs...>", "Load MCP servers from JSON files or strings (space-separated)").addOption(new Option("--permission-prompt-tool <tool>", "MCP tool to use for permission prompts (only works with --print)").argParser(String).hideHelp()).addOption(new Option("--system-prompt <prompt>", "System prompt to use for the session").argParser(String)).addOption(new Option("--system-prompt-file <file>", "Read system prompt from a file").argParser(String).hideHelp()).addOption(new Option("--append-system-prompt <prompt>", "Append a system prompt to the default system prompt").argParser(String)).addOption(new Option("--append-system-prompt-file <file>", "Read system prompt from a file and append to the default system prompt").argParser(String).hideHelp()).addOption(new Option("--permission-mode <mode>", "Permission mode to use for the session").argParser(String).choices(PERMISSION_MODES)).option("-c, --continue", "Continue the most recent conversation in the current directory", () => true).option("-r, --resume [value]", "Resume a conversation by session ID, or open interactive picker with optional search term", (value) => value || true).option("--fork-session", "When resuming, create a new session ID instead of reusing the original (use with --resume or --continue)", () => true).addOption(new Option("--prefill <text>", "Pre-fill the prompt input with text without submitting it").hideHelp()).addOption(new Option("--deep-link-origin", "Signal that this session was launched from a deep link").hideHelp()).addOption(new Option("--deep-link-repo <slug>", "Repo slug the deep link ?repo= parameter resolved to the current cwd").hideHelp()).addOption(new Option("--deep-link-last-fetch <ms>", "FETCH_HEAD mtime in epoch ms, precomputed by the deep link trampoline").argParser((v) => {
|
|
554603
555131
|
const n3 = Number(v);
|
|
554604
555132
|
return Number.isFinite(n3) ? n3 : undefined;
|
|
554605
|
-
}).hideHelp()).option("--from-pr [value]", "Resume a session linked to a PR by PR number/URL, or open interactive picker with optional search term", (value) => value || true).option("--no-session-persistence", "Disable session persistence - sessions will not be saved to disk and cannot be resumed (only works with --print)").addOption(new Option("--resume-session-at <message id>", "When resuming, only messages up to and including the assistant message with <message.id> (use with --resume in print mode)").argParser(String).hideHelp()).addOption(new Option("--rewind-files <user-message-id>", "Restore files to state at the specified user message and exit (requires --resume)").hideHelp()).option("--model <model>", `Model for the current session. Use a model from the active provider (e.g. 'maximo-pandora-3.8-nano' or 'maximo-atlas-
|
|
555133
|
+
}).hideHelp()).option("--from-pr [value]", "Resume a session linked to a PR by PR number/URL, or open interactive picker with optional search term", (value) => value || true).option("--no-session-persistence", "Disable session persistence - sessions will not be saved to disk and cannot be resumed (only works with --print)").addOption(new Option("--resume-session-at <message id>", "When resuming, only messages up to and including the assistant message with <message.id> (use with --resume in print mode)").argParser(String).hideHelp()).addOption(new Option("--rewind-files <user-message-id>", "Restore files to state at the specified user message and exit (requires --resume)").hideHelp()).option("--model <model>", `Model for the current session. Use a model from the active provider (e.g. 'maximo-pandora-3.8-nano' or 'maximo-atlas-1.2').`).addOption(new Option("--effort <level>", `Effort level for the current session (minimal, low, medium, high, xhigh, max, ultra)`).argParser((rawValue) => {
|
|
554606
555134
|
const normalized = rawValue.trim().toLowerCase().replace(/[-_\s]+/g, "").replace(/^extrahigh$/, "xhigh").replace(/^ultra$/, "xhigh").replace(/^maximum$/, "max").replace(/^med$/, "medium");
|
|
554607
555135
|
const allowed = ["minimal", "low", "medium", "high", "xhigh", "max", "ultra"];
|
|
554608
555136
|
if (!allowed.includes(normalized)) {
|
|
@@ -556188,7 +556716,7 @@ Usage: maximo --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
556188
556716
|
pendingHookMessages
|
|
556189
556717
|
}, renderAndRun);
|
|
556190
556718
|
}
|
|
556191
|
-
}).version("0.1.
|
|
556719
|
+
}).version("0.1.34 (Maximo Syntax)", "-v, --version", "Output the version number");
|
|
556192
556720
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
556193
556721
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
556194
556722
|
if (canUserConfigureAdvisor()) {
|
|
@@ -556727,7 +557255,7 @@ function validateProviderEnvOrExit() {
|
|
|
556727
557255
|
async function main2() {
|
|
556728
557256
|
const args = process.argv.slice(2);
|
|
556729
557257
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
556730
|
-
console.log(`${"0.1.
|
|
557258
|
+
console.log(`${"0.1.34"} (Maximo Syntax)`);
|
|
556731
557259
|
return;
|
|
556732
557260
|
}
|
|
556733
557261
|
validateProviderEnvOrExit();
|
|
@@ -556804,4 +557332,4 @@ async function main2() {
|
|
|
556804
557332
|
}
|
|
556805
557333
|
main2();
|
|
556806
557334
|
|
|
556807
|
-
//# debugId=
|
|
557335
|
+
//# debugId=48AE7DC8230AA9A764756E2164756E21
|