@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,108 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Formats delegation execution results for display
|
|
4
|
+
* Creates ASCII box output with file change tracking
|
|
5
|
+
*/
|
|
6
|
+
interface ExecutionResult {
|
|
7
|
+
profile: string;
|
|
8
|
+
cwd: string;
|
|
9
|
+
exitCode: number;
|
|
10
|
+
stdout: string;
|
|
11
|
+
stderr: string;
|
|
12
|
+
duration: number;
|
|
13
|
+
success: boolean;
|
|
14
|
+
content?: string;
|
|
15
|
+
sessionId?: string;
|
|
16
|
+
totalCost?: number;
|
|
17
|
+
numTurns?: number;
|
|
18
|
+
subtype?: string;
|
|
19
|
+
permissionDenials?: PermissionDenial[];
|
|
20
|
+
errors?: ErrorInfo[];
|
|
21
|
+
timedOut?: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface PermissionDenial {
|
|
24
|
+
tool_name?: string;
|
|
25
|
+
tool_input?: {
|
|
26
|
+
command?: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
[key: string]: unknown;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
interface ErrorInfo {
|
|
32
|
+
message?: string;
|
|
33
|
+
error?: string;
|
|
34
|
+
[key: string]: unknown;
|
|
35
|
+
}
|
|
36
|
+
interface FileChanges {
|
|
37
|
+
created: string[];
|
|
38
|
+
modified: string[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Result Formatter Class
|
|
42
|
+
*/
|
|
43
|
+
declare class ResultFormatter {
|
|
44
|
+
/**
|
|
45
|
+
* Format execution result with complete source-of-truth
|
|
46
|
+
*/
|
|
47
|
+
static format(result: ExecutionResult): string;
|
|
48
|
+
/**
|
|
49
|
+
* Extract file changes from output
|
|
50
|
+
*/
|
|
51
|
+
static extractFileChanges(output: string, cwd: string): FileChanges;
|
|
52
|
+
/**
|
|
53
|
+
* Format header with delegation indicator
|
|
54
|
+
*/
|
|
55
|
+
private static formatHeader;
|
|
56
|
+
/**
|
|
57
|
+
* Format info box with delegation details
|
|
58
|
+
*/
|
|
59
|
+
private static formatInfoBox;
|
|
60
|
+
/**
|
|
61
|
+
* Format task output
|
|
62
|
+
*/
|
|
63
|
+
private static formatOutput;
|
|
64
|
+
/**
|
|
65
|
+
* Format stderr output
|
|
66
|
+
*/
|
|
67
|
+
private static formatStderr;
|
|
68
|
+
/**
|
|
69
|
+
* Format file list (created or modified) - Currently unused
|
|
70
|
+
*/
|
|
71
|
+
/**
|
|
72
|
+
* Format footer with completion status
|
|
73
|
+
*/
|
|
74
|
+
private static formatFooter;
|
|
75
|
+
/**
|
|
76
|
+
* Get display name for model profile
|
|
77
|
+
*/
|
|
78
|
+
private static getModelDisplayName;
|
|
79
|
+
/**
|
|
80
|
+
* Truncate string to max length
|
|
81
|
+
*/
|
|
82
|
+
private static truncate;
|
|
83
|
+
/**
|
|
84
|
+
* Format minimal result (for quick tasks)
|
|
85
|
+
*/
|
|
86
|
+
static formatMinimal(result: ExecutionResult): string;
|
|
87
|
+
/**
|
|
88
|
+
* Format verbose result (with full details)
|
|
89
|
+
*/
|
|
90
|
+
static formatVerbose(result: ExecutionResult): string;
|
|
91
|
+
/**
|
|
92
|
+
* Check if NO_COLOR environment variable is set - Currently unused
|
|
93
|
+
*/
|
|
94
|
+
/**
|
|
95
|
+
* Format timeout error (session exceeded time limit)
|
|
96
|
+
*/
|
|
97
|
+
private static formatTimeoutError;
|
|
98
|
+
/**
|
|
99
|
+
* Format permission denials
|
|
100
|
+
*/
|
|
101
|
+
private static formatPermissionDenials;
|
|
102
|
+
/**
|
|
103
|
+
* Format errors array
|
|
104
|
+
*/
|
|
105
|
+
private static formatErrors;
|
|
106
|
+
}
|
|
107
|
+
export { ResultFormatter };
|
|
108
|
+
//# sourceMappingURL=result-formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-formatter.d.ts","sourceRoot":"","sources":["../../src/delegation/result-formatter.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAMH,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED,UAAU,SAAS;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,cAAM,eAAe;IACnB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAsE9C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IAiHnE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAM3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAkD5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAQ3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B;;OAEG;IAaH;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAM3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAWlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAOvB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IASrD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAiBrD;;OAEG;IAOH;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA8CjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IActC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;CAU5B;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* Formats delegation execution results for display
|
|
5
|
+
* Creates ASCII box output with file change tracking
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
24
|
+
if (mod && mod.__esModule) return mod;
|
|
25
|
+
var result = {};
|
|
26
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
27
|
+
__setModuleDefault(result, mod);
|
|
28
|
+
return result;
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.ResultFormatter = void 0;
|
|
32
|
+
const path = __importStar(require("path"));
|
|
33
|
+
const child_process_1 = require("child_process");
|
|
34
|
+
const fs = __importStar(require("fs"));
|
|
35
|
+
/**
|
|
36
|
+
* Result Formatter Class
|
|
37
|
+
*/
|
|
38
|
+
class ResultFormatter {
|
|
39
|
+
/**
|
|
40
|
+
* Format execution result with complete source-of-truth
|
|
41
|
+
*/
|
|
42
|
+
static format(result) {
|
|
43
|
+
const { profile, cwd, exitCode, stdout, stderr, duration, success, content, sessionId, totalCost, numTurns, subtype, permissionDenials, errors, timedOut, } = result;
|
|
44
|
+
// Handle timeout (graceful termination)
|
|
45
|
+
if (timedOut) {
|
|
46
|
+
return this.formatTimeoutError(result);
|
|
47
|
+
}
|
|
48
|
+
// Handle legacy max_turns error (Claude CLI might still return this)
|
|
49
|
+
if (subtype === 'error_max_turns') {
|
|
50
|
+
return this.formatTimeoutError(result);
|
|
51
|
+
}
|
|
52
|
+
// Use content field for output (JSON result or fallback stdout)
|
|
53
|
+
const displayOutput = content || stdout;
|
|
54
|
+
// Build formatted output
|
|
55
|
+
let output = '';
|
|
56
|
+
// Header
|
|
57
|
+
output += this.formatHeader(profile, success);
|
|
58
|
+
// Info box (file detection handled by delegated session itself)
|
|
59
|
+
output += this.formatInfoBox(cwd, profile, duration, exitCode, sessionId, totalCost, numTurns);
|
|
60
|
+
// Task output
|
|
61
|
+
output += '\n';
|
|
62
|
+
output += this.formatOutput(displayOutput);
|
|
63
|
+
// Permission denials if present
|
|
64
|
+
if (permissionDenials && permissionDenials.length > 0) {
|
|
65
|
+
output += '\n';
|
|
66
|
+
output += this.formatPermissionDenials(permissionDenials);
|
|
67
|
+
}
|
|
68
|
+
// Errors if present
|
|
69
|
+
if (errors && errors.length > 0) {
|
|
70
|
+
output += '\n';
|
|
71
|
+
output += this.formatErrors(errors);
|
|
72
|
+
}
|
|
73
|
+
// Stderr if present
|
|
74
|
+
if (stderr && stderr.trim()) {
|
|
75
|
+
output += '\n';
|
|
76
|
+
output += this.formatStderr(stderr);
|
|
77
|
+
}
|
|
78
|
+
// Footer
|
|
79
|
+
output += '\n';
|
|
80
|
+
output += this.formatFooter(success, duration);
|
|
81
|
+
return output;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Extract file changes from output
|
|
85
|
+
*/
|
|
86
|
+
static extractFileChanges(output, cwd) {
|
|
87
|
+
const created = [];
|
|
88
|
+
const modified = [];
|
|
89
|
+
// Patterns to match file operations (case-insensitive)
|
|
90
|
+
const createdPatterns = [
|
|
91
|
+
/created:\s*([^\n\r]+)/gi,
|
|
92
|
+
/create:\s*([^\n\r]+)/gi,
|
|
93
|
+
/wrote:\s*([^\n\r]+)/gi,
|
|
94
|
+
/write:\s*([^\n\r]+)/gi,
|
|
95
|
+
/new file:\s*([^\n\r]+)/gi,
|
|
96
|
+
/generated:\s*([^\n\r]+)/gi,
|
|
97
|
+
/added:\s*([^\n\r]+)/gi,
|
|
98
|
+
];
|
|
99
|
+
const modifiedPatterns = [
|
|
100
|
+
/modified:\s*([^\n\r]+)/gi,
|
|
101
|
+
/update:\s*([^\n\r]+)/gi,
|
|
102
|
+
/updated:\s*([^\n\r]+)/gi,
|
|
103
|
+
/edit:\s*([^\n\r]+)/gi,
|
|
104
|
+
/edited:\s*([^\n\r]+)/gi,
|
|
105
|
+
/changed:\s*([^\n\r]+)/gi,
|
|
106
|
+
];
|
|
107
|
+
// Helper to check if file is infrastructure (should be ignored)
|
|
108
|
+
const isInfrastructure = (filePath) => {
|
|
109
|
+
return filePath.includes('/.claude/') || filePath.startsWith('.claude/');
|
|
110
|
+
};
|
|
111
|
+
// Extract created files
|
|
112
|
+
for (const pattern of createdPatterns) {
|
|
113
|
+
let match;
|
|
114
|
+
while ((match = pattern.exec(output)) !== null) {
|
|
115
|
+
const filePath = match[1].trim();
|
|
116
|
+
if (filePath && !created.includes(filePath) && !isInfrastructure(filePath)) {
|
|
117
|
+
created.push(filePath);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// Extract modified files
|
|
122
|
+
for (const pattern of modifiedPatterns) {
|
|
123
|
+
let match;
|
|
124
|
+
while ((match = pattern.exec(output)) !== null) {
|
|
125
|
+
const filePath = match[1].trim();
|
|
126
|
+
// Don't include if already in created list or is infrastructure
|
|
127
|
+
if (filePath &&
|
|
128
|
+
!modified.includes(filePath) &&
|
|
129
|
+
!created.includes(filePath) &&
|
|
130
|
+
!isInfrastructure(filePath)) {
|
|
131
|
+
modified.push(filePath);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Fallback: Scan filesystem for recently modified files (last 5 minutes)
|
|
136
|
+
if (created.length === 0 && modified.length === 0 && cwd) {
|
|
137
|
+
try {
|
|
138
|
+
// Use find command to get recently modified files (excluding infrastructure)
|
|
139
|
+
const findCmd = `find . -type f -mmin -5 -not -path "./.git/*" -not -path "./node_modules/*" -not -path "./.claude/*" 2>/dev/null | head -20`;
|
|
140
|
+
const result = (0, child_process_1.execSync)(findCmd, { cwd, encoding: 'utf8', timeout: 5000 });
|
|
141
|
+
const files = result.split('\n').filter((f) => f.trim());
|
|
142
|
+
files.forEach((file) => {
|
|
143
|
+
const fullPath = path.join(cwd, file);
|
|
144
|
+
// Double-check not infrastructure
|
|
145
|
+
if (isInfrastructure(fullPath)) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
const stats = fs.statSync(fullPath);
|
|
150
|
+
const now = Date.now();
|
|
151
|
+
const mtime = stats.mtimeMs;
|
|
152
|
+
const ctime = stats.ctimeMs;
|
|
153
|
+
// If both mtime and ctime are very recent (within 10 minutes), likely created
|
|
154
|
+
// ctime = inode change time, for new files this is close to creation time
|
|
155
|
+
const isVeryRecent = now - mtime < 600000 && now - ctime < 600000;
|
|
156
|
+
const timeDiff = Math.abs(mtime - ctime);
|
|
157
|
+
// If mtime and ctime are very close (< 1 second apart) and both recent, it's created
|
|
158
|
+
if (isVeryRecent && timeDiff < 1000) {
|
|
159
|
+
if (!created.includes(fullPath)) {
|
|
160
|
+
created.push(fullPath);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
// Otherwise, it's modified
|
|
165
|
+
if (!modified.includes(fullPath)) {
|
|
166
|
+
modified.push(fullPath);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
catch (_statError) {
|
|
171
|
+
// If stat fails, default to created (since we're in fallback mode)
|
|
172
|
+
if (!created.includes(fullPath) && !modified.includes(fullPath)) {
|
|
173
|
+
created.push(fullPath);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
catch (scanError) {
|
|
179
|
+
// Silently fail if filesystem scan doesn't work
|
|
180
|
+
if (process.env.CCS_DEBUG) {
|
|
181
|
+
console.error(`[!] Filesystem scan failed: ${scanError.message}`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return { created, modified };
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Format header with delegation indicator
|
|
189
|
+
*/
|
|
190
|
+
static formatHeader(profile, success) {
|
|
191
|
+
const modelName = this.getModelDisplayName(profile);
|
|
192
|
+
const icon = success ? '[i]' : '[X]';
|
|
193
|
+
return `${icon} Delegated to ${modelName} (ccs:${profile})\n`;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Format info box with delegation details
|
|
197
|
+
*/
|
|
198
|
+
static formatInfoBox(cwd, profile, duration, exitCode, sessionId, totalCost, numTurns) {
|
|
199
|
+
const modelName = this.getModelDisplayName(profile);
|
|
200
|
+
const durationSec = (duration / 1000).toFixed(1);
|
|
201
|
+
// Calculate box width (fit longest line + padding)
|
|
202
|
+
const maxWidth = 70;
|
|
203
|
+
const cwdLine = `Working Directory: ${cwd}`;
|
|
204
|
+
const boxWidth = Math.min(Math.max(cwdLine.length + 4, 50), maxWidth);
|
|
205
|
+
const lines = [
|
|
206
|
+
`Working Directory: ${this.truncate(cwd, boxWidth - 22)}`,
|
|
207
|
+
`Model: ${modelName}`,
|
|
208
|
+
`Duration: ${durationSec}s`,
|
|
209
|
+
`Exit Code: ${exitCode}`,
|
|
210
|
+
];
|
|
211
|
+
// Add JSON-specific fields if available
|
|
212
|
+
if (sessionId) {
|
|
213
|
+
// Abbreviate session ID (Git-style first 8 chars) to prevent wrapping
|
|
214
|
+
const shortId = sessionId.length > 8 ? sessionId.substring(0, 8) : sessionId;
|
|
215
|
+
lines.push(`Session ID: ${shortId}`);
|
|
216
|
+
}
|
|
217
|
+
if (totalCost !== undefined && totalCost !== null) {
|
|
218
|
+
lines.push(`Cost: $${totalCost.toFixed(4)}`);
|
|
219
|
+
}
|
|
220
|
+
if (numTurns) {
|
|
221
|
+
lines.push(`Turns: ${numTurns}`);
|
|
222
|
+
}
|
|
223
|
+
let box = '';
|
|
224
|
+
box += '╔' + '═'.repeat(boxWidth - 2) + '╗\n';
|
|
225
|
+
for (const line of lines) {
|
|
226
|
+
const padding = boxWidth - line.length - 4;
|
|
227
|
+
box += '║ ' + line + ' '.repeat(Math.max(0, padding)) + ' ║\n';
|
|
228
|
+
}
|
|
229
|
+
box += '╚' + '═'.repeat(boxWidth - 2) + '╝';
|
|
230
|
+
return box;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Format task output
|
|
234
|
+
*/
|
|
235
|
+
static formatOutput(output) {
|
|
236
|
+
if (!output || !output.trim()) {
|
|
237
|
+
return '[i] No output from delegated task\n';
|
|
238
|
+
}
|
|
239
|
+
return output.trim() + '\n';
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Format stderr output
|
|
243
|
+
*/
|
|
244
|
+
static formatStderr(stderr) {
|
|
245
|
+
return `[!] Stderr:\n${stderr.trim()}\n\n`;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Format file list (created or modified) - Currently unused
|
|
249
|
+
*/
|
|
250
|
+
/*
|
|
251
|
+
private static formatFileList(label: string, files: string[]): string {
|
|
252
|
+
let output = `[i] ${label} Files:\n`;
|
|
253
|
+
|
|
254
|
+
for (const file of files) {
|
|
255
|
+
output += ` - ${file}\n`;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
return output;
|
|
259
|
+
}
|
|
260
|
+
*/
|
|
261
|
+
/**
|
|
262
|
+
* Format footer with completion status
|
|
263
|
+
*/
|
|
264
|
+
static formatFooter(success, _duration) {
|
|
265
|
+
const icon = success ? '[OK]' : '[X]';
|
|
266
|
+
const status = success ? 'Delegation completed' : 'Delegation failed';
|
|
267
|
+
return `${icon} ${status}\n`;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Get display name for model profile
|
|
271
|
+
*/
|
|
272
|
+
static getModelDisplayName(profile) {
|
|
273
|
+
const displayNames = {
|
|
274
|
+
glm: 'GLM-4.6',
|
|
275
|
+
glmt: 'GLM-4.6 (Thinking)',
|
|
276
|
+
kimi: 'Kimi',
|
|
277
|
+
default: 'Claude',
|
|
278
|
+
};
|
|
279
|
+
return displayNames[profile] || profile.toUpperCase();
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Truncate string to max length
|
|
283
|
+
*/
|
|
284
|
+
static truncate(str, maxLength) {
|
|
285
|
+
if (str.length <= maxLength) {
|
|
286
|
+
return str;
|
|
287
|
+
}
|
|
288
|
+
return str.substring(0, maxLength - 3) + '...';
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Format minimal result (for quick tasks)
|
|
292
|
+
*/
|
|
293
|
+
static formatMinimal(result) {
|
|
294
|
+
const { profile, success, duration } = result;
|
|
295
|
+
const modelName = this.getModelDisplayName(profile);
|
|
296
|
+
const icon = success ? '[OK]' : '[X]';
|
|
297
|
+
const durationSec = (duration / 1000).toFixed(1);
|
|
298
|
+
return `${icon} ${modelName} delegation ${success ? 'completed' : 'failed'} (${durationSec}s)\n`;
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Format verbose result (with full details)
|
|
302
|
+
*/
|
|
303
|
+
static formatVerbose(result) {
|
|
304
|
+
const basic = this.format(result);
|
|
305
|
+
// Add additional debug info
|
|
306
|
+
let verbose = basic;
|
|
307
|
+
verbose += '\n=== Debug Information ===\n';
|
|
308
|
+
verbose += `CWD: ${result.cwd}\n`;
|
|
309
|
+
verbose += `Profile: ${result.profile}\n`;
|
|
310
|
+
verbose += `Exit Code: ${result.exitCode}\n`;
|
|
311
|
+
verbose += `Duration: ${result.duration}ms\n`;
|
|
312
|
+
verbose += `Success: ${result.success}\n`;
|
|
313
|
+
verbose += `Stdout Length: ${result.stdout.length} chars\n`;
|
|
314
|
+
verbose += `Stderr Length: ${result.stderr.length} chars\n`;
|
|
315
|
+
return verbose;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Check if NO_COLOR environment variable is set - Currently unused
|
|
319
|
+
*/
|
|
320
|
+
/*
|
|
321
|
+
private static shouldDisableColors(): boolean {
|
|
322
|
+
return process.env.NO_COLOR !== undefined;
|
|
323
|
+
}
|
|
324
|
+
*/
|
|
325
|
+
/**
|
|
326
|
+
* Format timeout error (session exceeded time limit)
|
|
327
|
+
*/
|
|
328
|
+
static formatTimeoutError(result) {
|
|
329
|
+
const { profile, cwd, duration, sessionId, totalCost, numTurns, permissionDenials } = result;
|
|
330
|
+
let output = '';
|
|
331
|
+
// Header
|
|
332
|
+
output += this.formatHeader(profile, false);
|
|
333
|
+
// Info box
|
|
334
|
+
output += this.formatInfoBox(cwd, profile, duration, 0, sessionId, totalCost, numTurns);
|
|
335
|
+
// Timeout message
|
|
336
|
+
output += '\n';
|
|
337
|
+
const timeoutMin = (duration / 60000).toFixed(1);
|
|
338
|
+
output += `[!] Execution timed out after ${timeoutMin} minutes\n\n`;
|
|
339
|
+
output += 'The delegated session exceeded its time limit before completing the task.\n';
|
|
340
|
+
output += 'Session was gracefully terminated and saved for continuation.\n';
|
|
341
|
+
// Permission denials if present
|
|
342
|
+
if (permissionDenials && permissionDenials.length > 0) {
|
|
343
|
+
output += '\n';
|
|
344
|
+
output += this.formatPermissionDenials(permissionDenials);
|
|
345
|
+
output += '\n';
|
|
346
|
+
output += 'The task may require permissions that were denied.\n';
|
|
347
|
+
output += 'Consider running with --permission-mode bypassPermissions or execute manually.\n';
|
|
348
|
+
}
|
|
349
|
+
// Suggestions
|
|
350
|
+
output += '\n';
|
|
351
|
+
output += 'Suggestions:\n';
|
|
352
|
+
output += ` - Continue session: ccs ${profile}:continue -p "finish the task"\n`;
|
|
353
|
+
output += ` - Increase timeout: ccs ${profile} -p "task" --timeout ${duration * 2}\n`;
|
|
354
|
+
output += ' - Break task into smaller steps\n';
|
|
355
|
+
output += ' - Run task manually in main Claude session\n';
|
|
356
|
+
output += '\n';
|
|
357
|
+
// Abbreviate session ID (Git-style first 8 chars)
|
|
358
|
+
const shortId = sessionId && sessionId.length > 8 ? sessionId.substring(0, 8) : sessionId;
|
|
359
|
+
output += `[i] Session persisted with ID: ${shortId}\n`;
|
|
360
|
+
if (totalCost !== undefined && totalCost !== null) {
|
|
361
|
+
output += `[i] Cost: $${totalCost.toFixed(4)}\n`;
|
|
362
|
+
}
|
|
363
|
+
return output;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Format permission denials
|
|
367
|
+
*/
|
|
368
|
+
static formatPermissionDenials(denials) {
|
|
369
|
+
let output = '[!] Permission Denials:\n';
|
|
370
|
+
for (const denial of denials) {
|
|
371
|
+
const tool = denial.tool_name || 'Unknown';
|
|
372
|
+
const input = denial.tool_input || {};
|
|
373
|
+
const command = input.command || input.description || JSON.stringify(input);
|
|
374
|
+
output += ` - ${tool}: ${command}\n`;
|
|
375
|
+
}
|
|
376
|
+
return output;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Format errors array
|
|
380
|
+
*/
|
|
381
|
+
static formatErrors(errors) {
|
|
382
|
+
let output = '[X] Errors:\n';
|
|
383
|
+
for (const error of errors) {
|
|
384
|
+
const message = error.message || error.error || JSON.stringify(error);
|
|
385
|
+
output += ` - ${message}\n`;
|
|
386
|
+
}
|
|
387
|
+
return output;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
exports.ResultFormatter = ResultFormatter;
|
|
391
|
+
//# sourceMappingURL=result-formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result-formatter.js","sourceRoot":"","sources":["../../src/delegation/result-formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Manages delegation session persistence for multi-turn conversations
|
|
4
|
+
*/
|
|
5
|
+
interface SessionData {
|
|
6
|
+
sessionId: string;
|
|
7
|
+
totalCost?: number;
|
|
8
|
+
cwd?: string;
|
|
9
|
+
}
|
|
10
|
+
interface TurnData {
|
|
11
|
+
totalCost?: number;
|
|
12
|
+
}
|
|
13
|
+
interface SessionMetadata {
|
|
14
|
+
sessionId: string;
|
|
15
|
+
profile: string;
|
|
16
|
+
startTime: number;
|
|
17
|
+
lastTurnTime: number;
|
|
18
|
+
totalCost: number;
|
|
19
|
+
turns: number;
|
|
20
|
+
cwd: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Session Manager Class
|
|
24
|
+
*/
|
|
25
|
+
declare class SessionManager {
|
|
26
|
+
private readonly sessionsPath;
|
|
27
|
+
constructor();
|
|
28
|
+
/**
|
|
29
|
+
* Store new session metadata
|
|
30
|
+
*/
|
|
31
|
+
storeSession(profile: string, sessionData: SessionData): void;
|
|
32
|
+
/**
|
|
33
|
+
* Update session after additional turn
|
|
34
|
+
*/
|
|
35
|
+
updateSession(profile: string, sessionId: string, turnData: TurnData): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get last session for profile
|
|
38
|
+
*/
|
|
39
|
+
getLastSession(profile: string): SessionMetadata | null;
|
|
40
|
+
/**
|
|
41
|
+
* Clear all sessions for profile
|
|
42
|
+
*/
|
|
43
|
+
clearProfile(profile: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Clean up expired sessions (>30 days)
|
|
46
|
+
*/
|
|
47
|
+
cleanupExpired(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Load sessions from disk
|
|
50
|
+
*/
|
|
51
|
+
private loadSessions;
|
|
52
|
+
/**
|
|
53
|
+
* Save sessions to disk
|
|
54
|
+
*/
|
|
55
|
+
private saveSessions;
|
|
56
|
+
}
|
|
57
|
+
export { SessionManager };
|
|
58
|
+
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/delegation/session-manager.ts"],"names":[],"mappings":";AAEA;;GAEG;AAMH,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,QAAQ;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;GAEG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;;IAMtC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAqB7D;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAsB3E;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAMvD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOnC;;OAEG;IACH,cAAc,IAAI,IAAI;IAqBtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,YAAY;CAWrB;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
|