@kaitranntt/ccs 4.4.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -7
- package/VERSION +1 -1
- package/config/base-agy.settings.json +10 -0
- package/config/base-codex.settings.json +10 -0
- package/config/base-gemini.settings.json +10 -0
- package/dist/auth/auth-commands.d.ts +52 -0
- package/dist/auth/auth-commands.d.ts.map +1 -0
- package/dist/auth/auth-commands.js +479 -0
- package/dist/auth/auth-commands.js.map +1 -0
- package/dist/auth/profile-detector.d.ts +68 -0
- package/dist/auth/profile-detector.d.ts.map +1 -0
- package/dist/auth/profile-detector.js +209 -0
- package/dist/auth/profile-detector.js.map +1 -0
- package/dist/auth/profile-registry.d.ts +60 -0
- package/dist/auth/profile-registry.d.ts.map +1 -0
- package/dist/auth/profile-registry.js +188 -0
- package/dist/auth/profile-registry.js.map +1 -0
- package/dist/ccs.d.ts +10 -0
- package/dist/ccs.d.ts.map +1 -0
- package/dist/ccs.js +320 -0
- package/dist/ccs.js.map +1 -0
- package/dist/cliproxy/auth-handler.d.ts +95 -0
- package/dist/cliproxy/auth-handler.d.ts.map +1 -0
- package/dist/cliproxy/auth-handler.js +443 -0
- package/dist/cliproxy/auth-handler.js.map +1 -0
- package/dist/cliproxy/base-config-loader.d.ts +42 -0
- package/dist/cliproxy/base-config-loader.d.ts.map +1 -0
- package/dist/cliproxy/base-config-loader.js +123 -0
- package/dist/cliproxy/base-config-loader.js.map +1 -0
- package/dist/cliproxy/binary-manager.d.ts +104 -0
- package/dist/cliproxy/binary-manager.d.ts.map +1 -0
- package/dist/cliproxy/binary-manager.js +567 -0
- package/dist/cliproxy/binary-manager.js.map +1 -0
- package/dist/cliproxy/cliproxy-executor.d.ts +33 -0
- package/dist/cliproxy/cliproxy-executor.d.ts.map +1 -0
- package/dist/cliproxy/cliproxy-executor.js +297 -0
- package/dist/cliproxy/cliproxy-executor.js.map +1 -0
- package/dist/cliproxy/config-generator.d.ts +89 -0
- package/dist/cliproxy/config-generator.d.ts.map +1 -0
- package/dist/cliproxy/config-generator.js +263 -0
- package/dist/cliproxy/config-generator.js.map +1 -0
- package/dist/cliproxy/index.d.ts +13 -0
- package/dist/cliproxy/index.d.ts.map +1 -0
- package/dist/cliproxy/index.js +62 -0
- package/dist/cliproxy/index.js.map +1 -0
- package/dist/cliproxy/platform-detector.d.ts +48 -0
- package/dist/cliproxy/platform-detector.d.ts.map +1 -0
- package/dist/cliproxy/platform-detector.js +118 -0
- package/dist/cliproxy/platform-detector.js.map +1 -0
- package/dist/cliproxy/types.d.ts +169 -0
- package/dist/cliproxy/types.d.ts.map +1 -0
- package/dist/cliproxy/types.js +7 -0
- package/dist/cliproxy/types.js.map +1 -0
- package/dist/commands/doctor-command.d.ts +10 -0
- package/dist/commands/doctor-command.d.ts.map +1 -0
- package/dist/commands/doctor-command.js +44 -0
- package/dist/commands/doctor-command.js.map +1 -0
- package/dist/commands/help-command.d.ts +5 -0
- package/dist/commands/help-command.d.ts.map +1 -0
- package/dist/commands/help-command.js +104 -0
- package/dist/commands/help-command.js.map +1 -0
- package/dist/commands/install-command.d.ts +14 -0
- package/dist/commands/install-command.d.ts.map +1 -0
- package/dist/commands/install-command.js +39 -0
- package/dist/commands/install-command.js.map +1 -0
- package/dist/commands/shell-completion-command.d.ts +10 -0
- package/dist/commands/shell-completion-command.d.ts.map +1 -0
- package/dist/commands/shell-completion-command.js +85 -0
- package/dist/commands/shell-completion-command.js.map +1 -0
- package/dist/commands/sync-command.d.ts +10 -0
- package/dist/commands/sync-command.d.ts.map +1 -0
- package/dist/commands/sync-command.js +59 -0
- package/dist/commands/sync-command.js.map +1 -0
- package/dist/commands/update-command.d.ts +12 -0
- package/dist/commands/update-command.d.ts.map +1 -0
- package/dist/commands/update-command.js +295 -0
- package/dist/commands/update-command.js.map +1 -0
- package/dist/commands/version-command.d.ts +10 -0
- package/dist/commands/version-command.d.ts.map +1 -0
- package/dist/commands/version-command.js +100 -0
- package/dist/commands/version-command.js.map +1 -0
- package/dist/delegation/delegation-handler.d.ts +60 -0
- package/dist/delegation/delegation-handler.d.ts.map +1 -0
- package/dist/delegation/delegation-handler.js +174 -0
- package/dist/delegation/delegation-handler.js.map +1 -0
- package/dist/delegation/headless-executor.d.ts +114 -0
- package/dist/delegation/headless-executor.d.ts.map +1 -0
- package/dist/delegation/headless-executor.js +562 -0
- package/dist/delegation/headless-executor.js.map +1 -0
- package/dist/delegation/result-formatter.d.ts +108 -0
- package/dist/delegation/result-formatter.d.ts.map +1 -0
- package/dist/delegation/result-formatter.js +391 -0
- package/dist/delegation/result-formatter.js.map +1 -0
- package/dist/delegation/session-manager.d.ts +58 -0
- package/dist/delegation/session-manager.d.ts.map +1 -0
- package/dist/delegation/session-manager.js +153 -0
- package/dist/delegation/session-manager.js.map +1 -0
- package/dist/delegation/settings-parser.d.ts +31 -0
- package/dist/delegation/settings-parser.d.ts.map +1 -0
- package/dist/delegation/settings-parser.js +107 -0
- package/dist/delegation/settings-parser.js.map +1 -0
- package/dist/glmt/delta-accumulator.d.ts +210 -0
- package/dist/glmt/delta-accumulator.d.ts.map +1 -0
- package/dist/glmt/delta-accumulator.js +351 -0
- package/dist/glmt/delta-accumulator.js.map +1 -0
- package/dist/glmt/glmt-proxy.d.ts +72 -0
- package/dist/glmt/glmt-proxy.d.ts.map +1 -0
- package/dist/glmt/glmt-proxy.js +427 -0
- package/dist/glmt/glmt-proxy.js.map +1 -0
- package/dist/glmt/glmt-transformer.d.ts +265 -0
- package/dist/glmt/glmt-transformer.d.ts.map +1 -0
- package/dist/glmt/glmt-transformer.js +832 -0
- package/dist/glmt/glmt-transformer.js.map +1 -0
- package/dist/glmt/locale-enforcer.d.ts +38 -0
- package/dist/glmt/locale-enforcer.d.ts.map +1 -0
- package/dist/glmt/locale-enforcer.js +69 -0
- package/dist/glmt/locale-enforcer.js.map +1 -0
- package/dist/glmt/reasoning-enforcer.d.ts +52 -0
- package/dist/glmt/reasoning-enforcer.d.ts.map +1 -0
- package/dist/glmt/reasoning-enforcer.js +151 -0
- package/dist/glmt/reasoning-enforcer.js.map +1 -0
- package/dist/glmt/sse-parser.d.ts +47 -0
- package/dist/glmt/sse-parser.d.ts.map +1 -0
- package/dist/glmt/sse-parser.js +93 -0
- package/dist/glmt/sse-parser.js.map +1 -0
- package/dist/management/doctor.d.ts +104 -0
- package/dist/management/doctor.d.ts.map +1 -0
- package/dist/management/doctor.js +673 -0
- package/dist/management/doctor.js.map +1 -0
- package/dist/management/instance-manager.d.ts +57 -0
- package/dist/management/instance-manager.d.ts.map +1 -0
- package/dist/management/instance-manager.js +195 -0
- package/dist/management/instance-manager.js.map +1 -0
- package/dist/management/recovery-manager.d.ts +39 -0
- package/dist/management/recovery-manager.d.ts.map +1 -0
- package/dist/management/recovery-manager.js +141 -0
- package/dist/management/recovery-manager.js.map +1 -0
- package/dist/management/shared-manager.d.ts +47 -0
- package/dist/management/shared-manager.d.ts.map +1 -0
- package/dist/management/shared-manager.js +388 -0
- package/dist/management/shared-manager.js.map +1 -0
- package/dist/types/cli.d.ts +50 -0
- package/dist/types/cli.d.ts.map +1 -0
- package/dist/types/cli.js +16 -0
- package/dist/types/cli.js.map +1 -0
- package/dist/types/config.d.ts +51 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +26 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/delegation.d.ts +61 -0
- package/dist/types/delegation.d.ts.map +1 -0
- package/dist/types/delegation.js +6 -0
- package/dist/types/delegation.js.map +1 -0
- package/dist/types/glmt.d.ts +95 -0
- package/dist/types/glmt.d.ts.map +1 -0
- package/dist/types/glmt.js +7 -0
- package/dist/types/glmt.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/utils.d.ts +36 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +22 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/utils/claude-detector.d.ts +14 -0
- package/dist/utils/claude-detector.d.ts.map +1 -0
- package/dist/utils/claude-detector.js +112 -0
- package/dist/utils/claude-detector.js.map +1 -0
- package/dist/utils/claude-dir-installer.d.ts +46 -0
- package/dist/utils/claude-dir-installer.d.ts.map +1 -0
- package/dist/utils/claude-dir-installer.js +289 -0
- package/dist/utils/claude-dir-installer.js.map +1 -0
- package/dist/utils/claude-symlink-manager.d.ts +61 -0
- package/dist/utils/claude-symlink-manager.d.ts.map +1 -0
- package/dist/utils/claude-symlink-manager.js +291 -0
- package/dist/utils/claude-symlink-manager.js.map +1 -0
- package/dist/utils/config-manager.d.ts +32 -0
- package/dist/utils/config-manager.d.ts.map +1 -0
- package/dist/utils/config-manager.js +143 -0
- package/dist/utils/config-manager.js.map +1 -0
- package/dist/utils/delegation-validator.d.ts +39 -0
- package/dist/utils/delegation-validator.d.ts.map +1 -0
- package/dist/utils/delegation-validator.js +161 -0
- package/dist/utils/delegation-validator.js.map +1 -0
- package/dist/utils/error-codes.d.ts +36 -0
- package/dist/utils/error-codes.d.ts.map +1 -0
- package/dist/utils/error-codes.js +63 -0
- package/dist/utils/error-codes.js.map +1 -0
- package/dist/utils/error-manager.d.ts +59 -0
- package/dist/utils/error-manager.d.ts.map +1 -0
- package/dist/utils/error-manager.js +228 -0
- package/dist/utils/error-manager.js.map +1 -0
- package/dist/utils/helpers.d.ts +27 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +150 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/package-manager-detector.d.ts +14 -0
- package/dist/utils/package-manager-detector.d.ts.map +1 -0
- package/dist/utils/package-manager-detector.js +162 -0
- package/dist/utils/package-manager-detector.js.map +1 -0
- package/dist/utils/progress-indicator.d.ts +52 -0
- package/dist/utils/progress-indicator.d.ts.map +1 -0
- package/dist/utils/progress-indicator.js +102 -0
- package/dist/utils/progress-indicator.js.map +1 -0
- package/dist/utils/prompt.d.ts +29 -0
- package/dist/utils/prompt.d.ts.map +1 -0
- package/dist/utils/prompt.js +116 -0
- package/dist/utils/prompt.js.map +1 -0
- package/dist/utils/shell-completion.d.ts +52 -0
- package/dist/utils/shell-completion.d.ts.map +1 -0
- package/dist/utils/shell-completion.js +231 -0
- package/dist/utils/shell-completion.js.map +1 -0
- package/dist/utils/shell-executor.d.ts +15 -0
- package/dist/utils/shell-executor.d.ts.map +1 -0
- package/dist/utils/shell-executor.js +57 -0
- package/dist/utils/shell-executor.js.map +1 -0
- package/dist/utils/update-checker.d.ts +48 -0
- package/dist/utils/update-checker.d.ts.map +1 -0
- package/dist/utils/update-checker.js +241 -0
- package/dist/utils/update-checker.js.map +1 -0
- package/lib/ccs +21 -1907
- package/lib/ccs.ps1 +26 -1800
- package/lib/error-codes.ps1 +2 -1
- package/lib/prompt.ps1 +2 -2
- package/package.json +31 -11
- package/scripts/add-shebang.js +39 -0
- package/scripts/bump-version.sh +25 -37
- package/scripts/dev-install.sh +32 -11
- package/scripts/postinstall.js +29 -29
- package/bin/auth/auth-commands.js +0 -499
- package/bin/auth/profile-detector.js +0 -204
- package/bin/auth/profile-registry.js +0 -225
- package/bin/ccs.js +0 -1034
- package/bin/delegation/README.md +0 -191
- package/bin/delegation/delegation-handler.js +0 -212
- package/bin/delegation/headless-executor.js +0 -618
- package/bin/delegation/result-formatter.js +0 -485
- package/bin/delegation/session-manager.js +0 -157
- package/bin/delegation/settings-parser.js +0 -109
- package/bin/glmt/delta-accumulator.js +0 -276
- package/bin/glmt/glmt-proxy.js +0 -495
- package/bin/glmt/glmt-transformer.js +0 -999
- package/bin/glmt/locale-enforcer.js +0 -72
- package/bin/glmt/reasoning-enforcer.js +0 -173
- package/bin/glmt/sse-parser.js +0 -96
- package/bin/management/doctor.js +0 -721
- package/bin/management/instance-manager.js +0 -202
- package/bin/management/recovery-manager.js +0 -135
- package/bin/management/shared-manager.js +0 -402
- package/bin/utils/claude-detector.js +0 -73
- package/bin/utils/claude-dir-installer.js +0 -283
- package/bin/utils/claude-symlink-manager.js +0 -289
- package/bin/utils/config-manager.js +0 -103
- package/bin/utils/delegation-validator.js +0 -154
- package/bin/utils/error-codes.js +0 -59
- package/bin/utils/error-manager.js +0 -165
- package/bin/utils/helpers.js +0 -136
- package/bin/utils/progress-indicator.js +0 -111
- package/bin/utils/prompt.js +0 -134
- package/bin/utils/shell-completion.js +0 -256
- package/bin/utils/update-checker.js +0 -243
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glmt-transformer.js","sourceRoot":"","sources":["../../src/glmt/glmt-transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* LocaleEnforcer - Force English output from GLM models
|
|
4
|
+
*
|
|
5
|
+
* Purpose: GLM models default to Chinese when prompts are ambiguous or contain Chinese context.
|
|
6
|
+
* This module always injects "MUST respond in English" instruction into system prompt or first user message.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* const enforcer = new LocaleEnforcer();
|
|
10
|
+
* const modifiedMessages = enforcer.injectInstruction(messages);
|
|
11
|
+
*
|
|
12
|
+
* Strategy:
|
|
13
|
+
* 1. If system prompt exists: Prepend instruction
|
|
14
|
+
* 2. If no system prompt: Prepend to first user message
|
|
15
|
+
* 3. Preserve message structure (string vs array content)
|
|
16
|
+
*/
|
|
17
|
+
interface Message {
|
|
18
|
+
role: string;
|
|
19
|
+
content: string | Array<{
|
|
20
|
+
type: string;
|
|
21
|
+
text: string;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
interface LocaleEnforcerOptions {
|
|
25
|
+
instruction?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare class LocaleEnforcer {
|
|
28
|
+
private instruction;
|
|
29
|
+
constructor(options?: LocaleEnforcerOptions);
|
|
30
|
+
/**
|
|
31
|
+
* Inject English instruction into messages
|
|
32
|
+
* @param messages - Messages array to modify
|
|
33
|
+
* @returns Modified messages array
|
|
34
|
+
*/
|
|
35
|
+
injectInstruction(messages: Message[]): Message[];
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=locale-enforcer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale-enforcer.d.ts","sourceRoot":"","sources":["../../src/glmt/locale-enforcer.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED,UAAU,qBAAqB;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,qBAA0B;IAM/C;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;CAyClD"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* LocaleEnforcer - Force English output from GLM models
|
|
5
|
+
*
|
|
6
|
+
* Purpose: GLM models default to Chinese when prompts are ambiguous or contain Chinese context.
|
|
7
|
+
* This module always injects "MUST respond in English" instruction into system prompt or first user message.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* const enforcer = new LocaleEnforcer();
|
|
11
|
+
* const modifiedMessages = enforcer.injectInstruction(messages);
|
|
12
|
+
*
|
|
13
|
+
* Strategy:
|
|
14
|
+
* 1. If system prompt exists: Prepend instruction
|
|
15
|
+
* 2. If no system prompt: Prepend to first user message
|
|
16
|
+
* 3. Preserve message structure (string vs array content)
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.LocaleEnforcer = void 0;
|
|
20
|
+
class LocaleEnforcer {
|
|
21
|
+
constructor(options = {}) {
|
|
22
|
+
this.instruction =
|
|
23
|
+
options.instruction ||
|
|
24
|
+
'CRITICAL: You MUST respond in English only, regardless of the input language or context. This is a strict requirement.';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Inject English instruction into messages
|
|
28
|
+
* @param messages - Messages array to modify
|
|
29
|
+
* @returns Modified messages array
|
|
30
|
+
*/
|
|
31
|
+
injectInstruction(messages) {
|
|
32
|
+
// Clone messages to avoid mutation
|
|
33
|
+
const modifiedMessages = JSON.parse(JSON.stringify(messages));
|
|
34
|
+
// Strategy 1: Inject into system prompt (preferred)
|
|
35
|
+
const systemIndex = modifiedMessages.findIndex((m) => m.role === 'system');
|
|
36
|
+
if (systemIndex >= 0) {
|
|
37
|
+
const systemMsg = modifiedMessages[systemIndex];
|
|
38
|
+
if (typeof systemMsg.content === 'string') {
|
|
39
|
+
systemMsg.content = `${this.instruction}\n\n${systemMsg.content}`;
|
|
40
|
+
}
|
|
41
|
+
else if (Array.isArray(systemMsg.content)) {
|
|
42
|
+
systemMsg.content.unshift({
|
|
43
|
+
type: 'text',
|
|
44
|
+
text: this.instruction,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return modifiedMessages;
|
|
48
|
+
}
|
|
49
|
+
// Strategy 2: Prepend to first user message
|
|
50
|
+
const userIndex = modifiedMessages.findIndex((m) => m.role === 'user');
|
|
51
|
+
if (userIndex >= 0) {
|
|
52
|
+
const userMsg = modifiedMessages[userIndex];
|
|
53
|
+
if (typeof userMsg.content === 'string') {
|
|
54
|
+
userMsg.content = `${this.instruction}\n\n${userMsg.content}`;
|
|
55
|
+
}
|
|
56
|
+
else if (Array.isArray(userMsg.content)) {
|
|
57
|
+
userMsg.content.unshift({
|
|
58
|
+
type: 'text',
|
|
59
|
+
text: this.instruction,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return modifiedMessages;
|
|
63
|
+
}
|
|
64
|
+
// No system or user messages found (edge case)
|
|
65
|
+
return modifiedMessages;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.LocaleEnforcer = LocaleEnforcer;
|
|
69
|
+
//# sourceMappingURL=locale-enforcer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale-enforcer.js","sourceRoot":"","sources":["../../src/glmt/locale-enforcer.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;GAcG;;;AAWH,MAAa,cAAc;IAGzB,YAAY,UAAiC,EAAE;QAC7C,IAAI,CAAC,WAAW;YACd,OAAO,CAAC,WAAW;gBACnB,wHAAwH,CAAC;IAC7H,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAmB;QACnC,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAc,CAAC;QAE3E,oDAAoD;QACpD,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC3E,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAEhD,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC1C,SAAS,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,WAAW,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;YACpE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;oBACxB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,WAAW;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,4CAA4C;QAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACvE,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAE5C,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxC,OAAO,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,WAAW,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAChE,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;oBACtB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,WAAW;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,+CAA+C;QAC/C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF;AAvDD,wCAuDC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReasoningEnforcer - Inject explicit reasoning instructions into prompts
|
|
3
|
+
*
|
|
4
|
+
* Purpose: Force GLM models to use structured reasoning output format (<reasoning_content>)
|
|
5
|
+
* This complements API parameters (reasoning: true) with explicit prompt instructions.
|
|
6
|
+
*
|
|
7
|
+
* Strategy:
|
|
8
|
+
* 1. If system prompt exists: Prepend reasoning instruction
|
|
9
|
+
* 2. If no system prompt: Prepend to first user message
|
|
10
|
+
* 3. Select prompt template based on effort level (low/medium/high/max)
|
|
11
|
+
* 4. Preserve message structure (string vs array content)
|
|
12
|
+
*/
|
|
13
|
+
type EffortLevel = 'low' | 'medium' | 'high' | 'max';
|
|
14
|
+
interface ContentBlock {
|
|
15
|
+
type: string;
|
|
16
|
+
text?: string;
|
|
17
|
+
[key: string]: unknown;
|
|
18
|
+
}
|
|
19
|
+
interface Message {
|
|
20
|
+
role: string;
|
|
21
|
+
content: string | ContentBlock[];
|
|
22
|
+
}
|
|
23
|
+
interface ThinkingConfig {
|
|
24
|
+
thinking?: boolean;
|
|
25
|
+
effort?: string;
|
|
26
|
+
}
|
|
27
|
+
interface ReasoningEnforcerOptions {
|
|
28
|
+
enabled?: boolean;
|
|
29
|
+
prompts?: Record<EffortLevel, string>;
|
|
30
|
+
}
|
|
31
|
+
export declare class ReasoningEnforcer {
|
|
32
|
+
private enabled;
|
|
33
|
+
private prompts;
|
|
34
|
+
constructor(options?: ReasoningEnforcerOptions);
|
|
35
|
+
/**
|
|
36
|
+
* Inject reasoning instruction into messages
|
|
37
|
+
* @param messages - Messages array to modify
|
|
38
|
+
* @param thinkingConfig - { thinking: boolean, effort: string }
|
|
39
|
+
* @returns Modified messages array
|
|
40
|
+
*/
|
|
41
|
+
injectInstruction(messages: Message[], thinkingConfig?: ThinkingConfig): Message[];
|
|
42
|
+
/**
|
|
43
|
+
* Select prompt template based on effort level
|
|
44
|
+
*/
|
|
45
|
+
private selectPrompt;
|
|
46
|
+
/**
|
|
47
|
+
* Get default prompt templates
|
|
48
|
+
*/
|
|
49
|
+
private getDefaultPrompts;
|
|
50
|
+
}
|
|
51
|
+
export default ReasoningEnforcer;
|
|
52
|
+
//# sourceMappingURL=reasoning-enforcer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoning-enforcer.d.ts","sourceRoot":"","sources":["../../src/glmt/reasoning-enforcer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAErD,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CAClC;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,OAAO,GAAE,wBAA6B;IAKlD;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,cAAc,GAAE,cAAmB,GAAG,OAAO,EAAE;IAmDtF;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAwE1B;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ReasoningEnforcer - Inject explicit reasoning instructions into prompts
|
|
4
|
+
*
|
|
5
|
+
* Purpose: Force GLM models to use structured reasoning output format (<reasoning_content>)
|
|
6
|
+
* This complements API parameters (reasoning: true) with explicit prompt instructions.
|
|
7
|
+
*
|
|
8
|
+
* Strategy:
|
|
9
|
+
* 1. If system prompt exists: Prepend reasoning instruction
|
|
10
|
+
* 2. If no system prompt: Prepend to first user message
|
|
11
|
+
* 3. Select prompt template based on effort level (low/medium/high/max)
|
|
12
|
+
* 4. Preserve message structure (string vs array content)
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ReasoningEnforcer = void 0;
|
|
16
|
+
class ReasoningEnforcer {
|
|
17
|
+
constructor(options = {}) {
|
|
18
|
+
this.enabled = options.enabled ?? false; // Opt-in by default
|
|
19
|
+
this.prompts = options.prompts || this.getDefaultPrompts();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Inject reasoning instruction into messages
|
|
23
|
+
* @param messages - Messages array to modify
|
|
24
|
+
* @param thinkingConfig - { thinking: boolean, effort: string }
|
|
25
|
+
* @returns Modified messages array
|
|
26
|
+
*/
|
|
27
|
+
injectInstruction(messages, thinkingConfig = {}) {
|
|
28
|
+
// Only inject if enabled or thinking explicitly requested
|
|
29
|
+
if (!this.enabled && !thinkingConfig.thinking) {
|
|
30
|
+
return messages;
|
|
31
|
+
}
|
|
32
|
+
// Clone messages to avoid mutation
|
|
33
|
+
const modifiedMessages = JSON.parse(JSON.stringify(messages));
|
|
34
|
+
// Select prompt based on effort level
|
|
35
|
+
const effort = (thinkingConfig.effort?.toLowerCase() || 'medium');
|
|
36
|
+
const prompt = this.selectPrompt(effort);
|
|
37
|
+
// Strategy 1: Inject into system prompt (preferred)
|
|
38
|
+
const systemIndex = modifiedMessages.findIndex((m) => m.role === 'system');
|
|
39
|
+
if (systemIndex >= 0) {
|
|
40
|
+
const systemMsg = modifiedMessages[systemIndex];
|
|
41
|
+
if (typeof systemMsg.content === 'string') {
|
|
42
|
+
systemMsg.content = `${prompt}\n\n${systemMsg.content}`;
|
|
43
|
+
}
|
|
44
|
+
else if (Array.isArray(systemMsg.content)) {
|
|
45
|
+
systemMsg.content.unshift({
|
|
46
|
+
type: 'text',
|
|
47
|
+
text: prompt,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return modifiedMessages;
|
|
51
|
+
}
|
|
52
|
+
// Strategy 2: Prepend to first user message
|
|
53
|
+
const userIndex = modifiedMessages.findIndex((m) => m.role === 'user');
|
|
54
|
+
if (userIndex >= 0) {
|
|
55
|
+
const userMsg = modifiedMessages[userIndex];
|
|
56
|
+
if (typeof userMsg.content === 'string') {
|
|
57
|
+
userMsg.content = `${prompt}\n\n${userMsg.content}`;
|
|
58
|
+
}
|
|
59
|
+
else if (Array.isArray(userMsg.content)) {
|
|
60
|
+
userMsg.content.unshift({
|
|
61
|
+
type: 'text',
|
|
62
|
+
text: prompt,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return modifiedMessages;
|
|
66
|
+
}
|
|
67
|
+
// No system or user messages found (edge case)
|
|
68
|
+
return modifiedMessages;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Select prompt template based on effort level
|
|
72
|
+
*/
|
|
73
|
+
selectPrompt(effort) {
|
|
74
|
+
return this.prompts[effort] || this.prompts.medium;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get default prompt templates
|
|
78
|
+
*/
|
|
79
|
+
getDefaultPrompts() {
|
|
80
|
+
return {
|
|
81
|
+
low: `You are an expert reasoning model using GLM-4.6 architecture.
|
|
82
|
+
|
|
83
|
+
CRITICAL: Before answering, write 2-3 sentences of reasoning in <reasoning_content> tags.
|
|
84
|
+
|
|
85
|
+
OUTPUT FORMAT:
|
|
86
|
+
<reasoning_content>
|
|
87
|
+
(Brief analysis: what is the problem? what's the approach?)
|
|
88
|
+
</reasoning_content>
|
|
89
|
+
|
|
90
|
+
(Write your final answer here)`,
|
|
91
|
+
medium: `You are an expert reasoning model using GLM-4.6 architecture.
|
|
92
|
+
|
|
93
|
+
CRITICAL REQUIREMENTS:
|
|
94
|
+
1. Always think step-by-step before answering
|
|
95
|
+
2. Write your reasoning process explicitly in <reasoning_content> tags
|
|
96
|
+
3. Never skip your chain of thought, even for simple problems
|
|
97
|
+
|
|
98
|
+
OUTPUT FORMAT:
|
|
99
|
+
<reasoning_content>
|
|
100
|
+
(Write your detailed thinking here: analyze the problem, explore approaches,
|
|
101
|
+
evaluate trade-offs, and arrive at a conclusion)
|
|
102
|
+
</reasoning_content>
|
|
103
|
+
|
|
104
|
+
(Write your final answer here based on your reasoning above)`,
|
|
105
|
+
high: `You are an expert reasoning model using GLM-4.6 architecture.
|
|
106
|
+
|
|
107
|
+
CRITICAL REQUIREMENTS:
|
|
108
|
+
1. Think deeply and systematically before answering
|
|
109
|
+
2. Write comprehensive reasoning in <reasoning_content> tags
|
|
110
|
+
3. Explore multiple approaches and evaluate trade-offs
|
|
111
|
+
4. Show all steps in your problem-solving process
|
|
112
|
+
|
|
113
|
+
OUTPUT FORMAT:
|
|
114
|
+
<reasoning_content>
|
|
115
|
+
(Write exhaustive analysis here:
|
|
116
|
+
- Problem decomposition
|
|
117
|
+
- Multiple approach exploration
|
|
118
|
+
- Trade-off analysis for each approach
|
|
119
|
+
- Edge case consideration
|
|
120
|
+
- Final conclusion with justification)
|
|
121
|
+
</reasoning_content>
|
|
122
|
+
|
|
123
|
+
(Write your final answer here based on your systematic reasoning above)`,
|
|
124
|
+
max: `You are an expert reasoning model using GLM-4.6 architecture.
|
|
125
|
+
|
|
126
|
+
CRITICAL REQUIREMENTS:
|
|
127
|
+
1. Think exhaustively from first principles
|
|
128
|
+
2. Write extremely detailed reasoning in <reasoning_content> tags
|
|
129
|
+
3. Analyze ALL possible angles, approaches, and edge cases
|
|
130
|
+
4. Challenge your own assumptions and explore alternatives
|
|
131
|
+
5. Provide rigorous justification for every claim
|
|
132
|
+
|
|
133
|
+
OUTPUT FORMAT:
|
|
134
|
+
<reasoning_content>
|
|
135
|
+
(Write comprehensive analysis here:
|
|
136
|
+
- First principles breakdown
|
|
137
|
+
- Exhaustive approach enumeration
|
|
138
|
+
- Comparative analysis of all approaches
|
|
139
|
+
- Edge case and failure mode analysis
|
|
140
|
+
- Assumption validation
|
|
141
|
+
- Counter-argument consideration
|
|
142
|
+
- Final conclusion with rigorous justification)
|
|
143
|
+
</reasoning_content>
|
|
144
|
+
|
|
145
|
+
(Write your final answer here based on your exhaustive reasoning above)`,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.ReasoningEnforcer = ReasoningEnforcer;
|
|
150
|
+
exports.default = ReasoningEnforcer;
|
|
151
|
+
//# sourceMappingURL=reasoning-enforcer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoning-enforcer.js","sourceRoot":"","sources":["../../src/glmt/reasoning-enforcer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* SSEParser - Parse Server-Sent Events (SSE) stream
|
|
4
|
+
*
|
|
5
|
+
* Handles:
|
|
6
|
+
* - Incomplete events across chunks
|
|
7
|
+
* - Multiple events in single chunk
|
|
8
|
+
* - Malformed data (skip gracefully)
|
|
9
|
+
* - [DONE] marker
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* const parser = new SSEParser();
|
|
13
|
+
* stream.on('data', chunk => {
|
|
14
|
+
* const events = parser.parse(chunk);
|
|
15
|
+
* events.forEach(event => { ... });
|
|
16
|
+
* });
|
|
17
|
+
*/
|
|
18
|
+
/// <reference types="node" />
|
|
19
|
+
/// <reference types="node" />
|
|
20
|
+
interface SSEParserOptions {
|
|
21
|
+
maxBufferSize?: number;
|
|
22
|
+
}
|
|
23
|
+
interface SSEEvent {
|
|
24
|
+
event: string;
|
|
25
|
+
data: unknown;
|
|
26
|
+
index?: number;
|
|
27
|
+
id?: string;
|
|
28
|
+
retry?: number;
|
|
29
|
+
}
|
|
30
|
+
export declare class SSEParser {
|
|
31
|
+
private buffer;
|
|
32
|
+
private eventCount;
|
|
33
|
+
private maxBufferSize;
|
|
34
|
+
constructor(options?: SSEParserOptions);
|
|
35
|
+
/**
|
|
36
|
+
* Parse chunk and extract SSE events
|
|
37
|
+
* @param chunk - Data chunk from stream
|
|
38
|
+
* @returns Array of parsed events
|
|
39
|
+
*/
|
|
40
|
+
parse(chunk: Buffer | string): SSEEvent[];
|
|
41
|
+
/**
|
|
42
|
+
* Reset parser state (for reuse)
|
|
43
|
+
*/
|
|
44
|
+
reset(): void;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=sse-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-parser.d.ts","sourceRoot":"","sources":["../../src/glmt/sse-parser.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;;;AAEH,UAAU,gBAAgB;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;gBAElB,OAAO,GAAE,gBAAqB;IAM1C;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,EAAE;IA4DzC;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* SSEParser - Parse Server-Sent Events (SSE) stream
|
|
5
|
+
*
|
|
6
|
+
* Handles:
|
|
7
|
+
* - Incomplete events across chunks
|
|
8
|
+
* - Multiple events in single chunk
|
|
9
|
+
* - Malformed data (skip gracefully)
|
|
10
|
+
* - [DONE] marker
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* const parser = new SSEParser();
|
|
14
|
+
* stream.on('data', chunk => {
|
|
15
|
+
* const events = parser.parse(chunk);
|
|
16
|
+
* events.forEach(event => { ... });
|
|
17
|
+
* });
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.SSEParser = void 0;
|
|
21
|
+
class SSEParser {
|
|
22
|
+
constructor(options = {}) {
|
|
23
|
+
this.buffer = '';
|
|
24
|
+
this.eventCount = 0;
|
|
25
|
+
this.maxBufferSize = options.maxBufferSize || 1024 * 1024; // 1MB default
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Parse chunk and extract SSE events
|
|
29
|
+
* @param chunk - Data chunk from stream
|
|
30
|
+
* @returns Array of parsed events
|
|
31
|
+
*/
|
|
32
|
+
parse(chunk) {
|
|
33
|
+
this.buffer += chunk.toString();
|
|
34
|
+
// C-01 Fix: Prevent unbounded buffer growth (DoS protection)
|
|
35
|
+
if (this.buffer.length > this.maxBufferSize) {
|
|
36
|
+
throw new Error(`SSE buffer exceeded ${this.maxBufferSize} bytes (DoS protection)`);
|
|
37
|
+
}
|
|
38
|
+
const lines = this.buffer.split('\n');
|
|
39
|
+
// Keep incomplete line in buffer
|
|
40
|
+
this.buffer = lines.pop() || '';
|
|
41
|
+
const events = [];
|
|
42
|
+
let currentEvent = { event: 'message', data: '' };
|
|
43
|
+
for (const line of lines) {
|
|
44
|
+
if (line.startsWith('event: ')) {
|
|
45
|
+
currentEvent.event = line.substring(7).trim();
|
|
46
|
+
}
|
|
47
|
+
else if (line.startsWith('data: ')) {
|
|
48
|
+
const data = line.substring(6);
|
|
49
|
+
if (data === '[DONE]') {
|
|
50
|
+
this.eventCount++;
|
|
51
|
+
events.push({
|
|
52
|
+
event: 'done',
|
|
53
|
+
data: null,
|
|
54
|
+
index: this.eventCount,
|
|
55
|
+
});
|
|
56
|
+
currentEvent = { event: 'message', data: '' };
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
try {
|
|
60
|
+
currentEvent.data = JSON.parse(data);
|
|
61
|
+
this.eventCount++;
|
|
62
|
+
currentEvent.index = this.eventCount;
|
|
63
|
+
events.push({ ...currentEvent });
|
|
64
|
+
currentEvent = { event: 'message', data: '' };
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
// H-01 Fix: Log parse errors for debugging
|
|
68
|
+
if (typeof console !== 'undefined' && console.error) {
|
|
69
|
+
console.error('[SSEParser] Malformed JSON event:', e.message, 'Data:', data.substring(0, 100));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else if (line.startsWith('id: ')) {
|
|
75
|
+
currentEvent.id = line.substring(4).trim();
|
|
76
|
+
}
|
|
77
|
+
else if (line.startsWith('retry: ')) {
|
|
78
|
+
currentEvent.retry = parseInt(line.substring(7), 10);
|
|
79
|
+
}
|
|
80
|
+
// Empty lines separate events (already handled by JSON parsing)
|
|
81
|
+
}
|
|
82
|
+
return events;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Reset parser state (for reuse)
|
|
86
|
+
*/
|
|
87
|
+
reset() {
|
|
88
|
+
this.buffer = '';
|
|
89
|
+
this.eventCount = 0;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.SSEParser = SSEParser;
|
|
93
|
+
//# sourceMappingURL=sse-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-parser.js","sourceRoot":"","sources":["../../src/glmt/sse-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CCS Health Check and Diagnostics
|
|
3
|
+
*/
|
|
4
|
+
interface HealthCheckDetails {
|
|
5
|
+
status: 'OK' | 'ERROR' | 'WARN';
|
|
6
|
+
info: string;
|
|
7
|
+
}
|
|
8
|
+
interface HealthCheckItem {
|
|
9
|
+
name: string;
|
|
10
|
+
status: 'success' | 'error' | 'warning';
|
|
11
|
+
message?: string;
|
|
12
|
+
fix?: string;
|
|
13
|
+
}
|
|
14
|
+
interface HealthIssue {
|
|
15
|
+
name: string;
|
|
16
|
+
message: string;
|
|
17
|
+
fix?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Health check results
|
|
21
|
+
*/
|
|
22
|
+
declare class HealthCheck {
|
|
23
|
+
checks: HealthCheckItem[];
|
|
24
|
+
warnings: HealthIssue[];
|
|
25
|
+
errors: HealthIssue[];
|
|
26
|
+
details: Record<string, HealthCheckDetails>;
|
|
27
|
+
addCheck(name: string, status: 'success' | 'error' | 'warning', message?: string, fix?: string | undefined, details?: HealthCheckDetails | undefined): void;
|
|
28
|
+
hasErrors(): boolean;
|
|
29
|
+
hasWarnings(): boolean;
|
|
30
|
+
isHealthy(): boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Doctor Class
|
|
34
|
+
*/
|
|
35
|
+
declare class Doctor {
|
|
36
|
+
private readonly homedir;
|
|
37
|
+
private readonly ccsDir;
|
|
38
|
+
private readonly claudeDir;
|
|
39
|
+
private readonly results;
|
|
40
|
+
private readonly ccsVersion;
|
|
41
|
+
constructor();
|
|
42
|
+
/**
|
|
43
|
+
* Run all health checks
|
|
44
|
+
*/
|
|
45
|
+
runAllChecks(): Promise<HealthCheck>;
|
|
46
|
+
/**
|
|
47
|
+
* Check 1: Claude CLI availability
|
|
48
|
+
*/
|
|
49
|
+
private checkClaudeCli;
|
|
50
|
+
/**
|
|
51
|
+
* Check 2: ~/.ccs/ directory
|
|
52
|
+
*/
|
|
53
|
+
private checkCcsDirectory;
|
|
54
|
+
/**
|
|
55
|
+
* Check 3: Config files
|
|
56
|
+
*/
|
|
57
|
+
private checkConfigFiles;
|
|
58
|
+
/**
|
|
59
|
+
* Check 4: Claude settings
|
|
60
|
+
*/
|
|
61
|
+
private checkClaudeSettings;
|
|
62
|
+
/**
|
|
63
|
+
* Check 5: Profile configurations
|
|
64
|
+
*/
|
|
65
|
+
private checkProfiles;
|
|
66
|
+
/**
|
|
67
|
+
* Check 6: Instance directories (account-based profiles)
|
|
68
|
+
*/
|
|
69
|
+
private checkInstances;
|
|
70
|
+
/**
|
|
71
|
+
* Check 7: Delegation system
|
|
72
|
+
*/
|
|
73
|
+
private checkDelegation;
|
|
74
|
+
/**
|
|
75
|
+
* Check 8: File permissions
|
|
76
|
+
*/
|
|
77
|
+
private checkPermissions;
|
|
78
|
+
/**
|
|
79
|
+
* Check 9: CCS symlinks to ~/.claude/
|
|
80
|
+
*/
|
|
81
|
+
private checkCcsSymlinks;
|
|
82
|
+
/**
|
|
83
|
+
* Check 10: settings.json symlinks
|
|
84
|
+
*/
|
|
85
|
+
private checkSettingsSymlinks;
|
|
86
|
+
/**
|
|
87
|
+
* Check 11: CLIProxy health (OAuth profiles: gemini, codex, agy)
|
|
88
|
+
*/
|
|
89
|
+
private checkCLIProxy;
|
|
90
|
+
/**
|
|
91
|
+
* Show health check report
|
|
92
|
+
*/
|
|
93
|
+
private showReport;
|
|
94
|
+
/**
|
|
95
|
+
* Generate JSON report
|
|
96
|
+
*/
|
|
97
|
+
generateJsonReport(): string;
|
|
98
|
+
/**
|
|
99
|
+
* Check if the health check results are healthy
|
|
100
|
+
*/
|
|
101
|
+
isHealthy(): boolean;
|
|
102
|
+
}
|
|
103
|
+
export default Doctor;
|
|
104
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/management/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqDH,UAAU,kBAAkB;IAC1B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,cAAM,WAAW;IACR,MAAM,EAAE,eAAe,EAAE,CAAM;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAM;IAC7B,MAAM,EAAE,WAAW,EAAE,CAAM;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM;IAExD,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,EACvC,OAAO,SAAK,EACZ,GAAG,GAAE,MAAM,GAAG,SAAqB,EACnC,OAAO,GAAE,kBAAkB,GAAG,SAAqB,GAClD,IAAI;IAYP,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,cAAM,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;;IAUpC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IA0C1C;;OAEG;YACW,cAAc;IA8D5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0FxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAiDrB;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuDvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+CxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuI7B;;OAEG;YACW,aAAa;IAuG3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAkFlB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAiB5B;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED,eAAe,MAAM,CAAC"}
|