@super-one/cli 0.72.1-alpha → 0.72.2-alpha
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/MANIFEST.json +2 -2
- package/lib/cli.mjs +109 -56
- package/package.json +10 -10
package/MANIFEST.json
CHANGED
package/lib/cli.mjs
CHANGED
|
@@ -137,8 +137,8 @@ import { fileURLToPath } from "node:url";
|
|
|
137
137
|
function resolveCliReleaseVersion() {
|
|
138
138
|
const fromEnv = process.env.SUPERONE_CLI_VERSION?.trim();
|
|
139
139
|
if (fromEnv) return fromEnv;
|
|
140
|
-
if ("0.72.
|
|
141
|
-
return "0.72.
|
|
140
|
+
if ("0.72.2-alpha".trim()) {
|
|
141
|
+
return "0.72.2-alpha".trim();
|
|
142
142
|
}
|
|
143
143
|
const fromDist = readDistManifestVersion();
|
|
144
144
|
if (fromDist) return fromDist;
|
|
@@ -10340,6 +10340,8 @@ var init_superone_system_prompt = __esm({
|
|
|
10340
10340
|
|
|
10341
10341
|
SuperOne tools cover browser, terminal and device control, media, widgets, sessions, collaboration, automations, settings, and mini-apps. Read only the manual topics needed for the task; reuse guidance already in context.
|
|
10342
10342
|
|
|
10343
|
+
Help improve SuperOne: when the user encounters a SuperOne bug, read_manual({ domain: "product", topic: "debug" }) before investigating. For SuperOne bug reports, feature requests, or upstream contributions, read_manual({ domain: "product", topic: "contribute" }) and follow its workflow.
|
|
10344
|
+
|
|
10343
10345
|
Prefer SuperOne's built-in tools for browser, device, media, widget and session work unless the user explicitly requests another tool or no suitable SuperOne tool is available. Running commands is the exception: your own shell tool stays the default (see Terminals).
|
|
10344
10346
|
|
|
10345
10347
|
Terminals: run commands that finish without input in your shell tool, regardless of duration \u2014 a long build, a test suite or an install still belongs there. Use terminal_tabs run only for commands that run until stopped (dev server, watch mode, docker compose up, tail -f) or need keyboard input after launch (REPL, TUI, ssh, interactive wizard). Run those in the foreground of a tab instead of backgrounding them in the shell tool with \`&\`, nohup or setsid. Once a tab is open, use terminal_wait_for for the ready line or prompt, terminal_snapshot to read the screen, terminal_act to type or send keys, and terminal_tabs close when its job is done. Each command is approved by the user and your control ends when it exits; a rejected result means stop and ask, not retry.
|
|
@@ -13078,7 +13080,7 @@ function isStaticHostOwnedSuperoneToolQualified(qualifiedName) {
|
|
|
13078
13080
|
function isNeverAutoAllowSuperoneBareName(bare) {
|
|
13079
13081
|
return NEVER_AUTO_ALLOW_SUPERONE_BARE_NAMES.includes(bare);
|
|
13080
13082
|
}
|
|
13081
|
-
var MCP_SUPERONE_TOOL_PREFIX, BROWSER_PRIMITIVE_TOOL_NAMES, BROWSER_ACTION_TOOL_NAMES, BROWSER_LEGACY_TOOL_NAMES, BROWSER_COMPACT_TOOL_NAMES, BROWSER_TOOL_NAMES, DEVICE_AGENT_TOOL_NAMES, TERMINAL_TOOL_NAMES, BUILT_IN_SUPERONE_TOOL_NAMES, MINIAPP_LIST_BARE_NAME, MINIAPP_CALL_BARE_NAME, NEVER_AUTO_ALLOW_SUPERONE_BARE_NAMES, STATIC_HOST_OWNED_SUPERONE_QUALIFIED_TOOL_NAMES;
|
|
13083
|
+
var MCP_SUPERONE_TOOL_PREFIX, BROWSER_PRIMITIVE_TOOL_NAMES, BROWSER_ACTION_TOOL_NAMES, BROWSER_LEGACY_TOOL_NAMES, BROWSER_COMPACT_TOOL_NAMES, BROWSER_TOOL_NAMES, COMPUTER_USE_TOOL_NAMES, DEVICE_AGENT_TOOL_NAMES, TERMINAL_TOOL_NAMES, BUILT_IN_SUPERONE_TOOL_NAMES, MINIAPP_LIST_BARE_NAME, MINIAPP_CALL_BARE_NAME, NEVER_AUTO_ALLOW_SUPERONE_BARE_NAMES, STATIC_HOST_OWNED_SUPERONE_QUALIFIED_TOOL_NAMES;
|
|
13082
13084
|
var init_superone_host_owned_tools = __esm({
|
|
13083
13085
|
"../../packages/shared/src/superone-host-owned-tools.ts"() {
|
|
13084
13086
|
"use strict";
|
|
@@ -13147,6 +13149,15 @@ var init_superone_host_owned_tools = __esm({
|
|
|
13147
13149
|
(name) => !BROWSER_LEGACY_TOOL_NAMES.includes(name)
|
|
13148
13150
|
)
|
|
13149
13151
|
];
|
|
13152
|
+
COMPUTER_USE_TOOL_NAMES = [
|
|
13153
|
+
"computer_apps",
|
|
13154
|
+
"computer_snapshot",
|
|
13155
|
+
"computer_zoom",
|
|
13156
|
+
"computer_query",
|
|
13157
|
+
"computer_act",
|
|
13158
|
+
"computer_run",
|
|
13159
|
+
"computer_wait_for"
|
|
13160
|
+
];
|
|
13150
13161
|
DEVICE_AGENT_TOOL_NAMES = [
|
|
13151
13162
|
"device_list",
|
|
13152
13163
|
"device_boot",
|
|
@@ -17345,6 +17356,7 @@ function createNodeSessionEventMapper(ctx) {
|
|
|
17345
17356
|
} : {},
|
|
17346
17357
|
...asString(payload.serverName) ? { serverName: asString(payload.serverName) } : {},
|
|
17347
17358
|
...asString(payload.message) ? { message: asString(payload.message) } : {},
|
|
17359
|
+
...payload.permissionDetails && typeof payload.permissionDetails === "object" ? { permissionDetails: payload.permissionDetails } : {},
|
|
17348
17360
|
...sessionAgentsConfirm ? { sessionAgentsConfirm } : {},
|
|
17349
17361
|
...webmcpTrustConfirm ? { webmcpTrustConfirm } : {},
|
|
17350
17362
|
...payload.inputRequest && typeof payload.inputRequest === "object" ? { inputRequest: payload.inputRequest } : {},
|
|
@@ -17896,7 +17908,7 @@ var LEGACY_CAPABILITY_IDS, BUILTIN_CAPABILITIES, BUILTIN_CAPABILITY_IDS, byId, l
|
|
|
17896
17908
|
var init_capability_prompt_tags = __esm({
|
|
17897
17909
|
"../../packages/shared/src/capability-prompt-tags.ts"() {
|
|
17898
17910
|
"use strict";
|
|
17899
|
-
LEGACY_CAPABILITY_IDS = ["collab"];
|
|
17911
|
+
LEGACY_CAPABILITY_IDS = ["collab", "debug"];
|
|
17900
17912
|
BUILTIN_CAPABILITIES = [
|
|
17901
17913
|
{
|
|
17902
17914
|
id: "computer",
|
|
@@ -17915,12 +17927,6 @@ var init_capability_prompt_tags = __esm({
|
|
|
17915
17927
|
displayName: "Widget",
|
|
17916
17928
|
intent: "render SVG, diagrams, charts, or interactive HTML inline in chat via widget tools",
|
|
17917
17929
|
toolPrefix: "widget_"
|
|
17918
|
-
},
|
|
17919
|
-
{
|
|
17920
|
-
id: "debug",
|
|
17921
|
-
displayName: "Debug",
|
|
17922
|
-
intent: "diagnose SuperOne bugs, gather logs, and help file an upstream issue when the user wants",
|
|
17923
|
-
hint: 'first call read_manual({ domain: "product", topic: "debug" }); then read_manual({ domain: "product", topic: "contribute" }) only if they want to report upstream. If they have no GitHub account, draft the issue for them to copy \u2014 do not open a PR'
|
|
17924
17930
|
}
|
|
17925
17931
|
];
|
|
17926
17932
|
BUILTIN_CAPABILITY_IDS = BUILTIN_CAPABILITIES.map((c) => c.id);
|
|
@@ -26428,17 +26434,18 @@ function listHarnessModels(store, harness, apiProviderId, options) {
|
|
|
26428
26434
|
if (harness === "codex") return DEFAULT_CODEX_MODELS;
|
|
26429
26435
|
return [];
|
|
26430
26436
|
}
|
|
26431
|
-
var DEFAULT_CLAUDE_MODELS, DEFAULT_CODEX_MODELS;
|
|
26437
|
+
var CLAUDE_EFFORT_LEVELS, DEFAULT_CLAUDE_MODELS, DEFAULT_CODEX_MODELS;
|
|
26432
26438
|
var init_resolve_service = __esm({
|
|
26433
26439
|
"src/provider/resolve-service.ts"() {
|
|
26434
26440
|
"use strict";
|
|
26435
26441
|
init_codex_accounts();
|
|
26436
26442
|
init_platform_registry();
|
|
26437
26443
|
init_llm_proxy();
|
|
26444
|
+
CLAUDE_EFFORT_LEVELS = ["low", "medium", "high", "xhigh", "max"];
|
|
26438
26445
|
DEFAULT_CLAUDE_MODELS = [
|
|
26439
|
-
{ id: "claude-
|
|
26440
|
-
{ id: "claude-
|
|
26441
|
-
{ id: "claude-haiku-
|
|
26446
|
+
{ id: "claude-opus-5-5", name: "Opus 5.5", description: "", isDefault: true, supportedEffortLevels: CLAUDE_EFFORT_LEVELS },
|
|
26447
|
+
{ id: "claude-sonnet-5-5", name: "Sonnet 5.5", description: "", supportedEffortLevels: CLAUDE_EFFORT_LEVELS },
|
|
26448
|
+
{ id: "claude-haiku-5-5", name: "Haiku 5.5", description: "", supportedEffortLevels: CLAUDE_EFFORT_LEVELS }
|
|
26442
26449
|
];
|
|
26443
26450
|
DEFAULT_CODEX_MODELS = [
|
|
26444
26451
|
{ id: "gpt-5.2", name: "GPT-5.2", description: "", isDefault: true },
|
|
@@ -38225,7 +38232,7 @@ var init_managed_official = __esm({
|
|
|
38225
38232
|
"../../packages/runtime/src/harness/managed-official.ts"() {
|
|
38226
38233
|
"use strict";
|
|
38227
38234
|
init_managed_layout();
|
|
38228
|
-
OFFICIAL_CLAUDE_SDK_VERSION = "0.3.
|
|
38235
|
+
OFFICIAL_CLAUDE_SDK_VERSION = "0.3.293";
|
|
38229
38236
|
OFFICIAL_CODEX_NPM_VERSION = "0.160.0";
|
|
38230
38237
|
OFFICIAL_CODEX_PACKAGE = "@openai/codex";
|
|
38231
38238
|
}
|
|
@@ -61631,6 +61638,10 @@ function parseMcpToolName(toolName) {
|
|
|
61631
61638
|
if (!toolName) return null;
|
|
61632
61639
|
const prefixed = /^mcp__(.+?)__(.+)$/.exec(toolName);
|
|
61633
61640
|
if (prefixed) return { serverName: prefixed[1], mcpToolName: prefixed[2] };
|
|
61641
|
+
if (toolName.startsWith("superone_")) {
|
|
61642
|
+
const bare = toolName.slice("superone_".length);
|
|
61643
|
+
if (OPENCODE_SUPERONE_TOOL_NAMES.has(bare)) return { serverName: "superone", mcpToolName: bare };
|
|
61644
|
+
}
|
|
61634
61645
|
const delimiter2 = toolName.indexOf("__");
|
|
61635
61646
|
if (delimiter2 <= 0) return null;
|
|
61636
61647
|
if (toolName.indexOf("__", delimiter2 + 2) !== -1) return null;
|
|
@@ -61667,13 +61678,21 @@ function normalizeTranscriptTool(rawName, rawInput) {
|
|
|
61667
61678
|
const input = { ...rawInput };
|
|
61668
61679
|
if (toolName === "Read") {
|
|
61669
61680
|
if (input.file_path == null && input.target_file != null) input.file_path = input.target_file;
|
|
61681
|
+
if (input.file_path == null && input.filePath != null) input.file_path = input.filePath;
|
|
61670
61682
|
if (input.file_path == null && input.path != null) input.file_path = input.path;
|
|
61671
61683
|
} else if (toolName === "Edit" || toolName === "Write" || toolName === "Delete" || toolName === "FileChange") {
|
|
61672
61684
|
if (input.file_path == null && input.target_file != null) input.file_path = input.target_file;
|
|
61685
|
+
if (input.file_path == null && input.filePath != null) input.file_path = input.filePath;
|
|
61673
61686
|
if (input.file_path == null && input.path != null) input.file_path = input.path;
|
|
61674
61687
|
if (toolName === "Write" && input.content == null && input.contents != null) input.content = input.contents;
|
|
61675
61688
|
if (toolName === "Write" && input.content == null && input.fileText != null) input.content = input.fileText;
|
|
61676
61689
|
if (toolName === "Edit" && input.diff == null && input.diffString != null) input.diff = input.diffString;
|
|
61690
|
+
if (toolName === "Edit" && input.old_string == null && input.oldString != null) input.old_string = input.oldString;
|
|
61691
|
+
if (toolName === "Edit" && input.new_string == null && input.newString != null) input.new_string = input.newString;
|
|
61692
|
+
if (toolName === "Edit" && input.replace_all == null && input.replaceAll != null) input.replace_all = input.replaceAll;
|
|
61693
|
+
} else if (toolName === "Skill") {
|
|
61694
|
+
if (input.skill == null && input.id != null) input.skill = input.id;
|
|
61695
|
+
if (input.skill == null && input.name != null) input.skill = input.name;
|
|
61677
61696
|
} else if (toolName === "Bash") {
|
|
61678
61697
|
if (input.command == null && input.cmd != null) input.command = input.cmd;
|
|
61679
61698
|
} else if (toolName === "LS") {
|
|
@@ -61965,11 +61984,12 @@ function formatTranscriptToolResult(content, opts) {
|
|
|
61965
61984
|
const max = opts?.maxChars ?? MAX_TRANSCRIPT_TOOL_RESULT_CHARS;
|
|
61966
61985
|
return truncateTranscriptToolResult(formatted, max);
|
|
61967
61986
|
}
|
|
61968
|
-
var TOOL_ID_TO_UI_NAME, GENERIC_SUBAGENT_TYPES, DESCRIPTION_PERSONA_RE, HIDDEN_UI_TOOL_NAMES, HIDDEN_HARNESS_TOOL_KEYS, HIDDEN_SUPERONE_MCP_TOOLS, MAX_TRANSCRIPT_TOOL_RESULT_CHARS;
|
|
61987
|
+
var TOOL_ID_TO_UI_NAME, GENERIC_SUBAGENT_TYPES, DESCRIPTION_PERSONA_RE, OPENCODE_SUPERONE_TOOL_NAMES, HIDDEN_UI_TOOL_NAMES, HIDDEN_HARNESS_TOOL_KEYS, HIDDEN_SUPERONE_MCP_TOOLS, MAX_TRANSCRIPT_TOOL_RESULT_CHARS;
|
|
61969
61988
|
var init_tool_ui = __esm({
|
|
61970
61989
|
"../../packages/shared/src/tool-ui.ts"() {
|
|
61971
61990
|
"use strict";
|
|
61972
61991
|
init_partial_json();
|
|
61992
|
+
init_superone_host_owned_tools();
|
|
61973
61993
|
TOOL_ID_TO_UI_NAME = {
|
|
61974
61994
|
read: "Read",
|
|
61975
61995
|
read_file: "Read",
|
|
@@ -62063,6 +62083,12 @@ var init_tool_ui = __esm({
|
|
|
62063
62083
|
};
|
|
62064
62084
|
GENERIC_SUBAGENT_TYPES = /* @__PURE__ */ new Set(["general-purpose", "general"]);
|
|
62065
62085
|
DESCRIPTION_PERSONA_RE = /^\[([a-zA-Z][a-zA-Z0-9_-]*)\]\s*/;
|
|
62086
|
+
OPENCODE_SUPERONE_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
62087
|
+
...BUILT_IN_SUPERONE_TOOL_NAMES,
|
|
62088
|
+
...COMPUTER_USE_TOOL_NAMES,
|
|
62089
|
+
MINIAPP_CALL_BARE_NAME,
|
|
62090
|
+
MINIAPP_LIST_BARE_NAME
|
|
62091
|
+
]);
|
|
62066
62092
|
HIDDEN_UI_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
62067
62093
|
"TodoWrite",
|
|
62068
62094
|
"TaskCreate",
|
|
@@ -71138,7 +71164,7 @@ var require_cross_spawn = __commonJS({
|
|
|
71138
71164
|
var cp = __require("child_process");
|
|
71139
71165
|
var parse5 = require_parse();
|
|
71140
71166
|
var enoent = require_enoent();
|
|
71141
|
-
function
|
|
71167
|
+
function spawn6(command, args, options) {
|
|
71142
71168
|
const parsed = parse5(command, args, options);
|
|
71143
71169
|
const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
|
|
71144
71170
|
enoent.hookChildProcess(spawned, parsed);
|
|
@@ -71150,8 +71176,8 @@ var require_cross_spawn = __commonJS({
|
|
|
71150
71176
|
result2.error = result2.error || enoent.verifyENOENTSync(result2.status, parsed);
|
|
71151
71177
|
return result2;
|
|
71152
71178
|
}
|
|
71153
|
-
module.exports =
|
|
71154
|
-
module.exports.spawn =
|
|
71179
|
+
module.exports = spawn6;
|
|
71180
|
+
module.exports.spawn = spawn6;
|
|
71155
71181
|
module.exports.sync = spawnSync3;
|
|
71156
71182
|
module.exports._parse = parse5;
|
|
71157
71183
|
module.exports._enoent = enoent;
|
|
@@ -71199,7 +71225,14 @@ function mapOpenCodePermissionRequest(input) {
|
|
|
71199
71225
|
input: input.metadata ?? {},
|
|
71200
71226
|
allowAlwaysAllow: (input.always?.length ?? 0) > 0,
|
|
71201
71227
|
supportsAlwaysPersist: (input.always?.length ?? 0) > 0,
|
|
71202
|
-
message: input.patterns.join("\n") || input.permission
|
|
71228
|
+
message: input.patterns.join("\n") || input.permission,
|
|
71229
|
+
permissionDetails: {
|
|
71230
|
+
action: input.permission,
|
|
71231
|
+
resources: input.patterns,
|
|
71232
|
+
save: input.always,
|
|
71233
|
+
metadata: input.metadata,
|
|
71234
|
+
source: input.toolUseId ? { toolUseId: input.toolUseId } : void 0
|
|
71235
|
+
}
|
|
71203
71236
|
};
|
|
71204
71237
|
}
|
|
71205
71238
|
function mapOpenCodeQuestionRequest(input) {
|
|
@@ -85607,7 +85640,7 @@ function isNodeMutatingCall(method, payload) {
|
|
|
85607
85640
|
}
|
|
85608
85641
|
|
|
85609
85642
|
// ../../packages/shared/src/git-clone.ts
|
|
85610
|
-
import {
|
|
85643
|
+
import { spawn as spawn4 } from "node:child_process";
|
|
85611
85644
|
import { existsSync as existsSync34, mkdirSync as mkdirSync19 } from "node:fs";
|
|
85612
85645
|
import { isAbsolute as isAbsolute5, join as join32, resolve as resolve10 } from "node:path";
|
|
85613
85646
|
|
|
@@ -85659,8 +85692,15 @@ function validateCloneRemoteUrl(url2) {
|
|
|
85659
85692
|
|
|
85660
85693
|
// ../../packages/shared/src/git-clone.ts
|
|
85661
85694
|
var CLONE_TIMEOUT_MS = 15 * 60 * 1e3;
|
|
85695
|
+
var STDERR_TAIL_CHARS = 16 * 1024;
|
|
85696
|
+
var RECEIVING_LINE = /^Receiving objects:\s+(\d{1,3})%/;
|
|
85697
|
+
var ANY_PROGRESS_LINE = /:\s+\d{1,3}%/;
|
|
85698
|
+
function parseCloneProgress(line) {
|
|
85699
|
+
const match = RECEIVING_LINE.exec(line.trim());
|
|
85700
|
+
return match ? Math.min(Number(match[1]), 100) : null;
|
|
85701
|
+
}
|
|
85662
85702
|
function buildCloneArgs(input, destinationPath) {
|
|
85663
|
-
const args = ["clone"];
|
|
85703
|
+
const args = ["clone", "--progress"];
|
|
85664
85704
|
if (input.shallow) args.push("--depth=1");
|
|
85665
85705
|
args.push("--", input.remoteUrl.trim(), destinationPath);
|
|
85666
85706
|
return args;
|
|
@@ -85682,7 +85722,7 @@ function resolveCloneDestination(input) {
|
|
|
85682
85722
|
}
|
|
85683
85723
|
return { path: join32(resolve10(parent), name), name };
|
|
85684
85724
|
}
|
|
85685
|
-
async function cloneRepository(input) {
|
|
85725
|
+
async function cloneRepository(input, onProgress) {
|
|
85686
85726
|
const destination = resolveCloneDestination(input);
|
|
85687
85727
|
if (existsSync34(destination.path)) {
|
|
85688
85728
|
throw Object.assign(new Error(`destination already exists: ${destination.path}`), {
|
|
@@ -85692,35 +85732,48 @@ async function cloneRepository(input) {
|
|
|
85692
85732
|
const parent = resolve10(input.parentPath.trim());
|
|
85693
85733
|
mkdirSync19(parent, { recursive: true });
|
|
85694
85734
|
await new Promise((resolvePromise, reject) => {
|
|
85695
|
-
|
|
85696
|
-
|
|
85697
|
-
|
|
85698
|
-
|
|
85699
|
-
|
|
85700
|
-
|
|
85701
|
-
|
|
85702
|
-
|
|
85703
|
-
|
|
85704
|
-
|
|
85705
|
-
|
|
85706
|
-
|
|
85707
|
-
|
|
85708
|
-
|
|
85709
|
-
|
|
85710
|
-
|
|
85711
|
-
|
|
85712
|
-
|
|
85713
|
-
|
|
85714
|
-
|
|
85715
|
-
|
|
85716
|
-
|
|
85717
|
-
|
|
85718
|
-
|
|
85719
|
-
|
|
85720
|
-
|
|
85721
|
-
|
|
85735
|
+
const child = spawn4("git", buildCloneArgs(input, destination.path), {
|
|
85736
|
+
cwd: parent,
|
|
85737
|
+
timeout: CLONE_TIMEOUT_MS,
|
|
85738
|
+
stdio: ["ignore", "ignore", "pipe"],
|
|
85739
|
+
// Never let git block on an interactive credential or host-key prompt:
|
|
85740
|
+
// a hung prompt would leave the dialog spinning with no way out.
|
|
85741
|
+
env: {
|
|
85742
|
+
...process.env,
|
|
85743
|
+
GIT_TERMINAL_PROMPT: "0",
|
|
85744
|
+
GIT_ASKPASS: "echo",
|
|
85745
|
+
GIT_SSH_COMMAND: `${process.env.GIT_SSH_COMMAND ?? "ssh"} -o BatchMode=yes`
|
|
85746
|
+
}
|
|
85747
|
+
});
|
|
85748
|
+
let stderrTail = "";
|
|
85749
|
+
let pending2 = "";
|
|
85750
|
+
let lastPercent = -1;
|
|
85751
|
+
child.stderr.setEncoding("utf8");
|
|
85752
|
+
child.stderr.on("data", (chunk) => {
|
|
85753
|
+
stderrTail = (stderrTail + chunk).slice(-STDERR_TAIL_CHARS);
|
|
85754
|
+
if (!onProgress) return;
|
|
85755
|
+
const lines = (pending2 + chunk).split(/\r|\n/);
|
|
85756
|
+
pending2 = lines.pop() ?? "";
|
|
85757
|
+
for (const line of lines) {
|
|
85758
|
+
const percent = parseCloneProgress(line);
|
|
85759
|
+
if (percent !== null && percent > lastPercent) {
|
|
85760
|
+
lastPercent = percent;
|
|
85761
|
+
onProgress(percent);
|
|
85762
|
+
}
|
|
85763
|
+
}
|
|
85764
|
+
});
|
|
85765
|
+
child.on("error", (err) => {
|
|
85766
|
+
reject(Object.assign(err, { code: "failed_precondition" }));
|
|
85767
|
+
});
|
|
85768
|
+
child.on("close", (code, signal) => {
|
|
85769
|
+
if (code === 0) {
|
|
85770
|
+
resolvePromise();
|
|
85771
|
+
return;
|
|
85722
85772
|
}
|
|
85723
|
-
|
|
85773
|
+
const detail = stderrTail.split(/\r|\n/).filter((line) => line.trim() && !ANY_PROGRESS_LINE.test(line)).slice(-4).join("\n").trim();
|
|
85774
|
+
const fallback = signal ? `git clone was terminated (${signal}): ${input.remoteUrl}` : `git clone failed: ${input.remoteUrl}`;
|
|
85775
|
+
reject(Object.assign(new Error(detail || fallback), { code: "failed_precondition" }));
|
|
85776
|
+
});
|
|
85724
85777
|
});
|
|
85725
85778
|
return destination;
|
|
85726
85779
|
}
|
|
@@ -90501,7 +90554,7 @@ async function startNodeServer2(opts) {
|
|
|
90501
90554
|
import { createRequire as createRequire5 } from "node:module";
|
|
90502
90555
|
import { existsSync as existsSync37 } from "node:fs";
|
|
90503
90556
|
var nodeRequire = createRequire5(import.meta.url);
|
|
90504
|
-
var { spawn:
|
|
90557
|
+
var { spawn: spawn5 } = nodeRequire("node-pty");
|
|
90505
90558
|
var SNAPSHOT_SOFT_LIMIT = 64 * 1024;
|
|
90506
90559
|
var OUTPUT_BUFFER_SOFT_LIMIT = 256 * 1024;
|
|
90507
90560
|
function defaultShell() {
|
|
@@ -90534,7 +90587,7 @@ var NodeTerminalManager = class {
|
|
|
90534
90587
|
sequence: 0
|
|
90535
90588
|
};
|
|
90536
90589
|
const shell = opts.shell || defaultShell();
|
|
90537
|
-
const proc =
|
|
90590
|
+
const proc = spawn5(shell, [], {
|
|
90538
90591
|
cwd: opts.cwd,
|
|
90539
90592
|
env: { ...process.env, TERM: "xterm-256color" },
|
|
90540
90593
|
name: "xterm-256color",
|
|
@@ -91288,7 +91341,7 @@ function parseWorktreePorcelain(out) {
|
|
|
91288
91341
|
|
|
91289
91342
|
// ../../packages/runtime/src/git/run.ts
|
|
91290
91343
|
init_spawn_env();
|
|
91291
|
-
import { execFile as
|
|
91344
|
+
import { execFile as execFile2, execFileSync as execFileSync3 } from "child_process";
|
|
91292
91345
|
var GIT_MAX_BUFFER = 64 * 1024 * 1024;
|
|
91293
91346
|
var NO_OPTIONAL_LOCKS = "--no-optional-locks";
|
|
91294
91347
|
function gitRunSync(folderPath, args, env) {
|
|
@@ -91315,14 +91368,14 @@ init_git_mention_query();
|
|
|
91315
91368
|
|
|
91316
91369
|
// ../../packages/runtime/src/git/gh-run.ts
|
|
91317
91370
|
init_spawn_env();
|
|
91318
|
-
import { execFile as
|
|
91371
|
+
import { execFile as execFile3 } from "child_process";
|
|
91319
91372
|
var GH_MAX_BUFFER = 16 * 1024 * 1024;
|
|
91320
91373
|
function isGhMissingError(err) {
|
|
91321
91374
|
return err?.code === "ENOENT";
|
|
91322
91375
|
}
|
|
91323
91376
|
function ghRun(folderPath, args, timeoutMs, env) {
|
|
91324
91377
|
return new Promise((resolve18, reject) => {
|
|
91325
|
-
|
|
91378
|
+
execFile3(
|
|
91326
91379
|
"gh",
|
|
91327
91380
|
args,
|
|
91328
91381
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-one/cli",
|
|
3
|
-
"version": "0.72.
|
|
3
|
+
"version": "0.72.2-alpha",
|
|
4
4
|
"description": "SuperOne headless node CLI — remote execution environment (RPC, workspaces, sessions).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "BUSL-1.1",
|
|
@@ -25,20 +25,20 @@
|
|
|
25
25
|
"directory": "apps/cli"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
28
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.293",
|
|
29
29
|
"@cursor/sdk": "1.0.30",
|
|
30
30
|
"better-sqlite3": "^13.0.1",
|
|
31
31
|
"node-pty": "^1.0.0"
|
|
32
32
|
},
|
|
33
33
|
"optionalDependencies": {
|
|
34
|
-
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.
|
|
35
|
-
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.
|
|
36
|
-
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.
|
|
37
|
-
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.
|
|
38
|
-
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.
|
|
39
|
-
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.
|
|
40
|
-
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.
|
|
41
|
-
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.
|
|
34
|
+
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.293",
|
|
35
|
+
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.293",
|
|
36
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.293",
|
|
37
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.293",
|
|
38
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.293",
|
|
39
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.293",
|
|
40
|
+
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.293",
|
|
41
|
+
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.293",
|
|
42
42
|
"@cursor/sdk-darwin-arm64": "1.0.30",
|
|
43
43
|
"@cursor/sdk-darwin-x64": "1.0.30",
|
|
44
44
|
"@cursor/sdk-linux-arm64": "1.0.30",
|