opencode-antigravity-auth 1.2.4 → 1.2.5-beta.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 +84 -1
- package/dist/src/constants.d.ts +7 -7
- package/dist/src/constants.js +7 -7
- package/dist/src/plugin/cache/index.d.ts +5 -0
- package/dist/src/plugin/cache/index.d.ts.map +1 -0
- package/dist/src/plugin/cache/index.js +5 -0
- package/dist/src/plugin/cache/index.js.map +1 -0
- package/dist/src/plugin/cache/signature-cache.d.ts +87 -0
- package/dist/src/plugin/cache/signature-cache.d.ts.map +1 -0
- package/dist/src/plugin/cache/signature-cache.js +325 -0
- package/dist/src/plugin/cache/signature-cache.js.map +1 -0
- package/dist/src/plugin/cache.d.ts +16 -0
- package/dist/src/plugin/cache.d.ts.map +1 -1
- package/dist/src/plugin/cache.js +85 -23
- package/dist/src/plugin/cache.js.map +1 -1
- package/dist/src/plugin/config/index.d.ts +16 -0
- package/dist/src/plugin/config/index.d.ts.map +1 -0
- package/dist/src/plugin/config/index.js +16 -0
- package/dist/src/plugin/config/index.js.map +1 -0
- package/dist/src/plugin/config/loader.d.ts +35 -0
- package/dist/src/plugin/config/loader.d.ts.map +1 -0
- package/dist/src/plugin/config/loader.js +173 -0
- package/dist/src/plugin/config/loader.js.map +1 -0
- package/dist/src/plugin/config/schema.d.ts +162 -0
- package/dist/src/plugin/config/schema.d.ts.map +1 -0
- package/dist/src/plugin/config/schema.js +128 -0
- package/dist/src/plugin/config/schema.js.map +1 -0
- package/dist/src/plugin/debug.d.ts +8 -2
- package/dist/src/plugin/debug.d.ts.map +1 -1
- package/dist/src/plugin/debug.js +121 -70
- package/dist/src/plugin/debug.js.map +1 -1
- package/dist/src/plugin/recovery/constants.d.ts +22 -0
- package/dist/src/plugin/recovery/constants.d.ts.map +1 -0
- package/dist/src/plugin/recovery/constants.js +43 -0
- package/dist/src/plugin/recovery/constants.js.map +1 -0
- package/dist/src/plugin/recovery/index.d.ts +12 -0
- package/dist/src/plugin/recovery/index.d.ts.map +1 -0
- package/dist/src/plugin/recovery/index.js +12 -0
- package/dist/src/plugin/recovery/index.js.map +1 -0
- package/dist/src/plugin/recovery/storage.d.ts +24 -0
- package/dist/src/plugin/recovery/storage.d.ts.map +1 -0
- package/dist/src/plugin/recovery/storage.js +354 -0
- package/dist/src/plugin/recovery/storage.js.map +1 -0
- package/dist/src/plugin/recovery/types.d.ts +116 -0
- package/dist/src/plugin/recovery/types.d.ts.map +1 -0
- package/dist/src/plugin/recovery/types.js +6 -0
- package/dist/src/plugin/recovery/types.js.map +1 -0
- package/dist/src/plugin/recovery.d.ts +61 -0
- package/dist/src/plugin/recovery.d.ts.map +1 -0
- package/dist/src/plugin/recovery.js +347 -0
- package/dist/src/plugin/recovery.js.map +1 -0
- package/dist/src/plugin/request.d.ts +1 -0
- package/dist/src/plugin/request.d.ts.map +1 -1
- package/dist/src/plugin/request.js +37 -0
- package/dist/src/plugin/request.js.map +1 -1
- package/dist/src/plugin/thinking-recovery.d.ts +64 -0
- package/dist/src/plugin/thinking-recovery.d.ts.map +1 -0
- package/dist/src/plugin/thinking-recovery.js +245 -0
- package/dist/src/plugin/thinking-recovery.js.map +1 -0
- package/dist/src/plugin.d.ts.map +1 -1
- package/dist/src/plugin.js +80 -4
- package/dist/src/plugin.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration schema for opencode-antigravity-auth plugin.
|
|
3
|
+
*
|
|
4
|
+
* Config file locations (in priority order, highest wins):
|
|
5
|
+
* - Project: .opencode/antigravity.json
|
|
6
|
+
* - User: ~/.config/opencode/antigravity.json (Linux/Mac)
|
|
7
|
+
* %APPDATA%\opencode\antigravity.json (Windows)
|
|
8
|
+
*
|
|
9
|
+
* Environment variables always override config file values.
|
|
10
|
+
*/
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
/**
|
|
13
|
+
* Signature cache configuration for persisting thinking block signatures to disk.
|
|
14
|
+
*/
|
|
15
|
+
export const SignatureCacheConfigSchema = z.object({
|
|
16
|
+
/** Enable disk caching of signatures (default: true) */
|
|
17
|
+
enabled: z.boolean().default(true),
|
|
18
|
+
/** In-memory TTL in seconds (default: 3600 = 1 hour) */
|
|
19
|
+
memory_ttl_seconds: z.number().min(60).max(86400).default(3600),
|
|
20
|
+
/** Disk TTL in seconds (default: 172800 = 48 hours) */
|
|
21
|
+
disk_ttl_seconds: z.number().min(3600).max(604800).default(172800),
|
|
22
|
+
/** Background write interval in seconds (default: 60) */
|
|
23
|
+
write_interval_seconds: z.number().min(10).max(600).default(60),
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Main configuration schema for the Antigravity OAuth plugin.
|
|
27
|
+
*/
|
|
28
|
+
export const AntigravityConfigSchema = z.object({
|
|
29
|
+
/** JSON Schema reference for IDE support */
|
|
30
|
+
$schema: z.string().optional(),
|
|
31
|
+
// =========================================================================
|
|
32
|
+
// General Settings
|
|
33
|
+
// =========================================================================
|
|
34
|
+
/**
|
|
35
|
+
* Suppress most toast notifications (rate limit, account switching, etc.)
|
|
36
|
+
* Recovery toasts are always shown regardless of this setting.
|
|
37
|
+
* Env override: OPENCODE_ANTIGRAVITY_QUIET=1
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
quiet_mode: z.boolean().default(false),
|
|
41
|
+
/**
|
|
42
|
+
* Enable debug logging to file.
|
|
43
|
+
* Env override: OPENCODE_ANTIGRAVITY_DEBUG=1
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
debug: z.boolean().default(false),
|
|
47
|
+
/**
|
|
48
|
+
* Custom directory for debug logs.
|
|
49
|
+
* Env override: OPENCODE_ANTIGRAVITY_LOG_DIR=/path/to/logs
|
|
50
|
+
* @default OS-specific config dir + "/antigravity-logs"
|
|
51
|
+
*/
|
|
52
|
+
log_dir: z.string().optional(),
|
|
53
|
+
// =========================================================================
|
|
54
|
+
// Thinking Blocks
|
|
55
|
+
// =========================================================================
|
|
56
|
+
/**
|
|
57
|
+
* Preserve thinking blocks for Claude models using signature caching.
|
|
58
|
+
*
|
|
59
|
+
* When false (default): Thinking blocks are stripped for reliability.
|
|
60
|
+
* When true: Full context preserved, but may encounter signature errors.
|
|
61
|
+
*
|
|
62
|
+
* Env override: OPENCODE_ANTIGRAVITY_KEEP_THINKING=1
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
65
|
+
keep_thinking: z.boolean().default(false),
|
|
66
|
+
// =========================================================================
|
|
67
|
+
// Session Recovery
|
|
68
|
+
// =========================================================================
|
|
69
|
+
/**
|
|
70
|
+
* Enable automatic session recovery from tool_result_missing errors.
|
|
71
|
+
* When enabled, shows a toast notification when recoverable errors occur.
|
|
72
|
+
*
|
|
73
|
+
* @default true
|
|
74
|
+
*/
|
|
75
|
+
session_recovery: z.boolean().default(true),
|
|
76
|
+
/**
|
|
77
|
+
* Automatically send a "continue" prompt after successful recovery.
|
|
78
|
+
* Only applies when session_recovery is enabled.
|
|
79
|
+
*
|
|
80
|
+
* When false: Only shows toast notification, user must manually continue.
|
|
81
|
+
* When true: Automatically sends "continue" to resume the session.
|
|
82
|
+
*
|
|
83
|
+
* @default true
|
|
84
|
+
*/
|
|
85
|
+
auto_resume: z.boolean().default(true),
|
|
86
|
+
/**
|
|
87
|
+
* Custom text to send when auto-resuming after recovery.
|
|
88
|
+
* Only used when auto_resume is enabled.
|
|
89
|
+
*
|
|
90
|
+
* @default "continue"
|
|
91
|
+
*/
|
|
92
|
+
resume_text: z.string().default("continue"),
|
|
93
|
+
// =========================================================================
|
|
94
|
+
// Signature Caching
|
|
95
|
+
// =========================================================================
|
|
96
|
+
/**
|
|
97
|
+
* Signature cache configuration for persisting thinking block signatures.
|
|
98
|
+
* Only used when keep_thinking is enabled.
|
|
99
|
+
*/
|
|
100
|
+
signature_cache: SignatureCacheConfigSchema.optional(),
|
|
101
|
+
// =========================================================================
|
|
102
|
+
// Auto-Update
|
|
103
|
+
// =========================================================================
|
|
104
|
+
/**
|
|
105
|
+
* Enable automatic plugin updates.
|
|
106
|
+
* @default true
|
|
107
|
+
*/
|
|
108
|
+
auto_update: z.boolean().default(true),
|
|
109
|
+
});
|
|
110
|
+
/**
|
|
111
|
+
* Default configuration values.
|
|
112
|
+
*/
|
|
113
|
+
export const DEFAULT_CONFIG = {
|
|
114
|
+
quiet_mode: false,
|
|
115
|
+
debug: false,
|
|
116
|
+
keep_thinking: false,
|
|
117
|
+
session_recovery: true,
|
|
118
|
+
auto_resume: true,
|
|
119
|
+
resume_text: "continue",
|
|
120
|
+
auto_update: true,
|
|
121
|
+
signature_cache: {
|
|
122
|
+
enabled: true,
|
|
123
|
+
memory_ttl_seconds: 3600,
|
|
124
|
+
disk_ttl_seconds: 172800,
|
|
125
|
+
write_interval_seconds: 60,
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/plugin/config/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,wDAAwD;IACxD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAElC,wDAAwD;IACxD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAE/D,uDAAuD;IACvD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAElE,yDAAyD;IACzD,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,4CAA4C;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE9B,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E;;;;;OAKG;IACH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEtC;;;;OAIG;IACH,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEjC;;;;OAIG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE9B,4EAA4E;IAC5E,kBAAkB;IAClB,4EAA4E;IAE5E;;;;;;;;OAQG;IACH,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEzC,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAE3C;;;;;;;;OAQG;IACH,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEtC;;;;;OAKG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAE3C,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;;OAGG;IACH,eAAe,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAEtD,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACvC,CAAC,CAAC;AAKH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,KAAK;IACZ,aAAa,EAAE,KAAK;IACpB,gBAAgB,EAAE,IAAI;IACtB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE;QACf,OAAO,EAAE,IAAI;QACb,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,MAAM;QACxB,sBAAsB,EAAE,EAAE;KAC3B;CACF,CAAC"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
import type { AntigravityConfig } from "./config";
|
|
1
2
|
export declare const DEBUG_MESSAGE_PREFIX = "[opencode-antigravity-auth debug]";
|
|
3
|
+
/**
|
|
4
|
+
* Initialize or reinitialize debug state with the given config.
|
|
5
|
+
* Call this once at plugin startup after loading config.
|
|
6
|
+
*/
|
|
7
|
+
export declare function initializeDebug(config: AntigravityConfig): void;
|
|
2
8
|
export declare function isDebugEnabled(): boolean;
|
|
3
9
|
export declare function isVerboseEnabled(): boolean;
|
|
4
10
|
export declare function getLogFilePath(): string | undefined;
|
|
@@ -23,11 +29,11 @@ interface AntigravityDebugResponseMeta {
|
|
|
23
29
|
headersOverride?: HeadersInit;
|
|
24
30
|
}
|
|
25
31
|
/**
|
|
26
|
-
* Begins a debug trace for an Antigravity request
|
|
32
|
+
* Begins a debug trace for an Antigravity request.
|
|
27
33
|
*/
|
|
28
34
|
export declare function startAntigravityDebugRequest(meta: AntigravityDebugRequestMeta): AntigravityDebugContext | null;
|
|
29
35
|
/**
|
|
30
|
-
* Logs response details for a previously started debug trace
|
|
36
|
+
* Logs response details for a previously started debug trace.
|
|
31
37
|
*/
|
|
32
38
|
export declare function logAntigravityDebugResponse(context: AntigravityDebugContext | null | undefined, response: Response, meta?: AntigravityDebugResponseMeta): void;
|
|
33
39
|
export interface AccountDebugInfo {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/plugin/debug.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/plugin/debug.ts"],"names":[],"mappings":"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"}
|
package/dist/src/plugin/debug.js
CHANGED
|
@@ -2,16 +2,14 @@ import { createWriteStream, mkdirSync } from "node:fs";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { env } from "node:process";
|
|
5
|
-
const DEBUG_FLAG = env.OPENCODE_ANTIGRAVITY_DEBUG ?? "";
|
|
6
5
|
const MAX_BODY_PREVIEW_CHARS = 12000;
|
|
7
6
|
const MAX_BODY_VERBOSE_CHARS = 50000;
|
|
8
7
|
export const DEBUG_MESSAGE_PREFIX = "[opencode-antigravity-auth debug]";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const logWriter = createLogWriter(logFilePath);
|
|
8
|
+
let debugState = null;
|
|
9
|
+
/**
|
|
10
|
+
* Parse debug level from a flag string.
|
|
11
|
+
* 0 = off, 1 = basic, 2 = verbose (full bodies)
|
|
12
|
+
*/
|
|
15
13
|
function parseDebugLevel(flag) {
|
|
16
14
|
const trimmed = flag.trim();
|
|
17
15
|
if (trimmed === "2" || trimmed === "verbose")
|
|
@@ -20,21 +18,119 @@ function parseDebugLevel(flag) {
|
|
|
20
18
|
return 1;
|
|
21
19
|
return 0;
|
|
22
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Get the OS-specific config directory.
|
|
23
|
+
*/
|
|
24
|
+
function getConfigDir() {
|
|
25
|
+
const platform = process.platform;
|
|
26
|
+
if (platform === "win32") {
|
|
27
|
+
return join(env.APPDATA || join(homedir(), "AppData", "Roaming"), "opencode");
|
|
28
|
+
}
|
|
29
|
+
const xdgConfig = env.XDG_CONFIG_HOME || join(homedir(), ".config");
|
|
30
|
+
return join(xdgConfig, "opencode");
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Returns the logs directory, creating it if needed.
|
|
34
|
+
*/
|
|
35
|
+
function getLogsDir(customLogDir) {
|
|
36
|
+
const logsDir = customLogDir || join(getConfigDir(), "antigravity-logs");
|
|
37
|
+
try {
|
|
38
|
+
mkdirSync(logsDir, { recursive: true });
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// Directory may already exist or we don't have permission
|
|
42
|
+
}
|
|
43
|
+
return logsDir;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Builds a timestamped log file path.
|
|
47
|
+
*/
|
|
48
|
+
function createLogFilePath(customLogDir) {
|
|
49
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
50
|
+
return join(getLogsDir(customLogDir), `antigravity-debug-${timestamp}.log`);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Creates a log writer function that writes to a file.
|
|
54
|
+
*/
|
|
55
|
+
function createLogWriter(filePath) {
|
|
56
|
+
if (!filePath) {
|
|
57
|
+
return () => { };
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
const stream = createWriteStream(filePath, { flags: "a" });
|
|
61
|
+
stream.on("error", () => { });
|
|
62
|
+
return (line) => {
|
|
63
|
+
const timestamp = new Date().toISOString();
|
|
64
|
+
const formatted = `[${timestamp}] ${line}`;
|
|
65
|
+
stream.write(`${formatted}\n`);
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return () => { };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Initialize or reinitialize debug state with the given config.
|
|
74
|
+
* Call this once at plugin startup after loading config.
|
|
75
|
+
*/
|
|
76
|
+
export function initializeDebug(config) {
|
|
77
|
+
// Config takes precedence, but env var can force enable for debugging
|
|
78
|
+
const envDebugFlag = env.OPENCODE_ANTIGRAVITY_DEBUG ?? "";
|
|
79
|
+
const debugLevel = config.debug ? (envDebugFlag === "2" || envDebugFlag === "verbose" ? 2 : 1) : parseDebugLevel(envDebugFlag);
|
|
80
|
+
const debugEnabled = debugLevel >= 1;
|
|
81
|
+
const verboseEnabled = debugLevel >= 2;
|
|
82
|
+
const logFilePath = debugEnabled ? createLogFilePath(config.log_dir) : undefined;
|
|
83
|
+
const logWriter = createLogWriter(logFilePath);
|
|
84
|
+
debugState = {
|
|
85
|
+
debugLevel,
|
|
86
|
+
debugEnabled,
|
|
87
|
+
verboseEnabled,
|
|
88
|
+
logFilePath,
|
|
89
|
+
logWriter,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get the current debug state, initializing with defaults if needed.
|
|
94
|
+
* This allows the module to work even before initializeDebug is called.
|
|
95
|
+
*/
|
|
96
|
+
function getDebugState() {
|
|
97
|
+
if (!debugState) {
|
|
98
|
+
// Fallback to env-based initialization for backward compatibility
|
|
99
|
+
const envDebugFlag = env.OPENCODE_ANTIGRAVITY_DEBUG ?? "";
|
|
100
|
+
const debugLevel = parseDebugLevel(envDebugFlag);
|
|
101
|
+
const debugEnabled = debugLevel >= 1;
|
|
102
|
+
const verboseEnabled = debugLevel >= 2;
|
|
103
|
+
const logFilePath = debugEnabled ? createLogFilePath() : undefined;
|
|
104
|
+
const logWriter = createLogWriter(logFilePath);
|
|
105
|
+
debugState = {
|
|
106
|
+
debugLevel,
|
|
107
|
+
debugEnabled,
|
|
108
|
+
verboseEnabled,
|
|
109
|
+
logFilePath,
|
|
110
|
+
logWriter,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return debugState;
|
|
114
|
+
}
|
|
115
|
+
// =============================================================================
|
|
116
|
+
// Public API
|
|
117
|
+
// =============================================================================
|
|
23
118
|
export function isDebugEnabled() {
|
|
24
|
-
return debugEnabled;
|
|
119
|
+
return getDebugState().debugEnabled;
|
|
25
120
|
}
|
|
26
121
|
export function isVerboseEnabled() {
|
|
27
|
-
return verboseEnabled;
|
|
122
|
+
return getDebugState().verboseEnabled;
|
|
28
123
|
}
|
|
29
124
|
export function getLogFilePath() {
|
|
30
|
-
return logFilePath;
|
|
125
|
+
return getDebugState().logFilePath;
|
|
31
126
|
}
|
|
32
127
|
let requestCounter = 0;
|
|
33
128
|
/**
|
|
34
|
-
* Begins a debug trace for an Antigravity request
|
|
129
|
+
* Begins a debug trace for an Antigravity request.
|
|
35
130
|
*/
|
|
36
131
|
export function startAntigravityDebugRequest(meta) {
|
|
37
|
-
|
|
132
|
+
const state = getDebugState();
|
|
133
|
+
if (!state.debugEnabled) {
|
|
38
134
|
return null;
|
|
39
135
|
}
|
|
40
136
|
const id = `ANTIGRAVITY-${++requestCounter}`;
|
|
@@ -55,10 +151,11 @@ export function startAntigravityDebugRequest(meta) {
|
|
|
55
151
|
return { id, streaming: meta.streaming, startedAt: Date.now() };
|
|
56
152
|
}
|
|
57
153
|
/**
|
|
58
|
-
* Logs response details for a previously started debug trace
|
|
154
|
+
* Logs response details for a previously started debug trace.
|
|
59
155
|
*/
|
|
60
156
|
export function logAntigravityDebugResponse(context, response, meta = {}) {
|
|
61
|
-
|
|
157
|
+
const state = getDebugState();
|
|
158
|
+
if (!state.debugEnabled || !context) {
|
|
62
159
|
return;
|
|
63
160
|
}
|
|
64
161
|
const durationMs = Date.now() - context.startedAt;
|
|
@@ -127,7 +224,7 @@ function truncateForLog(text) {
|
|
|
127
224
|
* Writes a single debug line using the configured writer.
|
|
128
225
|
*/
|
|
129
226
|
function logDebug(line) {
|
|
130
|
-
logWriter(line);
|
|
227
|
+
getDebugState().logWriter(line);
|
|
131
228
|
}
|
|
132
229
|
/**
|
|
133
230
|
* Converts unknown error-like values into printable strings.
|
|
@@ -143,55 +240,8 @@ function formatError(error) {
|
|
|
143
240
|
return String(error);
|
|
144
241
|
}
|
|
145
242
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Returns the logs directory inside the opencode config folder.
|
|
148
|
-
* Creates the directory if it doesn't exist.
|
|
149
|
-
*/
|
|
150
|
-
function getLogsDir() {
|
|
151
|
-
const platform = process.platform;
|
|
152
|
-
let configDir;
|
|
153
|
-
if (platform === "win32") {
|
|
154
|
-
configDir = join(env.APPDATA || join(homedir(), "AppData", "Roaming"), "opencode");
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
const xdgConfig = env.XDG_CONFIG_HOME || join(homedir(), ".config");
|
|
158
|
-
configDir = join(xdgConfig, "opencode");
|
|
159
|
-
}
|
|
160
|
-
const logsDir = env.OPENCODE_ANTIGRAVITY_LOG_DIR || join(configDir, "antigravity-logs");
|
|
161
|
-
try {
|
|
162
|
-
mkdirSync(logsDir, { recursive: true });
|
|
163
|
-
}
|
|
164
|
-
catch {
|
|
165
|
-
// Directory may already exist or we don't have permission
|
|
166
|
-
}
|
|
167
|
-
return logsDir;
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Builds a timestamped log file path in the opencode logs directory.
|
|
171
|
-
*/
|
|
172
|
-
function defaultLogFilePath() {
|
|
173
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
174
|
-
return join(getLogsDir(), `antigravity-debug-${timestamp}.log`);
|
|
175
|
-
}
|
|
176
|
-
function createLogWriter(filePath) {
|
|
177
|
-
if (!filePath) {
|
|
178
|
-
return () => { };
|
|
179
|
-
}
|
|
180
|
-
try {
|
|
181
|
-
const stream = createWriteStream(filePath, { flags: "a" });
|
|
182
|
-
stream.on("error", () => { });
|
|
183
|
-
return (line) => {
|
|
184
|
-
const timestamp = new Date().toISOString();
|
|
185
|
-
const formatted = `[${timestamp}] ${line}`;
|
|
186
|
-
stream.write(`${formatted}\n`);
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
catch {
|
|
190
|
-
return () => { };
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
243
|
export function logAccountContext(label, info) {
|
|
194
|
-
if (!debugEnabled)
|
|
244
|
+
if (!getDebugState().debugEnabled)
|
|
195
245
|
return;
|
|
196
246
|
const accountLabel = info.email
|
|
197
247
|
? info.email
|
|
@@ -203,7 +253,7 @@ export function logAccountContext(label, info) {
|
|
|
203
253
|
logDebug(`[Account] ${label}: ${accountLabel} (${indexLabel}) family=${info.family}${rateLimitInfo}`);
|
|
204
254
|
}
|
|
205
255
|
export function logRateLimitEvent(accountIndex, email, family, status, retryAfterMs, bodyInfo) {
|
|
206
|
-
if (!debugEnabled)
|
|
256
|
+
if (!getDebugState().debugEnabled)
|
|
207
257
|
return;
|
|
208
258
|
const accountLabel = email || `Account ${accountIndex + 1}`;
|
|
209
259
|
logDebug(`[RateLimit] ${status} on ${accountLabel} family=${family} retryAfterMs=${retryAfterMs}`);
|
|
@@ -221,7 +271,7 @@ export function logRateLimitEvent(accountIndex, email, family, status, retryAfte
|
|
|
221
271
|
}
|
|
222
272
|
}
|
|
223
273
|
export function logRateLimitSnapshot(family, accounts) {
|
|
224
|
-
if (!debugEnabled)
|
|
274
|
+
if (!getDebugState().debugEnabled)
|
|
225
275
|
return;
|
|
226
276
|
const now = Date.now();
|
|
227
277
|
const entries = accounts.map((account) => {
|
|
@@ -237,15 +287,16 @@ export function logRateLimitSnapshot(family, accounts) {
|
|
|
237
287
|
logDebug(`[RateLimit] snapshot family=${family} ${entries.join(" | ")}`);
|
|
238
288
|
}
|
|
239
289
|
export async function logResponseBody(context, response, status) {
|
|
240
|
-
|
|
290
|
+
const state = getDebugState();
|
|
291
|
+
if (!state.debugEnabled || !context)
|
|
241
292
|
return undefined;
|
|
242
293
|
const isError = status >= 400;
|
|
243
|
-
const shouldLogBody = verboseEnabled || isError;
|
|
294
|
+
const shouldLogBody = state.verboseEnabled || isError;
|
|
244
295
|
if (!shouldLogBody)
|
|
245
296
|
return undefined;
|
|
246
297
|
try {
|
|
247
298
|
const text = await response.clone().text();
|
|
248
|
-
const maxChars = verboseEnabled ? MAX_BODY_VERBOSE_CHARS : MAX_BODY_PREVIEW_CHARS;
|
|
299
|
+
const maxChars = state.verboseEnabled ? MAX_BODY_VERBOSE_CHARS : MAX_BODY_PREVIEW_CHARS;
|
|
249
300
|
const preview = text.length <= maxChars
|
|
250
301
|
? text
|
|
251
302
|
: `${text.slice(0, maxChars)}... (truncated ${text.length - maxChars} chars)`;
|
|
@@ -258,12 +309,12 @@ export async function logResponseBody(context, response, status) {
|
|
|
258
309
|
}
|
|
259
310
|
}
|
|
260
311
|
export function logModelFamily(url, extractedModel, family) {
|
|
261
|
-
if (!debugEnabled)
|
|
312
|
+
if (!getDebugState().debugEnabled)
|
|
262
313
|
return;
|
|
263
314
|
logDebug(`[ModelFamily] url=${url} model=${extractedModel ?? "unknown"} family=${family}`);
|
|
264
315
|
}
|
|
265
316
|
export function debugLogToFile(message) {
|
|
266
|
-
if (!debugEnabled)
|
|
317
|
+
if (!getDebugState().debugEnabled)
|
|
267
318
|
return;
|
|
268
319
|
logDebug(message);
|
|
269
320
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/plugin/debug.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/plugin/debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for session recovery storage paths.
|
|
3
|
+
*
|
|
4
|
+
* Based on oh-my-opencode/src/hooks/session-recovery/constants.ts
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Get the XDG config directory for Antigravity config.
|
|
8
|
+
* Falls back to ~/.config on Linux/Mac, or APPDATA on Windows.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getXdgConfig(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Get the Antigravity config directory.
|
|
13
|
+
* Default: ~/.config/opencode/antigravity.json
|
|
14
|
+
*/
|
|
15
|
+
export declare function getAntigravityConfigDir(): string;
|
|
16
|
+
export declare const OPENCODE_STORAGE: string;
|
|
17
|
+
export declare const MESSAGE_STORAGE: string;
|
|
18
|
+
export declare const PART_STORAGE: string;
|
|
19
|
+
export declare const THINKING_TYPES: Set<string>;
|
|
20
|
+
export declare const META_TYPES: Set<string>;
|
|
21
|
+
export declare const CONTENT_TYPES: Set<string>;
|
|
22
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/plugin/recovery/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAQrC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,eAAO,MAAM,gBAAgB,QAA4C,CAAC;AAC1E,eAAO,MAAM,eAAe,QAAoC,CAAC;AACjE,eAAO,MAAM,YAAY,QAAiC,CAAC;AAE3D,eAAO,MAAM,cAAc,aAA0D,CAAC;AACtF,eAAO,MAAM,UAAU,aAAyC,CAAC;AACjE,eAAO,MAAM,aAAa,aAAuD,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for session recovery storage paths.
|
|
3
|
+
*
|
|
4
|
+
* Based on oh-my-opencode/src/hooks/session-recovery/constants.ts
|
|
5
|
+
*/
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
import { homedir } from "node:os";
|
|
8
|
+
/**
|
|
9
|
+
* Get the XDG data directory for OpenCode storage.
|
|
10
|
+
* Falls back to ~/.local/share on Linux/Mac, or APPDATA on Windows.
|
|
11
|
+
*/
|
|
12
|
+
function getXdgData() {
|
|
13
|
+
const platform = process.platform;
|
|
14
|
+
if (platform === "win32") {
|
|
15
|
+
return process.env.APPDATA || join(homedir(), "AppData", "Roaming");
|
|
16
|
+
}
|
|
17
|
+
return process.env.XDG_DATA_HOME || join(homedir(), ".local", "share");
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the XDG config directory for Antigravity config.
|
|
21
|
+
* Falls back to ~/.config on Linux/Mac, or APPDATA on Windows.
|
|
22
|
+
*/
|
|
23
|
+
export function getXdgConfig() {
|
|
24
|
+
const platform = process.platform;
|
|
25
|
+
if (platform === "win32") {
|
|
26
|
+
return process.env.APPDATA || join(homedir(), "AppData", "Roaming");
|
|
27
|
+
}
|
|
28
|
+
return process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get the Antigravity config directory.
|
|
32
|
+
* Default: ~/.config/opencode/antigravity.json
|
|
33
|
+
*/
|
|
34
|
+
export function getAntigravityConfigDir() {
|
|
35
|
+
return join(getXdgConfig(), "opencode");
|
|
36
|
+
}
|
|
37
|
+
export const OPENCODE_STORAGE = join(getXdgData(), "opencode", "storage");
|
|
38
|
+
export const MESSAGE_STORAGE = join(OPENCODE_STORAGE, "message");
|
|
39
|
+
export const PART_STORAGE = join(OPENCODE_STORAGE, "part");
|
|
40
|
+
export const THINKING_TYPES = new Set(["thinking", "redacted_thinking", "reasoning"]);
|
|
41
|
+
export const META_TYPES = new Set(["step-start", "step-finish"]);
|
|
42
|
+
export const CONTENT_TYPES = new Set(["text", "tool", "tool_use", "tool_result"]);
|
|
43
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/plugin/recovery/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;GAGG;AACH,SAAS,UAAU;IACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAElC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session recovery module for opencode-antigravity-auth.
|
|
3
|
+
*
|
|
4
|
+
* Provides recovery from:
|
|
5
|
+
* - tool_result_missing: Interrupted tool executions
|
|
6
|
+
* - thinking_block_order: Corrupted thinking blocks
|
|
7
|
+
* - thinking_disabled_violation: Thinking in non-thinking model
|
|
8
|
+
*/
|
|
9
|
+
export * from "./types";
|
|
10
|
+
export * from "./constants";
|
|
11
|
+
export * from "./storage";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugin/recovery/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session recovery module for opencode-antigravity-auth.
|
|
3
|
+
*
|
|
4
|
+
* Provides recovery from:
|
|
5
|
+
* - tool_result_missing: Interrupted tool executions
|
|
6
|
+
* - thinking_block_order: Corrupted thinking blocks
|
|
7
|
+
* - thinking_disabled_violation: Thinking in non-thinking model
|
|
8
|
+
*/
|
|
9
|
+
export * from "./types";
|
|
10
|
+
export * from "./constants";
|
|
11
|
+
export * from "./storage";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugin/recovery/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage utilities for reading OpenCode's session data.
|
|
3
|
+
*
|
|
4
|
+
* Based on oh-my-opencode/src/hooks/session-recovery/storage.ts
|
|
5
|
+
*/
|
|
6
|
+
import type { StoredMessageMeta, StoredPart } from "./types";
|
|
7
|
+
export declare function generatePartId(): string;
|
|
8
|
+
export declare function getMessageDir(sessionID: string): string;
|
|
9
|
+
export declare function readMessages(sessionID: string): StoredMessageMeta[];
|
|
10
|
+
export declare function readParts(messageID: string): StoredPart[];
|
|
11
|
+
export declare function hasContent(part: StoredPart): boolean;
|
|
12
|
+
export declare function messageHasContent(messageID: string): boolean;
|
|
13
|
+
export declare function injectTextPart(sessionID: string, messageID: string, text: string): boolean;
|
|
14
|
+
export declare function findMessagesWithThinkingBlocks(sessionID: string): string[];
|
|
15
|
+
export declare function findMessagesWithThinkingOnly(sessionID: string): string[];
|
|
16
|
+
export declare function findMessagesWithOrphanThinking(sessionID: string): string[];
|
|
17
|
+
export declare function prependThinkingPart(sessionID: string, messageID: string): boolean;
|
|
18
|
+
export declare function stripThinkingParts(messageID: string): boolean;
|
|
19
|
+
export declare function findEmptyMessages(sessionID: string): string[];
|
|
20
|
+
export declare function findEmptyMessageByIndex(sessionID: string, targetIndex: number): string | null;
|
|
21
|
+
export declare function findMessageByIndexNeedingThinking(sessionID: string, targetIndex: number): string | null;
|
|
22
|
+
export declare function replaceEmptyTextParts(messageID: string, replacementText: string): boolean;
|
|
23
|
+
export declare function findMessagesWithEmptyTextParts(sessionID: string): string[];
|
|
24
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/plugin/recovery/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AAM7E,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAMD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAqBvD;AAMD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAyBnE;AAMD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAoBzD;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAkBpD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG5D;AAMD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAuB1F;AAMD,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAe1E;AAED,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBxE;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAwB1E;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAuBjF;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAyB7D;AAMD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAW7D;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB7F;AAED,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsBvG;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CA+BzF;AAED,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB1E"}
|