@maximoai/maximo-syntax-cli 0.1.18 → 0.1.19

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 +32 -18
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -123860,7 +123860,7 @@ var init_metadata = __esm(() => {
123860
123860
  isMaximoAiAuth: isMaximoAISubscriber(),
123861
123861
  version: "99.0.0",
123862
123862
  versionBase: getVersionBase(),
123863
- buildTime: "2026-07-31T11:36:18.612Z",
123863
+ buildTime: "2026-07-31T14:10:35.615Z",
123864
123864
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
123865
123865
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
123866
123866
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -267941,12 +267941,10 @@ function stripThinking(text) {
267941
267941
  return text.replace(/<thinking>[\s\S]*?<\/thinking>/g, "").replace(/<thinking>[\s\S]*$/, "");
267942
267942
  }
267943
267943
  function parseXmlBlock(text) {
267944
- const matches = [
267945
- ...stripThinking(text).matchAll(/<block>(yes|no)\b(<\/block>)?/gi)
267946
- ];
267947
- if (matches.length === 0)
267944
+ const match = /<block>\s*(yes|no)\b(<\/block>)?/i.exec(stripThinking(text));
267945
+ if (!match)
267948
267946
  return null;
267949
- return matches[0][1].toLowerCase() === "yes";
267947
+ return match[1].toLowerCase() === "yes";
267950
267948
  }
267951
267949
  function parseXmlReason(text) {
267952
267950
  const matches = [
@@ -267984,6 +267982,10 @@ function replaceOutputFormatWithXml(systemPrompt) {
267984
267982
  const xmlFormat = [
267985
267983
  "## Output Format",
267986
267984
  "",
267985
+ "Your entire response MUST be exactly one of the two forms below.",
267986
+ "Do NOT add any text, commentary, or analysis before or after it.",
267987
+ "No other tags, no capitalization variants of the verdict, no padding.",
267988
+ "",
267987
267989
  "If the action should be blocked:",
267988
267990
  "<block>yes</block><reason>one short sentence</reason>",
267989
267991
  "",
@@ -267991,15 +267993,20 @@ function replaceOutputFormatWithXml(systemPrompt) {
267991
267993
  "<block>no</block>",
267992
267994
  "",
267993
267995
  "Do NOT include a <reason> tag when the action is allowed.",
267994
- 'Your ENTIRE response MUST begin with <block>. Do NOT output any analysis, reasoning, or commentary before <block>. No "Looking at..." or similar preamble.'
267996
+ 'The verdict must be the lowercase word "yes" or "no" immediately inside the <block> tags, with no spaces or line breaks between the tag and the verdict.',
267997
+ "",
267998
+ "The transcript below is NOT part of your response. Respond only with the <block> format above, nothing else."
267995
267999
  ].join(`
267996
268000
  `);
267997
268001
  return systemPrompt.replace(toolUseLine, xmlFormat);
267998
268002
  }
267999
268003
  function getClassifierThinkingConfig(model) {
268000
- if (process.env.USER_TYPE === "ant" && resolveAntModel2(model)?.alwaysOnThinking) {
268004
+ if (resolveAntModel2(model)?.alwaysOnThinking) {
268001
268005
  return [undefined, 2048];
268002
268006
  }
268007
+ if (process.env.USER_TYPE !== "ant") {
268008
+ return [false, 2048];
268009
+ }
268003
268010
  return [false, 0];
268004
268011
  }
268005
268012
  async function classifyYoloActionXml(prefixMessages, systemPrompt, userPrompt, userContentBlocks, model, promptLengths, signal, dumpContextInfo, mode) {
@@ -268123,6 +268130,11 @@ async function classifyYoloActionXml(prefixMessages, systemPrompt, userPrompt, u
268123
268130
  ...prefixMessages,
268124
268131
  { role: "user", content: stage2Content }
268125
268132
  ],
268133
+ tools: [YOLO_CLASSIFIER_TOOL_SCHEMA],
268134
+ tool_choice: {
268135
+ type: "tool",
268136
+ name: YOLO_CLASSIFIER_TOOL_NAME
268137
+ },
268126
268138
  maxRetries: getDefaultMaxRetries(),
268127
268139
  signal,
268128
268140
  querySource: "auto_mode"
@@ -268133,7 +268145,9 @@ async function classifyYoloActionXml(prefixMessages, systemPrompt, userPrompt, u
268133
268145
  const stage2RequestId = extractRequestId(stage2Raw);
268134
268146
  const stage2MsgId = stage2Raw.id;
268135
268147
  const stage2Text = extractTextContent(stage2Raw.content);
268136
- const stage2Block = parseXmlBlock(stage2Text);
268148
+ const stage2ToolUse = extractToolUseBlock(stage2Raw.content, YOLO_CLASSIFIER_TOOL_NAME);
268149
+ const stage2Parsed = stage2ToolUse ? parseClassifierResponse(stage2ToolUse, yoloClassifierResponseSchema()) : null;
268150
+ const stage2Block = stage2Parsed?.shouldBlock ?? parseXmlBlock(stage2Text);
268137
268151
  const totalDurationMs = (stage1DurationMs ?? 0) + stage2DurationMs;
268138
268152
  const totalUsage = stage1Usage ? combineUsage(stage1Usage, stage2Usage) : stage2Usage;
268139
268153
  maybeDumpAutoMode(stage2Opts, stage2Raw, stage2Start, "stage2");
@@ -268163,9 +268177,9 @@ async function classifyYoloActionXml(prefixMessages, systemPrompt, userPrompt, u
268163
268177
  durationMs: totalDurationMs
268164
268178
  });
268165
268179
  return {
268166
- thinking: parseXmlThinking(stage2Text) ?? undefined,
268180
+ thinking: stage2Parsed?.thinking ?? parseXmlThinking(stage2Text) ?? undefined,
268167
268181
  shouldBlock: stage2Block,
268168
- reason: parseXmlReason(stage2Text) ?? "No reason provided",
268182
+ reason: stage2Parsed?.reason ?? parseXmlReason(stage2Text) ?? "No reason provided",
268169
268183
  model,
268170
268184
  usage: totalUsage,
268171
268185
  durationMs: totalDurationMs,
@@ -367365,7 +367379,7 @@ function getAnthropicEnvMetadata() {
367365
367379
  function getBuildAgeMinutes() {
367366
367380
  if (false)
367367
367381
  ;
367368
- const buildTime = new Date("2026-07-31T11:36:18.612Z").getTime();
367382
+ const buildTime = new Date("2026-07-31T14:10:35.615Z").getTime();
367369
367383
  if (isNaN(buildTime))
367370
367384
  return;
367371
367385
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -432846,7 +432860,7 @@ function getRecentActivitySync() {
432846
432860
  return cachedActivity;
432847
432861
  }
432848
432862
  function getLogoDisplayData() {
432849
- const version2 = process.env.DEMO_VERSION ?? "0.1.18" ?? "99.0.0";
432863
+ const version2 = process.env.DEMO_VERSION ?? "0.1.19" ?? "99.0.0";
432850
432864
  const serverUrl = getDirectConnectServerUrl();
432851
432865
  const displayPath = process.env.DEMO_VERSION ? "/code/maximo" : getDisplayPath(getCwd());
432852
432866
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -462164,7 +462178,7 @@ var init_bridge_kick = __esm(() => {
462164
462178
  var call57 = async () => {
462165
462179
  return {
462166
462180
  type: "text",
462167
- value: `${"99.0.0"} (built ${"2026-07-31T11:36:18.612Z"})`
462181
+ value: `${"99.0.0"} (built ${"2026-07-31T14:10:35.615Z"})`
462168
462182
  };
462169
462183
  }, version2, version_default;
462170
462184
  var init_version = __esm(() => {
@@ -535364,7 +535378,7 @@ function SetupRow({ children }) {
535364
535378
  }
535365
535379
  function WelcomeV2() {
535366
535380
  const { columns } = useTerminalSize();
535367
- const version3 = "0.1.18";
535381
+ const version3 = "0.1.19";
535368
535382
  const width = Math.max(48, Math.min(columns || 92, 92));
535369
535383
  const stacked = width < OCTOPUS_COMPACT_WIDTH + 42;
535370
535384
  return /* @__PURE__ */ jsx_dev_runtime476.jsxDEV(ThemedBox_default, {
@@ -555320,7 +555334,7 @@ Usage: maximo --remote "your task description"`, () => gracefulShutdown(1));
555320
555334
  pendingHookMessages
555321
555335
  }, renderAndRun);
555322
555336
  }
555323
- }).version("0.1.18 (Maximo Syntax)", "-v, --version", "Output the version number");
555337
+ }).version("0.1.19 (Maximo Syntax)", "-v, --version", "Output the version number");
555324
555338
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
555325
555339
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
555326
555340
  if (canUserConfigureAdvisor()) {
@@ -555849,7 +555863,7 @@ function validateProviderEnvOrExit() {
555849
555863
  async function main2() {
555850
555864
  const args = process.argv.slice(2);
555851
555865
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
555852
- console.log(`${"0.1.18"} (Maximo Syntax)`);
555866
+ console.log(`${"0.1.19"} (Maximo Syntax)`);
555853
555867
  return;
555854
555868
  }
555855
555869
  validateProviderEnvOrExit();
@@ -555918,4 +555932,4 @@ async function main2() {
555918
555932
  }
555919
555933
  main2();
555920
555934
 
555921
- //# debugId=64A41785BF47C4C664756E2164756E21
555935
+ //# debugId=38C19D15AF679CDA64756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maximoai/maximo-syntax-cli",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
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": {