@maximoai/maximo-syntax-cli 0.1.27 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.mjs +351 -107
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -123983,7 +123983,7 @@ var init_metadata = __esm(() => {
123983
123983
  isMaximoAiAuth: isMaximoAISubscriber(),
123984
123984
  version: "99.0.0",
123985
123985
  versionBase: getVersionBase(),
123986
- buildTime: "2026-08-06T11:48:40.178Z",
123986
+ buildTime: "2026-08-07T23:04:36.740Z",
123987
123987
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
123988
123988
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
123989
123989
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -237385,6 +237385,22 @@ Plan mode note: In plan mode, use this tool to clarify requirements or choose be
237385
237385
  `;
237386
237386
  });
237387
237387
 
237388
+ // src/tools/ImageGenerationTool/prompt.ts
237389
+ function getImageGenerationPrompt() {
237390
+ return `
237391
+ - Allows Maximo to generate images using the connected Maximo AI backend's image generation tool
237392
+ - Generates images via the backend (Maximo AI API / MyTabulon) in a single API call
237393
+ - Use this tool when the user asks for an image, illustration, logo, concept art, or any visual asset
237394
+ - Returns the generated image URL(s) which Maximo should present to the user as markdown links/images
237395
+
237396
+ Usage notes:
237397
+ - Provide a detailed, descriptive prompt for best results (subject, style, composition, lighting)
237398
+ - Optional: aspect_ratio (e.g. "16:9", "1:1", "4:3"), size ("1K", "2K", "4K"), output count
237399
+ - After generating, include the image in your response using markdown: ![description](url)
237400
+ `;
237401
+ }
237402
+ var IMAGE_GENERATION_TOOL_NAME = "ImageGeneration";
237403
+
237388
237404
  // src/tools/TodoWriteTool/constants.ts
237389
237405
  var TODO_WRITE_TOOL_NAME = "TodoWrite";
237390
237406
 
@@ -237475,6 +237491,7 @@ var init_tools = __esm(() => {
237475
237491
  ASYNC_AGENT_ALLOWED_TOOLS = new Set([
237476
237492
  FILE_READ_TOOL_NAME,
237477
237493
  WEB_SEARCH_TOOL_NAME,
237494
+ IMAGE_GENERATION_TOOL_NAME,
237478
237495
  TODO_WRITE_TOOL_NAME,
237479
237496
  GREP_TOOL_NAME,
237480
237497
  WEB_FETCH_TOOL_NAME,
@@ -276750,7 +276767,7 @@ import { access as access3, writeFile as writeFile13 } from "fs/promises";
276750
276767
  import { homedir as homedir22 } from "os";
276751
276768
  import { join as join65 } from "path";
276752
276769
  function getCurrentRealVersion() {
276753
- return "0.1.27";
276770
+ return "0.1.29";
276754
276771
  }
276755
276772
  async function getRolloutConfig() {
276756
276773
  try {
@@ -347037,6 +347054,231 @@ REMINDER: You MUST include the sources above in your response to the user using
347037
347054
  });
347038
347055
  });
347039
347056
 
347057
+ // src/tools/ImageGenerationTool/ImageGenerationTool.ts
347058
+ function resolveImageEndpoint(baseUrl) {
347059
+ const trimmed = baseUrl.replace(/\/+$/, "");
347060
+ if (trimmed.includes("api.mytabulon.com")) {
347061
+ return { url: `${trimmed}/image-generation`, path: "/v1/image-generation" };
347062
+ }
347063
+ return {
347064
+ url: `${trimmed.replace(/\/v1$/, "")}/v1/api/image-generation`,
347065
+ path: "/v1/api/image-generation"
347066
+ };
347067
+ }
347068
+ var inputSchema22, outputSchema18, ImageGenerationTool;
347069
+ var init_ImageGenerationTool = __esm(() => {
347070
+ init_v4();
347071
+ init_maximoModels();
347072
+ init_Tool();
347073
+ init_log3();
347074
+ inputSchema22 = lazySchema(() => exports_external.strictObject({
347075
+ prompt: exports_external.string().min(1).describe("The image generation prompt to use"),
347076
+ aspect_ratio: exports_external.string().optional().describe('Aspect ratio for the image (e.g. "16:9", "1:1", "4:3")'),
347077
+ size: exports_external.string().optional().describe('Image size/resolution (e.g. "1K", "2K", "4K")'),
347078
+ output_count: exports_external.number().int().positive().max(4).optional().describe("Number of images to generate (1-4)")
347079
+ }));
347080
+ outputSchema18 = lazySchema(() => exports_external.object({
347081
+ prompt: exports_external.string().describe("The image prompt that was executed"),
347082
+ images: exports_external.array(exports_external.object({
347083
+ url: exports_external.string().describe("The URL of the generated image")
347084
+ })).describe("The generated image URLs"),
347085
+ credits: exports_external.unknown().optional().describe("Credit/usage info from the backend"),
347086
+ modelUsed: exports_external.string().nullable().optional(),
347087
+ durationSeconds: exports_external.number().describe("Time taken to complete the image generation operation")
347088
+ }));
347089
+ ImageGenerationTool = buildTool({
347090
+ name: IMAGE_GENERATION_TOOL_NAME,
347091
+ searchHint: "generate images with the connected Maximo backend",
347092
+ maxResultSizeChars: 1e5,
347093
+ shouldDefer: true,
347094
+ async description(input) {
347095
+ return `Maximo wants to generate an image for: ${input.prompt}`;
347096
+ },
347097
+ userFacingName() {
347098
+ return "Image Generation";
347099
+ },
347100
+ isEnabled() {
347101
+ const baseUrl = getMaximoAIBaseUrl();
347102
+ const apiKey = getMaximoApiKey();
347103
+ if (!apiKey)
347104
+ return false;
347105
+ if (baseUrl.includes("api.cencori.com"))
347106
+ return false;
347107
+ return true;
347108
+ },
347109
+ get inputSchema() {
347110
+ return inputSchema22();
347111
+ },
347112
+ get outputSchema() {
347113
+ return outputSchema18();
347114
+ },
347115
+ isConcurrencySafe() {
347116
+ return true;
347117
+ },
347118
+ isReadOnly() {
347119
+ return false;
347120
+ },
347121
+ toAutoClassifierInput(input) {
347122
+ return input.prompt;
347123
+ },
347124
+ async checkPermissions(_input) {
347125
+ return {
347126
+ behavior: "passthrough",
347127
+ message: "ImageGenerationTool requires permission.",
347128
+ suggestions: [
347129
+ {
347130
+ type: "addRules",
347131
+ rules: [{ toolName: IMAGE_GENERATION_TOOL_NAME }],
347132
+ behavior: "allow",
347133
+ destination: "localSettings"
347134
+ }
347135
+ ]
347136
+ };
347137
+ },
347138
+ async prompt() {
347139
+ return getImageGenerationPrompt();
347140
+ },
347141
+ renderToolUseMessage({ prompt }, { verbose }) {
347142
+ if (!prompt) {
347143
+ return null;
347144
+ }
347145
+ return `${verbose ? "Generating image for: " : ""}"${prompt}"`;
347146
+ },
347147
+ renderToolUseProgressMessage() {
347148
+ return null;
347149
+ },
347150
+ renderToolResultMessage(output) {
347151
+ return null;
347152
+ },
347153
+ extractSearchText() {
347154
+ return "";
347155
+ },
347156
+ async validateInput(input) {
347157
+ const { prompt } = input;
347158
+ if (!prompt || prompt.trim().length === 0) {
347159
+ return {
347160
+ result: false,
347161
+ message: "Error: Missing prompt",
347162
+ errorCode: 1
347163
+ };
347164
+ }
347165
+ return { result: true };
347166
+ },
347167
+ async call(input, context6, _canUseTool, _parentMessage, onProgress) {
347168
+ const startTime2 = performance.now();
347169
+ const { prompt, ...rest } = input;
347170
+ const baseUrl = getMaximoAIBaseUrl();
347171
+ const apiKey = getMaximoApiKey();
347172
+ const endpoint = resolveImageEndpoint(baseUrl);
347173
+ if (!apiKey || !endpoint) {
347174
+ return {
347175
+ data: {
347176
+ prompt,
347177
+ images: [],
347178
+ durationSeconds: (performance.now() - startTime2) / 1000
347179
+ }
347180
+ };
347181
+ }
347182
+ if (onProgress) {
347183
+ onProgress({
347184
+ toolUseID: "image-progress-1",
347185
+ data: { type: "image_generation_started", prompt }
347186
+ });
347187
+ }
347188
+ const requestBody = { prompt, ...rest };
347189
+ try {
347190
+ const response = await fetch(endpoint.url, {
347191
+ method: "POST",
347192
+ headers: {
347193
+ "Content-Type": "application/json",
347194
+ Authorization: `Bearer ${apiKey}`
347195
+ },
347196
+ body: JSON.stringify(requestBody),
347197
+ signal: context6.abortController.signal
347198
+ });
347199
+ const rawText = await response.text();
347200
+ if (!response.ok) {
347201
+ logError2(new Error(`Image generation request failed (${response.status}): ${rawText}`));
347202
+ return {
347203
+ data: {
347204
+ prompt,
347205
+ images: [],
347206
+ durationSeconds: (performance.now() - startTime2) / 1000
347207
+ }
347208
+ };
347209
+ }
347210
+ let parsed;
347211
+ try {
347212
+ parsed = JSON.parse(rawText);
347213
+ } catch {
347214
+ return {
347215
+ data: {
347216
+ prompt,
347217
+ images: [],
347218
+ durationSeconds: (performance.now() - startTime2) / 1000
347219
+ }
347220
+ };
347221
+ }
347222
+ const images = Array.isArray(parsed?.images) ? parsed.images.map((image) => image && typeof image === "object" && typeof image.url === "string" ? { url: image.url } : null).filter((image) => Boolean(image)) : [];
347223
+ if (onProgress) {
347224
+ onProgress({
347225
+ toolUseID: "image-progress-2",
347226
+ data: {
347227
+ type: "image_generation_completed",
347228
+ imageCount: images.length,
347229
+ prompt
347230
+ }
347231
+ });
347232
+ }
347233
+ return {
347234
+ data: {
347235
+ prompt,
347236
+ images,
347237
+ credits: parsed?.credits ?? null,
347238
+ modelUsed: parsed?.modelUsed ?? null,
347239
+ durationSeconds: (performance.now() - startTime2) / 1000
347240
+ }
347241
+ };
347242
+ } catch (error42) {
347243
+ if (error42?.name === "AbortError") {
347244
+ throw error42;
347245
+ }
347246
+ logError2(error42);
347247
+ return {
347248
+ data: {
347249
+ prompt,
347250
+ images: [],
347251
+ durationSeconds: (performance.now() - startTime2) / 1000
347252
+ }
347253
+ };
347254
+ }
347255
+ },
347256
+ mapToolResultToToolResultBlockParam(output, toolUseID) {
347257
+ const { prompt, images } = output;
347258
+ const textContent = [
347259
+ `Generated image${images.length === 1 ? "" : "s"} for prompt: "${prompt}"`
347260
+ ];
347261
+ const blocks = textContent.map((text) => ({
347262
+ type: "text",
347263
+ text
347264
+ }));
347265
+ for (const image of images ?? []) {
347266
+ if (image?.url) {
347267
+ blocks.push({
347268
+ type: "image",
347269
+ source: { type: "url", url: image.url }
347270
+ });
347271
+ }
347272
+ }
347273
+ return {
347274
+ tool_use_id: toolUseID,
347275
+ type: "tool_result",
347276
+ content: blocks
347277
+ };
347278
+ }
347279
+ });
347280
+ });
347281
+
347040
347282
  // src/utils/inProcessTeammateHelpers.ts
347041
347283
  function findInProcessTeammateTaskId(agentName, appState) {
347042
347284
  for (const task of Object.values(appState.tasks)) {
@@ -347257,7 +347499,7 @@ var autoModeActive = false, autoModeFlagCli = false, autoModeCircuitBroken = fal
347257
347499
 
347258
347500
  // src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts
347259
347501
  import { writeFile as writeFile21 } from "fs/promises";
347260
- var autoModeStateModule, permissionSetupModule, allowedPromptSchema, inputSchema22, _sdkInputSchema, outputSchema18, ExitPlanModeV2Tool;
347502
+ var autoModeStateModule, permissionSetupModule, allowedPromptSchema, inputSchema23, _sdkInputSchema, outputSchema19, ExitPlanModeV2Tool;
347261
347503
  var init_ExitPlanModeV2Tool = __esm(() => {
347262
347504
  init_v4();
347263
347505
  init_state();
@@ -347280,14 +347522,14 @@ var init_ExitPlanModeV2Tool = __esm(() => {
347280
347522
  tool: exports_external.enum(["Bash"]).describe("The tool this prompt applies to"),
347281
347523
  prompt: exports_external.string().describe('Semantic description of the action, e.g. "run tests", "install dependencies"')
347282
347524
  }));
347283
- inputSchema22 = lazySchema(() => exports_external.strictObject({
347525
+ inputSchema23 = lazySchema(() => exports_external.strictObject({
347284
347526
  allowedPrompts: exports_external.array(allowedPromptSchema()).optional().describe("Prompt-based permissions needed to implement the plan. These describe categories of actions rather than specific commands.")
347285
347527
  }).passthrough());
347286
- _sdkInputSchema = lazySchema(() => inputSchema22().extend({
347528
+ _sdkInputSchema = lazySchema(() => inputSchema23().extend({
347287
347529
  plan: exports_external.string().optional().describe("The plan content (injected by normalizeToolInput from disk)"),
347288
347530
  planFilePath: exports_external.string().optional().describe("The plan file path (injected by normalizeToolInput)")
347289
347531
  }));
347290
- outputSchema18 = lazySchema(() => exports_external.object({
347532
+ outputSchema19 = lazySchema(() => exports_external.object({
347291
347533
  plan: exports_external.string().nullable().describe("The plan that was presented to the user"),
347292
347534
  isAgent: exports_external.boolean(),
347293
347535
  filePath: exports_external.string().optional().describe("The file path where the plan was saved"),
@@ -347307,10 +347549,10 @@ var init_ExitPlanModeV2Tool = __esm(() => {
347307
347549
  return EXIT_PLAN_MODE_V2_TOOL_PROMPT;
347308
347550
  },
347309
347551
  get inputSchema() {
347310
- return inputSchema22();
347552
+ return inputSchema23();
347311
347553
  },
347312
347554
  get outputSchema() {
347313
- return outputSchema18();
347555
+ return outputSchema19();
347314
347556
  },
347315
347557
  userFacingName() {
347316
347558
  return "";
@@ -347536,11 +347778,11 @@ ${plan}`,
347536
347778
  });
347537
347779
 
347538
347780
  // src/tools/testing/TestingPermissionTool.tsx
347539
- var NAME = "TestingPermission", inputSchema23, TestingPermissionTool;
347781
+ var NAME = "TestingPermission", inputSchema24, TestingPermissionTool;
347540
347782
  var init_TestingPermissionTool = __esm(() => {
347541
347783
  init_v4();
347542
347784
  init_Tool();
347543
- inputSchema23 = lazySchema(() => exports_external.strictObject({}));
347785
+ inputSchema24 = lazySchema(() => exports_external.strictObject({}));
347544
347786
  TestingPermissionTool = buildTool({
347545
347787
  name: NAME,
347546
347788
  maxResultSizeChars: 1e5,
@@ -347551,7 +347793,7 @@ var init_TestingPermissionTool = __esm(() => {
347551
347793
  return "Test tool that always asks for permission before executing. Used for end-to-end testing.";
347552
347794
  },
347553
347795
  get inputSchema() {
347554
- return inputSchema23();
347796
+ return inputSchema24();
347555
347797
  },
347556
347798
  userFacingName() {
347557
347799
  return "TestingPermission";
@@ -347684,7 +347926,7 @@ function validateHtmlPreview(preview) {
347684
347926
  }
347685
347927
  return null;
347686
347928
  }
347687
- var import_react_compiler_runtime119, jsx_runtime143, questionOptionSchema, questionSchema, annotationsSchema, UNIQUENESS_REFINE, commonFields, inputSchema24, outputSchema19, AskUserQuestionTool;
347929
+ var import_react_compiler_runtime119, jsx_runtime143, questionOptionSchema, questionSchema, annotationsSchema, UNIQUENESS_REFINE, commonFields, inputSchema25, outputSchema20, AskUserQuestionTool;
347688
347930
  var init_AskUserQuestionTool = __esm(() => {
347689
347931
  init_state();
347690
347932
  init_MessageResponse();
@@ -347737,13 +347979,13 @@ var init_AskUserQuestionTool = __esm(() => {
347737
347979
  source: exports_external.string().optional().describe('Optional identifier for the source of this question (e.g., "remember" for /remember command). Used for analytics tracking.')
347738
347980
  }).optional().describe("Optional metadata for tracking and analytics purposes. Not displayed to user.")
347739
347981
  }));
347740
- inputSchema24 = lazySchema(() => exports_external.strictObject({
347982
+ inputSchema25 = lazySchema(() => exports_external.strictObject({
347741
347983
  questions: exports_external.array(questionSchema()).min(1).max(4).describe("Questions to ask the user (1-4 questions)"),
347742
347984
  ...commonFields()
347743
347985
  }).refine(UNIQUENESS_REFINE.check, {
347744
347986
  message: UNIQUENESS_REFINE.message
347745
347987
  }));
347746
- outputSchema19 = lazySchema(() => exports_external.object({
347988
+ outputSchema20 = lazySchema(() => exports_external.object({
347747
347989
  questions: exports_external.array(questionSchema()).describe("The questions that were asked"),
347748
347990
  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)"),
347749
347991
  annotations: annotationsSchema()
@@ -347764,10 +348006,10 @@ var init_AskUserQuestionTool = __esm(() => {
347764
348006
  return ASK_USER_QUESTION_TOOL_PROMPT + PREVIEW_FEATURE_PROMPT[format4];
347765
348007
  },
347766
348008
  get inputSchema() {
347767
- return inputSchema24();
348009
+ return inputSchema25();
347768
348010
  },
347769
348011
  get outputSchema() {
347770
- return outputSchema19();
348012
+ return outputSchema20();
347771
348013
  },
347772
348014
  userFacingName() {
347773
348015
  return "";
@@ -348932,7 +349174,7 @@ function countUniqueFilesFromOutgoingCalls(calls) {
348932
349174
  const validUris = calls.map((call5) => call5.to?.uri).filter((uri) => uri);
348933
349175
  return new Set(validUris).size;
348934
349176
  }
348935
- var MAX_LSP_FILE_SIZE_BYTES = 1e7, inputSchema25, outputSchema20, LSPTool;
349177
+ var MAX_LSP_FILE_SIZE_BYTES = 1e7, inputSchema26, outputSchema21, LSPTool;
348936
349178
  var init_LSPTool = __esm(() => {
348937
349179
  init_v4();
348938
349180
  init_manager();
@@ -348948,7 +349190,7 @@ var init_LSPTool = __esm(() => {
348948
349190
  init_formatters();
348949
349191
  init_schemas5();
348950
349192
  init_UI18();
348951
- inputSchema25 = lazySchema(() => exports_external.strictObject({
349193
+ inputSchema26 = lazySchema(() => exports_external.strictObject({
348952
349194
  operation: exports_external.enum([
348953
349195
  "goToDefinition",
348954
349196
  "findReferences",
@@ -348964,7 +349206,7 @@ var init_LSPTool = __esm(() => {
348964
349206
  line: exports_external.number().int().positive().describe("The line number (1-based, as shown in editors)"),
348965
349207
  character: exports_external.number().int().positive().describe("The character offset (1-based, as shown in editors)")
348966
349208
  }));
348967
- outputSchema20 = lazySchema(() => exports_external.object({
349209
+ outputSchema21 = lazySchema(() => exports_external.object({
348968
349210
  operation: exports_external.enum([
348969
349211
  "goToDefinition",
348970
349212
  "findReferences",
@@ -348995,10 +349237,10 @@ var init_LSPTool = __esm(() => {
348995
349237
  return isLspConnected();
348996
349238
  },
348997
349239
  get inputSchema() {
348998
- return inputSchema25();
349240
+ return inputSchema26();
348999
349241
  },
349000
349242
  get outputSchema() {
349001
- return outputSchema20();
349243
+ return outputSchema21();
349002
349244
  },
349003
349245
  isConcurrencySafe() {
349004
349246
  return true;
@@ -349447,7 +349689,7 @@ var init_UI19 = __esm(() => {
349447
349689
  });
349448
349690
 
349449
349691
  // src/tools/EnterPlanModeTool/EnterPlanModeTool.ts
349450
- var inputSchema26, outputSchema21, EnterPlanModeTool;
349692
+ var inputSchema27, outputSchema22, EnterPlanModeTool;
349451
349693
  var init_EnterPlanModeTool = __esm(() => {
349452
349694
  init_v4();
349453
349695
  init_state();
@@ -349457,8 +349699,8 @@ var init_EnterPlanModeTool = __esm(() => {
349457
349699
  init_planModeV2();
349458
349700
  init_prompt16();
349459
349701
  init_UI19();
349460
- inputSchema26 = lazySchema(() => exports_external.strictObject({}));
349461
- outputSchema21 = lazySchema(() => exports_external.object({
349702
+ inputSchema27 = lazySchema(() => exports_external.strictObject({}));
349703
+ outputSchema22 = lazySchema(() => exports_external.object({
349462
349704
  message: exports_external.string().describe("Confirmation that plan mode was entered")
349463
349705
  }));
349464
349706
  EnterPlanModeTool = buildTool({
@@ -349472,10 +349714,10 @@ var init_EnterPlanModeTool = __esm(() => {
349472
349714
  return getEnterPlanModeToolPrompt();
349473
349715
  },
349474
349716
  get inputSchema() {
349475
- return inputSchema26();
349717
+ return inputSchema27();
349476
349718
  },
349477
349719
  get outputSchema() {
349478
- return outputSchema21();
349720
+ return outputSchema22();
349479
349721
  },
349480
349722
  userFacingName() {
349481
349723
  return "";
@@ -349629,7 +349871,7 @@ var init_UI20 = __esm(() => {
349629
349871
  });
349630
349872
 
349631
349873
  // src/tools/EnterWorktreeTool/EnterWorktreeTool.ts
349632
- var inputSchema27, outputSchema22, EnterWorktreeTool;
349874
+ var inputSchema28, outputSchema23, EnterWorktreeTool;
349633
349875
  var init_EnterWorktreeTool = __esm(() => {
349634
349876
  init_v4();
349635
349877
  init_state();
@@ -349644,7 +349886,7 @@ var init_EnterWorktreeTool = __esm(() => {
349644
349886
  init_sessionStorage();
349645
349887
  init_worktree();
349646
349888
  init_UI20();
349647
- inputSchema27 = lazySchema(() => exports_external.strictObject({
349889
+ inputSchema28 = lazySchema(() => exports_external.strictObject({
349648
349890
  name: exports_external.string().superRefine((s, ctx) => {
349649
349891
  try {
349650
349892
  validateWorktreeSlug(s);
@@ -349653,7 +349895,7 @@ var init_EnterWorktreeTool = __esm(() => {
349653
349895
  }
349654
349896
  }).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.')
349655
349897
  }));
349656
- outputSchema22 = lazySchema(() => exports_external.object({
349898
+ outputSchema23 = lazySchema(() => exports_external.object({
349657
349899
  worktreePath: exports_external.string(),
349658
349900
  worktreeBranch: exports_external.string().optional(),
349659
349901
  message: exports_external.string()
@@ -349669,10 +349911,10 @@ var init_EnterWorktreeTool = __esm(() => {
349669
349911
  return getEnterWorktreeToolPrompt();
349670
349912
  },
349671
349913
  get inputSchema() {
349672
- return inputSchema27();
349914
+ return inputSchema28();
349673
349915
  },
349674
349916
  get outputSchema() {
349675
- return outputSchema22();
349917
+ return outputSchema23();
349676
349918
  },
349677
349919
  userFacingName() {
349678
349920
  return "Creating worktree";
@@ -349839,7 +350081,7 @@ function restoreSessionToOriginalCwd(originalCwd, projectRootIsWorktree) {
349839
350081
  clearMemoryFileCaches();
349840
350082
  getPlansDirectory.cache.clear?.();
349841
350083
  }
349842
- var inputSchema28, outputSchema23, ExitWorktreeTool;
350084
+ var inputSchema29, outputSchema24, ExitWorktreeTool;
349843
350085
  var init_ExitWorktreeTool = __esm(() => {
349844
350086
  init_v4();
349845
350087
  init_state();
@@ -349854,11 +350096,11 @@ var init_ExitWorktreeTool = __esm(() => {
349854
350096
  init_sessionStorage();
349855
350097
  init_worktree();
349856
350098
  init_UI21();
349857
- inputSchema28 = lazySchema(() => exports_external.strictObject({
350099
+ inputSchema29 = lazySchema(() => exports_external.strictObject({
349858
350100
  action: exports_external.enum(["keep", "remove"]).describe('"keep" leaves the worktree and branch on disk; "remove" deletes both.'),
349859
350101
  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.')
349860
350102
  }));
349861
- outputSchema23 = lazySchema(() => exports_external.object({
350103
+ outputSchema24 = lazySchema(() => exports_external.object({
349862
350104
  action: exports_external.enum(["keep", "remove"]),
349863
350105
  originalCwd: exports_external.string(),
349864
350106
  worktreePath: exports_external.string(),
@@ -349879,10 +350121,10 @@ var init_ExitWorktreeTool = __esm(() => {
349879
350121
  return getExitWorktreeToolPrompt();
349880
350122
  },
349881
350123
  get inputSchema() {
349882
- return inputSchema28();
350124
+ return inputSchema29();
349883
350125
  },
349884
350126
  get outputSchema() {
349885
- return outputSchema23();
350127
+ return outputSchema24();
349886
350128
  },
349887
350129
  userFacingName() {
349888
350130
  return "Exiting worktree";
@@ -350877,7 +351119,7 @@ function buildNestedObject(path16, value) {
350877
351119
  }
350878
351120
  return { [key]: buildNestedObject(path16.slice(1), value) };
350879
351121
  }
350880
- var inputSchema29, outputSchema24, ConfigTool;
351122
+ var inputSchema30, outputSchema25, ConfigTool;
350881
351123
  var init_ConfigTool = __esm(() => {
350882
351124
  init_v4();
350883
351125
  init_analytics();
@@ -350890,11 +351132,11 @@ var init_ConfigTool = __esm(() => {
350890
351132
  init_prompt17();
350891
351133
  init_supportedSettings();
350892
351134
  init_UI22();
350893
- inputSchema29 = lazySchema(() => exports_external.strictObject({
351135
+ inputSchema30 = lazySchema(() => exports_external.strictObject({
350894
351136
  setting: exports_external.string().describe('The setting key (e.g., "theme", "model", "permissions.defaultMode")'),
350895
351137
  value: exports_external.union([exports_external.string(), exports_external.boolean(), exports_external.number()]).optional().describe("The new value. Omit to get current value.")
350896
351138
  }));
350897
- outputSchema24 = lazySchema(() => exports_external.object({
351139
+ outputSchema25 = lazySchema(() => exports_external.object({
350898
351140
  success: exports_external.boolean(),
350899
351141
  operation: exports_external.enum(["get", "set"]).optional(),
350900
351142
  setting: exports_external.string().optional(),
@@ -350914,10 +351156,10 @@ var init_ConfigTool = __esm(() => {
350914
351156
  return generatePrompt();
350915
351157
  },
350916
351158
  get inputSchema() {
350917
- return inputSchema29();
351159
+ return inputSchema30();
350918
351160
  },
350919
351161
  get outputSchema() {
350920
- return outputSchema24();
351162
+ return outputSchema25();
350921
351163
  },
350922
351164
  userFacingName() {
350923
351165
  return "Config";
@@ -351189,7 +351431,7 @@ var init_prompt18 = __esm(() => {
351189
351431
  });
351190
351432
 
351191
351433
  // src/tools/TaskCreateTool/TaskCreateTool.ts
351192
- var inputSchema30, outputSchema25, TaskCreateTool;
351434
+ var inputSchema31, outputSchema26, TaskCreateTool;
351193
351435
  var init_TaskCreateTool = __esm(() => {
351194
351436
  init_v4();
351195
351437
  init_Tool();
@@ -351197,13 +351439,13 @@ var init_TaskCreateTool = __esm(() => {
351197
351439
  init_tasks();
351198
351440
  init_teammate();
351199
351441
  init_prompt18();
351200
- inputSchema30 = lazySchema(() => exports_external.strictObject({
351442
+ inputSchema31 = lazySchema(() => exports_external.strictObject({
351201
351443
  subject: exports_external.string().describe("A brief title for the task"),
351202
351444
  description: exports_external.string().describe("What needs to be done"),
351203
351445
  activeForm: exports_external.string().optional().describe('Present continuous form shown in spinner when in_progress (e.g., "Running tests")'),
351204
351446
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional().describe("Arbitrary metadata to attach to the task")
351205
351447
  }));
351206
- outputSchema25 = lazySchema(() => exports_external.object({
351448
+ outputSchema26 = lazySchema(() => exports_external.object({
351207
351449
  task: exports_external.object({
351208
351450
  id: exports_external.string(),
351209
351451
  subject: exports_external.string()
@@ -351220,10 +351462,10 @@ var init_TaskCreateTool = __esm(() => {
351220
351462
  return getPrompt4();
351221
351463
  },
351222
351464
  get inputSchema() {
351223
- return inputSchema30();
351465
+ return inputSchema31();
351224
351466
  },
351225
351467
  get outputSchema() {
351226
- return outputSchema25();
351468
+ return outputSchema26();
351227
351469
  },
351228
351470
  userFacingName() {
351229
351471
  return "TaskCreate";
@@ -351314,15 +351556,15 @@ Returns full task details:
351314
351556
  `;
351315
351557
 
351316
351558
  // src/tools/TaskGetTool/TaskGetTool.ts
351317
- var inputSchema31, outputSchema26, TaskGetTool;
351559
+ var inputSchema32, outputSchema27, TaskGetTool;
351318
351560
  var init_TaskGetTool = __esm(() => {
351319
351561
  init_v4();
351320
351562
  init_Tool();
351321
351563
  init_tasks();
351322
- inputSchema31 = lazySchema(() => exports_external.strictObject({
351564
+ inputSchema32 = lazySchema(() => exports_external.strictObject({
351323
351565
  taskId: exports_external.string().describe("The ID of the task to retrieve")
351324
351566
  }));
351325
- outputSchema26 = lazySchema(() => exports_external.object({
351567
+ outputSchema27 = lazySchema(() => exports_external.object({
351326
351568
  task: exports_external.object({
351327
351569
  id: exports_external.string(),
351328
351570
  subject: exports_external.string(),
@@ -351343,10 +351585,10 @@ var init_TaskGetTool = __esm(() => {
351343
351585
  return PROMPT6;
351344
351586
  },
351345
351587
  get inputSchema() {
351346
- return inputSchema31();
351588
+ return inputSchema32();
351347
351589
  },
351348
351590
  get outputSchema() {
351349
- return outputSchema26();
351591
+ return outputSchema27();
351350
351592
  },
351351
351593
  userFacingName() {
351352
351594
  return "TaskGet";
@@ -351498,7 +351740,7 @@ Set up task dependencies:
351498
351740
  `;
351499
351741
 
351500
351742
  // src/tools/TaskUpdateTool/TaskUpdateTool.ts
351501
- var inputSchema32, outputSchema27, TaskUpdateTool;
351743
+ var inputSchema33, outputSchema28, TaskUpdateTool;
351502
351744
  var init_TaskUpdateTool = __esm(() => {
351503
351745
  init_v4();
351504
351746
  init_growthbook();
@@ -351509,7 +351751,7 @@ var init_TaskUpdateTool = __esm(() => {
351509
351751
  init_teammate();
351510
351752
  init_teammateMailbox();
351511
351753
  init_constants3();
351512
- inputSchema32 = lazySchema(() => {
351754
+ inputSchema33 = lazySchema(() => {
351513
351755
  const TaskUpdateStatusSchema = TaskStatusSchema2().or(exports_external.literal("deleted"));
351514
351756
  return exports_external.strictObject({
351515
351757
  taskId: exports_external.string().describe("The ID of the task to update"),
@@ -351523,7 +351765,7 @@ var init_TaskUpdateTool = __esm(() => {
351523
351765
  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.")
351524
351766
  });
351525
351767
  });
351526
- outputSchema27 = lazySchema(() => exports_external.object({
351768
+ outputSchema28 = lazySchema(() => exports_external.object({
351527
351769
  success: exports_external.boolean(),
351528
351770
  taskId: exports_external.string(),
351529
351771
  updatedFields: exports_external.array(exports_external.string()),
@@ -351545,10 +351787,10 @@ var init_TaskUpdateTool = __esm(() => {
351545
351787
  return PROMPT7;
351546
351788
  },
351547
351789
  get inputSchema() {
351548
- return inputSchema32();
351790
+ return inputSchema33();
351549
351791
  },
351550
351792
  get outputSchema() {
351551
- return outputSchema27();
351793
+ return outputSchema28();
351552
351794
  },
351553
351795
  userFacingName() {
351554
351796
  return "TaskUpdate";
@@ -351804,14 +352046,14 @@ var init_prompt19 = __esm(() => {
351804
352046
  });
351805
352047
 
351806
352048
  // src/tools/TaskListTool/TaskListTool.ts
351807
- var inputSchema33, outputSchema28, TaskListTool;
352049
+ var inputSchema34, outputSchema29, TaskListTool;
351808
352050
  var init_TaskListTool = __esm(() => {
351809
352051
  init_v4();
351810
352052
  init_Tool();
351811
352053
  init_tasks();
351812
352054
  init_prompt19();
351813
- inputSchema33 = lazySchema(() => exports_external.strictObject({}));
351814
- outputSchema28 = lazySchema(() => exports_external.object({
352055
+ inputSchema34 = lazySchema(() => exports_external.strictObject({}));
352056
+ outputSchema29 = lazySchema(() => exports_external.object({
351815
352057
  tasks: exports_external.array(exports_external.object({
351816
352058
  id: exports_external.string(),
351817
352059
  subject: exports_external.string(),
@@ -351831,10 +352073,10 @@ var init_TaskListTool = __esm(() => {
351831
352073
  return getPrompt5();
351832
352074
  },
351833
352075
  get inputSchema() {
351834
- return inputSchema33();
352076
+ return inputSchema34();
351835
352077
  },
351836
352078
  get outputSchema() {
351837
- return outputSchema28();
352079
+ return outputSchema29();
351838
352080
  },
351839
352081
  userFacingName() {
351840
352082
  return "TaskList";
@@ -352049,7 +352291,7 @@ function generateUniqueTeamName(providedName) {
352049
352291
  }
352050
352292
  return generateWordSlug();
352051
352293
  }
352052
- var inputSchema34, TeamCreateTool;
352294
+ var inputSchema35, TeamCreateTool;
352053
352295
  var init_TeamCreateTool = __esm(() => {
352054
352296
  init_v4();
352055
352297
  init_state();
@@ -352064,7 +352306,7 @@ var init_TeamCreateTool = __esm(() => {
352064
352306
  init_teammateLayoutManager();
352065
352307
  init_tasks();
352066
352308
  init_words();
352067
- inputSchema34 = lazySchema(() => exports_external.strictObject({
352309
+ inputSchema35 = lazySchema(() => exports_external.strictObject({
352068
352310
  team_name: exports_external.string().describe("Name for the new team to create."),
352069
352311
  description: exports_external.string().optional().describe("Team description/purpose."),
352070
352312
  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.")
@@ -352078,7 +352320,7 @@ var init_TeamCreateTool = __esm(() => {
352078
352320
  return "";
352079
352321
  },
352080
352322
  get inputSchema() {
352081
- return inputSchema34();
352323
+ return inputSchema35();
352082
352324
  },
352083
352325
  isEnabled() {
352084
352326
  return isAgentSwarmsEnabled();
@@ -352229,7 +352471,7 @@ var exports_TeamDeleteTool = {};
352229
352471
  __export(exports_TeamDeleteTool, {
352230
352472
  TeamDeleteTool: () => TeamDeleteTool
352231
352473
  });
352232
- var inputSchema35, TeamDeleteTool;
352474
+ var inputSchema36, TeamDeleteTool;
352233
352475
  var init_TeamDeleteTool = __esm(() => {
352234
352476
  init_v4();
352235
352477
  init_analytics();
@@ -352240,7 +352482,7 @@ var init_TeamDeleteTool = __esm(() => {
352240
352482
  init_teammateLayoutManager();
352241
352483
  init_tasks();
352242
352484
  init_UI23();
352243
- inputSchema35 = lazySchema(() => exports_external.strictObject({}));
352485
+ inputSchema36 = lazySchema(() => exports_external.strictObject({}));
352244
352486
  TeamDeleteTool = buildTool({
352245
352487
  name: TEAM_DELETE_TOOL_NAME,
352246
352488
  searchHint: "disband a swarm team and clean up",
@@ -352250,7 +352492,7 @@ var init_TeamDeleteTool = __esm(() => {
352250
352492
  return "";
352251
352493
  },
352252
352494
  get inputSchema() {
352253
- return inputSchema35();
352495
+ return inputSchema36();
352254
352496
  },
352255
352497
  isEnabled() {
352256
352498
  return isAgentSwarmsEnabled();
@@ -353318,7 +353560,7 @@ async function handlePlanRejection(recipientName, requestId, feedback, context6)
353318
353560
  }
353319
353561
  };
353320
353562
  }
353321
- var StructuredMessage, inputSchema36, SendMessageTool;
353563
+ var StructuredMessage, inputSchema37, SendMessageTool;
353322
353564
  var init_SendMessageTool = __esm(() => {
353323
353565
  init_v4();
353324
353566
  init_state();
@@ -353358,7 +353600,7 @@ var init_SendMessageTool = __esm(() => {
353358
353600
  feedback: exports_external.string().optional()
353359
353601
  })
353360
353602
  ]));
353361
- inputSchema36 = lazySchema(() => exports_external.object({
353603
+ inputSchema37 = lazySchema(() => exports_external.object({
353362
353604
  to: exports_external.string().describe('Recipient: teammate name, or "*" for broadcast to all teammates'),
353363
353605
  summary: exports_external.string().optional().describe("A 5-10 word summary shown as a preview in the UI (required when message is a string)"),
353364
353606
  message: exports_external.union([
@@ -353374,7 +353616,7 @@ var init_SendMessageTool = __esm(() => {
353374
353616
  return "SendMessage";
353375
353617
  },
353376
353618
  get inputSchema() {
353377
- return inputSchema36();
353619
+ return inputSchema37();
353378
353620
  },
353379
353621
  shouldDefer: true,
353380
353622
  isEnabled() {
@@ -353633,6 +353875,7 @@ function getAllBaseTools() {
353633
353875
  WebFetchTool,
353634
353876
  TodoWriteTool,
353635
353877
  WebSearchTool,
353878
+ ImageGenerationTool,
353636
353879
  TaskStopTool,
353637
353880
  AskUserQuestionTool,
353638
353881
  SkillTool,
@@ -353724,6 +353967,7 @@ var init_tools2 = __esm(() => {
353724
353967
  init_BriefTool();
353725
353968
  init_TaskOutputTool();
353726
353969
  init_WebSearchTool();
353970
+ init_ImageGenerationTool();
353727
353971
  init_TodoWriteTool();
353728
353972
  init_ExitPlanModeV2Tool();
353729
353973
  init_TestingPermissionTool();
@@ -355123,7 +355367,7 @@ function resolveTeamName(input, appState) {
355123
355367
  return;
355124
355368
  return input.team_name || appState.teamContext?.teamName;
355125
355369
  }
355126
- var jsx_runtime151, proactiveModule = null, PROGRESS_THRESHOLD_MS2 = 2000, isBackgroundTasksDisabled2, baseInputSchema, fullInputSchema2, inputSchema8, outputSchema29, AgentTool;
355370
+ var jsx_runtime151, proactiveModule = null, PROGRESS_THRESHOLD_MS2 = 2000, isBackgroundTasksDisabled2, baseInputSchema, fullInputSchema2, inputSchema8, outputSchema30, AgentTool;
355127
355371
  var init_AgentTool = __esm(() => {
355128
355372
  init_Tool();
355129
355373
  init_promptCategory();
@@ -355199,7 +355443,7 @@ var init_AgentTool = __esm(() => {
355199
355443
  run_in_background: true
355200
355444
  }) : schema;
355201
355445
  });
355202
- outputSchema29 = lazySchema(() => {
355446
+ outputSchema30 = lazySchema(() => {
355203
355447
  const syncOutputSchema = agentToolResultSchema().extend({
355204
355448
  status: exports_external.literal("completed"),
355205
355449
  prompt: exports_external.string()
@@ -355248,7 +355492,7 @@ var init_AgentTool = __esm(() => {
355248
355492
  return inputSchema8();
355249
355493
  },
355250
355494
  get outputSchema() {
355251
- return outputSchema29();
355495
+ return outputSchema30();
355252
355496
  },
355253
355497
  async call({
355254
355498
  prompt,
@@ -358817,7 +359061,7 @@ async function* runShellCommand({
358817
359061
  }
358818
359062
  }
358819
359063
  var jsx_runtime152, EOL4 = `
358820
- `, 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, inputSchema37, COMMON_BACKGROUND_COMMANDS2, outputSchema30, BashTool;
359064
+ `, 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, inputSchema38, COMMON_BACKGROUND_COMMANDS2, outputSchema31, BashTool;
358821
359065
  var init_BashTool = __esm(() => {
358822
359066
  init_v4();
358823
359067
  init_state();
@@ -358934,7 +359178,7 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
358934
359178
  newContent: exports_external.string()
358935
359179
  }).optional().describe("Internal: pre-computed sed edit result from preview")
358936
359180
  }));
358937
- inputSchema37 = lazySchema(() => isBackgroundTasksDisabled3 ? fullInputSchema3().omit({
359181
+ inputSchema38 = lazySchema(() => isBackgroundTasksDisabled3 ? fullInputSchema3().omit({
358938
359182
  run_in_background: true,
358939
359183
  _simulatedSedEdit: true
358940
359184
  }) : fullInputSchema3().omit({
@@ -358964,7 +359208,7 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
358964
359208
  "watch",
358965
359209
  "dev"
358966
359210
  ];
358967
- outputSchema30 = lazySchema(() => exports_external.object({
359211
+ outputSchema31 = lazySchema(() => exports_external.object({
358968
359212
  stdout: exports_external.string().describe("The standard output of the command"),
358969
359213
  stderr: exports_external.string().describe("The standard error output of the command"),
358970
359214
  rawOutputPath: exports_external.string().optional().describe("Path to raw output file for large MCP tool outputs"),
@@ -359019,7 +359263,7 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
359019
359263
  };
359020
359264
  },
359021
359265
  isSearchOrReadCommand(input) {
359022
- const parsed = inputSchema37().safeParse(input);
359266
+ const parsed = inputSchema38().safeParse(input);
359023
359267
  if (!parsed.success)
359024
359268
  return {
359025
359269
  isSearch: false,
@@ -359029,10 +359273,10 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
359029
359273
  return isSearchOrReadBashCommand(parsed.data.command);
359030
359274
  },
359031
359275
  get inputSchema() {
359032
- return inputSchema37();
359276
+ return inputSchema38();
359033
359277
  },
359034
359278
  get outputSchema() {
359035
- return outputSchema30();
359279
+ return outputSchema31();
359036
359280
  },
359037
359281
  userFacingName(input) {
359038
359282
  if (!input) {
@@ -365919,7 +366163,7 @@ function getAnthropicEnvMetadata() {
365919
366163
  function getBuildAgeMinutes() {
365920
366164
  if (false)
365921
366165
  ;
365922
- const buildTime = new Date("2026-08-06T11:48:40.178Z").getTime();
366166
+ const buildTime = new Date("2026-08-07T23:04:36.740Z").getTime();
365923
366167
  if (isNaN(buildTime))
365924
366168
  return;
365925
366169
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -369465,8 +369709,8 @@ async function calculateDeferredToolDescriptionChars(tools, getToolPermissionCon
369465
369709
  tools,
369466
369710
  agents
369467
369711
  });
369468
- const inputSchema38 = tool.inputJSONSchema ? jsonStringify(tool.inputJSONSchema) : tool.inputSchema ? jsonStringify(zodToJsonSchema3(tool.inputSchema)) : "";
369469
- return tool.name.length + description.length + inputSchema38.length;
369712
+ const inputSchema39 = tool.inputJSONSchema ? jsonStringify(tool.inputJSONSchema) : tool.inputSchema ? jsonStringify(zodToJsonSchema3(tool.inputSchema)) : "";
369713
+ return tool.name.length + description.length + inputSchema39.length;
369470
369714
  }));
369471
369715
  return sizes.reduce((total, size) => total + size, 0);
369472
369716
  }
@@ -370974,7 +371218,7 @@ async function readImageWithTokenBudget(filePath, maxTokens = getDefaultFileRead
370974
371218
  }
370975
371219
  return result;
370976
371220
  }
370977
- var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS, inputSchema38, outputSchema31, FileReadTool, CYBER_RISK_MITIGATION_REMINDER = `
371221
+ var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS, inputSchema39, outputSchema32, FileReadTool, CYBER_RISK_MITIGATION_REMINDER = `
370978
371222
 
370979
371223
  <system-reminder>
370980
371224
  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.
@@ -371042,13 +371286,13 @@ var init_FileReadTool = __esm(() => {
371042
371286
  }
371043
371287
  };
371044
371288
  IMAGE_EXTENSIONS = new Set(["png", "jpg", "jpeg", "gif", "webp"]);
371045
- inputSchema38 = lazySchema(() => exports_external.strictObject({
371289
+ inputSchema39 = lazySchema(() => exports_external.strictObject({
371046
371290
  file_path: exports_external.string().describe("The absolute path to the file to read"),
371047
371291
  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"),
371048
371292
  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."),
371049
371293
  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.`)
371050
371294
  }));
371051
- outputSchema31 = lazySchema(() => {
371295
+ outputSchema32 = lazySchema(() => {
371052
371296
  const imageMediaTypes = exports_external.enum([
371053
371297
  "image/jpeg",
371054
371298
  "image/png",
@@ -371127,10 +371371,10 @@ var init_FileReadTool = __esm(() => {
371127
371371
  return renderPromptTemplate(pickLineFormatInstruction(), maxSizeInstruction, offsetInstruction);
371128
371372
  },
371129
371373
  get inputSchema() {
371130
- return inputSchema38();
371374
+ return inputSchema39();
371131
371375
  },
371132
371376
  get outputSchema() {
371133
- return outputSchema31();
371377
+ return outputSchema32();
371134
371378
  },
371135
371379
  userFacingName: userFacingName7,
371136
371380
  getToolUseSummary: getToolUseSummary8,
@@ -431997,7 +432241,7 @@ function getRecentActivitySync() {
431997
432241
  return cachedActivity;
431998
432242
  }
431999
432243
  function getLogoDisplayData() {
432000
- const version2 = process.env.DEMO_VERSION ?? "0.1.27" ?? "99.0.0";
432244
+ const version2 = process.env.DEMO_VERSION ?? "0.1.29" ?? "99.0.0";
432001
432245
  const serverUrl = getDirectConnectServerUrl();
432002
432246
  const displayPath = process.env.DEMO_VERSION ? "/code/maximo" : getDisplayPath(getCwd());
432003
432247
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -461462,7 +461706,7 @@ var init_bridge_kick = __esm(() => {
461462
461706
  var call57 = async () => {
461463
461707
  return {
461464
461708
  type: "text",
461465
- value: `${"99.0.0"} (built ${"2026-08-06T11:48:40.178Z"})`
461709
+ value: `${"99.0.0"} (built ${"2026-08-07T23:04:36.740Z"})`
461466
461710
  };
461467
461711
  }, version2, version_default;
461468
461712
  var init_version = __esm(() => {
@@ -526419,13 +526663,13 @@ function permissionPromptToolResultToPermissionDecision(result, tool, input, too
526419
526663
  decisionReason
526420
526664
  };
526421
526665
  }
526422
- var inputSchema39, decisionClassificationField, PermissionAllowResultSchema, PermissionDenyResultSchema, outputSchema32;
526666
+ var inputSchema40, decisionClassificationField, PermissionAllowResultSchema, PermissionDenyResultSchema, outputSchema33;
526423
526667
  var init_PermissionPromptToolResultSchema = __esm(() => {
526424
526668
  init_v4();
526425
526669
  init_debug();
526426
526670
  init_PermissionUpdate();
526427
526671
  init_PermissionUpdateSchema();
526428
- inputSchema39 = lazySchema(() => v4_default.object({
526672
+ inputSchema40 = lazySchema(() => v4_default.object({
526429
526673
  tool_name: v4_default.string().describe("The name of the tool requesting permission"),
526430
526674
  input: v4_default.record(v4_default.string(), v4_default.unknown()).describe("The input for the tool"),
526431
526675
  tool_use_id: v4_default.string().optional().describe("The unique tool use request ID")
@@ -526448,7 +526692,7 @@ var init_PermissionPromptToolResultSchema = __esm(() => {
526448
526692
  toolUseID: v4_default.string().optional(),
526449
526693
  decisionClassification: decisionClassificationField()
526450
526694
  }));
526451
- outputSchema32 = lazySchema(() => v4_default.union([PermissionAllowResultSchema(), PermissionDenyResultSchema()]));
526695
+ outputSchema33 = lazySchema(() => v4_default.union([PermissionAllowResultSchema(), PermissionDenyResultSchema()]));
526452
526696
  });
526453
526697
 
526454
526698
  // src/cli/ndjsonSafeStringify.ts
@@ -526792,7 +527036,7 @@ class StructuredIO {
526792
527036
  decision_reason: serializeDecisionReason(mainPermissionResult.decisionReason),
526793
527037
  tool_use_id: toolUseID,
526794
527038
  agent_id: toolUseContext.agentId
526795
- }, outputSchema32(), hookAbortController.signal, requestId).then((result) => ({ source: "sdk", result }));
527039
+ }, outputSchema33(), hookAbortController.signal, requestId).then((result) => ({ source: "sdk", result }));
526796
527040
  const winner = await Promise.race([hookPromise, sdkPromise]);
526797
527041
  if (winner.source === "hook") {
526798
527042
  if (winner.decision) {
@@ -526863,7 +527107,7 @@ class StructuredIO {
526863
527107
  input: { host: hostPattern.host },
526864
527108
  tool_use_id: randomUUID47(),
526865
527109
  description: `Allow network connection to ${hostPattern.host}?`
526866
- }, outputSchema32());
527110
+ }, outputSchema33());
526867
527111
  return result.behavior === "allow";
526868
527112
  } catch {
526869
527113
  return false;
@@ -535994,7 +536238,7 @@ function SetupRow({ children }) {
535994
536238
  }
535995
536239
  function WelcomeV2() {
535996
536240
  const { columns } = useTerminalSize();
535997
- const version3 = "0.1.27";
536241
+ const version3 = "0.1.29";
535998
536242
  const width = Math.max(48, Math.min(columns || 92, 92));
535999
536243
  const stacked = width < OCTOPUS_COMPACT_WIDTH + 42;
536000
536244
  return /* @__PURE__ */ jsx_runtime479.jsx(ThemedBox_default, {
@@ -550183,7 +550427,7 @@ function createCanUseToolWithPermissionPrompt(permissionPromptTool) {
550183
550427
  if (!permissionToolResultBlockParam.content || !Array.isArray(permissionToolResultBlockParam.content) || !permissionToolResultBlockParam.content[0] || permissionToolResultBlockParam.content[0].type !== "text" || typeof permissionToolResultBlockParam.content[0].text !== "string") {
550184
550428
  throw new Error('Permission prompt tool returned an invalid result. Expected a single text block param with type="text" and a string text value.');
550185
550429
  }
550186
- return permissionPromptToolResultToPermissionDecision(outputSchema32().parse(safeParseJSON(permissionToolResultBlockParam.content[0].text)), permissionPromptTool, input, toolUseContext);
550430
+ return permissionPromptToolResultToPermissionDecision(outputSchema33().parse(safeParseJSON(permissionToolResultBlockParam.content[0].text)), permissionPromptTool, input, toolUseContext);
550187
550431
  };
550188
550432
  return canUseTool;
550189
550433
  }
@@ -551928,11 +552172,11 @@ async function startMCPServer(cwd3, debug2, verbose) {
551928
552172
  const tools = getTools(toolPermissionContext);
551929
552173
  return {
551930
552174
  tools: await Promise.all(tools.map(async (tool) => {
551931
- let outputSchema33;
552175
+ let outputSchema34;
551932
552176
  if (tool.outputSchema) {
551933
552177
  const convertedSchema = zodToJsonSchema3(tool.outputSchema);
551934
552178
  if (typeof convertedSchema === "object" && convertedSchema !== null && "type" in convertedSchema && convertedSchema.type === "object") {
551935
- outputSchema33 = convertedSchema;
552179
+ outputSchema34 = convertedSchema;
551936
552180
  }
551937
552181
  }
551938
552182
  return {
@@ -551943,7 +552187,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
551943
552187
  agents: []
551944
552188
  }),
551945
552189
  inputSchema: zodToJsonSchema3(tool.inputSchema),
551946
- outputSchema: outputSchema33
552190
+ outputSchema: outputSchema34
551947
552191
  };
551948
552192
  }))
551949
552193
  };
@@ -554344,13 +554588,13 @@ async function run() {
554344
554588
  }).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) => {
554345
554589
  const n3 = Number(v);
554346
554590
  return Number.isFinite(n3) ? n3 : undefined;
554347
- }).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-preview').`).addOption(new Option("--effort <level>", `Effort level for the current session (low, medium, high, max)`).argParser((rawValue) => {
554348
- const value = rawValue.toLowerCase();
554349
- const allowed = ["low", "medium", "high", "max"];
554350
- if (!allowed.includes(value)) {
554591
+ }).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-preview').`).addOption(new Option("--effort <level>", `Effort level for the current session (minimal, low, medium, high, xhigh, max, ultra)`).argParser((rawValue) => {
554592
+ const normalized = rawValue.trim().toLowerCase().replace(/[-_\s]+/g, "").replace(/^extrahigh$/, "xhigh").replace(/^ultra$/, "xhigh").replace(/^maximum$/, "max").replace(/^med$/, "medium");
554593
+ const allowed = ["minimal", "low", "medium", "high", "xhigh", "max", "ultra"];
554594
+ if (!allowed.includes(normalized)) {
554351
554595
  throw new InvalidArgumentError(`It must be one of: ${allowed.join(", ")}`);
554352
554596
  }
554353
- return value;
554597
+ return normalized;
554354
554598
  })).option("--agent <agent>", `Agent for the current session. Overrides the 'agent' setting.`).option("--betas <betas...>", "Beta headers to include in API requests (API key users only)").option("--fallback-model <model>", "Enable automatic fallback to specified model when default model is overloaded (only works with --print)").addOption(new Option("--workload <tag>", "Workload tag for billing-header attribution (cc_workload). Process-scoped; set by SDK daemon callers that spawn subprocesses for cron work. (only works with --print)").hideHelp()).option("--settings <file-or-json>", "Path to a settings JSON file or a JSON string to load additional settings from").option("--add-dir <directories...>", "Additional directories to allow tool access to").option("--ide", "Automatically connect to IDE on startup if exactly one valid IDE is available", () => true).option("--strict-mcp-config", "Only use MCP servers from --mcp-config, ignoring all other MCP configurations", () => true).option("--session-id <uuid>", "Use a specific session ID for the conversation (must be a valid UUID)").option("-n, --name <name>", "Set a display name for this session (shown in /resume and terminal title)").option("--agents <json>", `JSON object defining custom agents (e.g. '{"reviewer": {"description": "Reviews code", "prompt": "You are a code reviewer"}}')`).option("--setting-sources <sources>", "Comma-separated list of setting sources to load (user, project, local).").option("--plugin-dir <path>", "Load plugins from a directory for this session only (repeatable: --plugin-dir A --plugin-dir B)", (val, prev) => [...prev, val], []).option("--disable-slash-commands", "Disable all skills", () => true).option("--chrome", "Enable Maximo in Chrome integration").option("--no-chrome", "Disable Maximo in Chrome integration").option("--file <specs...>", "File resources to download at startup. Format: file_id:relative_path (e.g., --file file_abc:doc.txt file_def:img.png)").action(async (prompt, options2) => {
554355
554599
  profileCheckpoint("action_handler_start");
554356
554600
  if (options2.bare) {
@@ -555930,7 +556174,7 @@ Usage: maximo --remote "your task description"`, () => gracefulShutdown(1));
555930
556174
  pendingHookMessages
555931
556175
  }, renderAndRun);
555932
556176
  }
555933
- }).version("0.1.27 (Maximo Syntax)", "-v, --version", "Output the version number");
556177
+ }).version("0.1.29 (Maximo Syntax)", "-v, --version", "Output the version number");
555934
556178
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
555935
556179
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
555936
556180
  if (canUserConfigureAdvisor()) {
@@ -556469,7 +556713,7 @@ function validateProviderEnvOrExit() {
556469
556713
  async function main2() {
556470
556714
  const args = process.argv.slice(2);
556471
556715
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
556472
- console.log(`${"0.1.27"} (Maximo Syntax)`);
556716
+ console.log(`${"0.1.29"} (Maximo Syntax)`);
556473
556717
  return;
556474
556718
  }
556475
556719
  validateProviderEnvOrExit();
@@ -556546,4 +556790,4 @@ async function main2() {
556546
556790
  }
556547
556791
  main2();
556548
556792
 
556549
- //# debugId=5C33CADA7413433764756E2164756E21
556793
+ //# debugId=17C33013A9BEE89D64756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maximoai/maximo-syntax-cli",
3
- "version": "0.1.27",
3
+ "version": "0.1.29",
4
4
  "description": "Maximo Syntax CLI - A powerful AI-powered command-line interface for code development with any LLM",
5
5
  "type": "module",
6
6
  "bin": {