happy-imou-cloud 2.1.23 → 2.1.25
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-_EHQVXKN.cjs → BaseReasoningProcessor-2bLE0sSp.cjs} +2 -2
- package/dist/{BaseReasoningProcessor-By0QiYEu.mjs → BaseReasoningProcessor-CwRWOT0S.mjs} +2 -2
- package/dist/{ProviderSelectionHandler-BSzm8oJH.cjs → ProviderSelectionHandler-B9VPS_Rc.cjs} +2 -2
- package/dist/{ProviderSelectionHandler-XwkBLKvY.mjs → ProviderSelectionHandler-gc5O4qz_.mjs} +2 -2
- package/dist/{api-CusZs0lm.cjs → api-D-eaNQRi.cjs} +35 -3
- package/dist/{api-CDC4ZRT7.mjs → api-DIKoWlkZ.mjs} +35 -3
- package/dist/{command-Cp_bgCOD.cjs → command-B2c92N5-.cjs} +2 -2
- package/dist/{command-B7O2Hn-D.mjs → command-BJM31yLo.mjs} +2 -2
- package/dist/{index-yX0QThPc.cjs → index-C9H8DkAi.cjs} +232 -103
- package/dist/{index-CFLvb1x1.mjs → index-DAd1S2uU.mjs} +228 -99
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +2 -2
- package/dist/lib.cjs +1 -1
- package/dist/lib.d.cts +36 -36
- package/dist/lib.d.mts +36 -36
- package/dist/lib.mjs +1 -1
- package/dist/{registerKillSessionHandler-aB2llDD3.mjs → registerKillSessionHandler-Clhr0VyF.mjs} +2 -2
- package/dist/{registerKillSessionHandler-3f8MBSd6.cjs → registerKillSessionHandler-DqGYmdQO.cjs} +2 -2
- package/dist/{runClaude-5moKE082.cjs → runClaude-ByM9SjF1.cjs} +4 -4
- package/dist/{runClaude-BXO5ycyI.mjs → runClaude-DCwdRRme.mjs} +4 -4
- package/dist/{runCodex-BJn5KMLg.cjs → runCodex-C1J5kcWX.cjs} +5 -5
- package/dist/{runCodex-DYEMgHdw.mjs → runCodex-CVJLnCCQ.mjs} +5 -5
- package/dist/{runGemini-CWG0QweX.cjs → runGemini-BbXO6nqw.cjs} +4 -4
- package/dist/{runGemini-CHWnR9gf.mjs → runGemini-CGCzDzMj.mjs} +4 -4
- package/package.json +2 -1
- package/scripts/release-smoke.mjs +22 -2
- package/skills/happy-cli-testing/SKILL.md +90 -0
- package/skills/happy-cli-testing/agents/openai.yaml +4 -0
- package/skills/hicloud-problem-investigation/SKILL.md +201 -0
- package/skills/hicloud-problem-investigation/agents/openai.yaml +4 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var persistence = require('./api-
|
|
3
|
+
var index = require('./index-C9H8DkAi.cjs');
|
|
4
|
+
var persistence = require('./api-D-eaNQRi.cjs');
|
|
5
5
|
var node_events = require('node:events');
|
|
6
6
|
var node_crypto = require('node:crypto');
|
|
7
7
|
|
|
@@ -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-DAd1S2uU.mjs';
|
|
2
|
+
import { s as startOfflineReconnection, c as configuration, i as isAuthenticationRequiredError, l as logger } from './api-DIKoWlkZ.mjs';
|
|
3
3
|
import { EventEmitter } from 'node:events';
|
|
4
4
|
import { randomUUID } from 'node:crypto';
|
|
5
5
|
|
package/dist/{ProviderSelectionHandler-BSzm8oJH.cjs → ProviderSelectionHandler-B9VPS_Rc.cjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var persistence = require('./api-
|
|
4
|
-
var registerKillSessionHandler = require('./registerKillSessionHandler-
|
|
3
|
+
var persistence = require('./api-D-eaNQRi.cjs');
|
|
4
|
+
var registerKillSessionHandler = require('./registerKillSessionHandler-DqGYmdQO.cjs');
|
|
5
5
|
|
|
6
6
|
async function runModeLoop(opts) {
|
|
7
7
|
let currentMode = opts.startingMode;
|
package/dist/{ProviderSelectionHandler-XwkBLKvY.mjs → ProviderSelectionHandler-gc5O4qz_.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-DIKoWlkZ.mjs';
|
|
2
|
+
import { g as getPendingInteractionTimeoutMs, I as INTERACTION_SUPERSEDED_ERROR, a as INTERACTION_TIMED_OUT_ERROR } from './registerKillSessionHandler-Clhr0VyF.mjs';
|
|
3
3
|
|
|
4
4
|
async function runModeLoop(opts) {
|
|
5
5
|
let currentMode = opts.startingMode;
|
|
@@ -38,7 +38,7 @@ function _interopNamespaceDefault(e) {
|
|
|
38
38
|
var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
|
|
39
39
|
|
|
40
40
|
var name = "happy-imou-cloud";
|
|
41
|
-
var version = "2.1.
|
|
41
|
+
var version = "2.1.25";
|
|
42
42
|
var description = "hicloud - Imou 企业定制版。关键是 happy!移动端远程 AI 编程工具,支持 Claude Code、Codex 和 Gemini CLI";
|
|
43
43
|
var author = "long.zhu";
|
|
44
44
|
var license = "MIT";
|
|
@@ -76,6 +76,7 @@ var files = [
|
|
|
76
76
|
"compat",
|
|
77
77
|
"bin",
|
|
78
78
|
"scripts",
|
|
79
|
+
"skills",
|
|
79
80
|
"package.json"
|
|
80
81
|
];
|
|
81
82
|
var scripts = {
|
|
@@ -3053,7 +3054,16 @@ class ApiSessionClient extends node_events.EventEmitter {
|
|
|
3053
3054
|
this.emit("metadata-updated", this.metadata);
|
|
3054
3055
|
}
|
|
3055
3056
|
throw new Error("Metadata version mismatch");
|
|
3056
|
-
} else if (answer.result === "error")
|
|
3057
|
+
} else if (answer.result === "error") {
|
|
3058
|
+
const failure = getSessionMutationFailureDetails(answer);
|
|
3059
|
+
if (failure.retryable) {
|
|
3060
|
+
throw createRetryableSessionMutationError("metadata", failure.error);
|
|
3061
|
+
}
|
|
3062
|
+
logger.debug("[API] Metadata update was rejected by the server", {
|
|
3063
|
+
sessionId: this.sessionId,
|
|
3064
|
+
error: failure.error
|
|
3065
|
+
});
|
|
3066
|
+
}
|
|
3057
3067
|
});
|
|
3058
3068
|
}).catch((error) => {
|
|
3059
3069
|
logger.debug("[API] Metadata update failed unexpectedly", error);
|
|
@@ -3081,7 +3091,16 @@ class ApiSessionClient extends node_events.EventEmitter {
|
|
|
3081
3091
|
this.emit("agent-state-updated", this.agentState);
|
|
3082
3092
|
}
|
|
3083
3093
|
throw new Error("Agent state version mismatch");
|
|
3084
|
-
} else if (answer.result === "error")
|
|
3094
|
+
} else if (answer.result === "error") {
|
|
3095
|
+
const failure = getSessionMutationFailureDetails(answer);
|
|
3096
|
+
if (failure.retryable) {
|
|
3097
|
+
throw createRetryableSessionMutationError("agent-state", failure.error);
|
|
3098
|
+
}
|
|
3099
|
+
logger.debug("[API] Agent state update was rejected by the server", {
|
|
3100
|
+
sessionId: this.sessionId,
|
|
3101
|
+
error: failure.error
|
|
3102
|
+
});
|
|
3103
|
+
}
|
|
3085
3104
|
});
|
|
3086
3105
|
}).catch((error) => {
|
|
3087
3106
|
logger.debug("[API] Agent state update failed unexpectedly", error);
|
|
@@ -3961,6 +3980,19 @@ function createAckTimeoutError(timeoutMs) {
|
|
|
3961
3980
|
function isAckTimeoutError(error) {
|
|
3962
3981
|
return error instanceof Error && error.name === "AckTimeoutError";
|
|
3963
3982
|
}
|
|
3983
|
+
function getSessionMutationFailureDetails(answer) {
|
|
3984
|
+
const candidate = answer;
|
|
3985
|
+
return {
|
|
3986
|
+
retryable: candidate.retryable === true,
|
|
3987
|
+
error: typeof candidate.error === "string" && candidate.error.length > 0 ? candidate.error : null
|
|
3988
|
+
};
|
|
3989
|
+
}
|
|
3990
|
+
function createRetryableSessionMutationError(kind, errorCode) {
|
|
3991
|
+
const suffix = errorCode ? ` (${errorCode})` : "";
|
|
3992
|
+
const error = new Error(`Retryable session ${kind} update failed${suffix}`);
|
|
3993
|
+
error.name = "RetryableSessionMutationError";
|
|
3994
|
+
return error;
|
|
3995
|
+
}
|
|
3964
3996
|
|
|
3965
3997
|
class ApiMachineClient {
|
|
3966
3998
|
constructor(credentials, machine) {
|
|
@@ -18,7 +18,7 @@ import { unlink, readFile, mkdir, open, stat, writeFile, rename } from 'node:fs/
|
|
|
18
18
|
import { Expo } from 'expo-server-sdk';
|
|
19
19
|
|
|
20
20
|
var name = "happy-imou-cloud";
|
|
21
|
-
var version = "2.1.
|
|
21
|
+
var version = "2.1.25";
|
|
22
22
|
var description = "hicloud - Imou 企业定制版。关键是 happy!移动端远程 AI 编程工具,支持 Claude Code、Codex 和 Gemini CLI";
|
|
23
23
|
var author = "long.zhu";
|
|
24
24
|
var license = "MIT";
|
|
@@ -56,6 +56,7 @@ var files = [
|
|
|
56
56
|
"compat",
|
|
57
57
|
"bin",
|
|
58
58
|
"scripts",
|
|
59
|
+
"skills",
|
|
59
60
|
"package.json"
|
|
60
61
|
];
|
|
61
62
|
var scripts = {
|
|
@@ -3033,7 +3034,16 @@ class ApiSessionClient extends EventEmitter {
|
|
|
3033
3034
|
this.emit("metadata-updated", this.metadata);
|
|
3034
3035
|
}
|
|
3035
3036
|
throw new Error("Metadata version mismatch");
|
|
3036
|
-
} else if (answer.result === "error")
|
|
3037
|
+
} else if (answer.result === "error") {
|
|
3038
|
+
const failure = getSessionMutationFailureDetails(answer);
|
|
3039
|
+
if (failure.retryable) {
|
|
3040
|
+
throw createRetryableSessionMutationError("metadata", failure.error);
|
|
3041
|
+
}
|
|
3042
|
+
logger.debug("[API] Metadata update was rejected by the server", {
|
|
3043
|
+
sessionId: this.sessionId,
|
|
3044
|
+
error: failure.error
|
|
3045
|
+
});
|
|
3046
|
+
}
|
|
3037
3047
|
});
|
|
3038
3048
|
}).catch((error) => {
|
|
3039
3049
|
logger.debug("[API] Metadata update failed unexpectedly", error);
|
|
@@ -3061,7 +3071,16 @@ class ApiSessionClient extends EventEmitter {
|
|
|
3061
3071
|
this.emit("agent-state-updated", this.agentState);
|
|
3062
3072
|
}
|
|
3063
3073
|
throw new Error("Agent state version mismatch");
|
|
3064
|
-
} else if (answer.result === "error")
|
|
3074
|
+
} else if (answer.result === "error") {
|
|
3075
|
+
const failure = getSessionMutationFailureDetails(answer);
|
|
3076
|
+
if (failure.retryable) {
|
|
3077
|
+
throw createRetryableSessionMutationError("agent-state", failure.error);
|
|
3078
|
+
}
|
|
3079
|
+
logger.debug("[API] Agent state update was rejected by the server", {
|
|
3080
|
+
sessionId: this.sessionId,
|
|
3081
|
+
error: failure.error
|
|
3082
|
+
});
|
|
3083
|
+
}
|
|
3065
3084
|
});
|
|
3066
3085
|
}).catch((error) => {
|
|
3067
3086
|
logger.debug("[API] Agent state update failed unexpectedly", error);
|
|
@@ -3941,6 +3960,19 @@ function createAckTimeoutError(timeoutMs) {
|
|
|
3941
3960
|
function isAckTimeoutError(error) {
|
|
3942
3961
|
return error instanceof Error && error.name === "AckTimeoutError";
|
|
3943
3962
|
}
|
|
3963
|
+
function getSessionMutationFailureDetails(answer) {
|
|
3964
|
+
const candidate = answer;
|
|
3965
|
+
return {
|
|
3966
|
+
retryable: candidate.retryable === true,
|
|
3967
|
+
error: typeof candidate.error === "string" && candidate.error.length > 0 ? candidate.error : null
|
|
3968
|
+
};
|
|
3969
|
+
}
|
|
3970
|
+
function createRetryableSessionMutationError(kind, errorCode) {
|
|
3971
|
+
const suffix = errorCode ? ` (${errorCode})` : "";
|
|
3972
|
+
const error = new Error(`Retryable session ${kind} update failed${suffix}`);
|
|
3973
|
+
error.name = "RetryableSessionMutationError";
|
|
3974
|
+
return error;
|
|
3975
|
+
}
|
|
3944
3976
|
|
|
3945
3977
|
class ApiMachineClient {
|
|
3946
3978
|
constructor(credentials, machine) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as createDefaultRuntimeShell } from './index-
|
|
1
|
+
import { c as createDefaultRuntimeShell } from './index-DAd1S2uU.mjs';
|
|
2
2
|
import 'chalk';
|
|
3
|
-
import './api-
|
|
3
|
+
import './api-DIKoWlkZ.mjs';
|
|
4
4
|
import 'axios';
|
|
5
5
|
import 'fs';
|
|
6
6
|
import 'node:fs';
|