happy-imou-cloud 2.1.16 → 2.1.17
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/{BaseReasoningProcessor-TghqGOqo.mjs → BaseReasoningProcessor-BAv0_85s.mjs} +2 -2
- package/dist/{BaseReasoningProcessor-D6AIOycG.cjs → BaseReasoningProcessor-D_cBN7IM.cjs} +2 -2
- package/dist/{ProviderSelectionHandler-DxDz5NAw.cjs → ProviderSelectionHandler-Cyinzbk-.cjs} +2 -2
- package/dist/{ProviderSelectionHandler-Be6q2nTi.mjs → ProviderSelectionHandler-D3qMOxaQ.mjs} +2 -2
- package/dist/{api-BePMt8XI.mjs → api-CrGI5ANv.mjs} +2 -2
- package/dist/{api-BUAppqAe.cjs → api-ykburCIA.cjs} +2 -2
- package/dist/{command-CAZ2gxud.cjs → command-3_48b_TM.cjs} +3 -3
- package/dist/{command-DlRscTrt.mjs → command-BGK4qQ-4.mjs} +3 -3
- package/dist/{index-OfWx3GbO.mjs → index-CVp6QcCz.mjs} +119 -23
- package/dist/{index-LKiNbRQ1.cjs → index-CX3AYEyM.cjs} +121 -25
- package/dist/index.cjs +3 -3
- package/dist/index.mjs +3 -3
- package/dist/lib.cjs +1 -1
- package/dist/lib.mjs +1 -1
- package/dist/{persistence-CQ1ub64T.cjs → persistence-DFC6LL-_.cjs} +1 -1
- package/dist/{persistence-BOtU4fYZ.mjs → persistence-vDMpMN8U.mjs} +1 -1
- package/dist/{registerKillSessionHandler-DcFWS8JV.mjs → registerKillSessionHandler-CefmiOrp.mjs} +3 -3
- package/dist/{registerKillSessionHandler-BTabJYFZ.cjs → registerKillSessionHandler-Dztdudkl.cjs} +3 -3
- package/dist/{runClaude-COLx_2h1.cjs → runClaude-Ca_A2OHq.cjs} +5 -5
- package/dist/{runClaude-BhJT-JJJ.mjs → runClaude-DuzlOk3Z.mjs} +5 -5
- package/dist/{runCodex-BNznOpcn.mjs → runCodex-CayUbEDE.mjs} +6 -6
- package/dist/{runCodex-CcOicO3f.cjs → runCodex-Cyfj_rOx.cjs} +6 -6
- package/dist/{runGemini-iSsDFz8x.cjs → runGemini-CUpbNLsb.cjs} +5 -5
- package/dist/{runGemini-C-ADeQ79.mjs → runGemini-EB-Mh7Ua.mjs} +5 -5
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as createSessionMetadata, p as publishSessionRegistration } from './index-
|
|
2
|
-
import { s as startOfflineReconnection, c as configuration, i as isAuthenticationRequiredError, l as logger } from './api-
|
|
1
|
+
import { a as createSessionMetadata, p as publishSessionRegistration } from './index-CVp6QcCz.mjs';
|
|
2
|
+
import { s as startOfflineReconnection, c as configuration, i as isAuthenticationRequiredError, l as logger } from './api-CrGI5ANv.mjs';
|
|
3
3
|
import { EventEmitter } from 'node:events';
|
|
4
4
|
import { randomUUID } from 'node:crypto';
|
|
5
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var api = require('./api-
|
|
3
|
+
var index = require('./index-CX3AYEyM.cjs');
|
|
4
|
+
var api = require('./api-ykburCIA.cjs');
|
|
5
5
|
var node_events = require('node:events');
|
|
6
6
|
var node_crypto = require('node:crypto');
|
|
7
7
|
|
package/dist/{ProviderSelectionHandler-DxDz5NAw.cjs → ProviderSelectionHandler-Cyinzbk-.cjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var api = require('./api-
|
|
4
|
-
var registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
3
|
+
var api = require('./api-ykburCIA.cjs');
|
|
4
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-Dztdudkl.cjs');
|
|
5
5
|
|
|
6
6
|
async function runModeLoop(opts) {
|
|
7
7
|
let currentMode = opts.startingMode;
|
package/dist/{ProviderSelectionHandler-Be6q2nTi.mjs → ProviderSelectionHandler-D3qMOxaQ.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { l as logger } from './api-
|
|
2
|
-
import { g as getPendingInteractionTimeoutMs, I as INTERACTION_SUPERSEDED_ERROR, a as INTERACTION_TIMED_OUT_ERROR } from './registerKillSessionHandler-
|
|
1
|
+
import { l as logger } from './api-CrGI5ANv.mjs';
|
|
2
|
+
import { g as getPendingInteractionTimeoutMs, I as INTERACTION_SUPERSEDED_ERROR, a as INTERACTION_TIMED_OUT_ERROR } from './registerKillSessionHandler-CefmiOrp.mjs';
|
|
3
3
|
|
|
4
4
|
async function runModeLoop(opts) {
|
|
5
5
|
let currentMode = opts.startingMode;
|
|
@@ -16,7 +16,7 @@ import { spawn } from 'node:child_process';
|
|
|
16
16
|
import { Expo } from 'expo-server-sdk';
|
|
17
17
|
|
|
18
18
|
var name = "happy-imou-cloud";
|
|
19
|
-
var version = "2.1.
|
|
19
|
+
var version = "2.1.17";
|
|
20
20
|
var description = "hicloud - Imou 企业定制版。关键是 happy!移动端远程 AI 编程工具,支持 Claude Code、Codex 和 Gemini CLI";
|
|
21
21
|
var author = "long.zhu";
|
|
22
22
|
var license = "MIT";
|
|
@@ -431,7 +431,7 @@ async function listDaemonLogFiles(limit = 50) {
|
|
|
431
431
|
return { file, path: fullPath, modified: stats.mtime };
|
|
432
432
|
}).sort((a, b) => b.modified.getTime() - a.modified.getTime());
|
|
433
433
|
try {
|
|
434
|
-
const { readDaemonState } = await import('./persistence-
|
|
434
|
+
const { readDaemonState } = await import('./persistence-vDMpMN8U.mjs');
|
|
435
435
|
const state = await readDaemonState();
|
|
436
436
|
if (!state) {
|
|
437
437
|
return logs;
|
|
@@ -18,7 +18,7 @@ var node_child_process = require('node:child_process');
|
|
|
18
18
|
var expoServerSdk = require('expo-server-sdk');
|
|
19
19
|
|
|
20
20
|
var name = "happy-imou-cloud";
|
|
21
|
-
var version = "2.1.
|
|
21
|
+
var version = "2.1.17";
|
|
22
22
|
var description = "hicloud - Imou 企业定制版。关键是 happy!移动端远程 AI 编程工具,支持 Claude Code、Codex 和 Gemini CLI";
|
|
23
23
|
var author = "long.zhu";
|
|
24
24
|
var license = "MIT";
|
|
@@ -433,7 +433,7 @@ async function listDaemonLogFiles(limit = 50) {
|
|
|
433
433
|
return { file, path: fullPath, modified: stats.mtime };
|
|
434
434
|
}).sort((a, b) => b.modified.getTime() - a.modified.getTime());
|
|
435
435
|
try {
|
|
436
|
-
const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-
|
|
436
|
+
const { readDaemonState } = await Promise.resolve().then(function () { return require('./persistence-DFC6LL-_.cjs'); });
|
|
437
437
|
const state = await readDaemonState();
|
|
438
438
|
if (!state) {
|
|
439
439
|
return logs;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-CX3AYEyM.cjs');
|
|
4
4
|
require('chalk');
|
|
5
|
-
require('./api-
|
|
5
|
+
require('./api-ykburCIA.cjs');
|
|
6
6
|
require('axios');
|
|
7
7
|
require('fs');
|
|
8
8
|
require('node:fs');
|
|
@@ -18,7 +18,7 @@ require('crypto');
|
|
|
18
18
|
require('path');
|
|
19
19
|
require('node:child_process');
|
|
20
20
|
require('expo-server-sdk');
|
|
21
|
-
require('./persistence-
|
|
21
|
+
require('./persistence-DFC6LL-_.cjs');
|
|
22
22
|
require('node:fs/promises');
|
|
23
23
|
require('os');
|
|
24
24
|
require('tmp');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as createDefaultRuntimeShell } from './index-
|
|
1
|
+
import { c as createDefaultRuntimeShell } from './index-CVp6QcCz.mjs';
|
|
2
2
|
import 'chalk';
|
|
3
|
-
import './api-
|
|
3
|
+
import './api-CrGI5ANv.mjs';
|
|
4
4
|
import 'axios';
|
|
5
5
|
import 'fs';
|
|
6
6
|
import 'node:fs';
|
|
@@ -16,7 +16,7 @@ import 'crypto';
|
|
|
16
16
|
import 'path';
|
|
17
17
|
import 'node:child_process';
|
|
18
18
|
import 'expo-server-sdk';
|
|
19
|
-
import './persistence-
|
|
19
|
+
import './persistence-vDMpMN8U.mjs';
|
|
20
20
|
import 'node:fs/promises';
|
|
21
21
|
import 'os';
|
|
22
22
|
import 'tmp';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import chalk from 'chalk';
|
|
2
|
-
import { l as logger, e as encodeBase64, c as configuration, k as buildAuthenticatedHeaders, S as SigningBootstrapRequiredError, m as SIGNING_BOOTSTRAP_REQUIRED_MESSAGE, n as encodeBase64Url, h as delay, o as buildClientHeaders, q as decodeBase64, r as HAPPY_CLOUD_DAEMON_PORT, t as packageJson, A as ApiClient, u as HeadTailPreviewBuffer, v as getLatestDaemonLog } from './api-
|
|
3
|
-
import { writeCredentialsLegacy, writeCredentialsDataKey, readCredentials, readSettings, updateSettings, readDaemonState, clearDaemonState, acquireDaemonLock, writeDaemonState, releaseDaemonLock, validateProfileForAgent, getProfileEnvironmentVariables, clearCredentials, clearMachineId } from './persistence-
|
|
2
|
+
import { l as logger, e as encodeBase64, c as configuration, k as buildAuthenticatedHeaders, S as SigningBootstrapRequiredError, m as SIGNING_BOOTSTRAP_REQUIRED_MESSAGE, n as encodeBase64Url, h as delay, o as buildClientHeaders, q as decodeBase64, r as HAPPY_CLOUD_DAEMON_PORT, t as packageJson, A as ApiClient, u as HeadTailPreviewBuffer, v as getLatestDaemonLog } from './api-CrGI5ANv.mjs';
|
|
3
|
+
import { writeCredentialsLegacy, writeCredentialsDataKey, readCredentials, readSettings, updateSettings, readDaemonState, clearDaemonState, acquireDaemonLock, writeDaemonState, releaseDaemonLock, validateProfileForAgent, getProfileEnvironmentVariables, clearCredentials, clearMachineId } from './persistence-vDMpMN8U.mjs';
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import fs, { writeFile as writeFile$1, rename, unlink as unlink$1 } from 'fs/promises';
|
|
6
6
|
import os$1, { homedir } from 'os';
|
|
@@ -12,7 +12,7 @@ import qrcode from 'qrcode-terminal';
|
|
|
12
12
|
import { writeFile, unlink, readdir, readFile, mkdir } from 'node:fs/promises';
|
|
13
13
|
import { createRequire } from 'node:module';
|
|
14
14
|
import os, { tmpdir, homedir as homedir$1 } from 'node:os';
|
|
15
|
-
import path, { join, resolve as resolve$1, isAbsolute, delimiter, normalize, dirname as dirname$1 } from 'node:path';
|
|
15
|
+
import path, { join, resolve as resolve$1, isAbsolute, delimiter, normalize, dirname as dirname$1, basename } from 'node:path';
|
|
16
16
|
import open from 'open';
|
|
17
17
|
import React, { useState } from 'react';
|
|
18
18
|
import { useInput, Box, Text, render } from 'ink';
|
|
@@ -6155,14 +6155,32 @@ function getToolOutputDelta(previous, next) {
|
|
|
6155
6155
|
const overlap = findToolOutputOverlap(previous, next);
|
|
6156
6156
|
return overlap > 0 ? next.slice(overlap) : next;
|
|
6157
6157
|
}
|
|
6158
|
+
function shouldReplaceToolOutput(previous, next) {
|
|
6159
|
+
if (!previous || previous.length === 0) {
|
|
6160
|
+
return false;
|
|
6161
|
+
}
|
|
6162
|
+
if (next.startsWith(previous)) {
|
|
6163
|
+
return false;
|
|
6164
|
+
}
|
|
6165
|
+
const previousWithoutTrailingNewlines = previous.replace(/[\r\n]+$/g, "");
|
|
6166
|
+
if (previousWithoutTrailingNewlines.length === previous.length) {
|
|
6167
|
+
return false;
|
|
6168
|
+
}
|
|
6169
|
+
return next.startsWith(previousWithoutTrailingNewlines);
|
|
6170
|
+
}
|
|
6158
6171
|
function appendToolOutput(existing, next) {
|
|
6159
|
-
const
|
|
6172
|
+
const shouldReplace = shouldReplaceToolOutput(existing?.lastRawText, next);
|
|
6173
|
+
const preview = shouldReplace || !existing?.preview ? new HeadTailPreviewBuffer(
|
|
6160
6174
|
DEFAULT_TOOL_CALL_OUTPUT_PREVIEW_HEAD_BYTES,
|
|
6161
6175
|
DEFAULT_TOOL_CALL_OUTPUT_PREVIEW_TAIL_BYTES
|
|
6162
|
-
);
|
|
6163
|
-
|
|
6164
|
-
|
|
6165
|
-
|
|
6176
|
+
) : existing.preview;
|
|
6177
|
+
if (shouldReplace) {
|
|
6178
|
+
preview.append(next);
|
|
6179
|
+
} else {
|
|
6180
|
+
const textToAppend = getToolOutputDelta(existing?.lastRawText, next);
|
|
6181
|
+
if (textToAppend.length > 0) {
|
|
6182
|
+
preview.append(textToAppend);
|
|
6183
|
+
}
|
|
6166
6184
|
}
|
|
6167
6185
|
return {
|
|
6168
6186
|
preview,
|
|
@@ -8656,6 +8674,7 @@ const CODEX_HOME_SEED_FILES = [
|
|
|
8656
8674
|
const CODEX_HOME_SEED_DIRS = [
|
|
8657
8675
|
"rules"
|
|
8658
8676
|
];
|
|
8677
|
+
const MAX_CODEX_SKILL_DESCRIPTION_LENGTH = 1024;
|
|
8659
8678
|
function getCodexPlatformTarget(platform, arch) {
|
|
8660
8679
|
if (platform === "win32" && arch === "x64") {
|
|
8661
8680
|
return {
|
|
@@ -8827,6 +8846,60 @@ function copyCodexHomeEntry(sourcePath, destPath) {
|
|
|
8827
8846
|
verbatimSymlinks: true
|
|
8828
8847
|
});
|
|
8829
8848
|
}
|
|
8849
|
+
function extractSkillDescriptionFromFrontmatter(frontmatter) {
|
|
8850
|
+
const lines = frontmatter.split(/\r?\n/);
|
|
8851
|
+
for (let index = 0; index < lines.length; index++) {
|
|
8852
|
+
const line = lines[index];
|
|
8853
|
+
const match = /^description:\s*(.*)$/.exec(line);
|
|
8854
|
+
if (!match) {
|
|
8855
|
+
continue;
|
|
8856
|
+
}
|
|
8857
|
+
const remainder = match[1]?.trim() ?? "";
|
|
8858
|
+
if (!remainder || remainder === "|" || remainder === ">") {
|
|
8859
|
+
const descriptionLines = [];
|
|
8860
|
+
for (let offset = index + 1; offset < lines.length; offset++) {
|
|
8861
|
+
const descriptionLine = lines[offset] ?? "";
|
|
8862
|
+
if (descriptionLine.length > 0 && !/^\s/.test(descriptionLine)) {
|
|
8863
|
+
break;
|
|
8864
|
+
}
|
|
8865
|
+
descriptionLines.push(descriptionLine.replace(/^\s{2}/, ""));
|
|
8866
|
+
}
|
|
8867
|
+
return descriptionLines.join("\n").trim();
|
|
8868
|
+
}
|
|
8869
|
+
return remainder.replace(/^['"]|['"]$/g, "").trim();
|
|
8870
|
+
}
|
|
8871
|
+
return null;
|
|
8872
|
+
}
|
|
8873
|
+
function extractSkillDescription(skillManifestPath) {
|
|
8874
|
+
const manifest = readFileSync(skillManifestPath, "utf8");
|
|
8875
|
+
const frontmatterMatch = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/.exec(manifest);
|
|
8876
|
+
const frontmatter = frontmatterMatch?.[1];
|
|
8877
|
+
if (!frontmatter) {
|
|
8878
|
+
return null;
|
|
8879
|
+
}
|
|
8880
|
+
return extractSkillDescriptionFromFrontmatter(frontmatter);
|
|
8881
|
+
}
|
|
8882
|
+
function shouldSeedCodexSkillEntry(sourcePath) {
|
|
8883
|
+
if (basename(sourcePath) === ".system") {
|
|
8884
|
+
return true;
|
|
8885
|
+
}
|
|
8886
|
+
const manifestPath = join(sourcePath, "SKILL.md");
|
|
8887
|
+
if (!existsSync(manifestPath)) {
|
|
8888
|
+
return true;
|
|
8889
|
+
}
|
|
8890
|
+
try {
|
|
8891
|
+
const description = extractSkillDescription(manifestPath);
|
|
8892
|
+
if (description && description.length > MAX_CODEX_SKILL_DESCRIPTION_LENGTH) {
|
|
8893
|
+
logger.debug(
|
|
8894
|
+
`[codex] Skipping CODEX_HOME skill entry ${sourcePath} because its description exceeds ${MAX_CODEX_SKILL_DESCRIPTION_LENGTH} characters`
|
|
8895
|
+
);
|
|
8896
|
+
return false;
|
|
8897
|
+
}
|
|
8898
|
+
} catch (error) {
|
|
8899
|
+
logger.debug(`[codex] Failed to inspect CODEX_HOME skill entry ${sourcePath}`, error);
|
|
8900
|
+
}
|
|
8901
|
+
return true;
|
|
8902
|
+
}
|
|
8830
8903
|
function seedIsolatedCodexHome(sourceHomeDir, isolatedHomeDir) {
|
|
8831
8904
|
if (!existsSync(sourceHomeDir)) {
|
|
8832
8905
|
return;
|
|
@@ -8852,9 +8925,13 @@ function seedIsolatedCodexHome(sourceHomeDir, isolatedHomeDir) {
|
|
|
8852
8925
|
const destSkillsDir = join(isolatedHomeDir, "skills");
|
|
8853
8926
|
mkdirSync$1(destSkillsDir, { recursive: true });
|
|
8854
8927
|
for (const entryName of readdirSync(sourceSkillsDir)) {
|
|
8928
|
+
const sourceEntryPath = join(sourceSkillsDir, entryName);
|
|
8929
|
+
if (!shouldSeedCodexSkillEntry(sourceEntryPath)) {
|
|
8930
|
+
continue;
|
|
8931
|
+
}
|
|
8855
8932
|
try {
|
|
8856
8933
|
copyCodexHomeEntry(
|
|
8857
|
-
|
|
8934
|
+
sourceEntryPath,
|
|
8858
8935
|
join(destSkillsDir, entryName)
|
|
8859
8936
|
);
|
|
8860
8937
|
} catch (error) {
|
|
@@ -9676,6 +9753,7 @@ function normalizeClaudeToolResultContent(value) {
|
|
|
9676
9753
|
function createTimeoutError(timeoutMs) {
|
|
9677
9754
|
return new Error(`Claude response did not complete within ${timeoutMs}ms`);
|
|
9678
9755
|
}
|
|
9756
|
+
const CLAUDE_RESPONSE_PROGRESS_POLL_MS = 1e3;
|
|
9679
9757
|
function normalizePermissionResult(input, decision) {
|
|
9680
9758
|
if (decision === "approved" || decision === "approved_for_session") {
|
|
9681
9759
|
return {
|
|
@@ -9707,6 +9785,7 @@ class ClaudeCodeBackend {
|
|
|
9707
9785
|
consumeTask = null;
|
|
9708
9786
|
activeResponse = null;
|
|
9709
9787
|
responseCompletionOutcome = null;
|
|
9788
|
+
responseLastProgressAt = null;
|
|
9710
9789
|
disposed = false;
|
|
9711
9790
|
lastStatus = null;
|
|
9712
9791
|
onMessage(handler) {
|
|
@@ -9731,6 +9810,7 @@ class ClaudeCodeBackend {
|
|
|
9731
9810
|
await this.ensureQueryStarted();
|
|
9732
9811
|
this.responseCompletionOutcome = null;
|
|
9733
9812
|
this.activeResponse = new Future();
|
|
9813
|
+
this.responseLastProgressAt = Date.now();
|
|
9734
9814
|
void this.activeResponse.promise.catch(() => {
|
|
9735
9815
|
});
|
|
9736
9816
|
this.emitStatus("running");
|
|
@@ -9763,18 +9843,25 @@ class ClaudeCodeBackend {
|
|
|
9763
9843
|
if (!this.activeResponse) {
|
|
9764
9844
|
return;
|
|
9765
9845
|
}
|
|
9766
|
-
|
|
9767
|
-
|
|
9846
|
+
while (this.activeResponse) {
|
|
9847
|
+
const elapsedSinceProgress = Date.now() - (this.responseLastProgressAt ?? Date.now());
|
|
9848
|
+
const remainingMs = timeoutMs - elapsedSinceProgress;
|
|
9849
|
+
if (remainingMs <= 0) {
|
|
9850
|
+
const timeoutError = createTimeoutError(timeoutMs);
|
|
9851
|
+
this.rejectActiveResponse(timeoutError);
|
|
9852
|
+
throw timeoutError;
|
|
9853
|
+
}
|
|
9768
9854
|
await Promise.race([
|
|
9769
9855
|
this.activeResponse.promise,
|
|
9770
|
-
new Promise((
|
|
9771
|
-
|
|
9856
|
+
new Promise((resolve2) => {
|
|
9857
|
+
setTimeout(resolve2, Math.min(CLAUDE_RESPONSE_PROGRESS_POLL_MS, remainingMs));
|
|
9772
9858
|
})
|
|
9773
9859
|
]);
|
|
9774
|
-
}
|
|
9775
|
-
|
|
9776
|
-
|
|
9777
|
-
|
|
9860
|
+
}
|
|
9861
|
+
const completionOutcome = this.responseCompletionOutcome;
|
|
9862
|
+
const rejectedError = completionOutcome && typeof completionOutcome === "object" && "error" in completionOutcome ? completionOutcome.error : null;
|
|
9863
|
+
if (rejectedError) {
|
|
9864
|
+
throw rejectedError;
|
|
9778
9865
|
}
|
|
9779
9866
|
}
|
|
9780
9867
|
async dispose() {
|
|
@@ -9898,6 +9985,7 @@ class ClaudeCodeBackend {
|
|
|
9898
9985
|
}
|
|
9899
9986
|
}
|
|
9900
9987
|
handleMessage(message) {
|
|
9988
|
+
this.markResponseProgress();
|
|
9901
9989
|
switch (message.type) {
|
|
9902
9990
|
case "system":
|
|
9903
9991
|
this.handleSystemMessage(message);
|
|
@@ -10011,6 +10099,7 @@ class ClaudeCodeBackend {
|
|
|
10011
10099
|
}
|
|
10012
10100
|
resolveActiveResponse() {
|
|
10013
10101
|
this.responseCompletionOutcome = { kind: "resolved" };
|
|
10102
|
+
this.responseLastProgressAt = null;
|
|
10014
10103
|
if (!this.activeResponse) {
|
|
10015
10104
|
return;
|
|
10016
10105
|
}
|
|
@@ -10020,6 +10109,7 @@ class ClaudeCodeBackend {
|
|
|
10020
10109
|
}
|
|
10021
10110
|
rejectActiveResponse(error) {
|
|
10022
10111
|
this.responseCompletionOutcome = { kind: "rejected", error };
|
|
10112
|
+
this.responseLastProgressAt = null;
|
|
10023
10113
|
if (!this.activeResponse) {
|
|
10024
10114
|
return;
|
|
10025
10115
|
}
|
|
@@ -10027,6 +10117,12 @@ class ClaudeCodeBackend {
|
|
|
10027
10117
|
this.activeResponse = null;
|
|
10028
10118
|
active.reject(error);
|
|
10029
10119
|
}
|
|
10120
|
+
markResponseProgress() {
|
|
10121
|
+
if (!this.activeResponse) {
|
|
10122
|
+
return;
|
|
10123
|
+
}
|
|
10124
|
+
this.responseLastProgressAt = Date.now();
|
|
10125
|
+
}
|
|
10030
10126
|
}
|
|
10031
10127
|
|
|
10032
10128
|
function mapToClaudeMode(mode) {
|
|
@@ -10332,11 +10428,11 @@ var launch = /*#__PURE__*/Object.freeze({
|
|
|
10332
10428
|
|
|
10333
10429
|
const unifiedProviderExecutors = {
|
|
10334
10430
|
claude: async (opts) => {
|
|
10335
|
-
const { runClaude } = await import('./runClaude-
|
|
10431
|
+
const { runClaude } = await import('./runClaude-DuzlOk3Z.mjs');
|
|
10336
10432
|
await runClaude(opts.credentials, opts.claudeOptions ?? {});
|
|
10337
10433
|
},
|
|
10338
10434
|
codex: async (opts) => {
|
|
10339
|
-
const { runCodex } = await import('./runCodex-
|
|
10435
|
+
const { runCodex } = await import('./runCodex-CayUbEDE.mjs');
|
|
10340
10436
|
await runCodex({
|
|
10341
10437
|
credentials: opts.credentials,
|
|
10342
10438
|
startedBy: opts.startedBy,
|
|
@@ -10345,7 +10441,7 @@ const unifiedProviderExecutors = {
|
|
|
10345
10441
|
});
|
|
10346
10442
|
},
|
|
10347
10443
|
gemini: async (opts) => {
|
|
10348
|
-
const { runGemini } = await import('./runGemini-
|
|
10444
|
+
const { runGemini } = await import('./runGemini-EB-Mh7Ua.mjs');
|
|
10349
10445
|
await runGemini({
|
|
10350
10446
|
credentials: opts.credentials,
|
|
10351
10447
|
startedBy: opts.startedBy
|
|
@@ -10428,7 +10524,7 @@ function shouldRunMainClaudeFlow(opts) {
|
|
|
10428
10524
|
return;
|
|
10429
10525
|
} else if (subcommand === "runtime") {
|
|
10430
10526
|
if (args[1] === "providers") {
|
|
10431
|
-
const { renderRuntimeProviders } = await import('./command-
|
|
10527
|
+
const { renderRuntimeProviders } = await import('./command-BGK4qQ-4.mjs');
|
|
10432
10528
|
console.log(renderRuntimeProviders());
|
|
10433
10529
|
return;
|
|
10434
10530
|
}
|
|
@@ -10617,8 +10713,8 @@ function shouldRunMainClaudeFlow(opts) {
|
|
|
10617
10713
|
const projectId = args[3];
|
|
10618
10714
|
try {
|
|
10619
10715
|
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return config; });
|
|
10620
|
-
const { readCredentials: readCredentials2 } = await import('./persistence-
|
|
10621
|
-
const { ApiClient: ApiClient2 } = await import('./api-
|
|
10716
|
+
const { readCredentials: readCredentials2 } = await import('./persistence-vDMpMN8U.mjs');
|
|
10717
|
+
const { ApiClient: ApiClient2 } = await import('./api-CrGI5ANv.mjs').then(function (n) { return n.w; });
|
|
10622
10718
|
let userEmail = void 0;
|
|
10623
10719
|
try {
|
|
10624
10720
|
const credentials = await readCredentials2();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
|
-
var api = require('./api-
|
|
5
|
-
var persistence = require('./persistence-
|
|
4
|
+
var api = require('./api-ykburCIA.cjs');
|
|
5
|
+
var persistence = require('./persistence-DFC6LL-_.cjs');
|
|
6
6
|
var z = require('zod');
|
|
7
7
|
var fs$2 = require('fs/promises');
|
|
8
8
|
var os$1 = require('os');
|
|
@@ -72,7 +72,7 @@ async function openBrowser(url) {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-
|
|
75
|
+
const require$1 = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-CX3AYEyM.cjs', document.baseURI).href)));
|
|
76
76
|
const QRCode = require$1("qrcode-terminal/vendor/QRCode");
|
|
77
77
|
const QRErrorCorrectLevel = require$1("qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel");
|
|
78
78
|
const pendingTempFiles = /* @__PURE__ */ new Set();
|
|
@@ -695,7 +695,7 @@ function setupCleanupHandlers() {
|
|
|
695
695
|
});
|
|
696
696
|
}
|
|
697
697
|
|
|
698
|
-
const __dirname$2 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-
|
|
698
|
+
const __dirname$2 = path$1.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-CX3AYEyM.cjs', document.baseURI).href))));
|
|
699
699
|
function projectPath() {
|
|
700
700
|
const path = path$1.resolve(__dirname$2, "..");
|
|
701
701
|
return path;
|
|
@@ -6177,14 +6177,32 @@ function getToolOutputDelta(previous, next) {
|
|
|
6177
6177
|
const overlap = findToolOutputOverlap(previous, next);
|
|
6178
6178
|
return overlap > 0 ? next.slice(overlap) : next;
|
|
6179
6179
|
}
|
|
6180
|
+
function shouldReplaceToolOutput(previous, next) {
|
|
6181
|
+
if (!previous || previous.length === 0) {
|
|
6182
|
+
return false;
|
|
6183
|
+
}
|
|
6184
|
+
if (next.startsWith(previous)) {
|
|
6185
|
+
return false;
|
|
6186
|
+
}
|
|
6187
|
+
const previousWithoutTrailingNewlines = previous.replace(/[\r\n]+$/g, "");
|
|
6188
|
+
if (previousWithoutTrailingNewlines.length === previous.length) {
|
|
6189
|
+
return false;
|
|
6190
|
+
}
|
|
6191
|
+
return next.startsWith(previousWithoutTrailingNewlines);
|
|
6192
|
+
}
|
|
6180
6193
|
function appendToolOutput(existing, next) {
|
|
6181
|
-
const
|
|
6194
|
+
const shouldReplace = shouldReplaceToolOutput(existing?.lastRawText, next);
|
|
6195
|
+
const preview = shouldReplace || !existing?.preview ? new api.HeadTailPreviewBuffer(
|
|
6182
6196
|
DEFAULT_TOOL_CALL_OUTPUT_PREVIEW_HEAD_BYTES,
|
|
6183
6197
|
DEFAULT_TOOL_CALL_OUTPUT_PREVIEW_TAIL_BYTES
|
|
6184
|
-
);
|
|
6185
|
-
|
|
6186
|
-
|
|
6187
|
-
|
|
6198
|
+
) : existing.preview;
|
|
6199
|
+
if (shouldReplace) {
|
|
6200
|
+
preview.append(next);
|
|
6201
|
+
} else {
|
|
6202
|
+
const textToAppend = getToolOutputDelta(existing?.lastRawText, next);
|
|
6203
|
+
if (textToAppend.length > 0) {
|
|
6204
|
+
preview.append(textToAppend);
|
|
6205
|
+
}
|
|
6188
6206
|
}
|
|
6189
6207
|
return {
|
|
6190
6208
|
preview,
|
|
@@ -8678,6 +8696,7 @@ const CODEX_HOME_SEED_FILES = [
|
|
|
8678
8696
|
const CODEX_HOME_SEED_DIRS = [
|
|
8679
8697
|
"rules"
|
|
8680
8698
|
];
|
|
8699
|
+
const MAX_CODEX_SKILL_DESCRIPTION_LENGTH = 1024;
|
|
8681
8700
|
function getCodexPlatformTarget(platform, arch) {
|
|
8682
8701
|
if (platform === "win32" && arch === "x64") {
|
|
8683
8702
|
return {
|
|
@@ -8849,6 +8868,60 @@ function copyCodexHomeEntry(sourcePath, destPath) {
|
|
|
8849
8868
|
verbatimSymlinks: true
|
|
8850
8869
|
});
|
|
8851
8870
|
}
|
|
8871
|
+
function extractSkillDescriptionFromFrontmatter(frontmatter) {
|
|
8872
|
+
const lines = frontmatter.split(/\r?\n/);
|
|
8873
|
+
for (let index = 0; index < lines.length; index++) {
|
|
8874
|
+
const line = lines[index];
|
|
8875
|
+
const match = /^description:\s*(.*)$/.exec(line);
|
|
8876
|
+
if (!match) {
|
|
8877
|
+
continue;
|
|
8878
|
+
}
|
|
8879
|
+
const remainder = match[1]?.trim() ?? "";
|
|
8880
|
+
if (!remainder || remainder === "|" || remainder === ">") {
|
|
8881
|
+
const descriptionLines = [];
|
|
8882
|
+
for (let offset = index + 1; offset < lines.length; offset++) {
|
|
8883
|
+
const descriptionLine = lines[offset] ?? "";
|
|
8884
|
+
if (descriptionLine.length > 0 && !/^\s/.test(descriptionLine)) {
|
|
8885
|
+
break;
|
|
8886
|
+
}
|
|
8887
|
+
descriptionLines.push(descriptionLine.replace(/^\s{2}/, ""));
|
|
8888
|
+
}
|
|
8889
|
+
return descriptionLines.join("\n").trim();
|
|
8890
|
+
}
|
|
8891
|
+
return remainder.replace(/^['"]|['"]$/g, "").trim();
|
|
8892
|
+
}
|
|
8893
|
+
return null;
|
|
8894
|
+
}
|
|
8895
|
+
function extractSkillDescription(skillManifestPath) {
|
|
8896
|
+
const manifest = fs.readFileSync(skillManifestPath, "utf8");
|
|
8897
|
+
const frontmatterMatch = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/.exec(manifest);
|
|
8898
|
+
const frontmatter = frontmatterMatch?.[1];
|
|
8899
|
+
if (!frontmatter) {
|
|
8900
|
+
return null;
|
|
8901
|
+
}
|
|
8902
|
+
return extractSkillDescriptionFromFrontmatter(frontmatter);
|
|
8903
|
+
}
|
|
8904
|
+
function shouldSeedCodexSkillEntry(sourcePath) {
|
|
8905
|
+
if (path.basename(sourcePath) === ".system") {
|
|
8906
|
+
return true;
|
|
8907
|
+
}
|
|
8908
|
+
const manifestPath = path.join(sourcePath, "SKILL.md");
|
|
8909
|
+
if (!fs.existsSync(manifestPath)) {
|
|
8910
|
+
return true;
|
|
8911
|
+
}
|
|
8912
|
+
try {
|
|
8913
|
+
const description = extractSkillDescription(manifestPath);
|
|
8914
|
+
if (description && description.length > MAX_CODEX_SKILL_DESCRIPTION_LENGTH) {
|
|
8915
|
+
api.logger.debug(
|
|
8916
|
+
`[codex] Skipping CODEX_HOME skill entry ${sourcePath} because its description exceeds ${MAX_CODEX_SKILL_DESCRIPTION_LENGTH} characters`
|
|
8917
|
+
);
|
|
8918
|
+
return false;
|
|
8919
|
+
}
|
|
8920
|
+
} catch (error) {
|
|
8921
|
+
api.logger.debug(`[codex] Failed to inspect CODEX_HOME skill entry ${sourcePath}`, error);
|
|
8922
|
+
}
|
|
8923
|
+
return true;
|
|
8924
|
+
}
|
|
8852
8925
|
function seedIsolatedCodexHome(sourceHomeDir, isolatedHomeDir) {
|
|
8853
8926
|
if (!fs.existsSync(sourceHomeDir)) {
|
|
8854
8927
|
return;
|
|
@@ -8874,9 +8947,13 @@ function seedIsolatedCodexHome(sourceHomeDir, isolatedHomeDir) {
|
|
|
8874
8947
|
const destSkillsDir = path.join(isolatedHomeDir, "skills");
|
|
8875
8948
|
fs.mkdirSync(destSkillsDir, { recursive: true });
|
|
8876
8949
|
for (const entryName of fs.readdirSync(sourceSkillsDir)) {
|
|
8950
|
+
const sourceEntryPath = path.join(sourceSkillsDir, entryName);
|
|
8951
|
+
if (!shouldSeedCodexSkillEntry(sourceEntryPath)) {
|
|
8952
|
+
continue;
|
|
8953
|
+
}
|
|
8877
8954
|
try {
|
|
8878
8955
|
copyCodexHomeEntry(
|
|
8879
|
-
|
|
8956
|
+
sourceEntryPath,
|
|
8880
8957
|
path.join(destSkillsDir, entryName)
|
|
8881
8958
|
);
|
|
8882
8959
|
} catch (error) {
|
|
@@ -9055,7 +9132,7 @@ class AbortError extends Error {
|
|
|
9055
9132
|
}
|
|
9056
9133
|
}
|
|
9057
9134
|
|
|
9058
|
-
const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-
|
|
9135
|
+
const __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index-CX3AYEyM.cjs', document.baseURI).href)));
|
|
9059
9136
|
const __dirname$1 = path.join(__filename$1, "..");
|
|
9060
9137
|
function getGlobalClaudeVersion() {
|
|
9061
9138
|
try {
|
|
@@ -9698,6 +9775,7 @@ function normalizeClaudeToolResultContent(value) {
|
|
|
9698
9775
|
function createTimeoutError(timeoutMs) {
|
|
9699
9776
|
return new Error(`Claude response did not complete within ${timeoutMs}ms`);
|
|
9700
9777
|
}
|
|
9778
|
+
const CLAUDE_RESPONSE_PROGRESS_POLL_MS = 1e3;
|
|
9701
9779
|
function normalizePermissionResult(input, decision) {
|
|
9702
9780
|
if (decision === "approved" || decision === "approved_for_session") {
|
|
9703
9781
|
return {
|
|
@@ -9729,6 +9807,7 @@ class ClaudeCodeBackend {
|
|
|
9729
9807
|
consumeTask = null;
|
|
9730
9808
|
activeResponse = null;
|
|
9731
9809
|
responseCompletionOutcome = null;
|
|
9810
|
+
responseLastProgressAt = null;
|
|
9732
9811
|
disposed = false;
|
|
9733
9812
|
lastStatus = null;
|
|
9734
9813
|
onMessage(handler) {
|
|
@@ -9753,6 +9832,7 @@ class ClaudeCodeBackend {
|
|
|
9753
9832
|
await this.ensureQueryStarted();
|
|
9754
9833
|
this.responseCompletionOutcome = null;
|
|
9755
9834
|
this.activeResponse = new Future();
|
|
9835
|
+
this.responseLastProgressAt = Date.now();
|
|
9756
9836
|
void this.activeResponse.promise.catch(() => {
|
|
9757
9837
|
});
|
|
9758
9838
|
this.emitStatus("running");
|
|
@@ -9785,18 +9865,25 @@ class ClaudeCodeBackend {
|
|
|
9785
9865
|
if (!this.activeResponse) {
|
|
9786
9866
|
return;
|
|
9787
9867
|
}
|
|
9788
|
-
|
|
9789
|
-
|
|
9868
|
+
while (this.activeResponse) {
|
|
9869
|
+
const elapsedSinceProgress = Date.now() - (this.responseLastProgressAt ?? Date.now());
|
|
9870
|
+
const remainingMs = timeoutMs - elapsedSinceProgress;
|
|
9871
|
+
if (remainingMs <= 0) {
|
|
9872
|
+
const timeoutError = createTimeoutError(timeoutMs);
|
|
9873
|
+
this.rejectActiveResponse(timeoutError);
|
|
9874
|
+
throw timeoutError;
|
|
9875
|
+
}
|
|
9790
9876
|
await Promise.race([
|
|
9791
9877
|
this.activeResponse.promise,
|
|
9792
|
-
new Promise((
|
|
9793
|
-
|
|
9878
|
+
new Promise((resolve2) => {
|
|
9879
|
+
setTimeout(resolve2, Math.min(CLAUDE_RESPONSE_PROGRESS_POLL_MS, remainingMs));
|
|
9794
9880
|
})
|
|
9795
9881
|
]);
|
|
9796
|
-
}
|
|
9797
|
-
|
|
9798
|
-
|
|
9799
|
-
|
|
9882
|
+
}
|
|
9883
|
+
const completionOutcome = this.responseCompletionOutcome;
|
|
9884
|
+
const rejectedError = completionOutcome && typeof completionOutcome === "object" && "error" in completionOutcome ? completionOutcome.error : null;
|
|
9885
|
+
if (rejectedError) {
|
|
9886
|
+
throw rejectedError;
|
|
9800
9887
|
}
|
|
9801
9888
|
}
|
|
9802
9889
|
async dispose() {
|
|
@@ -9920,6 +10007,7 @@ class ClaudeCodeBackend {
|
|
|
9920
10007
|
}
|
|
9921
10008
|
}
|
|
9922
10009
|
handleMessage(message) {
|
|
10010
|
+
this.markResponseProgress();
|
|
9923
10011
|
switch (message.type) {
|
|
9924
10012
|
case "system":
|
|
9925
10013
|
this.handleSystemMessage(message);
|
|
@@ -10033,6 +10121,7 @@ class ClaudeCodeBackend {
|
|
|
10033
10121
|
}
|
|
10034
10122
|
resolveActiveResponse() {
|
|
10035
10123
|
this.responseCompletionOutcome = { kind: "resolved" };
|
|
10124
|
+
this.responseLastProgressAt = null;
|
|
10036
10125
|
if (!this.activeResponse) {
|
|
10037
10126
|
return;
|
|
10038
10127
|
}
|
|
@@ -10042,6 +10131,7 @@ class ClaudeCodeBackend {
|
|
|
10042
10131
|
}
|
|
10043
10132
|
rejectActiveResponse(error) {
|
|
10044
10133
|
this.responseCompletionOutcome = { kind: "rejected", error };
|
|
10134
|
+
this.responseLastProgressAt = null;
|
|
10045
10135
|
if (!this.activeResponse) {
|
|
10046
10136
|
return;
|
|
10047
10137
|
}
|
|
@@ -10049,6 +10139,12 @@ class ClaudeCodeBackend {
|
|
|
10049
10139
|
this.activeResponse = null;
|
|
10050
10140
|
active.reject(error);
|
|
10051
10141
|
}
|
|
10142
|
+
markResponseProgress() {
|
|
10143
|
+
if (!this.activeResponse) {
|
|
10144
|
+
return;
|
|
10145
|
+
}
|
|
10146
|
+
this.responseLastProgressAt = Date.now();
|
|
10147
|
+
}
|
|
10052
10148
|
}
|
|
10053
10149
|
|
|
10054
10150
|
function mapToClaudeMode(mode) {
|
|
@@ -10354,11 +10450,11 @@ var launch = /*#__PURE__*/Object.freeze({
|
|
|
10354
10450
|
|
|
10355
10451
|
const unifiedProviderExecutors = {
|
|
10356
10452
|
claude: async (opts) => {
|
|
10357
|
-
const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-
|
|
10453
|
+
const { runClaude } = await Promise.resolve().then(function () { return require('./runClaude-Ca_A2OHq.cjs'); });
|
|
10358
10454
|
await runClaude(opts.credentials, opts.claudeOptions ?? {});
|
|
10359
10455
|
},
|
|
10360
10456
|
codex: async (opts) => {
|
|
10361
|
-
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-
|
|
10457
|
+
const { runCodex } = await Promise.resolve().then(function () { return require('./runCodex-Cyfj_rOx.cjs'); });
|
|
10362
10458
|
await runCodex({
|
|
10363
10459
|
credentials: opts.credentials,
|
|
10364
10460
|
startedBy: opts.startedBy,
|
|
@@ -10367,7 +10463,7 @@ const unifiedProviderExecutors = {
|
|
|
10367
10463
|
});
|
|
10368
10464
|
},
|
|
10369
10465
|
gemini: async (opts) => {
|
|
10370
|
-
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-
|
|
10466
|
+
const { runGemini } = await Promise.resolve().then(function () { return require('./runGemini-CUpbNLsb.cjs'); });
|
|
10371
10467
|
await runGemini({
|
|
10372
10468
|
credentials: opts.credentials,
|
|
10373
10469
|
startedBy: opts.startedBy
|
|
@@ -10450,7 +10546,7 @@ function shouldRunMainClaudeFlow(opts) {
|
|
|
10450
10546
|
return;
|
|
10451
10547
|
} else if (subcommand === "runtime") {
|
|
10452
10548
|
if (args[1] === "providers") {
|
|
10453
|
-
const { renderRuntimeProviders } = await Promise.resolve().then(function () { return require('./command-
|
|
10549
|
+
const { renderRuntimeProviders } = await Promise.resolve().then(function () { return require('./command-3_48b_TM.cjs'); });
|
|
10454
10550
|
console.log(renderRuntimeProviders());
|
|
10455
10551
|
return;
|
|
10456
10552
|
}
|
|
@@ -10639,8 +10735,8 @@ function shouldRunMainClaudeFlow(opts) {
|
|
|
10639
10735
|
const projectId = args[3];
|
|
10640
10736
|
try {
|
|
10641
10737
|
const { saveGoogleCloudProjectToConfig } = await Promise.resolve().then(function () { return config; });
|
|
10642
|
-
const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./persistence-
|
|
10643
|
-
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./api-
|
|
10738
|
+
const { readCredentials: readCredentials2 } = await Promise.resolve().then(function () { return require('./persistence-DFC6LL-_.cjs'); });
|
|
10739
|
+
const { ApiClient: ApiClient2 } = await Promise.resolve().then(function () { return require('./api-ykburCIA.cjs'); }).then(function (n) { return n.api; });
|
|
10644
10740
|
let userEmail = void 0;
|
|
10645
10741
|
try {
|
|
10646
10742
|
const credentials = await readCredentials2();
|
package/dist/index.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
require('chalk');
|
|
4
|
-
require('./api-
|
|
5
|
-
require('./persistence-
|
|
4
|
+
require('./api-ykburCIA.cjs');
|
|
5
|
+
require('./persistence-DFC6LL-_.cjs');
|
|
6
6
|
require('zod');
|
|
7
|
-
require('./index-
|
|
7
|
+
require('./index-CX3AYEyM.cjs');
|
|
8
8
|
require('node:child_process');
|
|
9
9
|
require('node:fs');
|
|
10
10
|
require('cross-spawn');
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import 'chalk';
|
|
2
|
-
import './api-
|
|
3
|
-
import './persistence-
|
|
2
|
+
import './api-CrGI5ANv.mjs';
|
|
3
|
+
import './persistence-vDMpMN8U.mjs';
|
|
4
4
|
import 'zod';
|
|
5
|
-
import './index-
|
|
5
|
+
import './index-CVp6QcCz.mjs';
|
|
6
6
|
import 'node:child_process';
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'cross-spawn';
|
package/dist/lib.cjs
CHANGED
package/dist/lib.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { A as ApiClient, a as ApiSessionClient, c as configuration, l as logger } from './api-
|
|
1
|
+
export { A as ApiClient, a as ApiSessionClient, c as configuration, l as logger } from './api-CrGI5ANv.mjs';
|
|
2
2
|
export { R as RawJSONLinesSchema } from './types-CiliQpqS.mjs';
|
|
3
3
|
import 'axios';
|
|
4
4
|
import 'chalk';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { unlink, readFile, mkdir, open, stat, writeFile, rename } from 'node:fs/promises';
|
|
2
2
|
import { existsSync, unlinkSync, readdirSync, constants, writeFileSync, readFileSync } from 'node:fs';
|
|
3
3
|
import { join, dirname } from 'node:path';
|
|
4
|
-
import { c as configuration, l as logger, e as encodeBase64 } from './api-
|
|
4
|
+
import { c as configuration, l as logger, e as encodeBase64 } from './api-CrGI5ANv.mjs';
|
|
5
5
|
import * as z from 'zod';
|
|
6
6
|
import 'axios';
|
|
7
7
|
import 'chalk';
|
package/dist/{registerKillSessionHandler-DcFWS8JV.mjs → registerKillSessionHandler-CefmiOrp.mjs}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { k as initialMachineMetadata, R as RuntimeShell, l as resolveCanonicalToolNameV2, f as formatDisplayMessage } from './index-
|
|
2
|
-
import { readSettings } from './persistence-
|
|
1
|
+
import { k as initialMachineMetadata, R as RuntimeShell, l as resolveCanonicalToolNameV2, f as formatDisplayMessage } from './index-CVp6QcCz.mjs';
|
|
2
|
+
import { readSettings } from './persistence-vDMpMN8U.mjs';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { basename } from 'node:path';
|
|
5
|
-
import { H as HAPPY_ORG_TURN_REPORT_TAG, d as HAPPY_ORG_SUMMARY_MAX_LENGTH, f as HAPPY_ORG_REPEAT_THRESHOLD, l as logger } from './api-
|
|
5
|
+
import { H as HAPPY_ORG_TURN_REPORT_TAG, d as HAPPY_ORG_SUMMARY_MAX_LENGTH, f as HAPPY_ORG_REPEAT_THRESHOLD, l as logger } from './api-CrGI5ANv.mjs';
|
|
6
6
|
import { createHash } from 'crypto';
|
|
7
7
|
import 'axios';
|
|
8
8
|
import 'node:events';
|
package/dist/{registerKillSessionHandler-BTabJYFZ.cjs → registerKillSessionHandler-Dztdudkl.cjs}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var persistence = require('./persistence-
|
|
3
|
+
var index = require('./index-CX3AYEyM.cjs');
|
|
4
|
+
var persistence = require('./persistence-DFC6LL-_.cjs');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
6
|
var path = require('node:path');
|
|
7
|
-
var api = require('./api-
|
|
7
|
+
var api = require('./api-ykburCIA.cjs');
|
|
8
8
|
var crypto = require('crypto');
|
|
9
9
|
require('axios');
|
|
10
10
|
require('node:events');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var node_crypto = require('node:crypto');
|
|
4
|
-
var api = require('./api-
|
|
4
|
+
var api = require('./api-ykburCIA.cjs');
|
|
5
5
|
require('cross-spawn');
|
|
6
6
|
require('@agentclientprotocol/sdk');
|
|
7
|
-
var index = require('./index-
|
|
7
|
+
var index = require('./index-CX3AYEyM.cjs');
|
|
8
8
|
require('ps-list');
|
|
9
9
|
require('fs');
|
|
10
10
|
require('path');
|
|
@@ -15,7 +15,7 @@ var path = require('node:path');
|
|
|
15
15
|
var os = require('node:os');
|
|
16
16
|
var node_child_process = require('node:child_process');
|
|
17
17
|
require('node:readline');
|
|
18
|
-
require('./persistence-
|
|
18
|
+
require('./persistence-DFC6LL-_.cjs');
|
|
19
19
|
var promises = require('node:fs/promises');
|
|
20
20
|
var fs = require('fs/promises');
|
|
21
21
|
require('crypto');
|
|
@@ -26,9 +26,9 @@ require('tweetnacl');
|
|
|
26
26
|
require('open');
|
|
27
27
|
var React = require('react');
|
|
28
28
|
var ink = require('ink');
|
|
29
|
-
var ProviderSelectionHandler = require('./ProviderSelectionHandler-
|
|
29
|
+
var ProviderSelectionHandler = require('./ProviderSelectionHandler-Cyinzbk-.cjs');
|
|
30
30
|
var types = require('./types-DVk3crez.cjs');
|
|
31
|
-
var registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
31
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-Dztdudkl.cjs');
|
|
32
32
|
require('socket.io-client');
|
|
33
33
|
require('expo-server-sdk');
|
|
34
34
|
var node_util = require('node:util');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { l as logger, g as backoff, h as delay, j as AsyncLock, c as configuration, s as startOfflineReconnection, b as connectionState, A as ApiClient, i as isAuthenticationRequiredError } from './api-
|
|
2
|
+
import { l as logger, g as backoff, h as delay, j as AsyncLock, c as configuration, s as startOfflineReconnection, b as connectionState, A as ApiClient, i as isAuthenticationRequiredError } from './api-CrGI5ANv.mjs';
|
|
3
3
|
import 'cross-spawn';
|
|
4
4
|
import '@agentclientprotocol/sdk';
|
|
5
|
-
import { m as getProjectPath, F as Future, n as claudeLocal, E as ExitCodeError, o as trimIdent, q as createClaudeBackend, f as formatDisplayMessage, t as truncateDisplayMessage, u as claudeCheckSession, w as projectPath, x as mapToClaudeMode, P as PushableAsyncIterable, y as query, A as AbortError, e as stopCaffeinate, p as publishSessionRegistration, z as getEnvironmentInfo, a as createSessionMetadata, B as startCaffeinate, b as closeProviderSession } from './index-
|
|
5
|
+
import { m as getProjectPath, F as Future, n as claudeLocal, E as ExitCodeError, o as trimIdent, q as createClaudeBackend, f as formatDisplayMessage, t as truncateDisplayMessage, u as claudeCheckSession, w as projectPath, x as mapToClaudeMode, P as PushableAsyncIterable, y as query, A as AbortError, e as stopCaffeinate, p as publishSessionRegistration, z as getEnvironmentInfo, a as createSessionMetadata, B as startCaffeinate, b as closeProviderSession } from './index-CVp6QcCz.mjs';
|
|
6
6
|
import 'ps-list';
|
|
7
7
|
import 'fs';
|
|
8
8
|
import 'path';
|
|
@@ -13,7 +13,7 @@ import { dirname, basename, join, resolve } from 'node:path';
|
|
|
13
13
|
import { homedir } from 'node:os';
|
|
14
14
|
import { execSync } from 'node:child_process';
|
|
15
15
|
import 'node:readline';
|
|
16
|
-
import './persistence-
|
|
16
|
+
import './persistence-vDMpMN8U.mjs';
|
|
17
17
|
import { readFile } from 'node:fs/promises';
|
|
18
18
|
import { stat, watch, access } from 'fs/promises';
|
|
19
19
|
import 'crypto';
|
|
@@ -24,9 +24,9 @@ import 'tweetnacl';
|
|
|
24
24
|
import 'open';
|
|
25
25
|
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
26
26
|
import { useStdout, useInput, Box, Text, render } from 'ink';
|
|
27
|
-
import { c as createKeepAliveController, P as ProviderSelectionHandler, r as runModeLoop } from './ProviderSelectionHandler-
|
|
27
|
+
import { c as createKeepAliveController, P as ProviderSelectionHandler, r as runModeLoop } from './ProviderSelectionHandler-D3qMOxaQ.mjs';
|
|
28
28
|
import { R as RawJSONLinesSchema } from './types-CiliQpqS.mjs';
|
|
29
|
-
import { B as BasePermissionHandler, d as MessageBuffer, C as ConversationHistory$1, f as buildHappyOrgTurnPrompt, w as waitForResponseCompleteWithAbort, i as finalizeHappyOrgTurnWithBusinessAck, l as launchRuntimeHandleWithFactoryResult, k as forwardAgentMessageToProviderSession, s as syncControlledByUserState, r as resolveHappyOrgQueuedTurn, e as ensureManagedProviderMachine, M as MissingMachineIdError, b as MessageQueue2, h as hashObject, c as registerKillSessionHandler } from './registerKillSessionHandler-
|
|
29
|
+
import { B as BasePermissionHandler, d as MessageBuffer, C as ConversationHistory$1, f as buildHappyOrgTurnPrompt, w as waitForResponseCompleteWithAbort, i as finalizeHappyOrgTurnWithBusinessAck, l as launchRuntimeHandleWithFactoryResult, k as forwardAgentMessageToProviderSession, s as syncControlledByUserState, r as resolveHappyOrgQueuedTurn, e as ensureManagedProviderMachine, M as MissingMachineIdError, b as MessageQueue2, h as hashObject, c as registerKillSessionHandler } from './registerKillSessionHandler-CefmiOrp.mjs';
|
|
30
30
|
import 'socket.io-client';
|
|
31
31
|
import 'expo-server-sdk';
|
|
32
32
|
import { isDeepStrictEqual } from 'node:util';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { p as preserveSessionRuntimeMetadata, l as logger, b as connectionState, A as ApiClient } from './api-
|
|
2
|
-
import { B as BasePermissionHandler, h as hashObject, d as MessageBuffer, C as ConversationHistory$1, f as buildHappyOrgTurnPrompt, w as waitForResponseCompleteWithAbort, i as finalizeHappyOrgTurnWithBusinessAck, c as registerKillSessionHandler, l as launchRuntimeHandleWithFactoryResult, j as inferToolResultError, k as forwardAgentMessageToProviderSession, e as ensureManagedProviderMachine, M as MissingMachineIdError, b as MessageQueue2, r as resolveHappyOrgQueuedTurn, s as syncControlledByUserState } from './registerKillSessionHandler-
|
|
3
|
-
import { f as formatDisplayMessage, v as validateCodexAcpSpawn, h as createCodexBackend, t as truncateDisplayMessage, b as closeProviderSession, e as stopCaffeinate, i as readManagedSessionTag, j as resolveManagedSessionTag } from './index-
|
|
1
|
+
import { p as preserveSessionRuntimeMetadata, l as logger, b as connectionState, A as ApiClient } from './api-CrGI5ANv.mjs';
|
|
2
|
+
import { B as BasePermissionHandler, h as hashObject, d as MessageBuffer, C as ConversationHistory$1, f as buildHappyOrgTurnPrompt, w as waitForResponseCompleteWithAbort, i as finalizeHappyOrgTurnWithBusinessAck, c as registerKillSessionHandler, l as launchRuntimeHandleWithFactoryResult, j as inferToolResultError, k as forwardAgentMessageToProviderSession, e as ensureManagedProviderMachine, M as MissingMachineIdError, b as MessageQueue2, r as resolveHappyOrgQueuedTurn, s as syncControlledByUserState } from './registerKillSessionHandler-CefmiOrp.mjs';
|
|
3
|
+
import { f as formatDisplayMessage, v as validateCodexAcpSpawn, h as createCodexBackend, t as truncateDisplayMessage, b as closeProviderSession, e as stopCaffeinate, i as readManagedSessionTag, j as resolveManagedSessionTag } from './index-CVp6QcCz.mjs';
|
|
4
4
|
import 'cross-spawn';
|
|
5
5
|
import '@agentclientprotocol/sdk';
|
|
6
6
|
import { randomUUID } from 'node:crypto';
|
|
@@ -14,7 +14,7 @@ import 'node:path';
|
|
|
14
14
|
import 'node:os';
|
|
15
15
|
import 'node:child_process';
|
|
16
16
|
import 'node:readline';
|
|
17
|
-
import './persistence-
|
|
17
|
+
import './persistence-vDMpMN8U.mjs';
|
|
18
18
|
import 'node:fs/promises';
|
|
19
19
|
import 'fs/promises';
|
|
20
20
|
import 'crypto';
|
|
@@ -25,8 +25,8 @@ import 'tweetnacl';
|
|
|
25
25
|
import 'open';
|
|
26
26
|
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
27
27
|
import { useStdout, useInput, Box, Text, render } from 'ink';
|
|
28
|
-
import { c as createKeepAliveController, P as ProviderSelectionHandler, r as runModeLoop } from './ProviderSelectionHandler-
|
|
29
|
-
import { B as BaseReasoningProcessor, b as bootstrapManagedProviderSession } from './BaseReasoningProcessor-
|
|
28
|
+
import { c as createKeepAliveController, P as ProviderSelectionHandler, r as runModeLoop } from './ProviderSelectionHandler-D3qMOxaQ.mjs';
|
|
29
|
+
import { B as BaseReasoningProcessor, b as bootstrapManagedProviderSession } from './BaseReasoningProcessor-BAv0_85s.mjs';
|
|
30
30
|
import 'zod';
|
|
31
31
|
import 'socket.io-client';
|
|
32
32
|
import 'expo-server-sdk';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var api = require('./api-
|
|
4
|
-
var registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
5
|
-
var index = require('./index-
|
|
3
|
+
var api = require('./api-ykburCIA.cjs');
|
|
4
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-Dztdudkl.cjs');
|
|
5
|
+
var index = require('./index-CX3AYEyM.cjs');
|
|
6
6
|
require('cross-spawn');
|
|
7
7
|
require('@agentclientprotocol/sdk');
|
|
8
8
|
var node_crypto = require('node:crypto');
|
|
@@ -16,7 +16,7 @@ require('node:path');
|
|
|
16
16
|
require('node:os');
|
|
17
17
|
require('node:child_process');
|
|
18
18
|
require('node:readline');
|
|
19
|
-
require('./persistence-
|
|
19
|
+
require('./persistence-DFC6LL-_.cjs');
|
|
20
20
|
require('node:fs/promises');
|
|
21
21
|
require('fs/promises');
|
|
22
22
|
require('crypto');
|
|
@@ -27,8 +27,8 @@ require('tweetnacl');
|
|
|
27
27
|
require('open');
|
|
28
28
|
var React = require('react');
|
|
29
29
|
var ink = require('ink');
|
|
30
|
-
var ProviderSelectionHandler = require('./ProviderSelectionHandler-
|
|
31
|
-
var BaseReasoningProcessor = require('./BaseReasoningProcessor-
|
|
30
|
+
var ProviderSelectionHandler = require('./ProviderSelectionHandler-Cyinzbk-.cjs');
|
|
31
|
+
var BaseReasoningProcessor = require('./BaseReasoningProcessor-D_cBN7IM.cjs');
|
|
32
32
|
require('zod');
|
|
33
33
|
require('socket.io-client');
|
|
34
34
|
require('expo-server-sdk');
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var ink = require('ink');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var node_crypto = require('node:crypto');
|
|
6
|
-
var api = require('./api-
|
|
7
|
-
var registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
8
|
-
var index = require('./index-
|
|
9
|
-
var BaseReasoningProcessor = require('./BaseReasoningProcessor-
|
|
6
|
+
var api = require('./api-ykburCIA.cjs');
|
|
7
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-Dztdudkl.cjs');
|
|
8
|
+
var index = require('./index-CX3AYEyM.cjs');
|
|
9
|
+
var BaseReasoningProcessor = require('./BaseReasoningProcessor-D_cBN7IM.cjs');
|
|
10
10
|
require('cross-spawn');
|
|
11
11
|
require('@agentclientprotocol/sdk');
|
|
12
12
|
require('ps-list');
|
|
@@ -17,7 +17,7 @@ require('node:child_process');
|
|
|
17
17
|
require('node:readline');
|
|
18
18
|
require('tweetnacl');
|
|
19
19
|
require('axios');
|
|
20
|
-
require('./persistence-
|
|
20
|
+
require('./persistence-DFC6LL-_.cjs');
|
|
21
21
|
require('open');
|
|
22
22
|
require('chalk');
|
|
23
23
|
require('fs');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { useStdout, useInput, Box, Text, render } from 'ink';
|
|
2
2
|
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
|
-
import { l as logger, b as connectionState, A as ApiClient } from './api-
|
|
5
|
-
import { B as BasePermissionHandler, C as ConversationHistory$1, r as resolveHappyOrgQueuedTurn, e as ensureManagedProviderMachine, M as MissingMachineIdError, s as syncControlledByUserState, b as MessageQueue2, h as hashObject, c as registerKillSessionHandler, d as MessageBuffer, f as buildHappyOrgTurnPrompt, w as waitForResponseCompleteWithAbort, i as finalizeHappyOrgTurnWithBusinessAck, l as launchRuntimeHandleWithFactoryResult, j as inferToolResultError, k as forwardAgentMessageToProviderSession } from './registerKillSessionHandler-
|
|
6
|
-
import { g as getInitialGeminiModel, r as readGeminiLocalConfig, G as GEMINI_MODEL_ENV, b as closeProviderSession, s as saveGeminiModelToConfig, d as createGeminiBackend, e as stopCaffeinate } from './index-
|
|
7
|
-
import { B as BaseReasoningProcessor, b as bootstrapManagedProviderSession } from './BaseReasoningProcessor-
|
|
4
|
+
import { l as logger, b as connectionState, A as ApiClient } from './api-CrGI5ANv.mjs';
|
|
5
|
+
import { B as BasePermissionHandler, C as ConversationHistory$1, r as resolveHappyOrgQueuedTurn, e as ensureManagedProviderMachine, M as MissingMachineIdError, s as syncControlledByUserState, b as MessageQueue2, h as hashObject, c as registerKillSessionHandler, d as MessageBuffer, f as buildHappyOrgTurnPrompt, w as waitForResponseCompleteWithAbort, i as finalizeHappyOrgTurnWithBusinessAck, l as launchRuntimeHandleWithFactoryResult, j as inferToolResultError, k as forwardAgentMessageToProviderSession } from './registerKillSessionHandler-CefmiOrp.mjs';
|
|
6
|
+
import { g as getInitialGeminiModel, r as readGeminiLocalConfig, G as GEMINI_MODEL_ENV, b as closeProviderSession, s as saveGeminiModelToConfig, d as createGeminiBackend, e as stopCaffeinate } from './index-CVp6QcCz.mjs';
|
|
7
|
+
import { B as BaseReasoningProcessor, b as bootstrapManagedProviderSession } from './BaseReasoningProcessor-BAv0_85s.mjs';
|
|
8
8
|
import 'cross-spawn';
|
|
9
9
|
import '@agentclientprotocol/sdk';
|
|
10
10
|
import 'ps-list';
|
|
@@ -15,7 +15,7 @@ import 'node:child_process';
|
|
|
15
15
|
import 'node:readline';
|
|
16
16
|
import 'tweetnacl';
|
|
17
17
|
import 'axios';
|
|
18
|
-
import './persistence-
|
|
18
|
+
import './persistence-vDMpMN8U.mjs';
|
|
19
19
|
import 'open';
|
|
20
20
|
import 'chalk';
|
|
21
21
|
import 'fs';
|