@maximoai/maximo-syntax-cli 0.1.28 → 0.1.30

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 +361 -104
  2. 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 = "/Users/johnsondaniel/Documents/maximo-syntax-cli/node_modules/undici/index.js";
79662
+ var __filename = "/private/tmp/maximo-syntax-cli-copy/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 = "/Users/johnsondaniel/Documents/maximo-syntax-cli/node_modules/@aws-sdk/util-user-agent-node/dist-cjs";
96493
+ var __dirname = "/private/tmp/maximo-syntax-cli-copy/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();
@@ -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-06T12:40:18.165Z",
123986
+ buildTime: "2026-08-07T23:32:22.784Z",
123987
123987
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
123988
123988
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
123989
123989
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -237385,6 +237385,25 @@ 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](exact_url_from_tool_result)
237400
+ - CRITICAL: You MUST copy the URL(s) exactly as returned in the tool result text (lines like "Image 1 URL: https://..."). NEVER invent, guess, or reconstruct a URL. If you use any other URL (e.g. ai-image-output.maximo.ai) the image will be broken.
237401
+ - Use the full https://api.mytabulon.com/uploads/... or https://api.maximoai.co/uploads/... URL verbatim, one markdown image per URL returned.
237402
+ - Do NOT shorten, re-encode, or change the domain/path. The URL must be pasted exactly as shown.
237403
+ `;
237404
+ }
237405
+ var IMAGE_GENERATION_TOOL_NAME = "ImageGeneration";
237406
+
237388
237407
  // src/tools/TodoWriteTool/constants.ts
237389
237408
  var TODO_WRITE_TOOL_NAME = "TodoWrite";
237390
237409
 
@@ -237475,6 +237494,7 @@ var init_tools = __esm(() => {
237475
237494
  ASYNC_AGENT_ALLOWED_TOOLS = new Set([
237476
237495
  FILE_READ_TOOL_NAME,
237477
237496
  WEB_SEARCH_TOOL_NAME,
237497
+ IMAGE_GENERATION_TOOL_NAME,
237478
237498
  TODO_WRITE_TOOL_NAME,
237479
237499
  GREP_TOOL_NAME,
237480
237500
  WEB_FETCH_TOOL_NAME,
@@ -276750,7 +276770,7 @@ import { access as access3, writeFile as writeFile13 } from "fs/promises";
276750
276770
  import { homedir as homedir22 } from "os";
276751
276771
  import { join as join65 } from "path";
276752
276772
  function getCurrentRealVersion() {
276753
- return "0.1.28";
276773
+ return "0.1.30";
276754
276774
  }
276755
276775
  async function getRolloutConfig() {
276756
276776
  try {
@@ -347037,6 +347057,241 @@ REMINDER: You MUST include the sources above in your response to the user using
347037
347057
  });
347038
347058
  });
347039
347059
 
347060
+ // src/tools/ImageGenerationTool/ImageGenerationTool.ts
347061
+ function resolveImageEndpoint(baseUrl) {
347062
+ const trimmed = baseUrl.replace(/\/+$/, "");
347063
+ if (trimmed.includes("api.mytabulon.com")) {
347064
+ return { url: `${trimmed}/image-generation`, path: "/v1/image-generation" };
347065
+ }
347066
+ return {
347067
+ url: `${trimmed.replace(/\/v1$/, "")}/v1/api/image-generation`,
347068
+ path: "/v1/api/image-generation"
347069
+ };
347070
+ }
347071
+ var inputSchema22, outputSchema18, ImageGenerationTool;
347072
+ var init_ImageGenerationTool = __esm(() => {
347073
+ init_v4();
347074
+ init_maximoModels();
347075
+ init_Tool();
347076
+ init_log3();
347077
+ inputSchema22 = lazySchema(() => exports_external.strictObject({
347078
+ prompt: exports_external.string().min(1).describe("The image generation prompt to use"),
347079
+ aspect_ratio: exports_external.string().optional().describe('Aspect ratio for the image (e.g. "16:9", "1:1", "4:3")'),
347080
+ size: exports_external.string().optional().describe('Image size/resolution (e.g. "1K", "2K", "4K")'),
347081
+ output_count: exports_external.number().int().positive().max(4).optional().describe("Number of images to generate (1-4)")
347082
+ }));
347083
+ outputSchema18 = lazySchema(() => exports_external.object({
347084
+ prompt: exports_external.string().describe("The image prompt that was executed"),
347085
+ images: exports_external.array(exports_external.object({
347086
+ url: exports_external.string().describe("The URL of the generated image")
347087
+ })).describe("The generated image URLs"),
347088
+ credits: exports_external.unknown().optional().describe("Credit/usage info from the backend"),
347089
+ modelUsed: exports_external.string().nullable().optional(),
347090
+ durationSeconds: exports_external.number().describe("Time taken to complete the image generation operation")
347091
+ }));
347092
+ ImageGenerationTool = buildTool({
347093
+ name: IMAGE_GENERATION_TOOL_NAME,
347094
+ searchHint: "generate images with the connected Maximo backend",
347095
+ maxResultSizeChars: 1e5,
347096
+ shouldDefer: true,
347097
+ async description(input) {
347098
+ return `Maximo wants to generate an image for: ${input.prompt}`;
347099
+ },
347100
+ userFacingName() {
347101
+ return "Image Generation";
347102
+ },
347103
+ isEnabled() {
347104
+ const baseUrl = getMaximoAIBaseUrl();
347105
+ const apiKey = getMaximoApiKey();
347106
+ if (!apiKey)
347107
+ return false;
347108
+ if (baseUrl.includes("api.cencori.com"))
347109
+ return false;
347110
+ return true;
347111
+ },
347112
+ get inputSchema() {
347113
+ return inputSchema22();
347114
+ },
347115
+ get outputSchema() {
347116
+ return outputSchema18();
347117
+ },
347118
+ isConcurrencySafe() {
347119
+ return true;
347120
+ },
347121
+ isReadOnly() {
347122
+ return false;
347123
+ },
347124
+ toAutoClassifierInput(input) {
347125
+ return input.prompt;
347126
+ },
347127
+ async checkPermissions(_input) {
347128
+ return {
347129
+ behavior: "passthrough",
347130
+ message: "ImageGenerationTool requires permission.",
347131
+ suggestions: [
347132
+ {
347133
+ type: "addRules",
347134
+ rules: [{ toolName: IMAGE_GENERATION_TOOL_NAME }],
347135
+ behavior: "allow",
347136
+ destination: "localSettings"
347137
+ }
347138
+ ]
347139
+ };
347140
+ },
347141
+ async prompt() {
347142
+ return getImageGenerationPrompt();
347143
+ },
347144
+ renderToolUseMessage({ prompt }, { verbose }) {
347145
+ if (!prompt) {
347146
+ return null;
347147
+ }
347148
+ return `${verbose ? "Generating image for: " : ""}"${prompt}"`;
347149
+ },
347150
+ renderToolUseProgressMessage() {
347151
+ return null;
347152
+ },
347153
+ renderToolResultMessage(output) {
347154
+ return null;
347155
+ },
347156
+ extractSearchText() {
347157
+ return "";
347158
+ },
347159
+ async validateInput(input) {
347160
+ const { prompt } = input;
347161
+ if (!prompt || prompt.trim().length === 0) {
347162
+ return {
347163
+ result: false,
347164
+ message: "Error: Missing prompt",
347165
+ errorCode: 1
347166
+ };
347167
+ }
347168
+ return { result: true };
347169
+ },
347170
+ async call(input, context6, _canUseTool, _parentMessage, onProgress) {
347171
+ const startTime2 = performance.now();
347172
+ const { prompt, ...rest } = input;
347173
+ const baseUrl = getMaximoAIBaseUrl();
347174
+ const apiKey = getMaximoApiKey();
347175
+ const endpoint = resolveImageEndpoint(baseUrl);
347176
+ if (!apiKey || !endpoint) {
347177
+ return {
347178
+ data: {
347179
+ prompt,
347180
+ images: [],
347181
+ durationSeconds: (performance.now() - startTime2) / 1000
347182
+ }
347183
+ };
347184
+ }
347185
+ if (onProgress) {
347186
+ onProgress({
347187
+ toolUseID: "image-progress-1",
347188
+ data: { type: "image_generation_started", prompt }
347189
+ });
347190
+ }
347191
+ const requestBody = { prompt, ...rest };
347192
+ try {
347193
+ const response = await fetch(endpoint.url, {
347194
+ method: "POST",
347195
+ headers: {
347196
+ "Content-Type": "application/json",
347197
+ Authorization: `Bearer ${apiKey}`
347198
+ },
347199
+ body: JSON.stringify(requestBody),
347200
+ signal: context6.abortController.signal
347201
+ });
347202
+ const rawText = await response.text();
347203
+ if (!response.ok) {
347204
+ logError2(new Error(`Image generation request failed (${response.status}): ${rawText}`));
347205
+ return {
347206
+ data: {
347207
+ prompt,
347208
+ images: [],
347209
+ durationSeconds: (performance.now() - startTime2) / 1000
347210
+ }
347211
+ };
347212
+ }
347213
+ let parsed;
347214
+ try {
347215
+ parsed = JSON.parse(rawText);
347216
+ } catch {
347217
+ return {
347218
+ data: {
347219
+ prompt,
347220
+ images: [],
347221
+ durationSeconds: (performance.now() - startTime2) / 1000
347222
+ }
347223
+ };
347224
+ }
347225
+ 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)) : [];
347226
+ if (onProgress) {
347227
+ onProgress({
347228
+ toolUseID: "image-progress-2",
347229
+ data: {
347230
+ type: "image_generation_completed",
347231
+ imageCount: images.length,
347232
+ prompt
347233
+ }
347234
+ });
347235
+ }
347236
+ return {
347237
+ data: {
347238
+ prompt,
347239
+ images,
347240
+ credits: parsed?.credits ?? null,
347241
+ modelUsed: parsed?.modelUsed ?? null,
347242
+ durationSeconds: (performance.now() - startTime2) / 1000
347243
+ }
347244
+ };
347245
+ } catch (error42) {
347246
+ if (error42?.name === "AbortError") {
347247
+ throw error42;
347248
+ }
347249
+ logError2(error42);
347250
+ return {
347251
+ data: {
347252
+ prompt,
347253
+ images: [],
347254
+ durationSeconds: (performance.now() - startTime2) / 1000
347255
+ }
347256
+ };
347257
+ }
347258
+ },
347259
+ mapToolResultToToolResultBlockParam(output, toolUseID) {
347260
+ const { prompt, images } = output;
347261
+ const lines = [];
347262
+ lines.push(`Generated image${images.length === 1 ? "" : "s"} for prompt: "${prompt}"`);
347263
+ if (!images || images.length === 0) {
347264
+ lines.push("No images were returned — tell the user generation failed and ask to try again.");
347265
+ } else {
347266
+ for (let i3 = 0;i3 < images.length; i3++) {
347267
+ const url3 = images[i3]?.url;
347268
+ if (url3) {
347269
+ lines.push(`Image ${i3 + 1} URL: ${url3}`);
347270
+ }
347271
+ }
347272
+ lines.push("IMPORTANT: Use the exact URL(s) above verbatim in your markdown. Do NOT invent, shorten, or change the domain/path. Example: ![alt text](<exact URL>)");
347273
+ }
347274
+ const blocks = [
347275
+ { type: "text", text: lines.join(`
347276
+ `) }
347277
+ ];
347278
+ for (const image of images ?? []) {
347279
+ if (image?.url) {
347280
+ blocks.push({
347281
+ type: "image",
347282
+ source: { type: "url", url: image.url }
347283
+ });
347284
+ }
347285
+ }
347286
+ return {
347287
+ tool_use_id: toolUseID,
347288
+ type: "tool_result",
347289
+ content: blocks
347290
+ };
347291
+ }
347292
+ });
347293
+ });
347294
+
347040
347295
  // src/utils/inProcessTeammateHelpers.ts
347041
347296
  function findInProcessTeammateTaskId(agentName, appState) {
347042
347297
  for (const task of Object.values(appState.tasks)) {
@@ -347257,7 +347512,7 @@ var autoModeActive = false, autoModeFlagCli = false, autoModeCircuitBroken = fal
347257
347512
 
347258
347513
  // src/tools/ExitPlanModeTool/ExitPlanModeV2Tool.ts
347259
347514
  import { writeFile as writeFile21 } from "fs/promises";
347260
- var autoModeStateModule, permissionSetupModule, allowedPromptSchema, inputSchema22, _sdkInputSchema, outputSchema18, ExitPlanModeV2Tool;
347515
+ var autoModeStateModule, permissionSetupModule, allowedPromptSchema, inputSchema23, _sdkInputSchema, outputSchema19, ExitPlanModeV2Tool;
347261
347516
  var init_ExitPlanModeV2Tool = __esm(() => {
347262
347517
  init_v4();
347263
347518
  init_state();
@@ -347280,14 +347535,14 @@ var init_ExitPlanModeV2Tool = __esm(() => {
347280
347535
  tool: exports_external.enum(["Bash"]).describe("The tool this prompt applies to"),
347281
347536
  prompt: exports_external.string().describe('Semantic description of the action, e.g. "run tests", "install dependencies"')
347282
347537
  }));
347283
- inputSchema22 = lazySchema(() => exports_external.strictObject({
347538
+ inputSchema23 = lazySchema(() => exports_external.strictObject({
347284
347539
  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
347540
  }).passthrough());
347286
- _sdkInputSchema = lazySchema(() => inputSchema22().extend({
347541
+ _sdkInputSchema = lazySchema(() => inputSchema23().extend({
347287
347542
  plan: exports_external.string().optional().describe("The plan content (injected by normalizeToolInput from disk)"),
347288
347543
  planFilePath: exports_external.string().optional().describe("The plan file path (injected by normalizeToolInput)")
347289
347544
  }));
347290
- outputSchema18 = lazySchema(() => exports_external.object({
347545
+ outputSchema19 = lazySchema(() => exports_external.object({
347291
347546
  plan: exports_external.string().nullable().describe("The plan that was presented to the user"),
347292
347547
  isAgent: exports_external.boolean(),
347293
347548
  filePath: exports_external.string().optional().describe("The file path where the plan was saved"),
@@ -347307,10 +347562,10 @@ var init_ExitPlanModeV2Tool = __esm(() => {
347307
347562
  return EXIT_PLAN_MODE_V2_TOOL_PROMPT;
347308
347563
  },
347309
347564
  get inputSchema() {
347310
- return inputSchema22();
347565
+ return inputSchema23();
347311
347566
  },
347312
347567
  get outputSchema() {
347313
- return outputSchema18();
347568
+ return outputSchema19();
347314
347569
  },
347315
347570
  userFacingName() {
347316
347571
  return "";
@@ -347536,11 +347791,11 @@ ${plan}`,
347536
347791
  });
347537
347792
 
347538
347793
  // src/tools/testing/TestingPermissionTool.tsx
347539
- var NAME = "TestingPermission", inputSchema23, TestingPermissionTool;
347794
+ var NAME = "TestingPermission", inputSchema24, TestingPermissionTool;
347540
347795
  var init_TestingPermissionTool = __esm(() => {
347541
347796
  init_v4();
347542
347797
  init_Tool();
347543
- inputSchema23 = lazySchema(() => exports_external.strictObject({}));
347798
+ inputSchema24 = lazySchema(() => exports_external.strictObject({}));
347544
347799
  TestingPermissionTool = buildTool({
347545
347800
  name: NAME,
347546
347801
  maxResultSizeChars: 1e5,
@@ -347551,7 +347806,7 @@ var init_TestingPermissionTool = __esm(() => {
347551
347806
  return "Test tool that always asks for permission before executing. Used for end-to-end testing.";
347552
347807
  },
347553
347808
  get inputSchema() {
347554
- return inputSchema23();
347809
+ return inputSchema24();
347555
347810
  },
347556
347811
  userFacingName() {
347557
347812
  return "TestingPermission";
@@ -347684,7 +347939,7 @@ function validateHtmlPreview(preview) {
347684
347939
  }
347685
347940
  return null;
347686
347941
  }
347687
- var import_react_compiler_runtime119, jsx_runtime143, questionOptionSchema, questionSchema, annotationsSchema, UNIQUENESS_REFINE, commonFields, inputSchema24, outputSchema19, AskUserQuestionTool;
347942
+ var import_react_compiler_runtime119, jsx_runtime143, questionOptionSchema, questionSchema, annotationsSchema, UNIQUENESS_REFINE, commonFields, inputSchema25, outputSchema20, AskUserQuestionTool;
347688
347943
  var init_AskUserQuestionTool = __esm(() => {
347689
347944
  init_state();
347690
347945
  init_MessageResponse();
@@ -347737,13 +347992,13 @@ var init_AskUserQuestionTool = __esm(() => {
347737
347992
  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
347993
  }).optional().describe("Optional metadata for tracking and analytics purposes. Not displayed to user.")
347739
347994
  }));
347740
- inputSchema24 = lazySchema(() => exports_external.strictObject({
347995
+ inputSchema25 = lazySchema(() => exports_external.strictObject({
347741
347996
  questions: exports_external.array(questionSchema()).min(1).max(4).describe("Questions to ask the user (1-4 questions)"),
347742
347997
  ...commonFields()
347743
347998
  }).refine(UNIQUENESS_REFINE.check, {
347744
347999
  message: UNIQUENESS_REFINE.message
347745
348000
  }));
347746
- outputSchema19 = lazySchema(() => exports_external.object({
348001
+ outputSchema20 = lazySchema(() => exports_external.object({
347747
348002
  questions: exports_external.array(questionSchema()).describe("The questions that were asked"),
347748
348003
  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
348004
  annotations: annotationsSchema()
@@ -347764,10 +348019,10 @@ var init_AskUserQuestionTool = __esm(() => {
347764
348019
  return ASK_USER_QUESTION_TOOL_PROMPT + PREVIEW_FEATURE_PROMPT[format4];
347765
348020
  },
347766
348021
  get inputSchema() {
347767
- return inputSchema24();
348022
+ return inputSchema25();
347768
348023
  },
347769
348024
  get outputSchema() {
347770
- return outputSchema19();
348025
+ return outputSchema20();
347771
348026
  },
347772
348027
  userFacingName() {
347773
348028
  return "";
@@ -348932,7 +349187,7 @@ function countUniqueFilesFromOutgoingCalls(calls) {
348932
349187
  const validUris = calls.map((call5) => call5.to?.uri).filter((uri) => uri);
348933
349188
  return new Set(validUris).size;
348934
349189
  }
348935
- var MAX_LSP_FILE_SIZE_BYTES = 1e7, inputSchema25, outputSchema20, LSPTool;
349190
+ var MAX_LSP_FILE_SIZE_BYTES = 1e7, inputSchema26, outputSchema21, LSPTool;
348936
349191
  var init_LSPTool = __esm(() => {
348937
349192
  init_v4();
348938
349193
  init_manager();
@@ -348948,7 +349203,7 @@ var init_LSPTool = __esm(() => {
348948
349203
  init_formatters();
348949
349204
  init_schemas5();
348950
349205
  init_UI18();
348951
- inputSchema25 = lazySchema(() => exports_external.strictObject({
349206
+ inputSchema26 = lazySchema(() => exports_external.strictObject({
348952
349207
  operation: exports_external.enum([
348953
349208
  "goToDefinition",
348954
349209
  "findReferences",
@@ -348964,7 +349219,7 @@ var init_LSPTool = __esm(() => {
348964
349219
  line: exports_external.number().int().positive().describe("The line number (1-based, as shown in editors)"),
348965
349220
  character: exports_external.number().int().positive().describe("The character offset (1-based, as shown in editors)")
348966
349221
  }));
348967
- outputSchema20 = lazySchema(() => exports_external.object({
349222
+ outputSchema21 = lazySchema(() => exports_external.object({
348968
349223
  operation: exports_external.enum([
348969
349224
  "goToDefinition",
348970
349225
  "findReferences",
@@ -348995,10 +349250,10 @@ var init_LSPTool = __esm(() => {
348995
349250
  return isLspConnected();
348996
349251
  },
348997
349252
  get inputSchema() {
348998
- return inputSchema25();
349253
+ return inputSchema26();
348999
349254
  },
349000
349255
  get outputSchema() {
349001
- return outputSchema20();
349256
+ return outputSchema21();
349002
349257
  },
349003
349258
  isConcurrencySafe() {
349004
349259
  return true;
@@ -349447,7 +349702,7 @@ var init_UI19 = __esm(() => {
349447
349702
  });
349448
349703
 
349449
349704
  // src/tools/EnterPlanModeTool/EnterPlanModeTool.ts
349450
- var inputSchema26, outputSchema21, EnterPlanModeTool;
349705
+ var inputSchema27, outputSchema22, EnterPlanModeTool;
349451
349706
  var init_EnterPlanModeTool = __esm(() => {
349452
349707
  init_v4();
349453
349708
  init_state();
@@ -349457,8 +349712,8 @@ var init_EnterPlanModeTool = __esm(() => {
349457
349712
  init_planModeV2();
349458
349713
  init_prompt16();
349459
349714
  init_UI19();
349460
- inputSchema26 = lazySchema(() => exports_external.strictObject({}));
349461
- outputSchema21 = lazySchema(() => exports_external.object({
349715
+ inputSchema27 = lazySchema(() => exports_external.strictObject({}));
349716
+ outputSchema22 = lazySchema(() => exports_external.object({
349462
349717
  message: exports_external.string().describe("Confirmation that plan mode was entered")
349463
349718
  }));
349464
349719
  EnterPlanModeTool = buildTool({
@@ -349472,10 +349727,10 @@ var init_EnterPlanModeTool = __esm(() => {
349472
349727
  return getEnterPlanModeToolPrompt();
349473
349728
  },
349474
349729
  get inputSchema() {
349475
- return inputSchema26();
349730
+ return inputSchema27();
349476
349731
  },
349477
349732
  get outputSchema() {
349478
- return outputSchema21();
349733
+ return outputSchema22();
349479
349734
  },
349480
349735
  userFacingName() {
349481
349736
  return "";
@@ -349629,7 +349884,7 @@ var init_UI20 = __esm(() => {
349629
349884
  });
349630
349885
 
349631
349886
  // src/tools/EnterWorktreeTool/EnterWorktreeTool.ts
349632
- var inputSchema27, outputSchema22, EnterWorktreeTool;
349887
+ var inputSchema28, outputSchema23, EnterWorktreeTool;
349633
349888
  var init_EnterWorktreeTool = __esm(() => {
349634
349889
  init_v4();
349635
349890
  init_state();
@@ -349644,7 +349899,7 @@ var init_EnterWorktreeTool = __esm(() => {
349644
349899
  init_sessionStorage();
349645
349900
  init_worktree();
349646
349901
  init_UI20();
349647
- inputSchema27 = lazySchema(() => exports_external.strictObject({
349902
+ inputSchema28 = lazySchema(() => exports_external.strictObject({
349648
349903
  name: exports_external.string().superRefine((s, ctx) => {
349649
349904
  try {
349650
349905
  validateWorktreeSlug(s);
@@ -349653,7 +349908,7 @@ var init_EnterWorktreeTool = __esm(() => {
349653
349908
  }
349654
349909
  }).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
349910
  }));
349656
- outputSchema22 = lazySchema(() => exports_external.object({
349911
+ outputSchema23 = lazySchema(() => exports_external.object({
349657
349912
  worktreePath: exports_external.string(),
349658
349913
  worktreeBranch: exports_external.string().optional(),
349659
349914
  message: exports_external.string()
@@ -349669,10 +349924,10 @@ var init_EnterWorktreeTool = __esm(() => {
349669
349924
  return getEnterWorktreeToolPrompt();
349670
349925
  },
349671
349926
  get inputSchema() {
349672
- return inputSchema27();
349927
+ return inputSchema28();
349673
349928
  },
349674
349929
  get outputSchema() {
349675
- return outputSchema22();
349930
+ return outputSchema23();
349676
349931
  },
349677
349932
  userFacingName() {
349678
349933
  return "Creating worktree";
@@ -349839,7 +350094,7 @@ function restoreSessionToOriginalCwd(originalCwd, projectRootIsWorktree) {
349839
350094
  clearMemoryFileCaches();
349840
350095
  getPlansDirectory.cache.clear?.();
349841
350096
  }
349842
- var inputSchema28, outputSchema23, ExitWorktreeTool;
350097
+ var inputSchema29, outputSchema24, ExitWorktreeTool;
349843
350098
  var init_ExitWorktreeTool = __esm(() => {
349844
350099
  init_v4();
349845
350100
  init_state();
@@ -349854,11 +350109,11 @@ var init_ExitWorktreeTool = __esm(() => {
349854
350109
  init_sessionStorage();
349855
350110
  init_worktree();
349856
350111
  init_UI21();
349857
- inputSchema28 = lazySchema(() => exports_external.strictObject({
350112
+ inputSchema29 = lazySchema(() => exports_external.strictObject({
349858
350113
  action: exports_external.enum(["keep", "remove"]).describe('"keep" leaves the worktree and branch on disk; "remove" deletes both.'),
349859
350114
  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
350115
  }));
349861
- outputSchema23 = lazySchema(() => exports_external.object({
350116
+ outputSchema24 = lazySchema(() => exports_external.object({
349862
350117
  action: exports_external.enum(["keep", "remove"]),
349863
350118
  originalCwd: exports_external.string(),
349864
350119
  worktreePath: exports_external.string(),
@@ -349879,10 +350134,10 @@ var init_ExitWorktreeTool = __esm(() => {
349879
350134
  return getExitWorktreeToolPrompt();
349880
350135
  },
349881
350136
  get inputSchema() {
349882
- return inputSchema28();
350137
+ return inputSchema29();
349883
350138
  },
349884
350139
  get outputSchema() {
349885
- return outputSchema23();
350140
+ return outputSchema24();
349886
350141
  },
349887
350142
  userFacingName() {
349888
350143
  return "Exiting worktree";
@@ -350877,7 +351132,7 @@ function buildNestedObject(path16, value) {
350877
351132
  }
350878
351133
  return { [key]: buildNestedObject(path16.slice(1), value) };
350879
351134
  }
350880
- var inputSchema29, outputSchema24, ConfigTool;
351135
+ var inputSchema30, outputSchema25, ConfigTool;
350881
351136
  var init_ConfigTool = __esm(() => {
350882
351137
  init_v4();
350883
351138
  init_analytics();
@@ -350890,11 +351145,11 @@ var init_ConfigTool = __esm(() => {
350890
351145
  init_prompt17();
350891
351146
  init_supportedSettings();
350892
351147
  init_UI22();
350893
- inputSchema29 = lazySchema(() => exports_external.strictObject({
351148
+ inputSchema30 = lazySchema(() => exports_external.strictObject({
350894
351149
  setting: exports_external.string().describe('The setting key (e.g., "theme", "model", "permissions.defaultMode")'),
350895
351150
  value: exports_external.union([exports_external.string(), exports_external.boolean(), exports_external.number()]).optional().describe("The new value. Omit to get current value.")
350896
351151
  }));
350897
- outputSchema24 = lazySchema(() => exports_external.object({
351152
+ outputSchema25 = lazySchema(() => exports_external.object({
350898
351153
  success: exports_external.boolean(),
350899
351154
  operation: exports_external.enum(["get", "set"]).optional(),
350900
351155
  setting: exports_external.string().optional(),
@@ -350914,10 +351169,10 @@ var init_ConfigTool = __esm(() => {
350914
351169
  return generatePrompt();
350915
351170
  },
350916
351171
  get inputSchema() {
350917
- return inputSchema29();
351172
+ return inputSchema30();
350918
351173
  },
350919
351174
  get outputSchema() {
350920
- return outputSchema24();
351175
+ return outputSchema25();
350921
351176
  },
350922
351177
  userFacingName() {
350923
351178
  return "Config";
@@ -351189,7 +351444,7 @@ var init_prompt18 = __esm(() => {
351189
351444
  });
351190
351445
 
351191
351446
  // src/tools/TaskCreateTool/TaskCreateTool.ts
351192
- var inputSchema30, outputSchema25, TaskCreateTool;
351447
+ var inputSchema31, outputSchema26, TaskCreateTool;
351193
351448
  var init_TaskCreateTool = __esm(() => {
351194
351449
  init_v4();
351195
351450
  init_Tool();
@@ -351197,13 +351452,13 @@ var init_TaskCreateTool = __esm(() => {
351197
351452
  init_tasks();
351198
351453
  init_teammate();
351199
351454
  init_prompt18();
351200
- inputSchema30 = lazySchema(() => exports_external.strictObject({
351455
+ inputSchema31 = lazySchema(() => exports_external.strictObject({
351201
351456
  subject: exports_external.string().describe("A brief title for the task"),
351202
351457
  description: exports_external.string().describe("What needs to be done"),
351203
351458
  activeForm: exports_external.string().optional().describe('Present continuous form shown in spinner when in_progress (e.g., "Running tests")'),
351204
351459
  metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional().describe("Arbitrary metadata to attach to the task")
351205
351460
  }));
351206
- outputSchema25 = lazySchema(() => exports_external.object({
351461
+ outputSchema26 = lazySchema(() => exports_external.object({
351207
351462
  task: exports_external.object({
351208
351463
  id: exports_external.string(),
351209
351464
  subject: exports_external.string()
@@ -351220,10 +351475,10 @@ var init_TaskCreateTool = __esm(() => {
351220
351475
  return getPrompt4();
351221
351476
  },
351222
351477
  get inputSchema() {
351223
- return inputSchema30();
351478
+ return inputSchema31();
351224
351479
  },
351225
351480
  get outputSchema() {
351226
- return outputSchema25();
351481
+ return outputSchema26();
351227
351482
  },
351228
351483
  userFacingName() {
351229
351484
  return "TaskCreate";
@@ -351314,15 +351569,15 @@ Returns full task details:
351314
351569
  `;
351315
351570
 
351316
351571
  // src/tools/TaskGetTool/TaskGetTool.ts
351317
- var inputSchema31, outputSchema26, TaskGetTool;
351572
+ var inputSchema32, outputSchema27, TaskGetTool;
351318
351573
  var init_TaskGetTool = __esm(() => {
351319
351574
  init_v4();
351320
351575
  init_Tool();
351321
351576
  init_tasks();
351322
- inputSchema31 = lazySchema(() => exports_external.strictObject({
351577
+ inputSchema32 = lazySchema(() => exports_external.strictObject({
351323
351578
  taskId: exports_external.string().describe("The ID of the task to retrieve")
351324
351579
  }));
351325
- outputSchema26 = lazySchema(() => exports_external.object({
351580
+ outputSchema27 = lazySchema(() => exports_external.object({
351326
351581
  task: exports_external.object({
351327
351582
  id: exports_external.string(),
351328
351583
  subject: exports_external.string(),
@@ -351343,10 +351598,10 @@ var init_TaskGetTool = __esm(() => {
351343
351598
  return PROMPT6;
351344
351599
  },
351345
351600
  get inputSchema() {
351346
- return inputSchema31();
351601
+ return inputSchema32();
351347
351602
  },
351348
351603
  get outputSchema() {
351349
- return outputSchema26();
351604
+ return outputSchema27();
351350
351605
  },
351351
351606
  userFacingName() {
351352
351607
  return "TaskGet";
@@ -351498,7 +351753,7 @@ Set up task dependencies:
351498
351753
  `;
351499
351754
 
351500
351755
  // src/tools/TaskUpdateTool/TaskUpdateTool.ts
351501
- var inputSchema32, outputSchema27, TaskUpdateTool;
351756
+ var inputSchema33, outputSchema28, TaskUpdateTool;
351502
351757
  var init_TaskUpdateTool = __esm(() => {
351503
351758
  init_v4();
351504
351759
  init_growthbook();
@@ -351509,7 +351764,7 @@ var init_TaskUpdateTool = __esm(() => {
351509
351764
  init_teammate();
351510
351765
  init_teammateMailbox();
351511
351766
  init_constants3();
351512
- inputSchema32 = lazySchema(() => {
351767
+ inputSchema33 = lazySchema(() => {
351513
351768
  const TaskUpdateStatusSchema = TaskStatusSchema2().or(exports_external.literal("deleted"));
351514
351769
  return exports_external.strictObject({
351515
351770
  taskId: exports_external.string().describe("The ID of the task to update"),
@@ -351523,7 +351778,7 @@ var init_TaskUpdateTool = __esm(() => {
351523
351778
  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
351779
  });
351525
351780
  });
351526
- outputSchema27 = lazySchema(() => exports_external.object({
351781
+ outputSchema28 = lazySchema(() => exports_external.object({
351527
351782
  success: exports_external.boolean(),
351528
351783
  taskId: exports_external.string(),
351529
351784
  updatedFields: exports_external.array(exports_external.string()),
@@ -351545,10 +351800,10 @@ var init_TaskUpdateTool = __esm(() => {
351545
351800
  return PROMPT7;
351546
351801
  },
351547
351802
  get inputSchema() {
351548
- return inputSchema32();
351803
+ return inputSchema33();
351549
351804
  },
351550
351805
  get outputSchema() {
351551
- return outputSchema27();
351806
+ return outputSchema28();
351552
351807
  },
351553
351808
  userFacingName() {
351554
351809
  return "TaskUpdate";
@@ -351804,14 +352059,14 @@ var init_prompt19 = __esm(() => {
351804
352059
  });
351805
352060
 
351806
352061
  // src/tools/TaskListTool/TaskListTool.ts
351807
- var inputSchema33, outputSchema28, TaskListTool;
352062
+ var inputSchema34, outputSchema29, TaskListTool;
351808
352063
  var init_TaskListTool = __esm(() => {
351809
352064
  init_v4();
351810
352065
  init_Tool();
351811
352066
  init_tasks();
351812
352067
  init_prompt19();
351813
- inputSchema33 = lazySchema(() => exports_external.strictObject({}));
351814
- outputSchema28 = lazySchema(() => exports_external.object({
352068
+ inputSchema34 = lazySchema(() => exports_external.strictObject({}));
352069
+ outputSchema29 = lazySchema(() => exports_external.object({
351815
352070
  tasks: exports_external.array(exports_external.object({
351816
352071
  id: exports_external.string(),
351817
352072
  subject: exports_external.string(),
@@ -351831,10 +352086,10 @@ var init_TaskListTool = __esm(() => {
351831
352086
  return getPrompt5();
351832
352087
  },
351833
352088
  get inputSchema() {
351834
- return inputSchema33();
352089
+ return inputSchema34();
351835
352090
  },
351836
352091
  get outputSchema() {
351837
- return outputSchema28();
352092
+ return outputSchema29();
351838
352093
  },
351839
352094
  userFacingName() {
351840
352095
  return "TaskList";
@@ -352049,7 +352304,7 @@ function generateUniqueTeamName(providedName) {
352049
352304
  }
352050
352305
  return generateWordSlug();
352051
352306
  }
352052
- var inputSchema34, TeamCreateTool;
352307
+ var inputSchema35, TeamCreateTool;
352053
352308
  var init_TeamCreateTool = __esm(() => {
352054
352309
  init_v4();
352055
352310
  init_state();
@@ -352064,7 +352319,7 @@ var init_TeamCreateTool = __esm(() => {
352064
352319
  init_teammateLayoutManager();
352065
352320
  init_tasks();
352066
352321
  init_words();
352067
- inputSchema34 = lazySchema(() => exports_external.strictObject({
352322
+ inputSchema35 = lazySchema(() => exports_external.strictObject({
352068
352323
  team_name: exports_external.string().describe("Name for the new team to create."),
352069
352324
  description: exports_external.string().optional().describe("Team description/purpose."),
352070
352325
  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 +352333,7 @@ var init_TeamCreateTool = __esm(() => {
352078
352333
  return "";
352079
352334
  },
352080
352335
  get inputSchema() {
352081
- return inputSchema34();
352336
+ return inputSchema35();
352082
352337
  },
352083
352338
  isEnabled() {
352084
352339
  return isAgentSwarmsEnabled();
@@ -352229,7 +352484,7 @@ var exports_TeamDeleteTool = {};
352229
352484
  __export(exports_TeamDeleteTool, {
352230
352485
  TeamDeleteTool: () => TeamDeleteTool
352231
352486
  });
352232
- var inputSchema35, TeamDeleteTool;
352487
+ var inputSchema36, TeamDeleteTool;
352233
352488
  var init_TeamDeleteTool = __esm(() => {
352234
352489
  init_v4();
352235
352490
  init_analytics();
@@ -352240,7 +352495,7 @@ var init_TeamDeleteTool = __esm(() => {
352240
352495
  init_teammateLayoutManager();
352241
352496
  init_tasks();
352242
352497
  init_UI23();
352243
- inputSchema35 = lazySchema(() => exports_external.strictObject({}));
352498
+ inputSchema36 = lazySchema(() => exports_external.strictObject({}));
352244
352499
  TeamDeleteTool = buildTool({
352245
352500
  name: TEAM_DELETE_TOOL_NAME,
352246
352501
  searchHint: "disband a swarm team and clean up",
@@ -352250,7 +352505,7 @@ var init_TeamDeleteTool = __esm(() => {
352250
352505
  return "";
352251
352506
  },
352252
352507
  get inputSchema() {
352253
- return inputSchema35();
352508
+ return inputSchema36();
352254
352509
  },
352255
352510
  isEnabled() {
352256
352511
  return isAgentSwarmsEnabled();
@@ -353318,7 +353573,7 @@ async function handlePlanRejection(recipientName, requestId, feedback, context6)
353318
353573
  }
353319
353574
  };
353320
353575
  }
353321
- var StructuredMessage, inputSchema36, SendMessageTool;
353576
+ var StructuredMessage, inputSchema37, SendMessageTool;
353322
353577
  var init_SendMessageTool = __esm(() => {
353323
353578
  init_v4();
353324
353579
  init_state();
@@ -353358,7 +353613,7 @@ var init_SendMessageTool = __esm(() => {
353358
353613
  feedback: exports_external.string().optional()
353359
353614
  })
353360
353615
  ]));
353361
- inputSchema36 = lazySchema(() => exports_external.object({
353616
+ inputSchema37 = lazySchema(() => exports_external.object({
353362
353617
  to: exports_external.string().describe('Recipient: teammate name, or "*" for broadcast to all teammates'),
353363
353618
  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
353619
  message: exports_external.union([
@@ -353374,7 +353629,7 @@ var init_SendMessageTool = __esm(() => {
353374
353629
  return "SendMessage";
353375
353630
  },
353376
353631
  get inputSchema() {
353377
- return inputSchema36();
353632
+ return inputSchema37();
353378
353633
  },
353379
353634
  shouldDefer: true,
353380
353635
  isEnabled() {
@@ -353633,6 +353888,7 @@ function getAllBaseTools() {
353633
353888
  WebFetchTool,
353634
353889
  TodoWriteTool,
353635
353890
  WebSearchTool,
353891
+ ImageGenerationTool,
353636
353892
  TaskStopTool,
353637
353893
  AskUserQuestionTool,
353638
353894
  SkillTool,
@@ -353724,6 +353980,7 @@ var init_tools2 = __esm(() => {
353724
353980
  init_BriefTool();
353725
353981
  init_TaskOutputTool();
353726
353982
  init_WebSearchTool();
353983
+ init_ImageGenerationTool();
353727
353984
  init_TodoWriteTool();
353728
353985
  init_ExitPlanModeV2Tool();
353729
353986
  init_TestingPermissionTool();
@@ -355123,7 +355380,7 @@ function resolveTeamName(input, appState) {
355123
355380
  return;
355124
355381
  return input.team_name || appState.teamContext?.teamName;
355125
355382
  }
355126
- var jsx_runtime151, proactiveModule = null, PROGRESS_THRESHOLD_MS2 = 2000, isBackgroundTasksDisabled2, baseInputSchema, fullInputSchema2, inputSchema8, outputSchema29, AgentTool;
355383
+ var jsx_runtime151, proactiveModule = null, PROGRESS_THRESHOLD_MS2 = 2000, isBackgroundTasksDisabled2, baseInputSchema, fullInputSchema2, inputSchema8, outputSchema30, AgentTool;
355127
355384
  var init_AgentTool = __esm(() => {
355128
355385
  init_Tool();
355129
355386
  init_promptCategory();
@@ -355199,7 +355456,7 @@ var init_AgentTool = __esm(() => {
355199
355456
  run_in_background: true
355200
355457
  }) : schema;
355201
355458
  });
355202
- outputSchema29 = lazySchema(() => {
355459
+ outputSchema30 = lazySchema(() => {
355203
355460
  const syncOutputSchema = agentToolResultSchema().extend({
355204
355461
  status: exports_external.literal("completed"),
355205
355462
  prompt: exports_external.string()
@@ -355248,7 +355505,7 @@ var init_AgentTool = __esm(() => {
355248
355505
  return inputSchema8();
355249
355506
  },
355250
355507
  get outputSchema() {
355251
- return outputSchema29();
355508
+ return outputSchema30();
355252
355509
  },
355253
355510
  async call({
355254
355511
  prompt,
@@ -358817,7 +359074,7 @@ async function* runShellCommand({
358817
359074
  }
358818
359075
  }
358819
359076
  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;
359077
+ `, 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
359078
  var init_BashTool = __esm(() => {
358822
359079
  init_v4();
358823
359080
  init_state();
@@ -358934,7 +359191,7 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
358934
359191
  newContent: exports_external.string()
358935
359192
  }).optional().describe("Internal: pre-computed sed edit result from preview")
358936
359193
  }));
358937
- inputSchema37 = lazySchema(() => isBackgroundTasksDisabled3 ? fullInputSchema3().omit({
359194
+ inputSchema38 = lazySchema(() => isBackgroundTasksDisabled3 ? fullInputSchema3().omit({
358938
359195
  run_in_background: true,
358939
359196
  _simulatedSedEdit: true
358940
359197
  }) : fullInputSchema3().omit({
@@ -358964,7 +359221,7 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
358964
359221
  "watch",
358965
359222
  "dev"
358966
359223
  ];
358967
- outputSchema30 = lazySchema(() => exports_external.object({
359224
+ outputSchema31 = lazySchema(() => exports_external.object({
358968
359225
  stdout: exports_external.string().describe("The standard output of the command"),
358969
359226
  stderr: exports_external.string().describe("The standard error output of the command"),
358970
359227
  rawOutputPath: exports_external.string().optional().describe("Path to raw output file for large MCP tool outputs"),
@@ -359019,7 +359276,7 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
359019
359276
  };
359020
359277
  },
359021
359278
  isSearchOrReadCommand(input) {
359022
- const parsed = inputSchema37().safeParse(input);
359279
+ const parsed = inputSchema38().safeParse(input);
359023
359280
  if (!parsed.success)
359024
359281
  return {
359025
359282
  isSearch: false,
@@ -359029,10 +359286,10 @@ For commands that are harder to parse at a glance (piped commands, obscure flags
359029
359286
  return isSearchOrReadBashCommand(parsed.data.command);
359030
359287
  },
359031
359288
  get inputSchema() {
359032
- return inputSchema37();
359289
+ return inputSchema38();
359033
359290
  },
359034
359291
  get outputSchema() {
359035
- return outputSchema30();
359292
+ return outputSchema31();
359036
359293
  },
359037
359294
  userFacingName(input) {
359038
359295
  if (!input) {
@@ -365919,7 +366176,7 @@ function getAnthropicEnvMetadata() {
365919
366176
  function getBuildAgeMinutes() {
365920
366177
  if (false)
365921
366178
  ;
365922
- const buildTime = new Date("2026-08-06T12:40:18.165Z").getTime();
366179
+ const buildTime = new Date("2026-08-07T23:32:22.784Z").getTime();
365923
366180
  if (isNaN(buildTime))
365924
366181
  return;
365925
366182
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -369465,8 +369722,8 @@ async function calculateDeferredToolDescriptionChars(tools, getToolPermissionCon
369465
369722
  tools,
369466
369723
  agents
369467
369724
  });
369468
- const inputSchema38 = tool.inputJSONSchema ? jsonStringify(tool.inputJSONSchema) : tool.inputSchema ? jsonStringify(zodToJsonSchema3(tool.inputSchema)) : "";
369469
- return tool.name.length + description.length + inputSchema38.length;
369725
+ const inputSchema39 = tool.inputJSONSchema ? jsonStringify(tool.inputJSONSchema) : tool.inputSchema ? jsonStringify(zodToJsonSchema3(tool.inputSchema)) : "";
369726
+ return tool.name.length + description.length + inputSchema39.length;
369470
369727
  }));
369471
369728
  return sizes.reduce((total, size) => total + size, 0);
369472
369729
  }
@@ -370974,7 +371231,7 @@ async function readImageWithTokenBudget(filePath, maxTokens = getDefaultFileRead
370974
371231
  }
370975
371232
  return result;
370976
371233
  }
370977
- var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS, inputSchema38, outputSchema31, FileReadTool, CYBER_RISK_MITIGATION_REMINDER = `
371234
+ var BLOCKED_DEVICE_PATHS, THIN_SPACE, fileReadListeners, MaxFileReadTokenExceededError, IMAGE_EXTENSIONS, inputSchema39, outputSchema32, FileReadTool, CYBER_RISK_MITIGATION_REMINDER = `
370978
371235
 
370979
371236
  <system-reminder>
370980
371237
  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 +371299,13 @@ var init_FileReadTool = __esm(() => {
371042
371299
  }
371043
371300
  };
371044
371301
  IMAGE_EXTENSIONS = new Set(["png", "jpg", "jpeg", "gif", "webp"]);
371045
- inputSchema38 = lazySchema(() => exports_external.strictObject({
371302
+ inputSchema39 = lazySchema(() => exports_external.strictObject({
371046
371303
  file_path: exports_external.string().describe("The absolute path to the file to read"),
371047
371304
  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
371305
  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
371306
  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
371307
  }));
371051
- outputSchema31 = lazySchema(() => {
371308
+ outputSchema32 = lazySchema(() => {
371052
371309
  const imageMediaTypes = exports_external.enum([
371053
371310
  "image/jpeg",
371054
371311
  "image/png",
@@ -371127,10 +371384,10 @@ var init_FileReadTool = __esm(() => {
371127
371384
  return renderPromptTemplate(pickLineFormatInstruction(), maxSizeInstruction, offsetInstruction);
371128
371385
  },
371129
371386
  get inputSchema() {
371130
- return inputSchema38();
371387
+ return inputSchema39();
371131
371388
  },
371132
371389
  get outputSchema() {
371133
- return outputSchema31();
371390
+ return outputSchema32();
371134
371391
  },
371135
371392
  userFacingName: userFacingName7,
371136
371393
  getToolUseSummary: getToolUseSummary8,
@@ -431997,7 +432254,7 @@ function getRecentActivitySync() {
431997
432254
  return cachedActivity;
431998
432255
  }
431999
432256
  function getLogoDisplayData() {
432000
- const version2 = process.env.DEMO_VERSION ?? "0.1.28" ?? "99.0.0";
432257
+ const version2 = process.env.DEMO_VERSION ?? "0.1.30" ?? "99.0.0";
432001
432258
  const serverUrl = getDirectConnectServerUrl();
432002
432259
  const displayPath = process.env.DEMO_VERSION ? "/code/maximo" : getDisplayPath(getCwd());
432003
432260
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -461462,7 +461719,7 @@ var init_bridge_kick = __esm(() => {
461462
461719
  var call57 = async () => {
461463
461720
  return {
461464
461721
  type: "text",
461465
- value: `${"99.0.0"} (built ${"2026-08-06T12:40:18.165Z"})`
461722
+ value: `${"99.0.0"} (built ${"2026-08-07T23:32:22.784Z"})`
461466
461723
  };
461467
461724
  }, version2, version_default;
461468
461725
  var init_version = __esm(() => {
@@ -526419,13 +526676,13 @@ function permissionPromptToolResultToPermissionDecision(result, tool, input, too
526419
526676
  decisionReason
526420
526677
  };
526421
526678
  }
526422
- var inputSchema39, decisionClassificationField, PermissionAllowResultSchema, PermissionDenyResultSchema, outputSchema32;
526679
+ var inputSchema40, decisionClassificationField, PermissionAllowResultSchema, PermissionDenyResultSchema, outputSchema33;
526423
526680
  var init_PermissionPromptToolResultSchema = __esm(() => {
526424
526681
  init_v4();
526425
526682
  init_debug();
526426
526683
  init_PermissionUpdate();
526427
526684
  init_PermissionUpdateSchema();
526428
- inputSchema39 = lazySchema(() => v4_default.object({
526685
+ inputSchema40 = lazySchema(() => v4_default.object({
526429
526686
  tool_name: v4_default.string().describe("The name of the tool requesting permission"),
526430
526687
  input: v4_default.record(v4_default.string(), v4_default.unknown()).describe("The input for the tool"),
526431
526688
  tool_use_id: v4_default.string().optional().describe("The unique tool use request ID")
@@ -526448,7 +526705,7 @@ var init_PermissionPromptToolResultSchema = __esm(() => {
526448
526705
  toolUseID: v4_default.string().optional(),
526449
526706
  decisionClassification: decisionClassificationField()
526450
526707
  }));
526451
- outputSchema32 = lazySchema(() => v4_default.union([PermissionAllowResultSchema(), PermissionDenyResultSchema()]));
526708
+ outputSchema33 = lazySchema(() => v4_default.union([PermissionAllowResultSchema(), PermissionDenyResultSchema()]));
526452
526709
  });
526453
526710
 
526454
526711
  // src/cli/ndjsonSafeStringify.ts
@@ -526792,7 +527049,7 @@ class StructuredIO {
526792
527049
  decision_reason: serializeDecisionReason(mainPermissionResult.decisionReason),
526793
527050
  tool_use_id: toolUseID,
526794
527051
  agent_id: toolUseContext.agentId
526795
- }, outputSchema32(), hookAbortController.signal, requestId).then((result) => ({ source: "sdk", result }));
527052
+ }, outputSchema33(), hookAbortController.signal, requestId).then((result) => ({ source: "sdk", result }));
526796
527053
  const winner = await Promise.race([hookPromise, sdkPromise]);
526797
527054
  if (winner.source === "hook") {
526798
527055
  if (winner.decision) {
@@ -526863,7 +527120,7 @@ class StructuredIO {
526863
527120
  input: { host: hostPattern.host },
526864
527121
  tool_use_id: randomUUID47(),
526865
527122
  description: `Allow network connection to ${hostPattern.host}?`
526866
- }, outputSchema32());
527123
+ }, outputSchema33());
526867
527124
  return result.behavior === "allow";
526868
527125
  } catch {
526869
527126
  return false;
@@ -535994,7 +536251,7 @@ function SetupRow({ children }) {
535994
536251
  }
535995
536252
  function WelcomeV2() {
535996
536253
  const { columns } = useTerminalSize();
535997
- const version3 = "0.1.28";
536254
+ const version3 = "0.1.30";
535998
536255
  const width = Math.max(48, Math.min(columns || 92, 92));
535999
536256
  const stacked = width < OCTOPUS_COMPACT_WIDTH + 42;
536000
536257
  return /* @__PURE__ */ jsx_runtime479.jsx(ThemedBox_default, {
@@ -550183,7 +550440,7 @@ function createCanUseToolWithPermissionPrompt(permissionPromptTool) {
550183
550440
  if (!permissionToolResultBlockParam.content || !Array.isArray(permissionToolResultBlockParam.content) || !permissionToolResultBlockParam.content[0] || permissionToolResultBlockParam.content[0].type !== "text" || typeof permissionToolResultBlockParam.content[0].text !== "string") {
550184
550441
  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
550442
  }
550186
- return permissionPromptToolResultToPermissionDecision(outputSchema32().parse(safeParseJSON(permissionToolResultBlockParam.content[0].text)), permissionPromptTool, input, toolUseContext);
550443
+ return permissionPromptToolResultToPermissionDecision(outputSchema33().parse(safeParseJSON(permissionToolResultBlockParam.content[0].text)), permissionPromptTool, input, toolUseContext);
550187
550444
  };
550188
550445
  return canUseTool;
550189
550446
  }
@@ -551928,11 +552185,11 @@ async function startMCPServer(cwd3, debug2, verbose) {
551928
552185
  const tools = getTools(toolPermissionContext);
551929
552186
  return {
551930
552187
  tools: await Promise.all(tools.map(async (tool) => {
551931
- let outputSchema33;
552188
+ let outputSchema34;
551932
552189
  if (tool.outputSchema) {
551933
552190
  const convertedSchema = zodToJsonSchema3(tool.outputSchema);
551934
552191
  if (typeof convertedSchema === "object" && convertedSchema !== null && "type" in convertedSchema && convertedSchema.type === "object") {
551935
- outputSchema33 = convertedSchema;
552192
+ outputSchema34 = convertedSchema;
551936
552193
  }
551937
552194
  }
551938
552195
  return {
@@ -551943,7 +552200,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
551943
552200
  agents: []
551944
552201
  }),
551945
552202
  inputSchema: zodToJsonSchema3(tool.inputSchema),
551946
- outputSchema: outputSchema33
552203
+ outputSchema: outputSchema34
551947
552204
  };
551948
552205
  }))
551949
552206
  };
@@ -555930,7 +556187,7 @@ Usage: maximo --remote "your task description"`, () => gracefulShutdown(1));
555930
556187
  pendingHookMessages
555931
556188
  }, renderAndRun);
555932
556189
  }
555933
- }).version("0.1.28 (Maximo Syntax)", "-v, --version", "Output the version number");
556190
+ }).version("0.1.30 (Maximo Syntax)", "-v, --version", "Output the version number");
555934
556191
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
555935
556192
  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
556193
  if (canUserConfigureAdvisor()) {
@@ -556469,7 +556726,7 @@ function validateProviderEnvOrExit() {
556469
556726
  async function main2() {
556470
556727
  const args = process.argv.slice(2);
556471
556728
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
556472
- console.log(`${"0.1.28"} (Maximo Syntax)`);
556729
+ console.log(`${"0.1.30"} (Maximo Syntax)`);
556473
556730
  return;
556474
556731
  }
556475
556732
  validateProviderEnvOrExit();
@@ -556546,4 +556803,4 @@ async function main2() {
556546
556803
  }
556547
556804
  main2();
556548
556805
 
556549
- //# debugId=7807FD4B411D5FA764756E2164756E21
556806
+ //# debugId=ECA6B8E49CFA68BB64756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maximoai/maximo-syntax-cli",
3
- "version": "0.1.28",
3
+ "version": "0.1.30",
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": {