@maximoai/maximo-syntax-cli 0.1.20 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -16
- package/dist/cli.mjs +180 -76
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -63,6 +63,21 @@ After installation, you can invoke the CLI using any of the following commands:
|
|
|
63
63
|
|
|
64
64
|
All five commands are equivalent and natively supported.
|
|
65
65
|
|
|
66
|
+
## Scrolling (app-managed by default)
|
|
67
|
+
|
|
68
|
+
Interactive sessions use **fullscreen alt-screen scroll** by default (`displayMode:
|
|
69
|
+
auto`), the same approach as Grok Build: an in-app ScrollBox owns the wheel and
|
|
70
|
+
keyboard scroll, sticky follow only while you are pinned to the bottom, and
|
|
71
|
+
streaming output cannot yank the viewport while you read earlier turns.
|
|
72
|
+
|
|
73
|
+
- **Wheel / trackpad** — scroll the conversation; follow pauses automatically.
|
|
74
|
+
- **PgUp / PgDn** — page through the transcript from the prompt.
|
|
75
|
+
- **End / jump-to-bottom pill** — resume follow of new output.
|
|
76
|
+
- **Wheel past the bottom** — also re-enables follow.
|
|
77
|
+
|
|
78
|
+
Prefer native terminal scrollback instead? Set Display mode to `inline` in
|
|
79
|
+
`/config`, or `export MAXIMO_SYNTAX_NO_FLICKER=0`.
|
|
80
|
+
|
|
66
81
|
## Prompt mouse controls
|
|
67
82
|
|
|
68
83
|
The prompt supports terminal-native mouse editing in both inline and
|
|
@@ -78,11 +93,6 @@ fullscreen layouts:
|
|
|
78
93
|
- Click a visible slash-command or file suggestion to accept that row
|
|
79
94
|
immediately. Keyboard navigation remains available.
|
|
80
95
|
|
|
81
|
-
Application-level dispatch is limited to the prompt and suggestion boxes. The
|
|
82
|
-
terminal’s mouse-reporting mode is global while it is enabled, so users who
|
|
83
|
-
need native terminal scrollback selection should use this switch before
|
|
84
|
-
starting Maximo Syntax:
|
|
85
|
-
|
|
86
96
|
```bash
|
|
87
97
|
# Keep the prompt from enabling mouse reporting.
|
|
88
98
|
export MAXIMO_SYNTAX_DISABLE_MOUSE=1
|
|
@@ -122,20 +132,21 @@ then `Q` in VS Code). The pane supports:
|
|
|
122
132
|
- `Ctrl+Up` / `Ctrl+Down` to reorder it.
|
|
123
133
|
- Typing to filter the queue.
|
|
124
134
|
|
|
125
|
-
Open the detailed transcript with `Ctrl+O`.
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
135
|
+
Open the detailed transcript with `Ctrl+O`. Scrollback supports mouse-wheel
|
|
136
|
+
and keyboard scrolling, `/` incremental search, `N`/`Shift+N` match navigation,
|
|
137
|
+
text selection and copy, and automatic follow while pinned to the bottom.
|
|
138
|
+
Manual scrolling pauses follow; returning to the bottom resumes it. Press
|
|
139
|
+
`Shift+Up` or click a message to focus it, then use Up/Down or `J`/`K` to move
|
|
140
|
+
between turns, Enter to fold or expand supported rows, `C` to copy, `R` for
|
|
141
|
+
raw view, and Escape to return. Press `[` to dump the complete expanded
|
|
132
142
|
transcript into native terminal scrollback, or `V` to open it in `$VISUAL` or
|
|
133
143
|
`$EDITOR`.
|
|
134
144
|
|
|
135
|
-
`/config` also exposes display mode (auto
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
145
|
+
`/config` also exposes display mode (`auto` = fullscreen scroll by default;
|
|
146
|
+
`inline` = native terminal scrollback; `fullscreen` / `compact` force the
|
|
147
|
+
alt-screen layout), UI density, prompt border style, reduced motion, contextual
|
|
148
|
+
shortcut hints, and response-completion notifications. Notifications can be
|
|
149
|
+
limited to times when the terminal is unfocused.
|
|
139
150
|
|
|
140
151
|
## Skills and cross-CLI compatibility
|
|
141
152
|
|
package/dist/cli.mjs
CHANGED
|
@@ -123670,7 +123670,7 @@ var init_metadata = __esm(() => {
|
|
|
123670
123670
|
isMaximoAiAuth: isMaximoAISubscriber(),
|
|
123671
123671
|
version: "99.0.0",
|
|
123672
123672
|
versionBase: getVersionBase(),
|
|
123673
|
-
buildTime: "2026-08-
|
|
123673
|
+
buildTime: "2026-08-03T11:50:31.866Z",
|
|
123674
123674
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
123675
123675
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
123676
123676
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -130044,13 +130044,13 @@ function isFullscreenEnvEnabled() {
|
|
|
130044
130044
|
if (isTmuxControlMode()) {
|
|
130045
130045
|
if (!loggedTmuxCcDisable) {
|
|
130046
130046
|
loggedTmuxCcDisable = true;
|
|
130047
|
-
logForDebugging2("fullscreen disabled: tmux -CC (iTerm2 integration mode) detected · set MAXIMO_SYNTAX_NO_FLICKER=1 to override");
|
|
130047
|
+
logForDebugging2("fullscreen disabled: tmux -CC (iTerm2 integration mode) detected · set displayMode=fullscreen or MAXIMO_SYNTAX_NO_FLICKER=1 to override");
|
|
130048
130048
|
}
|
|
130049
130049
|
return false;
|
|
130050
130050
|
}
|
|
130051
130051
|
if (displayMode === "fullscreen" || displayMode === "compact")
|
|
130052
130052
|
return true;
|
|
130053
|
-
return
|
|
130053
|
+
return true;
|
|
130054
130054
|
}
|
|
130055
130055
|
function isMouseTrackingEnabled() {
|
|
130056
130056
|
return !isEnvTruthy(process.env.MAXIMO_SYNTAX_DISABLE_MOUSE);
|
|
@@ -131101,6 +131101,16 @@ var init_terminal_focus_event = __esm(() => {
|
|
|
131101
131101
|
};
|
|
131102
131102
|
});
|
|
131103
131103
|
|
|
131104
|
+
// src/ink/prompt-mouse.ts
|
|
131105
|
+
function toPromptFrameRow(terminalRow, mainScreenRowOffset, altScreen) {
|
|
131106
|
+
return terminalRow - 1 - (altScreen ? 0 : mainScreenRowOffset ?? 0);
|
|
131107
|
+
}
|
|
131108
|
+
function shouldSuspendPromptMouseForNativeScroll(keyName2, altScreenActive) {
|
|
131109
|
+
if (altScreenActive)
|
|
131110
|
+
return false;
|
|
131111
|
+
return keyName2 === "wheelup" || keyName2 === "wheeldown";
|
|
131112
|
+
}
|
|
131113
|
+
|
|
131104
131114
|
// node_modules/scheduler/cjs/scheduler.production.js
|
|
131105
131115
|
var exports_scheduler_production = {};
|
|
131106
131116
|
__export(exports_scheduler_production, {
|
|
@@ -144888,6 +144898,9 @@ function processKeysInBatch(app, items, _unused1, _unused2) {
|
|
|
144888
144898
|
handleMouseEvent(app, item);
|
|
144889
144899
|
continue;
|
|
144890
144900
|
}
|
|
144901
|
+
if (app.props.isAltScreenActive && shouldSuspendPromptMouseForNativeScroll(item.name, app.props.isAltScreenActive())) {
|
|
144902
|
+
app.props.onSuspendPromptMouseForScroll?.();
|
|
144903
|
+
}
|
|
144891
144904
|
const sequence = item.sequence;
|
|
144892
144905
|
if (sequence === FOCUS_IN) {
|
|
144893
144906
|
app.handleTerminalFocus(true);
|
|
@@ -147718,8 +147731,6 @@ function renderNodeToOutput(node, output, {
|
|
|
147718
147731
|
const content = node.childNodes.find((c5) => isElementNode(c5) && c5.yogaNode !== undefined);
|
|
147719
147732
|
const contentYoga = content?.yogaNode;
|
|
147720
147733
|
const scrollHeight = contentYoga?.getComputedHeight() ?? 0;
|
|
147721
|
-
const prevScrollHeight = node.scrollHeight ?? scrollHeight;
|
|
147722
|
-
const prevInnerHeight = node.scrollViewportHeight ?? innerHeight;
|
|
147723
147734
|
node.scrollHeight = scrollHeight;
|
|
147724
147735
|
node.scrollViewportHeight = innerHeight;
|
|
147725
147736
|
node.scrollViewportTop = (y1 ?? y2) + padTop;
|
|
@@ -147734,15 +147745,9 @@ function renderNodeToOutput(node, output, {
|
|
|
147734
147745
|
}
|
|
147735
147746
|
const scrollTopBeforeFollow = node.scrollTop ?? 0;
|
|
147736
147747
|
const sticky = node.stickyScroll ?? Boolean(node.attributes["stickyScroll"]);
|
|
147737
|
-
|
|
147738
|
-
const grew = scrollHeight >= prevScrollHeight;
|
|
147739
|
-
const atBottom = sticky || grew && scrollTopBeforeFollow >= prevMaxScroll;
|
|
147740
|
-
if (atBottom && (node.pendingScrollDelta ?? 0) >= 0) {
|
|
147748
|
+
if (sticky && (node.pendingScrollDelta ?? 0) >= 0) {
|
|
147741
147749
|
node.scrollTop = maxScroll;
|
|
147742
147750
|
node.pendingScrollDelta = undefined;
|
|
147743
|
-
if (node.stickyScroll === false && scrollTopBeforeFollow >= prevMaxScroll) {
|
|
147744
|
-
node.stickyScroll = true;
|
|
147745
|
-
}
|
|
147746
147751
|
}
|
|
147747
147752
|
const followDelta = (node.scrollTop ?? 0) - scrollTopBeforeFollow;
|
|
147748
147753
|
if (followDelta > 0) {
|
|
@@ -148356,11 +148361,6 @@ var init_useTerminalNotification = __esm(() => {
|
|
|
148356
148361
|
TerminalWriteProvider = TerminalWriteContext.Provider;
|
|
148357
148362
|
});
|
|
148358
148363
|
|
|
148359
|
-
// src/ink/prompt-mouse.ts
|
|
148360
|
-
function toPromptFrameRow(terminalRow, mainScreenRowOffset, altScreen) {
|
|
148361
|
-
return terminalRow - 1 - (altScreen ? 0 : mainScreenRowOffset ?? 0);
|
|
148362
|
-
}
|
|
148363
|
-
|
|
148364
148364
|
// src/ink/ink.tsx
|
|
148365
148365
|
import { closeSync as closeSync3, constants as fsConstants, openSync as openSync3, readSync as readSync2, writeSync } from "fs";
|
|
148366
148366
|
import { format as format3 } from "util";
|
|
@@ -148414,6 +148414,9 @@ class Ink {
|
|
|
148414
148414
|
promptMouseTargets = new Map;
|
|
148415
148415
|
promptMouseTarget = null;
|
|
148416
148416
|
promptMouseTracking = false;
|
|
148417
|
+
promptMouseTrackingSuspendedForScroll = false;
|
|
148418
|
+
promptMouseScrollResumeTimer = null;
|
|
148419
|
+
static PROMPT_MOUSE_SCROLL_RESUME_MS = 1500;
|
|
148417
148420
|
prevFrameContaminated = false;
|
|
148418
148421
|
needsEraseBeforePaint = false;
|
|
148419
148422
|
cursorDeclaration = null;
|
|
@@ -148527,7 +148530,7 @@ class Ink {
|
|
|
148527
148530
|
this.log.reset();
|
|
148528
148531
|
this.displayCursor = null;
|
|
148529
148532
|
this.invalidatePromptMouseCalibration();
|
|
148530
|
-
if (this.promptMouseTracking) {
|
|
148533
|
+
if (this.promptMouseTracking && !this.promptMouseTrackingSuspendedForScroll) {
|
|
148531
148534
|
this.options.stdout.write(ENABLE_MOUSE_PROMPT_TRACKING);
|
|
148532
148535
|
}
|
|
148533
148536
|
};
|
|
@@ -148547,7 +148550,7 @@ class Ink {
|
|
|
148547
148550
|
this.resetFramesForAltScreen();
|
|
148548
148551
|
this.needsEraseBeforePaint = true;
|
|
148549
148552
|
}
|
|
148550
|
-
if (!this.altScreenActive && !this.isPaused && this.options.stdout.isTTY && this.promptMouseTracking) {
|
|
148553
|
+
if (!this.altScreenActive && !this.isPaused && this.options.stdout.isTTY && this.promptMouseTracking && !this.promptMouseTrackingSuspendedForScroll) {
|
|
148551
148554
|
this.options.stdout.write(ENABLE_MOUSE_PROMPT_TRACKING);
|
|
148552
148555
|
}
|
|
148553
148556
|
if (this.currentNode !== null) {
|
|
@@ -148687,7 +148690,8 @@ class Ink {
|
|
|
148687
148690
|
}
|
|
148688
148691
|
optimized.push(this.altScreenParkPatch);
|
|
148689
148692
|
}
|
|
148690
|
-
const
|
|
148693
|
+
const suppressMainScreenCursorPark = !this.altScreenActive && this.promptMouseTrackingSuspendedForScroll;
|
|
148694
|
+
const decl = suppressMainScreenCursorPark ? null : this.cursorDeclaration;
|
|
148691
148695
|
const rect = decl !== null ? nodeCache.get(decl.node) : undefined;
|
|
148692
148696
|
const target = decl !== null && rect !== undefined ? {
|
|
148693
148697
|
x: rect.x + decl.relativeX,
|
|
@@ -148760,10 +148764,10 @@ class Ink {
|
|
|
148760
148764
|
}
|
|
148761
148765
|
const tWrite = performance.now();
|
|
148762
148766
|
writeDiffToTerminal(this.terminal, optimized, this.altScreenActive && !SYNC_OUTPUT_SUPPORTED);
|
|
148763
|
-
if (this.promptMouseTracking && !this.altScreenActive && !this.isPaused && this.options.stdout.isTTY) {
|
|
148767
|
+
if (this.promptMouseTracking && !this.promptMouseTrackingSuspendedForScroll && !this.altScreenActive && !this.isPaused && this.options.stdout.isTTY) {
|
|
148764
148768
|
this.options.stdout.write(ENABLE_MOUSE_PROMPT_TRACKING);
|
|
148765
148769
|
}
|
|
148766
|
-
if (target !== null && this.promptMouseTracking && !this.altScreenActive && !this.isPaused && this.options.stdout.isTTY && this.pendingCursorCalibrationY === null && (this.promptMouseRowOffset === null || this.lastCalibratedCursorY !== target.y || this.lastCalibratedFrameCursorY !== frame.cursor.y)) {
|
|
148770
|
+
if (target !== null && this.promptMouseTracking && !this.promptMouseTrackingSuspendedForScroll && !this.altScreenActive && !this.isPaused && this.options.stdout.isTTY && this.pendingCursorCalibrationY === null && (this.promptMouseRowOffset === null || this.lastCalibratedCursorY !== target.y || this.lastCalibratedFrameCursorY !== frame.cursor.y)) {
|
|
148767
148771
|
this.pendingCursorCalibrationY = target.y;
|
|
148768
148772
|
this.pendingCalibrationFrameCursorY = frame.cursor.y;
|
|
148769
148773
|
this.options.stdout.write(REQUEST_CURSOR_POSITION);
|
|
@@ -148839,6 +148843,11 @@ class Ink {
|
|
|
148839
148843
|
this.altScreenActive = active;
|
|
148840
148844
|
this.altScreenMouseTracking = active && mouseTracking;
|
|
148841
148845
|
if (active) {
|
|
148846
|
+
if (this.promptMouseScrollResumeTimer) {
|
|
148847
|
+
clearTimeout(this.promptMouseScrollResumeTimer);
|
|
148848
|
+
this.promptMouseScrollResumeTimer = null;
|
|
148849
|
+
}
|
|
148850
|
+
this.promptMouseTrackingSuspendedForScroll = false;
|
|
148842
148851
|
this.resetFramesForAltScreen();
|
|
148843
148852
|
} else {
|
|
148844
148853
|
this.repaint();
|
|
@@ -148856,7 +148865,7 @@ class Ink {
|
|
|
148856
148865
|
this.options.stdout.write(DISABLE_KITTY_KEYBOARD + ENABLE_KITTY_KEYBOARD + ENABLE_MODIFY_OTHER_KEYS);
|
|
148857
148866
|
}
|
|
148858
148867
|
if (!this.altScreenActive) {
|
|
148859
|
-
if (this.promptMouseTracking) {
|
|
148868
|
+
if (this.promptMouseTracking && !this.promptMouseTrackingSuspendedForScroll) {
|
|
148860
148869
|
this.options.stdout.write(ENABLE_MOUSE_PROMPT_TRACKING);
|
|
148861
148870
|
}
|
|
148862
148871
|
return;
|
|
@@ -148908,11 +148917,38 @@ class Ink {
|
|
|
148908
148917
|
if (!this.options.stdout.isTTY || this.isPaused || this.altScreenActive) {
|
|
148909
148918
|
return;
|
|
148910
148919
|
}
|
|
148920
|
+
if (enabled && this.promptMouseTrackingSuspendedForScroll) {
|
|
148921
|
+
return;
|
|
148922
|
+
}
|
|
148911
148923
|
this.options.stdout.write(enabled ? ENABLE_MOUSE_PROMPT_TRACKING : DISABLE_MOUSE_PROMPT_TRACKING);
|
|
148912
148924
|
}
|
|
148925
|
+
suspendPromptMouseForNativeScroll = () => {
|
|
148926
|
+
if (this.altScreenActive)
|
|
148927
|
+
return;
|
|
148928
|
+
this.promptMouseTrackingSuspendedForScroll = true;
|
|
148929
|
+
if (this.promptMouseScrollResumeTimer) {
|
|
148930
|
+
clearTimeout(this.promptMouseScrollResumeTimer);
|
|
148931
|
+
}
|
|
148932
|
+
this.promptMouseScrollResumeTimer = setTimeout(() => {
|
|
148933
|
+
this.promptMouseScrollResumeTimer = null;
|
|
148934
|
+
this.resumePromptMouseAfterScroll();
|
|
148935
|
+
}, Ink.PROMPT_MOUSE_SCROLL_RESUME_MS);
|
|
148936
|
+
if (this.promptMouseTracking && this.options.stdout.isTTY && !this.isPaused) {
|
|
148937
|
+
this.options.stdout.write(DISABLE_MOUSE_PROMPT_TRACKING);
|
|
148938
|
+
}
|
|
148939
|
+
};
|
|
148940
|
+
resumePromptMouseAfterScroll() {
|
|
148941
|
+
if (!this.promptMouseTrackingSuspendedForScroll)
|
|
148942
|
+
return;
|
|
148943
|
+
this.promptMouseTrackingSuspendedForScroll = false;
|
|
148944
|
+
if (this.promptMouseTracking && this.options.stdout.isTTY && !this.isPaused && !this.altScreenActive) {
|
|
148945
|
+
this.options.stdout.write(ENABLE_MOUSE_PROMPT_TRACKING);
|
|
148946
|
+
}
|
|
148947
|
+
}
|
|
148913
148948
|
dispatchPromptMouse(m) {
|
|
148914
|
-
if (!this.promptMouseTracking || isMouseClicksDisabled())
|
|
148949
|
+
if (!this.promptMouseTracking || this.promptMouseTrackingSuspendedForScroll || isMouseClicksDisabled()) {
|
|
148915
148950
|
return false;
|
|
148951
|
+
}
|
|
148916
148952
|
const col = m.col - 1;
|
|
148917
148953
|
const row = toPromptFrameRow(m.row, this.promptMouseRowOffset, this.altScreenActive);
|
|
148918
148954
|
const baseButton = m.button & 3;
|
|
@@ -149298,6 +149334,7 @@ class Ink {
|
|
|
149298
149334
|
onStdinResume: this.reassertTerminalModes,
|
|
149299
149335
|
onPromptMouse: this.dispatchPromptMouse,
|
|
149300
149336
|
isAltScreenActive: () => this.altScreenActive,
|
|
149337
|
+
onSuspendPromptMouseForScroll: this.suspendPromptMouseForNativeScroll,
|
|
149301
149338
|
onCursorDeclaration: this.setCursorDeclaration,
|
|
149302
149339
|
onCursorPosition: this.handleCursorPosition,
|
|
149303
149340
|
dispatchKeyboardEvent: this.dispatchKeyboardEvent,
|
|
@@ -149343,6 +149380,10 @@ class Ink {
|
|
|
149343
149380
|
clearTimeout(this.drainTimer);
|
|
149344
149381
|
this.drainTimer = null;
|
|
149345
149382
|
}
|
|
149383
|
+
if (this.promptMouseScrollResumeTimer !== null) {
|
|
149384
|
+
clearTimeout(this.promptMouseScrollResumeTimer);
|
|
149385
|
+
this.promptMouseScrollResumeTimer = null;
|
|
149386
|
+
}
|
|
149346
149387
|
reconciler_default.updateContainerSync(null, this.container, null, noop_default);
|
|
149347
149388
|
reconciler_default.flushSyncWork();
|
|
149348
149389
|
instances_default.delete(this.options.stdout);
|
|
@@ -276381,7 +276422,7 @@ import { access as access3, writeFile as writeFile13 } from "fs/promises";
|
|
|
276381
276422
|
import { homedir as homedir22 } from "os";
|
|
276382
276423
|
import { join as join65 } from "path";
|
|
276383
276424
|
function getCurrentRealVersion() {
|
|
276384
|
-
return "0.1.
|
|
276425
|
+
return "0.1.22";
|
|
276385
276426
|
}
|
|
276386
276427
|
async function getRolloutConfig() {
|
|
276387
276428
|
try {
|
|
@@ -280832,7 +280873,7 @@ var init_detection = __esm(() => {
|
|
|
280832
280873
|
});
|
|
280833
280874
|
|
|
280834
280875
|
// src/entrypoints/sdk/coreSchemas.ts
|
|
280835
|
-
var ModelUsageSchema, OutputFormatTypeSchema, BaseOutputFormatSchema, JsonSchemaOutputFormatSchema, OutputFormatSchema, ApiKeySourceSchema, ConfigScopeSchema2, SdkBetaSchema, ThinkingAdaptiveSchema, ThinkingEnabledSchema, ThinkingDisabledSchema, ThinkingConfigSchema, McpStdioServerConfigSchema2, McpSSEServerConfigSchema2, McpHttpServerConfigSchema, McpSdkServerConfigSchema2, McpServerConfigForProcessTransportSchema, McpMaximoAIProxyServerConfigSchema2, McpServerStatusConfigSchema, McpServerStatusSchema, McpSetServersResultSchema, PermissionUpdateDestinationSchema, PermissionBehaviorSchema, PermissionRuleValueSchema, PermissionUpdateSchema, PermissionDecisionClassificationSchema, PermissionResultSchema, PermissionModeSchema, HOOK_EVENTS2, HookEventSchema, BaseHookInputSchema, PreToolUseHookInputSchema, PermissionRequestHookInputSchema, PostToolUseHookInputSchema, PostToolUseFailureHookInputSchema, PermissionDeniedHookInputSchema, NotificationHookInputSchema, UserPromptSubmitHookInputSchema, SessionStartHookInputSchema, SetupHookInputSchema, StopHookInputSchema, StopFailureHookInputSchema, SubagentStartHookInputSchema, SubagentStopHookInputSchema, PreCompactHookInputSchema, PostCompactHookInputSchema, TeammateIdleHookInputSchema, TaskCreatedHookInputSchema, TaskCompletedHookInputSchema, ElicitationHookInputSchema, ElicitationResultHookInputSchema, CONFIG_CHANGE_SOURCES, ConfigChangeHookInputSchema, INSTRUCTIONS_LOAD_REASONS, INSTRUCTIONS_MEMORY_TYPES, InstructionsLoadedHookInputSchema, WorktreeCreateHookInputSchema, WorktreeRemoveHookInputSchema, CwdChangedHookInputSchema, FileChangedHookInputSchema, EXIT_REASONS, ExitReasonSchema, SessionEndHookInputSchema, HookInputSchema, AsyncHookJSONOutputSchema, PreToolUseHookSpecificOutputSchema, UserPromptSubmitHookSpecificOutputSchema, SessionStartHookSpecificOutputSchema, SetupHookSpecificOutputSchema, SubagentStartHookSpecificOutputSchema, PostToolUseHookSpecificOutputSchema, PostToolUseFailureHookSpecificOutputSchema, PermissionDeniedHookSpecificOutputSchema, NotificationHookSpecificOutputSchema, PermissionRequestHookSpecificOutputSchema, CwdChangedHookSpecificOutputSchema, FileChangedHookSpecificOutputSchema, SyncHookJSONOutputSchema, ElicitationHookSpecificOutputSchema, ElicitationResultHookSpecificOutputSchema, WorktreeCreateHookSpecificOutputSchema, HookJSONOutputSchema, PromptRequestOptionSchema, PromptRequestSchema, PromptResponseSchema, SlashCommandSchema, AgentInfoSchema, ModelInfoSchema, AccountInfoSchema, AgentMcpServerSpecSchema2, AgentDefinitionSchema, SettingSourceSchema, SdkPluginConfigSchema, RewindFilesResultSchema, APIUserMessagePlaceholder, APIAssistantMessagePlaceholder, RawMessageStreamEventPlaceholder, UUIDPlaceholder, NonNullableUsagePlaceholder, SDKAssistantMessageErrorSchema, SDKStatusSchema, SDKUserMessageContentSchema, SDKUserMessageSchema, SDKUserMessageReplaySchema, SDKRateLimitInfoSchema, SDKAssistantMessageSchema, SDKRateLimitEventSchema, SDKStreamlinedTextMessageSchema, SDKStreamlinedToolUseSummaryMessageSchema, SDKPermissionDenialSchema, SDKResultSuccessSchema, SDKResultErrorSchema, SDKResultMessageSchema, SDKSystemMessageSchema, SDKPartialAssistantMessageSchema, SDKCompactBoundaryMessageSchema, SDKStatusMessageSchema, SDKPostTurnSummaryMessageSchema, SDKAPIRetryMessageSchema, SDKLocalCommandOutputMessageSchema, SDKHookStartedMessageSchema, SDKHookProgressMessageSchema, SDKHookResponseMessageSchema, SDKToolProgressMessageSchema, SDKAuthStatusMessageSchema, SDKFilesPersistedEventSchema, SDKTaskNotificationMessageSchema, SDKTaskStartedMessageSchema, SDKSessionStateChangedMessageSchema, SDKTaskProgressMessageSchema, SDKToolUseSummaryMessageSchema, SDKElicitationCompleteMessageSchema, SDKPromptSuggestionMessageSchema, SDKSessionInfoSchema, SDKMessageSchema, FastModeStateSchema;
|
|
280876
|
+
var ModelUsageSchema, OutputFormatTypeSchema, BaseOutputFormatSchema, JsonSchemaOutputFormatSchema, OutputFormatSchema, ApiKeySourceSchema, ConfigScopeSchema2, SdkBetaSchema, ThinkingAdaptiveSchema, ThinkingEnabledSchema, ThinkingDisabledSchema, ThinkingConfigSchema, McpStdioServerConfigSchema2, McpSSEServerConfigSchema2, McpHttpServerConfigSchema, McpSdkServerConfigSchema2, McpServerConfigForProcessTransportSchema, McpMaximoAIProxyServerConfigSchema2, McpServerStatusConfigSchema, McpServerStatusSchema, McpSetServersResultSchema, PermissionUpdateDestinationSchema, PermissionBehaviorSchema, PermissionRuleValueSchema, PermissionUpdateSchema, PermissionDecisionClassificationSchema, PermissionResultSchema, PermissionModeSchema, HOOK_EVENTS2, HookEventSchema, BaseHookInputSchema, PreToolUseHookInputSchema, PermissionRequestHookInputSchema, PostToolUseHookInputSchema, PostToolUseFailureHookInputSchema, PermissionDeniedHookInputSchema, NotificationHookInputSchema, UserPromptSubmitHookInputSchema, SessionStartHookInputSchema, SetupHookInputSchema, StopHookInputSchema, StopFailureHookInputSchema, SubagentStartHookInputSchema, SubagentStopHookInputSchema, PreCompactHookInputSchema, PostCompactHookInputSchema, TeammateIdleHookInputSchema, TaskCreatedHookInputSchema, TaskCompletedHookInputSchema, ElicitationHookInputSchema, ElicitationResultHookInputSchema, CONFIG_CHANGE_SOURCES, ConfigChangeHookInputSchema, INSTRUCTIONS_LOAD_REASONS, INSTRUCTIONS_MEMORY_TYPES, InstructionsLoadedHookInputSchema, WorktreeCreateHookInputSchema, WorktreeRemoveHookInputSchema, CwdChangedHookInputSchema, FileChangedHookInputSchema, EXIT_REASONS, ExitReasonSchema, SessionEndHookInputSchema, HookInputSchema, AsyncHookJSONOutputSchema, PreToolUseHookSpecificOutputSchema, UserPromptSubmitHookSpecificOutputSchema, SessionStartHookSpecificOutputSchema, SetupHookSpecificOutputSchema, SubagentStartHookSpecificOutputSchema, PostToolUseHookSpecificOutputSchema, PostToolUseFailureHookSpecificOutputSchema, PermissionDeniedHookSpecificOutputSchema, NotificationHookSpecificOutputSchema, PermissionRequestHookSpecificOutputSchema, CwdChangedHookSpecificOutputSchema, FileChangedHookSpecificOutputSchema, SyncHookJSONOutputSchema, ElicitationHookSpecificOutputSchema, ElicitationResultHookSpecificOutputSchema, WorktreeCreateHookSpecificOutputSchema, HookJSONOutputSchema, PromptRequestOptionSchema, PromptRequestSchema, PromptResponseSchema, SlashCommandSchema, AgentInfoSchema, ModelInfoSchema, AccountInfoSchema, AgentMcpServerSpecSchema2, AgentDefinitionSchema, SettingSourceSchema, SdkPluginConfigSchema, RewindFilesResultSchema, APIUserMessagePlaceholder, APIAssistantMessagePlaceholder, RawMessageStreamEventPlaceholder, UUIDPlaceholder, NonNullableUsagePlaceholder, SDKAssistantMessageErrorSchema, SDKStatusSchema, SDKUserMessageContentSchema, SDKUserMessageSchema, SDKUserMessageReplaySchema, SDKRateLimitInfoSchema, SDKAssistantMessageSchema, SDKRateLimitEventSchema, SDKStreamlinedTextMessageSchema, SDKStreamlinedToolUseSummaryMessageSchema, SDKPermissionDenialSchema, SDKResultSuccessSchema, SDKResultErrorSchema, SDKResultMessageSchema, SDKSystemMessageSchema, SDKPartialAssistantMessageSchema, SDKCompactBoundaryMessageSchema, SDKStatusMessageSchema, SDKPostTurnSummaryMessageSchema, SDKAPIRetryMessageSchema, SDKLocalCommandOutputMessageSchema, SDKClassifierDecisionMessageSchema, SDKHookStartedMessageSchema, SDKHookProgressMessageSchema, SDKHookResponseMessageSchema, SDKToolProgressMessageSchema, SDKAuthStatusMessageSchema, SDKFilesPersistedEventSchema, SDKTaskNotificationMessageSchema, SDKTaskStartedMessageSchema, SDKSessionStateChangedMessageSchema, SDKTaskProgressMessageSchema, SDKToolUseSummaryMessageSchema, SDKElicitationCompleteMessageSchema, SDKPromptSuggestionMessageSchema, SDKSessionInfoSchema, SDKMessageSchema, FastModeStateSchema;
|
|
280836
280877
|
var init_coreSchemas = __esm(() => {
|
|
280837
280878
|
init_v4();
|
|
280838
280879
|
ModelUsageSchema = lazySchema(() => exports_external.object({
|
|
@@ -281692,6 +281733,17 @@ var init_coreSchemas = __esm(() => {
|
|
|
281692
281733
|
uuid: UUIDPlaceholder(),
|
|
281693
281734
|
session_id: exports_external.string()
|
|
281694
281735
|
}).describe("Output from a local slash command (e.g. /voice, /cost). Displayed as assistant-style text in the transcript."));
|
|
281736
|
+
SDKClassifierDecisionMessageSchema = lazySchema(() => exports_external.object({
|
|
281737
|
+
type: exports_external.literal("system"),
|
|
281738
|
+
subtype: exports_external.literal("classifier_decision"),
|
|
281739
|
+
tool_use_id: exports_external.string(),
|
|
281740
|
+
tool_name: exports_external.string(),
|
|
281741
|
+
decision: exports_external.enum(["allowed", "denied"]),
|
|
281742
|
+
classifier: exports_external.string().describe('Classifier id, e.g. "auto-mode" or "bash".'),
|
|
281743
|
+
reason: exports_external.string().optional().describe("Human-readable reason from the classifier, when available."),
|
|
281744
|
+
uuid: UUIDPlaceholder(),
|
|
281745
|
+
session_id: exports_external.string()
|
|
281746
|
+
}).describe("Emitted when auto-mode or bash classifier allows or denies a tool use. Hosts should show this next to the matching tool activity."));
|
|
281695
281747
|
SDKHookStartedMessageSchema = lazySchema(() => exports_external.object({
|
|
281696
281748
|
type: exports_external.literal("system"),
|
|
281697
281749
|
subtype: exports_external.literal("hook_started"),
|
|
@@ -281855,6 +281907,7 @@ var init_coreSchemas = __esm(() => {
|
|
|
281855
281907
|
SDKStatusMessageSchema(),
|
|
281856
281908
|
SDKAPIRetryMessageSchema(),
|
|
281857
281909
|
SDKLocalCommandOutputMessageSchema(),
|
|
281910
|
+
SDKClassifierDecisionMessageSchema(),
|
|
281858
281911
|
SDKHookStartedMessageSchema(),
|
|
281859
281912
|
SDKHookProgressMessageSchema(),
|
|
281860
281913
|
SDKHookResponseMessageSchema(),
|
|
@@ -359896,6 +359949,31 @@ var init_bashPermissions = __esm(() => {
|
|
|
359896
359949
|
speculativeChecks = new Map;
|
|
359897
359950
|
});
|
|
359898
359951
|
|
|
359952
|
+
// src/utils/classifierDecisionEvents.ts
|
|
359953
|
+
function registerClassifierDecisionHandler(next) {
|
|
359954
|
+
handler7 = next;
|
|
359955
|
+
if (handler7 && pending.length > 0) {
|
|
359956
|
+
for (const event of pending.splice(0)) {
|
|
359957
|
+
handler7(event);
|
|
359958
|
+
}
|
|
359959
|
+
}
|
|
359960
|
+
}
|
|
359961
|
+
function emitClassifierDecision(event) {
|
|
359962
|
+
if (!event.toolUseId || !event.toolName)
|
|
359963
|
+
return;
|
|
359964
|
+
if (handler7) {
|
|
359965
|
+
handler7(event);
|
|
359966
|
+
return;
|
|
359967
|
+
}
|
|
359968
|
+
pending.push(event);
|
|
359969
|
+
if (pending.length > MAX_PENDING)
|
|
359970
|
+
pending.shift();
|
|
359971
|
+
}
|
|
359972
|
+
var MAX_PENDING = 50, pending, handler7 = null;
|
|
359973
|
+
var init_classifierDecisionEvents = __esm(() => {
|
|
359974
|
+
pending = [];
|
|
359975
|
+
});
|
|
359976
|
+
|
|
359899
359977
|
// src/utils/sessionActivity.ts
|
|
359900
359978
|
function startHeartbeatTimer() {
|
|
359901
359979
|
clearIdleTimer();
|
|
@@ -360986,6 +361064,15 @@ async function checkPermissionsAndCallTool(tool, toolUseID, input, toolUseContex
|
|
|
360986
361064
|
if (permissionDurationMs >= SLOW_PHASE_LOG_THRESHOLD_MS && permissionMode === "auto") {
|
|
360987
361065
|
logForDebugging2(`Slow permission decision: ${permissionDurationMs}ms for ${tool.name} ` + `(mode=${permissionMode}, behavior=${permissionDecision.behavior})`, { level: "info" });
|
|
360988
361066
|
}
|
|
361067
|
+
if (permissionDecision.decisionReason?.type === "classifier" && (permissionDecision.behavior === "allow" || permissionDecision.behavior === "deny")) {
|
|
361068
|
+
emitClassifierDecision({
|
|
361069
|
+
toolUseId: toolUseID,
|
|
361070
|
+
toolName: tool.name,
|
|
361071
|
+
decision: permissionDecision.behavior === "allow" ? "allowed" : "denied",
|
|
361072
|
+
classifier: permissionDecision.decisionReason.classifier,
|
|
361073
|
+
reason: permissionDecision.decisionReason.reason
|
|
361074
|
+
});
|
|
361075
|
+
}
|
|
360989
361076
|
if (permissionDecision.behavior !== "ask" && !toolUseContext.toolDecisions?.has(toolUseID)) {
|
|
360990
361077
|
const decision = permissionDecision.behavior === "allow" ? "accept" : "reject";
|
|
360991
361078
|
const source = decisionReasonToOTelSource(permissionDecision.decisionReason, permissionDecision.behavior);
|
|
@@ -361472,6 +361559,7 @@ var init_toolExecution = __esm(() => {
|
|
|
361472
361559
|
init_permissionLogging();
|
|
361473
361560
|
init_Tool();
|
|
361474
361561
|
init_bashPermissions();
|
|
361562
|
+
init_classifierDecisionEvents();
|
|
361475
361563
|
init_prompt2();
|
|
361476
361564
|
init_prompt3();
|
|
361477
361565
|
init_gitOperationTracking();
|
|
@@ -363801,7 +363889,7 @@ function getAnthropicEnvMetadata() {
|
|
|
363801
363889
|
function getBuildAgeMinutes() {
|
|
363802
363890
|
if (false)
|
|
363803
363891
|
;
|
|
363804
|
-
const buildTime = new Date("2026-08-
|
|
363892
|
+
const buildTime = new Date("2026-08-03T11:50:31.866Z").getTime();
|
|
363805
363893
|
if (isNaN(buildTime))
|
|
363806
363894
|
return;
|
|
363807
363895
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -369383,11 +369471,11 @@ For example, to get tab context:
|
|
|
369383
369471
|
2. Then: Call mcp__claude-in-chrome__tabs_context_mcp`, CLAUDE_IN_CHROME_SKILL_HINT = `**Browser Automation**: Chrome browser tools are available via the "claude-in-chrome" skill. CRITICAL: Before using any mcp__claude-in-chrome__* tools, invoke the skill by calling the Skill tool with skill: "claude-in-chrome". The skill provides browser automation instructions and enables the tools.`;
|
|
369384
369472
|
|
|
369385
369473
|
// src/utils/hooks/hookEvents.ts
|
|
369386
|
-
function registerHookEventHandler(
|
|
369387
|
-
eventHandler =
|
|
369388
|
-
if (
|
|
369474
|
+
function registerHookEventHandler(handler8) {
|
|
369475
|
+
eventHandler = handler8;
|
|
369476
|
+
if (handler8 && pendingEvents.length > 0) {
|
|
369389
369477
|
for (const event of pendingEvents.splice(0)) {
|
|
369390
|
-
|
|
369478
|
+
handler8(event);
|
|
369391
369479
|
}
|
|
369392
369480
|
}
|
|
369393
369481
|
}
|
|
@@ -371329,8 +371417,8 @@ async function getVerifyPlanReminderAttachment(messages, toolUseContext) {
|
|
|
371329
371417
|
return [];
|
|
371330
371418
|
}
|
|
371331
371419
|
const appState = toolUseContext.getAppState();
|
|
371332
|
-
const
|
|
371333
|
-
if (!
|
|
371420
|
+
const pending2 = appState.pendingPlanVerification;
|
|
371421
|
+
if (!pending2 || pending2.verificationStarted || pending2.verificationCompleted) {
|
|
371334
371422
|
return [];
|
|
371335
371423
|
}
|
|
371336
371424
|
if (messages && messages.length > 0) {
|
|
@@ -386696,9 +386784,9 @@ var init_directoryCompletion = __esm(() => {
|
|
|
386696
386784
|
});
|
|
386697
386785
|
|
|
386698
386786
|
// src/ink/hooks/use-prompt-mouse-target.ts
|
|
386699
|
-
function usePromptMouseTarget(
|
|
386700
|
-
const handlerRef = import_react94.useRef(
|
|
386701
|
-
handlerRef.current =
|
|
386787
|
+
function usePromptMouseTarget(handler8, enabled = true) {
|
|
386788
|
+
const handlerRef = import_react94.useRef(handler8);
|
|
386789
|
+
handlerRef.current = handler8;
|
|
386702
386790
|
const nodeRef = import_react94.useRef(null);
|
|
386703
386791
|
const registeredNodeRef = import_react94.useRef(null);
|
|
386704
386792
|
const unregisterRef = import_react94.useRef(null);
|
|
@@ -420267,9 +420355,9 @@ function ManagePlugins({
|
|
|
420267
420355
|
handleSingleOperationRef.current = handleSingleOperation;
|
|
420268
420356
|
import_react143.useEffect(() => {
|
|
420269
420357
|
if (viewState === "plugin-details" && selectedPlugin && pendingAutoActionRef.current) {
|
|
420270
|
-
const
|
|
420358
|
+
const pending2 = pendingAutoActionRef.current;
|
|
420271
420359
|
pendingAutoActionRef.current = undefined;
|
|
420272
|
-
handleSingleOperationRef.current(
|
|
420360
|
+
handleSingleOperationRef.current(pending2);
|
|
420273
420361
|
}
|
|
420274
420362
|
}, [viewState, selectedPlugin]);
|
|
420275
420363
|
const handleToggle = React79.useCallback(() => {
|
|
@@ -429868,7 +429956,7 @@ function getRecentActivitySync() {
|
|
|
429868
429956
|
return cachedActivity;
|
|
429869
429957
|
}
|
|
429870
429958
|
function getLogoDisplayData() {
|
|
429871
|
-
const version2 = process.env.DEMO_VERSION ?? "0.1.
|
|
429959
|
+
const version2 = process.env.DEMO_VERSION ?? "0.1.22" ?? "99.0.0";
|
|
429872
429960
|
const serverUrl = getDirectConnectServerUrl();
|
|
429873
429961
|
const displayPath = process.env.DEMO_VERSION ? "/code/maximo" : getDisplayPath(getCwd());
|
|
429874
429962
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -434094,10 +434182,10 @@ function VirtualMessageList({
|
|
|
434094
434182
|
searchState.current.screenOrd = ord;
|
|
434095
434183
|
startPtrRef.current = -1;
|
|
434096
434184
|
highlightRef.current(ord);
|
|
434097
|
-
const
|
|
434098
|
-
if (
|
|
434185
|
+
const pending2 = pendingStepRef.current;
|
|
434186
|
+
if (pending2) {
|
|
434099
434187
|
pendingStepRef.current = 0;
|
|
434100
|
-
stepRef.current(
|
|
434188
|
+
stepRef.current(pending2);
|
|
434101
434189
|
}
|
|
434102
434190
|
}, [seekGen]);
|
|
434103
434191
|
function jump(i3, wantLast) {
|
|
@@ -434383,14 +434471,14 @@ function StickyTracker({
|
|
|
434383
434471
|
}
|
|
434384
434472
|
const baseOffset = firstVisibleTop >= 0 ? firstVisibleTop - offsets[firstVisible] : 0;
|
|
434385
434473
|
const estimate = idx >= 0 ? Math.max(0, baseOffset + offsets[idx]) : -1;
|
|
434386
|
-
const
|
|
434474
|
+
const pending2 = import_react159.useRef({
|
|
434387
434475
|
idx: -1,
|
|
434388
434476
|
tries: 0
|
|
434389
434477
|
});
|
|
434390
434478
|
const suppress = import_react159.useRef("none");
|
|
434391
434479
|
const lastIdx = import_react159.useRef(-1);
|
|
434392
434480
|
import_react159.useEffect(() => {
|
|
434393
|
-
if (
|
|
434481
|
+
if (pending2.current.idx >= 0)
|
|
434394
434482
|
return;
|
|
434395
434483
|
if (suppress.current === "armed") {
|
|
434396
434484
|
suppress.current = "force";
|
|
@@ -434424,7 +434512,7 @@ function StickyTracker({
|
|
|
434424
434512
|
scrollRef.current?.scrollToElement(el, 1);
|
|
434425
434513
|
} else {
|
|
434426
434514
|
scrollRef.current?.scrollTo(capturedEstimate);
|
|
434427
|
-
|
|
434515
|
+
pending2.current = {
|
|
434428
434516
|
idx: capturedIdx,
|
|
434429
434517
|
tries: 0
|
|
434430
434518
|
};
|
|
@@ -434433,17 +434521,17 @@ function StickyTracker({
|
|
|
434433
434521
|
});
|
|
434434
434522
|
});
|
|
434435
434523
|
import_react159.useEffect(() => {
|
|
434436
|
-
if (
|
|
434524
|
+
if (pending2.current.idx < 0)
|
|
434437
434525
|
return;
|
|
434438
|
-
const el = getItemElement(
|
|
434526
|
+
const el = getItemElement(pending2.current.idx);
|
|
434439
434527
|
if (el) {
|
|
434440
434528
|
scrollRef.current?.scrollToElement(el, 1);
|
|
434441
|
-
|
|
434529
|
+
pending2.current = {
|
|
434442
434530
|
idx: -1,
|
|
434443
434531
|
tries: 0
|
|
434444
434532
|
};
|
|
434445
|
-
} else if (++
|
|
434446
|
-
|
|
434533
|
+
} else if (++pending2.current.tries > 5) {
|
|
434534
|
+
pending2.current = {
|
|
434447
434535
|
idx: -1,
|
|
434448
434536
|
tries: 0
|
|
434449
434537
|
};
|
|
@@ -459311,7 +459399,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
459311
459399
|
var call57 = async () => {
|
|
459312
459400
|
return {
|
|
459313
459401
|
type: "text",
|
|
459314
|
-
value: `${"99.0.0"} (built ${"2026-08-
|
|
459402
|
+
value: `${"99.0.0"} (built ${"2026-08-03T11:50:31.866Z"})`
|
|
459315
459403
|
};
|
|
459316
459404
|
}, version2, version_default;
|
|
459317
459405
|
var init_version = __esm(() => {
|
|
@@ -464153,14 +464241,14 @@ var init_effort3 = __esm(() => {
|
|
|
464153
464241
|
});
|
|
464154
464242
|
|
|
464155
464243
|
// native-stub:asciichart
|
|
464156
|
-
var noop16 = () => null,
|
|
464244
|
+
var noop16 = () => null, handler8, stub8, SandboxManager8, plot6;
|
|
464157
464245
|
var init_asciichart = __esm(() => {
|
|
464158
|
-
|
|
464246
|
+
handler8 = {
|
|
464159
464247
|
get(_, prop) {
|
|
464160
464248
|
if (prop === "__esModule")
|
|
464161
464249
|
return true;
|
|
464162
464250
|
if (prop === "default")
|
|
464163
|
-
return new Proxy({},
|
|
464251
|
+
return new Proxy({}, handler8);
|
|
464164
464252
|
if (prop === "ExportResultCode")
|
|
464165
464253
|
return { SUCCESS: 0, FAILED: 1 };
|
|
464166
464254
|
if (prop === "resourceFromAttributes")
|
|
@@ -464170,7 +464258,7 @@ var init_asciichart = __esm(() => {
|
|
|
464170
464258
|
return noop16;
|
|
464171
464259
|
}
|
|
464172
464260
|
};
|
|
464173
|
-
stub8 = new Proxy(noop16,
|
|
464261
|
+
stub8 = new Proxy(noop16, handler8);
|
|
464174
464262
|
SandboxManager8 = new Proxy({}, { get: () => noop16 });
|
|
464175
464263
|
plot6 = noop16;
|
|
464176
464264
|
});
|
|
@@ -492959,8 +493047,8 @@ function useFilePermissionDialog({
|
|
|
492959
493047
|
toolUseConfirm.onAllow = (_input, permissionUpdates, feedback3) => {
|
|
492960
493048
|
originalOnAllow(input, permissionUpdates, feedback3);
|
|
492961
493049
|
};
|
|
492962
|
-
const
|
|
492963
|
-
|
|
493050
|
+
const handler9 = PERMISSION_HANDLERS[option.type];
|
|
493051
|
+
handler9(params, {
|
|
492964
493052
|
feedback: feedback2,
|
|
492965
493053
|
hasFeedback: !!feedback2,
|
|
492966
493054
|
enteredFeedbackMode: option.type === "accept-once" ? yesFeedbackModeEntered : noFeedbackModeEntered,
|
|
@@ -516615,14 +516703,14 @@ __export(exports_cacache, {
|
|
|
516615
516703
|
ATTR_SERVICE_NAME: () => ATTR_SERVICE_NAME8
|
|
516616
516704
|
});
|
|
516617
516705
|
var noop17 = () => null, noopClass6 = class {
|
|
516618
|
-
},
|
|
516706
|
+
}, handler9, stub9, cacache_default, __stub6 = true, SandboxViolationStore7 = null, SandboxManager9, SandboxRuntimeConfigSchema7, BROWSER_TOOLS6, getMcpConfigForManifest6, ColorDiff7 = null, ColorFile7 = null, getSyntaxTheme8, plot7, createMaximoForChromeMcpServer6, ExportResultCode8, resourceFromAttributes8, Resource6, SimpleSpanProcessor6, BatchSpanProcessor7, NodeTracerProvider6, BasicTracerProvider7, OTLPTraceExporter6, OTLPLogExporter6, OTLPMetricExporter6, PrometheusExporter6, LoggerProvider8, SimpleLogRecordProcessor6, BatchLogRecordProcessor8, MeterProvider7, PeriodicExportingMetricReader7, trace8, context7, SpanStatusCode6, ATTR_SERVICE_NAME8 = "service.name", ATTR_SERVICE_VERSION8 = "service.version", SEMRESATTRS_SERVICE_NAME6 = "service.name", SEMRESATTRS_SERVICE_VERSION6 = "service.version", AggregationTemporality7, DataPointType6, InstrumentType6, PushMetricExporter6, SeverityNumber6;
|
|
516619
516707
|
var init_cacache = __esm(() => {
|
|
516620
|
-
|
|
516708
|
+
handler9 = {
|
|
516621
516709
|
get(_, prop) {
|
|
516622
516710
|
if (prop === "__esModule")
|
|
516623
516711
|
return true;
|
|
516624
516712
|
if (prop === "default")
|
|
516625
|
-
return new Proxy({},
|
|
516713
|
+
return new Proxy({}, handler9);
|
|
516626
516714
|
if (prop === "ExportResultCode")
|
|
516627
516715
|
return { SUCCESS: 0, FAILED: 1 };
|
|
516628
516716
|
if (prop === "resourceFromAttributes")
|
|
@@ -516632,7 +516720,7 @@ var init_cacache = __esm(() => {
|
|
|
516632
516720
|
return noop17;
|
|
516633
516721
|
}
|
|
516634
516722
|
};
|
|
516635
|
-
stub9 = new Proxy(noop17,
|
|
516723
|
+
stub9 = new Proxy(noop17, handler9);
|
|
516636
516724
|
cacache_default = stub9;
|
|
516637
516725
|
SandboxManager9 = new Proxy({}, { get: () => noop17 });
|
|
516638
516726
|
SandboxRuntimeConfigSchema7 = { parse: () => ({}) };
|
|
@@ -527275,7 +527363,7 @@ async function _temp234() {
|
|
|
527275
527363
|
priority: "high"
|
|
527276
527364
|
};
|
|
527277
527365
|
}
|
|
527278
|
-
var NPM_DEPRECATION_MESSAGE = "Maximo Syntax has switched from npm to native installer. Run `maximo install` or see https://
|
|
527366
|
+
var NPM_DEPRECATION_MESSAGE = "Maximo Syntax has switched from npm to native installer. Run `maximo install` or see https://maximoai.co/syntax for more options.";
|
|
527279
527367
|
var init_useNpmDeprecationNotification = __esm(() => {
|
|
527280
527368
|
init_doctorDiagnostic();
|
|
527281
527369
|
init_envUtils();
|
|
@@ -530631,8 +530719,8 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
530631
530719
|
]);
|
|
530632
530720
|
const initialMessageRef = import_react327.useRef(false);
|
|
530633
530721
|
import_react327.useEffect(() => {
|
|
530634
|
-
const
|
|
530635
|
-
if (!
|
|
530722
|
+
const pending2 = initialMessage;
|
|
530723
|
+
if (!pending2 || isLoading || initialMessageRef.current)
|
|
530636
530724
|
return;
|
|
530637
530725
|
initialMessageRef.current = true;
|
|
530638
530726
|
async function processInitialMessage(initialMsg) {
|
|
@@ -530704,7 +530792,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
530704
530792
|
ref.current = false;
|
|
530705
530793
|
}, 100, initialMessageRef);
|
|
530706
530794
|
}
|
|
530707
|
-
processInitialMessage(
|
|
530795
|
+
processInitialMessage(pending2);
|
|
530708
530796
|
}, [
|
|
530709
530797
|
initialMessage,
|
|
530710
530798
|
isLoading,
|
|
@@ -532053,16 +532141,16 @@ Note: ctrl + z now suspends Maximo Syntax, ctrl + _ undoes input.
|
|
|
532053
532141
|
idleMinutes: idleReturnPending.idleMinutes,
|
|
532054
532142
|
totalInputTokens: getTotalInputTokens(),
|
|
532055
532143
|
onDone: async (action2) => {
|
|
532056
|
-
const
|
|
532144
|
+
const pending2 = idleReturnPending;
|
|
532057
532145
|
setIdleReturnPending(null);
|
|
532058
532146
|
logEvent("tengu_idle_return_action", {
|
|
532059
532147
|
action: action2,
|
|
532060
|
-
idleMinutes: Math.round(
|
|
532148
|
+
idleMinutes: Math.round(pending2.idleMinutes),
|
|
532061
532149
|
messageCount: messagesRef.current.length,
|
|
532062
532150
|
totalInputTokens: getTotalInputTokens()
|
|
532063
532151
|
});
|
|
532064
532152
|
if (action2 === "dismiss") {
|
|
532065
|
-
setInputValue(
|
|
532153
|
+
setInputValue(pending2.input);
|
|
532066
532154
|
return;
|
|
532067
532155
|
}
|
|
532068
532156
|
if (action2 === "never") {
|
|
@@ -532092,7 +532180,7 @@ Note: ctrl + z now suspends Maximo Syntax, ctrl + _ undoes input.
|
|
|
532092
532180
|
bashToolsProcessedIdx.current = 0;
|
|
532093
532181
|
}
|
|
532094
532182
|
skipIdleCheckRef.current = true;
|
|
532095
|
-
onSubmitRef.current(
|
|
532183
|
+
onSubmitRef.current(pending2.input, {
|
|
532096
532184
|
setCursorOffset: () => {},
|
|
532097
532185
|
clearBuffer: () => {},
|
|
532098
532186
|
resetHistory: () => {}
|
|
@@ -533663,7 +533751,7 @@ function SetupRow({ children }) {
|
|
|
533663
533751
|
}
|
|
533664
533752
|
function WelcomeV2() {
|
|
533665
533753
|
const { columns } = useTerminalSize();
|
|
533666
|
-
const version3 = "0.1.
|
|
533754
|
+
const version3 = "0.1.22";
|
|
533667
533755
|
const width = Math.max(48, Math.min(columns || 92, 92));
|
|
533668
533756
|
const stacked = width < OCTOPUS_COMPACT_WIDTH + 42;
|
|
533669
533757
|
return /* @__PURE__ */ jsx_runtime479.jsx(ThemedBox_default, {
|
|
@@ -545909,6 +545997,21 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
|
|
|
545909
545997
|
structuredIO.write(message);
|
|
545910
545998
|
});
|
|
545911
545999
|
}
|
|
546000
|
+
if (options2.outputFormat === "stream-json") {
|
|
546001
|
+
registerClassifierDecisionHandler((event) => {
|
|
546002
|
+
structuredIO.write({
|
|
546003
|
+
type: "system",
|
|
546004
|
+
subtype: "classifier_decision",
|
|
546005
|
+
tool_use_id: event.toolUseId,
|
|
546006
|
+
tool_name: event.toolName,
|
|
546007
|
+
decision: event.decision,
|
|
546008
|
+
classifier: event.classifier,
|
|
546009
|
+
reason: event.reason,
|
|
546010
|
+
uuid: randomUUID53(),
|
|
546011
|
+
session_id: getSessionId()
|
|
546012
|
+
});
|
|
546013
|
+
});
|
|
546014
|
+
}
|
|
545912
546015
|
if (options2.setupTrigger) {
|
|
545913
546016
|
await processSetupHooks(options2.setupTrigger);
|
|
545914
546017
|
}
|
|
@@ -548604,6 +548707,7 @@ var init_print = __esm(() => {
|
|
|
548604
548707
|
init_path2();
|
|
548605
548708
|
init_queryHelpers();
|
|
548606
548709
|
init_hookEvents();
|
|
548710
|
+
init_classifierDecisionEvents();
|
|
548607
548711
|
init_filePersistence();
|
|
548608
548712
|
init_AsyncHookRegistry();
|
|
548609
548713
|
init_gracefulShutdown();
|
|
@@ -549258,7 +549362,7 @@ var init_server3 = __esm(() => {
|
|
|
549258
549362
|
}
|
|
549259
549363
|
this._capabilities = mergeCapabilities(this._capabilities, capabilities);
|
|
549260
549364
|
}
|
|
549261
|
-
setRequestHandler(requestSchema,
|
|
549365
|
+
setRequestHandler(requestSchema, handler10) {
|
|
549262
549366
|
const shape = getObjectShape(requestSchema);
|
|
549263
549367
|
const methodSchema = shape?.method;
|
|
549264
549368
|
if (!methodSchema) {
|
|
@@ -549286,7 +549390,7 @@ var init_server3 = __esm(() => {
|
|
|
549286
549390
|
throw new McpError(ErrorCode.InvalidParams, `Invalid tools/call request: ${errorMessage4}`);
|
|
549287
549391
|
}
|
|
549288
549392
|
const { params } = validatedRequest.data;
|
|
549289
|
-
const result = await Promise.resolve(
|
|
549393
|
+
const result = await Promise.resolve(handler10(request, extra));
|
|
549290
549394
|
if (params.task) {
|
|
549291
549395
|
const taskValidationResult = safeParse3(CreateTaskResultSchema, result);
|
|
549292
549396
|
if (!taskValidationResult.success) {
|
|
@@ -549304,7 +549408,7 @@ var init_server3 = __esm(() => {
|
|
|
549304
549408
|
};
|
|
549305
549409
|
return super.setRequestHandler(requestSchema, wrappedHandler);
|
|
549306
549410
|
}
|
|
549307
|
-
return super.setRequestHandler(requestSchema,
|
|
549411
|
+
return super.setRequestHandler(requestSchema, handler10);
|
|
549308
549412
|
}
|
|
549309
549413
|
assertCapabilityForMethod(method) {
|
|
549310
549414
|
switch (method) {
|
|
@@ -553574,7 +553678,7 @@ Usage: maximo --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
553574
553678
|
pendingHookMessages
|
|
553575
553679
|
}, renderAndRun);
|
|
553576
553680
|
}
|
|
553577
|
-
}).version("0.1.
|
|
553681
|
+
}).version("0.1.22 (Maximo Syntax)", "-v, --version", "Output the version number");
|
|
553578
553682
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
553579
553683
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
553580
553684
|
if (canUserConfigureAdvisor()) {
|
|
@@ -554105,7 +554209,7 @@ function validateProviderEnvOrExit() {
|
|
|
554105
554209
|
async function main2() {
|
|
554106
554210
|
const args = process.argv.slice(2);
|
|
554107
554211
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
554108
|
-
console.log(`${"0.1.
|
|
554212
|
+
console.log(`${"0.1.22"} (Maximo Syntax)`);
|
|
554109
554213
|
return;
|
|
554110
554214
|
}
|
|
554111
554215
|
validateProviderEnvOrExit();
|
|
@@ -554182,4 +554286,4 @@ async function main2() {
|
|
|
554182
554286
|
}
|
|
554183
554287
|
main2();
|
|
554184
554288
|
|
|
554185
|
-
//# debugId=
|
|
554289
|
+
//# debugId=13CAD1936B51588C64756E2164756E21
|