localclawd 1.8.8 → 1.9.0
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/dist/cli.mjs +158 -103
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -87608,7 +87608,7 @@ var init_isEqual = __esm(() => {
|
|
|
87608
87608
|
|
|
87609
87609
|
// src/utils/userAgent.ts
|
|
87610
87610
|
function getClaudeCodeUserAgent() {
|
|
87611
|
-
return `claude-code/${"1.
|
|
87611
|
+
return `claude-code/${"1.9.0"}`;
|
|
87612
87612
|
}
|
|
87613
87613
|
|
|
87614
87614
|
// src/utils/workloadContext.ts
|
|
@@ -87630,7 +87630,7 @@ function getUserAgent() {
|
|
|
87630
87630
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
87631
87631
|
const workload = getWorkload();
|
|
87632
87632
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
87633
|
-
return `claude-cli/${"1.
|
|
87633
|
+
return `claude-cli/${"1.9.0"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
87634
87634
|
}
|
|
87635
87635
|
function getMCPUserAgent() {
|
|
87636
87636
|
const parts = [];
|
|
@@ -87644,7 +87644,7 @@ function getMCPUserAgent() {
|
|
|
87644
87644
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
87645
87645
|
}
|
|
87646
87646
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
87647
|
-
return `claude-code/${"1.
|
|
87647
|
+
return `claude-code/${"1.9.0"}${suffix}`;
|
|
87648
87648
|
}
|
|
87649
87649
|
function getWebFetchUserAgent() {
|
|
87650
87650
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -130840,7 +130840,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
130840
130840
|
if (!isAttributionHeaderEnabled()) {
|
|
130841
130841
|
return "";
|
|
130842
130842
|
}
|
|
130843
|
-
const version = `${"1.
|
|
130843
|
+
const version = `${"1.9.0"}.${fingerprint}`;
|
|
130844
130844
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
130845
130845
|
const cch = "";
|
|
130846
130846
|
const workload = getWorkload();
|
|
@@ -147029,7 +147029,7 @@ var init_metadata = __esm(() => {
|
|
|
147029
147029
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
147030
147030
|
WHITESPACE_REGEX = /\s+/;
|
|
147031
147031
|
getVersionBase = memoize_default(() => {
|
|
147032
|
-
const match = "1.
|
|
147032
|
+
const match = "1.9.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
147033
147033
|
return match ? match[0] : undefined;
|
|
147034
147034
|
});
|
|
147035
147035
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -147069,9 +147069,9 @@ var init_metadata = __esm(() => {
|
|
|
147069
147069
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
147070
147070
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
147071
147071
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
147072
|
-
version: "1.
|
|
147072
|
+
version: "1.9.0",
|
|
147073
147073
|
versionBase: getVersionBase(),
|
|
147074
|
-
buildTime: "2026-05-07T17:
|
|
147074
|
+
buildTime: "2026-05-07T17:47:00.138Z",
|
|
147075
147075
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
147076
147076
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
147077
147077
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -179647,7 +179647,7 @@ function getTelemetryAttributes() {
|
|
|
179647
179647
|
attributes["session.id"] = sessionId;
|
|
179648
179648
|
}
|
|
179649
179649
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
179650
|
-
attributes["app.version"] = "1.
|
|
179650
|
+
attributes["app.version"] = "1.9.0";
|
|
179651
179651
|
}
|
|
179652
179652
|
const oauthAccount = getOauthAccountInfo();
|
|
179653
179653
|
if (oauthAccount) {
|
|
@@ -242448,7 +242448,7 @@ function getInstallationEnv() {
|
|
|
242448
242448
|
return;
|
|
242449
242449
|
}
|
|
242450
242450
|
function getClaudeCodeVersion() {
|
|
242451
|
-
return "1.
|
|
242451
|
+
return "1.9.0";
|
|
242452
242452
|
}
|
|
242453
242453
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
242454
242454
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -247722,7 +247722,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
247722
247722
|
const client4 = new Client({
|
|
247723
247723
|
name: "localclawd",
|
|
247724
247724
|
title: "localclawd",
|
|
247725
|
-
version: "1.
|
|
247725
|
+
version: "1.9.0",
|
|
247726
247726
|
description: "local-first AI coding tool",
|
|
247727
247727
|
websiteUrl: PRODUCT_URL
|
|
247728
247728
|
}, {
|
|
@@ -248064,7 +248064,7 @@ var init_client9 = __esm(() => {
|
|
|
248064
248064
|
const client4 = new Client({
|
|
248065
248065
|
name: "localclawd",
|
|
248066
248066
|
title: "localclawd",
|
|
248067
|
-
version: "1.
|
|
248067
|
+
version: "1.9.0",
|
|
248068
248068
|
description: "local-first AI coding tool",
|
|
248069
248069
|
websiteUrl: PRODUCT_URL
|
|
248070
248070
|
}, {
|
|
@@ -262466,7 +262466,7 @@ function computeFingerprint(messageText, version) {
|
|
|
262466
262466
|
}
|
|
262467
262467
|
function computeFingerprintFromMessages(messages) {
|
|
262468
262468
|
const firstMessageText = extractFirstMessageText(messages);
|
|
262469
|
-
return computeFingerprint(firstMessageText, "1.
|
|
262469
|
+
return computeFingerprint(firstMessageText, "1.9.0");
|
|
262470
262470
|
}
|
|
262471
262471
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
262472
262472
|
var init_fingerprint = () => {};
|
|
@@ -262508,7 +262508,7 @@ async function sideQuery(opts) {
|
|
|
262508
262508
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
262509
262509
|
}
|
|
262510
262510
|
const messageText = extractFirstUserMessageText(messages);
|
|
262511
|
-
const fingerprint = computeFingerprint(messageText, "1.
|
|
262511
|
+
const fingerprint = computeFingerprint(messageText, "1.9.0");
|
|
262512
262512
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
262513
262513
|
const systemBlocks = [
|
|
262514
262514
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -283256,7 +283256,7 @@ var init_user = __esm(() => {
|
|
|
283256
283256
|
deviceId,
|
|
283257
283257
|
sessionId: getSessionId(),
|
|
283258
283258
|
email: getEmail(),
|
|
283259
|
-
appVersion: "1.
|
|
283259
|
+
appVersion: "1.9.0",
|
|
283260
283260
|
platform: getHostPlatformForAnalytics(),
|
|
283261
283261
|
organizationUuid,
|
|
283262
283262
|
accountUuid,
|
|
@@ -284321,7 +284321,7 @@ async function initializeBetaTracing(resource) {
|
|
|
284321
284321
|
});
|
|
284322
284322
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284323
284323
|
setLoggerProvider(loggerProvider);
|
|
284324
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.
|
|
284324
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.9.0");
|
|
284325
284325
|
setEventLogger(eventLogger);
|
|
284326
284326
|
process.on("beforeExit", async () => {
|
|
284327
284327
|
await loggerProvider?.forceFlush();
|
|
@@ -284361,7 +284361,7 @@ async function initializeTelemetry() {
|
|
|
284361
284361
|
const platform2 = getPlatform();
|
|
284362
284362
|
const baseAttributes = {
|
|
284363
284363
|
[ATTR_SERVICE_NAME4]: "claude-code",
|
|
284364
|
-
[ATTR_SERVICE_VERSION4]: "1.
|
|
284364
|
+
[ATTR_SERVICE_VERSION4]: "1.9.0"
|
|
284365
284365
|
};
|
|
284366
284366
|
if (platform2 === "wsl") {
|
|
284367
284367
|
const wslVersion = getWslVersion();
|
|
@@ -284406,7 +284406,7 @@ async function initializeTelemetry() {
|
|
|
284406
284406
|
} catch {}
|
|
284407
284407
|
};
|
|
284408
284408
|
registerCleanup(shutdownTelemetry2);
|
|
284409
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "1.
|
|
284409
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.9.0");
|
|
284410
284410
|
}
|
|
284411
284411
|
const meterProvider = new MeterProvider4({
|
|
284412
284412
|
resource,
|
|
@@ -284426,7 +284426,7 @@ async function initializeTelemetry() {
|
|
|
284426
284426
|
});
|
|
284427
284427
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284428
284428
|
setLoggerProvider(loggerProvider);
|
|
284429
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.
|
|
284429
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.9.0");
|
|
284430
284430
|
setEventLogger(eventLogger);
|
|
284431
284431
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
284432
284432
|
process.on("beforeExit", async () => {
|
|
@@ -284488,7 +284488,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
284488
284488
|
}
|
|
284489
284489
|
};
|
|
284490
284490
|
registerCleanup(shutdownTelemetry);
|
|
284491
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "1.
|
|
284491
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.9.0");
|
|
284492
284492
|
}
|
|
284493
284493
|
async function flushTelemetry() {
|
|
284494
284494
|
const meterProvider = getMeterProvider();
|
|
@@ -285678,7 +285678,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
285678
285678
|
}
|
|
285679
285679
|
async function getDoctorDiagnostic() {
|
|
285680
285680
|
const installationType = await getCurrentInstallationType();
|
|
285681
|
-
const version = typeof MACRO !== "undefined" ? "1.
|
|
285681
|
+
const version = typeof MACRO !== "undefined" ? "1.9.0" : "unknown";
|
|
285682
285682
|
const installationPath = await getInstallationPath();
|
|
285683
285683
|
const invokedBinary = getInvokedBinary();
|
|
285684
285684
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -286619,8 +286619,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286619
286619
|
const maxVersion = await getMaxVersion();
|
|
286620
286620
|
if (maxVersion && gt(version, maxVersion)) {
|
|
286621
286621
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
|
|
286622
|
-
if (gte("1.
|
|
286623
|
-
logForDebugging(`Native installer: current version ${"1.
|
|
286622
|
+
if (gte("1.9.0", maxVersion)) {
|
|
286623
|
+
logForDebugging(`Native installer: current version ${"1.9.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
286624
286624
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
286625
286625
|
latency_ms: Date.now() - startTime,
|
|
286626
286626
|
max_version: maxVersion,
|
|
@@ -286631,7 +286631,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286631
286631
|
version = maxVersion;
|
|
286632
286632
|
}
|
|
286633
286633
|
}
|
|
286634
|
-
if (!forceReinstall && version === "1.
|
|
286634
|
+
if (!forceReinstall && version === "1.9.0" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
|
|
286635
286635
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
286636
286636
|
logEvent("tengu_native_update_complete", {
|
|
286637
286637
|
latency_ms: Date.now() - startTime,
|
|
@@ -322840,7 +322840,8 @@ async function fetchServerWorkflow(url3, name) {
|
|
|
322840
322840
|
const filename = name.endsWith(".json") ? name : `${name}.json`;
|
|
322841
322841
|
const candidates = [
|
|
322842
322842
|
`${url3}/userdata/workflows/${encodeURIComponent(filename)}`,
|
|
322843
|
-
`${url3}/userdata/${encodeURIComponent(filename)}
|
|
322843
|
+
`${url3}/userdata/${encodeURIComponent(filename)}`,
|
|
322844
|
+
`${url3}/userdata?file=${encodeURIComponent(`workflows/${filename}`)}`
|
|
322844
322845
|
];
|
|
322845
322846
|
for (const candidate of candidates) {
|
|
322846
322847
|
try {
|
|
@@ -322848,16 +322849,17 @@ async function fetchServerWorkflow(url3, name) {
|
|
|
322848
322849
|
if (res.ok) {
|
|
322849
322850
|
try {
|
|
322850
322851
|
const data = await res.json();
|
|
322852
|
+
if (data && typeof data === "object" && !Array.isArray(data) && Object.keys(data).length === 0)
|
|
322853
|
+
continue;
|
|
322851
322854
|
return { data };
|
|
322852
|
-
} catch {
|
|
322853
|
-
return { error: `HTTP 200 but response is not JSON at ${candidate}` };
|
|
322854
|
-
}
|
|
322855
|
+
} catch {}
|
|
322855
322856
|
}
|
|
322856
322857
|
} catch {}
|
|
322857
322858
|
}
|
|
322858
|
-
return {
|
|
322859
|
-
|
|
322860
|
-
|
|
322859
|
+
return {
|
|
322860
|
+
error: `ComfyUI did not return workflow content (tried ${candidates.length} URL patterns).`,
|
|
322861
|
+
manualExport: true
|
|
322862
|
+
};
|
|
322861
322863
|
}
|
|
322862
322864
|
function extractOutputImages(item) {
|
|
322863
322865
|
const images = [];
|
|
@@ -322923,9 +322925,22 @@ function replaceTemplatesDeep(obj, vars) {
|
|
|
322923
322925
|
return obj;
|
|
322924
322926
|
}
|
|
322925
322927
|
async function loadWorkflow(projectRoot, name) {
|
|
322928
|
+
const wfBase = join79(projectRoot, ".localclawd", "image-pipeline", "workflows");
|
|
322926
322929
|
const filename = name.endsWith(".json") ? name : `${name}.json`;
|
|
322927
322930
|
try {
|
|
322928
|
-
const data = await readFile26(join79(
|
|
322931
|
+
const data = await readFile26(join79(wfBase, filename), "utf-8");
|
|
322932
|
+
return JSON.parse(data);
|
|
322933
|
+
} catch {}
|
|
322934
|
+
const all4 = await listWorkflows(projectRoot);
|
|
322935
|
+
const baseName = name.replace(/\.json$/, "").split(/[\\/]/).pop() ?? name;
|
|
322936
|
+
const match = all4.find((w2) => {
|
|
322937
|
+
const wBaseName = w2.replace(/\.json$/, "").split(/[\\/]/).pop() ?? "";
|
|
322938
|
+
return wBaseName === baseName;
|
|
322939
|
+
});
|
|
322940
|
+
if (!match)
|
|
322941
|
+
return null;
|
|
322942
|
+
try {
|
|
322943
|
+
const data = await readFile26(join79(wfBase, match), "utf-8");
|
|
322929
322944
|
return JSON.parse(data);
|
|
322930
322945
|
} catch {
|
|
322931
322946
|
return null;
|
|
@@ -322949,10 +322964,6 @@ async function scaffoldProject(projectRoot) {
|
|
|
322949
322964
|
created.push(".localclawd/image-pipeline/config.json");
|
|
322950
322965
|
await writeFile19(join79(base, "prompts", "example.json"), JSON.stringify(EXAMPLE_PROMPT, null, 2), "utf-8");
|
|
322951
322966
|
created.push(".localclawd/image-pipeline/prompts/example.json");
|
|
322952
|
-
await writeFile19(join79(base, "workflows", "txt2img.json"), JSON.stringify(DEFAULT_WORKFLOW, null, 2), "utf-8");
|
|
322953
|
-
created.push(".localclawd/image-pipeline/workflows/txt2img.json");
|
|
322954
|
-
await writeFile19(join79(base, "workflows", "z_image_turbo.json"), JSON.stringify(Z_IMAGE_TURBO_WORKFLOW, null, 2), "utf-8");
|
|
322955
|
-
created.push(".localclawd/image-pipeline/workflows/z_image_turbo.json");
|
|
322956
322967
|
await writeFile19(join79(base, "scripts", "generate.sh"), GENERATE_SH, "utf-8");
|
|
322957
322968
|
created.push(".localclawd/image-pipeline/scripts/generate.sh");
|
|
322958
322969
|
await writeFile19(join79(base, "scripts", "generate.ps1"), GENERATE_PS1, "utf-8");
|
|
@@ -322960,6 +322971,18 @@ async function scaffoldProject(projectRoot) {
|
|
|
322960
322971
|
await writeFile19(join79(base, "README.md"), README_CONTENT, "utf-8");
|
|
322961
322972
|
created.push(".localclawd/image-pipeline/README.md");
|
|
322962
322973
|
}
|
|
322974
|
+
for (const [wfName, wfContent] of [
|
|
322975
|
+
["txt2img.json", DEFAULT_WORKFLOW],
|
|
322976
|
+
["z_image_turbo.json", Z_IMAGE_TURBO_WORKFLOW]
|
|
322977
|
+
]) {
|
|
322978
|
+
const wfPath = join79(base, "workflows", wfName);
|
|
322979
|
+
try {
|
|
322980
|
+
await access5(wfPath);
|
|
322981
|
+
} catch {
|
|
322982
|
+
await writeFile19(wfPath, JSON.stringify(wfContent, null, 2), "utf-8");
|
|
322983
|
+
created.push(`.localclawd/image-pipeline/workflows/${wfName}`);
|
|
322984
|
+
}
|
|
322985
|
+
}
|
|
322963
322986
|
return { configPath, created, alreadyExisted };
|
|
322964
322987
|
}
|
|
322965
322988
|
async function loadConfig(projectRoot) {
|
|
@@ -322984,14 +323007,24 @@ async function listPrompts(projectRoot) {
|
|
|
322984
323007
|
}
|
|
322985
323008
|
}
|
|
322986
323009
|
async function listWorkflows(projectRoot) {
|
|
322987
|
-
|
|
322988
|
-
|
|
322989
|
-
|
|
322990
|
-
|
|
322991
|
-
|
|
322992
|
-
|
|
322993
|
-
|
|
323010
|
+
const base = join79(projectRoot, ".localclawd", "image-pipeline", "workflows");
|
|
323011
|
+
const results = [];
|
|
323012
|
+
async function scan(dir, rel) {
|
|
323013
|
+
try {
|
|
323014
|
+
const { readdir: rd } = await import("fs/promises");
|
|
323015
|
+
const entries = await rd(dir, { withFileTypes: true });
|
|
323016
|
+
for (const entry of entries) {
|
|
323017
|
+
const entryRel = rel ? `${rel}/${entry.name}` : entry.name;
|
|
323018
|
+
if (entry.isDirectory()) {
|
|
323019
|
+
await scan(join79(dir, entry.name), entryRel);
|
|
323020
|
+
} else if (entry.isFile() && entry.name.endsWith(".json")) {
|
|
323021
|
+
results.push(entryRel);
|
|
323022
|
+
}
|
|
323023
|
+
}
|
|
323024
|
+
} catch {}
|
|
322994
323025
|
}
|
|
323026
|
+
await scan(base, "");
|
|
323027
|
+
return results;
|
|
322995
323028
|
}
|
|
322996
323029
|
var DEFAULT_CONFIG2, EXAMPLE_PROMPT, DEFAULT_WORKFLOW, Z_IMAGE_TURBO_WORKFLOW, GENERATE_SH = `#!/usr/bin/env bash
|
|
322997
323030
|
# localclawd image pipeline — quick generate helper
|
|
@@ -331882,7 +331915,7 @@ function getAnthropicEnvMetadata() {
|
|
|
331882
331915
|
function getBuildAgeMinutes() {
|
|
331883
331916
|
if (false)
|
|
331884
331917
|
;
|
|
331885
|
-
const buildTime = new Date("2026-05-07T17:
|
|
331918
|
+
const buildTime = new Date("2026-05-07T17:47:00.138Z").getTime();
|
|
331886
331919
|
if (isNaN(buildTime))
|
|
331887
331920
|
return;
|
|
331888
331921
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -360712,7 +360745,7 @@ function Feedback({
|
|
|
360712
360745
|
platform: env3.platform,
|
|
360713
360746
|
gitRepo: envInfo.isGit,
|
|
360714
360747
|
terminal: env3.terminal,
|
|
360715
|
-
version: "1.
|
|
360748
|
+
version: "1.9.0",
|
|
360716
360749
|
transcript: normalizeMessagesForAPI(messages),
|
|
360717
360750
|
errors: sanitizedErrors,
|
|
360718
360751
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -360904,7 +360937,7 @@ function Feedback({
|
|
|
360904
360937
|
", ",
|
|
360905
360938
|
env3.terminal,
|
|
360906
360939
|
", v",
|
|
360907
|
-
"1.
|
|
360940
|
+
"1.9.0"
|
|
360908
360941
|
]
|
|
360909
360942
|
}, undefined, true, undefined, this)
|
|
360910
360943
|
]
|
|
@@ -361010,7 +361043,7 @@ ${sanitizedDescription}
|
|
|
361010
361043
|
` + `**Environment Info**
|
|
361011
361044
|
` + `- Platform: ${env3.platform}
|
|
361012
361045
|
` + `- Terminal: ${env3.terminal}
|
|
361013
|
-
` + `- Version: ${"1.
|
|
361046
|
+
` + `- Version: ${"1.9.0"}
|
|
361014
361047
|
` + `- Feedback ID: ${feedbackId}
|
|
361015
361048
|
` + `
|
|
361016
361049
|
**Errors**
|
|
@@ -363638,7 +363671,7 @@ function buildPrimarySection() {
|
|
|
363638
363671
|
}, undefined, false, undefined, this);
|
|
363639
363672
|
return [{
|
|
363640
363673
|
label: "Version",
|
|
363641
|
-
value: "1.
|
|
363674
|
+
value: "1.9.0"
|
|
363642
363675
|
}, {
|
|
363643
363676
|
label: "Session name",
|
|
363644
363677
|
value: nameValue
|
|
@@ -368319,7 +368352,7 @@ function Config({
|
|
|
368319
368352
|
}
|
|
368320
368353
|
}, undefined, false, undefined, this)
|
|
368321
368354
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
|
|
368322
|
-
currentVersion: "1.
|
|
368355
|
+
currentVersion: "1.9.0",
|
|
368323
368356
|
onChoice: (choice) => {
|
|
368324
368357
|
setShowSubmenu(null);
|
|
368325
368358
|
setTabsHidden(false);
|
|
@@ -368331,7 +368364,7 @@ function Config({
|
|
|
368331
368364
|
autoUpdatesChannel: "stable"
|
|
368332
368365
|
};
|
|
368333
368366
|
if (choice === "stay") {
|
|
368334
|
-
newSettings.minimumVersion = "1.
|
|
368367
|
+
newSettings.minimumVersion = "1.9.0";
|
|
368335
368368
|
}
|
|
368336
368369
|
updateSettingsForSource("userSettings", newSettings);
|
|
368337
368370
|
setSettingsData((prev_27) => ({
|
|
@@ -374918,9 +374951,15 @@ var call20 = async (onDone, _context, args) => {
|
|
|
374918
374951
|
lines.push(` Generated images will be saved to:`);
|
|
374919
374952
|
lines.push(` ${generatedDir}`);
|
|
374920
374953
|
lines.push("");
|
|
374954
|
+
lines.push(" To add custom workflows:");
|
|
374955
|
+
lines.push(` Export from ComfyUI → Save (API Format) → drop into:`);
|
|
374956
|
+
lines.push(` .localclawd/image-pipeline/workflows/`);
|
|
374957
|
+
lines.push(` .localclawd/image-pipeline/workflows/comfyui/ ← or any subfolder`);
|
|
374958
|
+
lines.push("");
|
|
374921
374959
|
lines.push(" Next steps:");
|
|
374922
374960
|
lines.push(" /image-pipeline config http://127.0.0.1:8000 — confirm or change ComfyUI URL");
|
|
374923
|
-
lines.push(" /image-pipeline
|
|
374961
|
+
lines.push(" /image-pipeline list — see all available workflows");
|
|
374962
|
+
lines.push(" /image-pipeline workflow z_image_turbo — set default workflow");
|
|
374924
374963
|
lines.push(" /image a misty forest at dawn — generate an image");
|
|
374925
374964
|
onDone(lines.join(`
|
|
374926
374965
|
`), { display: "system" });
|
|
@@ -374993,7 +375032,11 @@ var call20 = async (onDone, _context, args) => {
|
|
|
374993
375032
|
outputDir: ".localclawd/image-pipeline/generated"
|
|
374994
375033
|
};
|
|
374995
375034
|
const workflows = await listWorkflows(projectRoot);
|
|
374996
|
-
const
|
|
375035
|
+
const baseName = name.replace(/\.json$/, "").split(/[\\/]/).pop() ?? name;
|
|
375036
|
+
const match = workflows.find((w2) => {
|
|
375037
|
+
const wName = w2.replace(/\.json$/, "");
|
|
375038
|
+
return wName === name.replace(/\.json$/, "") || wName.split(/[\\/]/).pop() === baseName;
|
|
375039
|
+
});
|
|
374997
375040
|
if (!match) {
|
|
374998
375041
|
const lines = [
|
|
374999
375042
|
`◆ Image Pipeline — Workflow not found: "${name}"`,
|
|
@@ -375004,13 +375047,16 @@ var call20 = async (onDone, _context, args) => {
|
|
|
375004
375047
|
for (const w2 of workflows)
|
|
375005
375048
|
lines.push(` • ${w2.replace(/\.json$/, "")}`);
|
|
375006
375049
|
} else {
|
|
375007
|
-
lines.push(" No workflows found
|
|
375050
|
+
lines.push(" No local workflows found.");
|
|
375051
|
+
lines.push(" Run /image-pipeline setup to add bundled templates.");
|
|
375052
|
+
lines.push(" Or export a workflow from ComfyUI (API Format) and drop it into:");
|
|
375053
|
+
lines.push(` ${join113(projectRoot, ".localclawd", "image-pipeline", "workflows")}`);
|
|
375008
375054
|
}
|
|
375009
375055
|
onDone(lines.join(`
|
|
375010
375056
|
`), { display: "system" });
|
|
375011
375057
|
return null;
|
|
375012
375058
|
}
|
|
375013
|
-
config2.defaultWorkflow =
|
|
375059
|
+
config2.defaultWorkflow = match.replace(/\.json$/, "");
|
|
375014
375060
|
await saveConfig2(projectRoot, config2);
|
|
375015
375061
|
onDone([
|
|
375016
375062
|
"◆ Image Pipeline — Default Workflow Set",
|
|
@@ -375092,13 +375138,22 @@ var call20 = async (onDone, _context, args) => {
|
|
|
375092
375138
|
}
|
|
375093
375139
|
const fetchResult = await fetchServerWorkflow(backendUrl, name);
|
|
375094
375140
|
if ("error" in fetchResult) {
|
|
375141
|
+
const wfDir = join113(projectRoot, ".localclawd", "image-pipeline", "workflows", "comfyui");
|
|
375095
375142
|
onDone([
|
|
375096
375143
|
`◆ Image Pipeline — Fetch Failed: "${name}"`,
|
|
375097
375144
|
"",
|
|
375098
375145
|
` ${fetchResult.error}`,
|
|
375099
375146
|
"",
|
|
375100
|
-
"
|
|
375101
|
-
|
|
375147
|
+
" Export the workflow manually from ComfyUI:",
|
|
375148
|
+
` 1. Open ComfyUI: ${backendUrl}`,
|
|
375149
|
+
" 2. Load the workflow (sidebar or Menu → Open)",
|
|
375150
|
+
" 3. Settings → Enable Dev Mode",
|
|
375151
|
+
" 4. Save (API Format) — exports a flat JSON file",
|
|
375152
|
+
" 5. Drop the JSON file into:",
|
|
375153
|
+
` ${wfDir}`,
|
|
375154
|
+
"",
|
|
375155
|
+
" Then: /image-pipeline workflow " + name,
|
|
375156
|
+
" /image " + name + ": <your prompt>"
|
|
375102
375157
|
].join(`
|
|
375103
375158
|
`), { display: "system" });
|
|
375104
375159
|
return null;
|
|
@@ -385764,7 +385819,7 @@ function Help(t0) {
|
|
|
385764
385819
|
let t6;
|
|
385765
385820
|
if ($2[31] !== tabs) {
|
|
385766
385821
|
t6 = /* @__PURE__ */ jsx_dev_runtime221.jsxDEV(Tabs, {
|
|
385767
|
-
title: `localclawd v${"1.
|
|
385822
|
+
title: `localclawd v${"1.9.0"}`,
|
|
385768
385823
|
color: "professionalBlue",
|
|
385769
385824
|
defaultTab: "general",
|
|
385770
385825
|
children: tabs
|
|
@@ -403026,7 +403081,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
|
|
|
403026
403081
|
}
|
|
403027
403082
|
return [];
|
|
403028
403083
|
}
|
|
403029
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.
|
|
403084
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.9.0") {
|
|
403030
403085
|
if (process.env.USER_TYPE === "ant") {
|
|
403031
403086
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
403032
403087
|
if (changelog) {
|
|
@@ -403053,7 +403108,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.8") {
|
|
|
403053
403108
|
releaseNotes
|
|
403054
403109
|
};
|
|
403055
403110
|
}
|
|
403056
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.
|
|
403111
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.9.0") {
|
|
403057
403112
|
if (process.env.USER_TYPE === "ant") {
|
|
403058
403113
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
403059
403114
|
if (changelog) {
|
|
@@ -403210,7 +403265,7 @@ function getRecentActivitySync() {
|
|
|
403210
403265
|
return cachedActivity;
|
|
403211
403266
|
}
|
|
403212
403267
|
function getLogoDisplayData() {
|
|
403213
|
-
const version = process.env.DEMO_VERSION ?? "1.
|
|
403268
|
+
const version = process.env.DEMO_VERSION ?? "1.9.0";
|
|
403214
403269
|
const serverUrl = getDirectConnectServerUrl();
|
|
403215
403270
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
403216
403271
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -404310,7 +404365,7 @@ function Logo() {
|
|
|
404310
404365
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
404311
404366
|
t2 = () => {
|
|
404312
404367
|
const currentConfig = getGlobalConfig();
|
|
404313
|
-
if (currentConfig.lastReleaseNotesSeen === "1.
|
|
404368
|
+
if (currentConfig.lastReleaseNotesSeen === "1.9.0") {
|
|
404314
404369
|
return;
|
|
404315
404370
|
}
|
|
404316
404371
|
saveGlobalConfig(_temp326);
|
|
@@ -404969,12 +405024,12 @@ function Logo() {
|
|
|
404969
405024
|
return t41;
|
|
404970
405025
|
}
|
|
404971
405026
|
function _temp326(current) {
|
|
404972
|
-
if (current.lastReleaseNotesSeen === "1.
|
|
405027
|
+
if (current.lastReleaseNotesSeen === "1.9.0") {
|
|
404973
405028
|
return current;
|
|
404974
405029
|
}
|
|
404975
405030
|
return {
|
|
404976
405031
|
...current,
|
|
404977
|
-
lastReleaseNotesSeen: "1.
|
|
405032
|
+
lastReleaseNotesSeen: "1.9.0"
|
|
404978
405033
|
};
|
|
404979
405034
|
}
|
|
404980
405035
|
function _temp241(s_0) {
|
|
@@ -435453,7 +435508,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
435453
435508
|
smapsRollup,
|
|
435454
435509
|
platform: process.platform,
|
|
435455
435510
|
nodeVersion: process.version,
|
|
435456
|
-
ccVersion: "1.
|
|
435511
|
+
ccVersion: "1.9.0"
|
|
435457
435512
|
};
|
|
435458
435513
|
}
|
|
435459
435514
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -436038,7 +436093,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
436038
436093
|
var call87 = async () => {
|
|
436039
436094
|
return {
|
|
436040
436095
|
type: "text",
|
|
436041
|
-
value: `${"1.
|
|
436096
|
+
value: `${"1.9.0"} (built ${"2026-05-07T17:47:00.138Z"})`
|
|
436042
436097
|
};
|
|
436043
436098
|
}, version, version_default;
|
|
436044
436099
|
var init_version = __esm(() => {
|
|
@@ -443982,7 +444037,7 @@ function generateHtmlReport(data, insights) {
|
|
|
443982
444037
|
</html>`;
|
|
443983
444038
|
}
|
|
443984
444039
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
443985
|
-
const version2 = typeof MACRO !== "undefined" ? "1.
|
|
444040
|
+
const version2 = typeof MACRO !== "undefined" ? "1.9.0" : "unknown";
|
|
443986
444041
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
443987
444042
|
const facets_summary = {
|
|
443988
444043
|
total: facets.size,
|
|
@@ -448183,7 +448238,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
448183
448238
|
init_settings2();
|
|
448184
448239
|
init_slowOperations();
|
|
448185
448240
|
init_uuid();
|
|
448186
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.
|
|
448241
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.9.0" : "unknown";
|
|
448187
448242
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
448188
448243
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
448189
448244
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -449384,7 +449439,7 @@ var init_filesystem = __esm(() => {
|
|
|
449384
449439
|
});
|
|
449385
449440
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
449386
449441
|
const nonce = randomBytes20(16).toString("hex");
|
|
449387
|
-
return join151(getClaudeTempDir(), "bundled-skills", "1.
|
|
449442
|
+
return join151(getClaudeTempDir(), "bundled-skills", "1.9.0", nonce);
|
|
449388
449443
|
});
|
|
449389
449444
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
449390
449445
|
});
|
|
@@ -458621,7 +458676,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
458621
458676
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
458622
458677
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
458623
458678
|
betas: getSdkBetas(),
|
|
458624
|
-
claude_code_version: "1.
|
|
458679
|
+
claude_code_version: "1.9.0",
|
|
458625
458680
|
output_style: outputStyle2,
|
|
458626
458681
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
458627
458682
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -472778,7 +472833,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
472778
472833
|
function getSemverPart(version2) {
|
|
472779
472834
|
return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
|
|
472780
472835
|
}
|
|
472781
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.
|
|
472836
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.9.0") {
|
|
472782
472837
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
|
|
472783
472838
|
if (!updatedVersion) {
|
|
472784
472839
|
return null;
|
|
@@ -472818,7 +472873,7 @@ function AutoUpdater({
|
|
|
472818
472873
|
return;
|
|
472819
472874
|
}
|
|
472820
472875
|
if (false) {}
|
|
472821
|
-
const currentVersion = "1.
|
|
472876
|
+
const currentVersion = "1.9.0";
|
|
472822
472877
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
472823
472878
|
let latestVersion = await getLatestVersion(channel);
|
|
472824
472879
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -473029,12 +473084,12 @@ function NativeAutoUpdater({
|
|
|
473029
473084
|
logEvent("tengu_native_auto_updater_start", {});
|
|
473030
473085
|
try {
|
|
473031
473086
|
const maxVersion = await getMaxVersion();
|
|
473032
|
-
if (maxVersion && gt("1.
|
|
473087
|
+
if (maxVersion && gt("1.9.0", maxVersion)) {
|
|
473033
473088
|
const msg = await getMaxVersionMessage();
|
|
473034
473089
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
473035
473090
|
}
|
|
473036
473091
|
const result = await installLatest(channel);
|
|
473037
|
-
const currentVersion = "1.
|
|
473092
|
+
const currentVersion = "1.9.0";
|
|
473038
473093
|
const latencyMs = Date.now() - startTime;
|
|
473039
473094
|
if (result.lockFailed) {
|
|
473040
473095
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -473169,17 +473224,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
473169
473224
|
const maxVersion = await getMaxVersion();
|
|
473170
473225
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
473171
473226
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
473172
|
-
if (gte("1.
|
|
473173
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.
|
|
473227
|
+
if (gte("1.9.0", maxVersion)) {
|
|
473228
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.9.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
473174
473229
|
setUpdateAvailable(false);
|
|
473175
473230
|
return;
|
|
473176
473231
|
}
|
|
473177
473232
|
latest = maxVersion;
|
|
473178
473233
|
}
|
|
473179
|
-
const hasUpdate = latest && !gte("1.
|
|
473234
|
+
const hasUpdate = latest && !gte("1.9.0", latest) && !shouldSkipVersion(latest);
|
|
473180
473235
|
setUpdateAvailable(!!hasUpdate);
|
|
473181
473236
|
if (hasUpdate) {
|
|
473182
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.
|
|
473237
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.9.0"} -> ${latest}`);
|
|
473183
473238
|
}
|
|
473184
473239
|
};
|
|
473185
473240
|
$2[0] = t1;
|
|
@@ -473213,7 +473268,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
473213
473268
|
wrap: "truncate",
|
|
473214
473269
|
children: [
|
|
473215
473270
|
"currentVersion: ",
|
|
473216
|
-
"1.
|
|
473271
|
+
"1.9.0"
|
|
473217
473272
|
]
|
|
473218
473273
|
}, undefined, true, undefined, this);
|
|
473219
473274
|
$2[3] = verbose;
|
|
@@ -480773,7 +480828,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
480773
480828
|
project_dir: getOriginalCwd(),
|
|
480774
480829
|
added_dirs: addedDirs
|
|
480775
480830
|
},
|
|
480776
|
-
version: "1.
|
|
480831
|
+
version: "1.9.0",
|
|
480777
480832
|
output_style: {
|
|
480778
480833
|
name: outputStyleName
|
|
480779
480834
|
},
|
|
@@ -492345,7 +492400,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
492345
492400
|
} catch {}
|
|
492346
492401
|
const data = {
|
|
492347
492402
|
trigger,
|
|
492348
|
-
version: "1.
|
|
492403
|
+
version: "1.9.0",
|
|
492349
492404
|
platform: process.platform,
|
|
492350
492405
|
transcript,
|
|
492351
492406
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -509254,7 +509309,7 @@ function appendToLog(path17, message) {
|
|
|
509254
509309
|
cwd: getFsImplementation().cwd(),
|
|
509255
509310
|
userType: process.env.USER_TYPE,
|
|
509256
509311
|
sessionId: getSessionId(),
|
|
509257
|
-
version: "1.
|
|
509312
|
+
version: "1.9.0"
|
|
509258
509313
|
};
|
|
509259
509314
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
509260
509315
|
}
|
|
@@ -513278,8 +513333,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
513278
513333
|
}
|
|
513279
513334
|
async function checkEnvLessBridgeMinVersion() {
|
|
513280
513335
|
const cfg = await getEnvLessBridgeConfig();
|
|
513281
|
-
if (cfg.min_version && lt("1.
|
|
513282
|
-
return `Your version of localclawd (${"1.
|
|
513336
|
+
if (cfg.min_version && lt("1.9.0", cfg.min_version)) {
|
|
513337
|
+
return `Your version of localclawd (${"1.9.0"}) is too old for Remote Control.
|
|
513283
513338
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
513284
513339
|
}
|
|
513285
513340
|
return null;
|
|
@@ -513751,7 +513806,7 @@ async function initBridgeCore(params) {
|
|
|
513751
513806
|
const rawApi = createBridgeApiClient({
|
|
513752
513807
|
baseUrl,
|
|
513753
513808
|
getAccessToken,
|
|
513754
|
-
runnerVersion: "1.
|
|
513809
|
+
runnerVersion: "1.9.0",
|
|
513755
513810
|
onDebug: logForDebugging,
|
|
513756
513811
|
onAuth401,
|
|
513757
513812
|
getTrustedDeviceToken
|
|
@@ -519470,7 +519525,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
519470
519525
|
setCwd(cwd3);
|
|
519471
519526
|
const server = new Server({
|
|
519472
519527
|
name: "claude/tengu",
|
|
519473
|
-
version: "1.
|
|
519528
|
+
version: "1.9.0"
|
|
519474
519529
|
}, {
|
|
519475
519530
|
capabilities: {
|
|
519476
519531
|
tools: {}
|
|
@@ -520551,7 +520606,7 @@ function WelcomeLogo() {
|
|
|
520551
520606
|
dimColor: true,
|
|
520552
520607
|
children: [
|
|
520553
520608
|
"v",
|
|
520554
|
-
"1.
|
|
520609
|
+
"1.9.0"
|
|
520555
520610
|
]
|
|
520556
520611
|
}, undefined, true, undefined, this)
|
|
520557
520612
|
]
|
|
@@ -520742,7 +520797,7 @@ __export(exports_update, {
|
|
|
520742
520797
|
});
|
|
520743
520798
|
async function update() {
|
|
520744
520799
|
logEvent("tengu_update_check", {});
|
|
520745
|
-
writeToStdout(`Current version: ${"1.
|
|
520800
|
+
writeToStdout(`Current version: ${"1.9.0"}
|
|
520746
520801
|
`);
|
|
520747
520802
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
520748
520803
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -520817,8 +520872,8 @@ async function update() {
|
|
|
520817
520872
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
520818
520873
|
`);
|
|
520819
520874
|
const latest = await getLatestVersion(channel);
|
|
520820
|
-
if (latest && !gte("1.
|
|
520821
|
-
writeToStdout(`Update available: ${"1.
|
|
520875
|
+
if (latest && !gte("1.9.0", latest)) {
|
|
520876
|
+
writeToStdout(`Update available: ${"1.9.0"} → ${latest}
|
|
520822
520877
|
`);
|
|
520823
520878
|
writeToStdout(`
|
|
520824
520879
|
`);
|
|
@@ -520834,8 +520889,8 @@ async function update() {
|
|
|
520834
520889
|
writeToStdout(`localclawd is managed by winget.
|
|
520835
520890
|
`);
|
|
520836
520891
|
const latest = await getLatestVersion(channel);
|
|
520837
|
-
if (latest && !gte("1.
|
|
520838
|
-
writeToStdout(`Update available: ${"1.
|
|
520892
|
+
if (latest && !gte("1.9.0", latest)) {
|
|
520893
|
+
writeToStdout(`Update available: ${"1.9.0"} → ${latest}
|
|
520839
520894
|
`);
|
|
520840
520895
|
writeToStdout(`
|
|
520841
520896
|
`);
|
|
@@ -520849,8 +520904,8 @@ async function update() {
|
|
|
520849
520904
|
writeToStdout(`localclawd is managed by apk.
|
|
520850
520905
|
`);
|
|
520851
520906
|
const latest = await getLatestVersion(channel);
|
|
520852
|
-
if (latest && !gte("1.
|
|
520853
|
-
writeToStdout(`Update available: ${"1.
|
|
520907
|
+
if (latest && !gte("1.9.0", latest)) {
|
|
520908
|
+
writeToStdout(`Update available: ${"1.9.0"} → ${latest}
|
|
520854
520909
|
`);
|
|
520855
520910
|
writeToStdout(`
|
|
520856
520911
|
`);
|
|
@@ -520915,11 +520970,11 @@ async function update() {
|
|
|
520915
520970
|
`);
|
|
520916
520971
|
await gracefulShutdown(1);
|
|
520917
520972
|
}
|
|
520918
|
-
if (result.latestVersion === "1.
|
|
520919
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.
|
|
520973
|
+
if (result.latestVersion === "1.9.0") {
|
|
520974
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.9.0"})`) + `
|
|
520920
520975
|
`);
|
|
520921
520976
|
} else {
|
|
520922
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.
|
|
520977
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.9.0"} to version ${result.latestVersion}`) + `
|
|
520923
520978
|
`);
|
|
520924
520979
|
await regenerateCompletionCache();
|
|
520925
520980
|
}
|
|
@@ -520979,12 +521034,12 @@ async function update() {
|
|
|
520979
521034
|
`);
|
|
520980
521035
|
await gracefulShutdown(1);
|
|
520981
521036
|
}
|
|
520982
|
-
if (latestVersion === "1.
|
|
520983
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.
|
|
521037
|
+
if (latestVersion === "1.9.0") {
|
|
521038
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.9.0"})`) + `
|
|
520984
521039
|
`);
|
|
520985
521040
|
await gracefulShutdown(0);
|
|
520986
521041
|
}
|
|
520987
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.
|
|
521042
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.9.0"})
|
|
520988
521043
|
`);
|
|
520989
521044
|
writeToStdout(`Installing update...
|
|
520990
521045
|
`);
|
|
@@ -521029,7 +521084,7 @@ async function update() {
|
|
|
521029
521084
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
521030
521085
|
switch (status2) {
|
|
521031
521086
|
case "success":
|
|
521032
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.
|
|
521087
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.9.0"} to version ${latestVersion}`) + `
|
|
521033
521088
|
`);
|
|
521034
521089
|
await regenerateCompletionCache();
|
|
521035
521090
|
break;
|
|
@@ -522271,7 +522326,7 @@ Run with --debug for more details.
|
|
|
522271
522326
|
}
|
|
522272
522327
|
}
|
|
522273
522328
|
logForDiagnosticsNoPII("info", "started", {
|
|
522274
|
-
version: "1.
|
|
522329
|
+
version: "1.9.0",
|
|
522275
522330
|
is_native_binary: isInBundledMode()
|
|
522276
522331
|
});
|
|
522277
522332
|
registerCleanup(async () => {
|
|
@@ -523055,7 +523110,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
523055
523110
|
pendingHookMessages
|
|
523056
523111
|
}, renderAndRun);
|
|
523057
523112
|
}
|
|
523058
|
-
}).version("1.
|
|
523113
|
+
}).version("1.9.0 (localclawd)", "-v, --version", "Output the version number");
|
|
523059
523114
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
523060
523115
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
523061
523116
|
if (canUserConfigureAdvisor()) {
|
|
@@ -523569,7 +523624,7 @@ if (false) {}
|
|
|
523569
523624
|
async function main2() {
|
|
523570
523625
|
const args = process.argv.slice(2);
|
|
523571
523626
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
523572
|
-
console.log(`${"1.
|
|
523627
|
+
console.log(`${"1.9.0"} (localclawd)`);
|
|
523573
523628
|
return;
|
|
523574
523629
|
}
|
|
523575
523630
|
const {
|
|
@@ -523652,4 +523707,4 @@ localclawd crashed: ${msg}
|
|
|
523652
523707
|
process.exit(1);
|
|
523653
523708
|
});
|
|
523654
523709
|
|
|
523655
|
-
//# debugId=
|
|
523710
|
+
//# debugId=40FDF2E96DA5BCD764756E2164756E21
|