@newrelic/preflight 1.13.0 → 1.14.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/dist/hooks/collector-script.d.ts +2 -1
- package/dist/hooks/collector-script.d.ts.map +1 -1
- package/dist/hooks/collector-script.js +127 -4
- package/dist/hooks/collector-script.js.map +1 -1
- package/dist/hooks/session-resolver.d.ts +22 -5
- package/dist/hooks/session-resolver.d.ts.map +1 -1
- package/dist/hooks/session-resolver.js +66 -6
- package/dist/hooks/session-resolver.js.map +1 -1
- package/dist/platforms/antigravity-adapter.d.ts +15 -0
- package/dist/platforms/antigravity-adapter.d.ts.map +1 -0
- package/dist/platforms/antigravity-adapter.js +114 -0
- package/dist/platforms/antigravity-adapter.js.map +1 -0
- package/dist/platforms/index.d.ts +1 -0
- package/dist/platforms/index.d.ts.map +1 -1
- package/dist/platforms/index.js +1 -0
- package/dist/platforms/index.js.map +1 -1
- package/dist/platforms/platform-registry.d.ts.map +1 -1
- package/dist/platforms/platform-registry.js +2 -0
- package/dist/platforms/platform-registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -66,8 +66,9 @@ export declare const _procFs: {
|
|
|
66
66
|
*/
|
|
67
67
|
export declare function getLinuxAncestorPids(startPpid: number, maxDepth?: number): number[];
|
|
68
68
|
declare function writePpidBreadcrumb(sessionId: string): void;
|
|
69
|
+
declare function writeCwdBreadcrumb(sessionId: string, cwd: string | undefined): void;
|
|
69
70
|
declare function processHook(raw: string): void;
|
|
70
|
-
export { processHook, redact, hashInput, sizeOf, truncate, getRecordContent, collectTranscriptTokens, readLastAssistantUsage, getTranscriptPath, translateWslPath, getBufferPath, writePpidBreadcrumb, readStdinSync, };
|
|
71
|
+
export { processHook, redact, hashInput, sizeOf, truncate, getRecordContent, collectTranscriptTokens, readLastAssistantUsage, getTranscriptPath, translateWslPath, getBufferPath, writePpidBreadcrumb, writeCwdBreadcrumb, readStdinSync, };
|
|
71
72
|
/**
|
|
72
73
|
* Seam for unit tests: replace the underlying synchronous read so tests can
|
|
73
74
|
* exercise both platform branches without reading the real fd 0, which can
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector-script.d.ts","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AA4BH;;;;;;;;;GASG;AACH,iBAAS,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjD;AA2BD,iBAAS,gBAAgB,IAAI,OAAO,CAKnC;AAeD,iBAAS,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAarC;AAMD,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGzC;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtC;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAcD,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgBD,iBAAS,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKhG;AAMD,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED,iBAAS,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAyC9E;AAsCD,iBAAS,uBAAuB,CAAC,IAAI,EAAE;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,CAqEP;
|
|
1
|
+
{"version":3,"file":"collector-script.d.ts","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AA4BH;;;;;;;;;GASG;AACH,iBAAS,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjD;AA2BD,iBAAS,gBAAgB,IAAI,OAAO,CAKnC;AAeD,iBAAS,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAarC;AAMD,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGzC;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtC;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAcD,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgBD,iBAAS,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKhG;AAMD,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED,iBAAS,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAyC9E;AAsCD,iBAAS,uBAAuB,CAAC,IAAI,EAAE;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,CAqEP;AAqBD;;;;GAIG;AACH,eAAO,MAAM,OAAO;qBACD,MAAM,KAAG,MAAM;CACjC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,EAAE,CAsB9E;AAID,iBAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA6CpD;AAID,iBAAS,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAuC5E;AA4MD,iBAAS,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAoetC;AAGD,OAAO,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,CAAC;AAkBF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;6BACM,MAAM,GAAG,MAAM,KAAG,MAAM;CAClD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,iBAAS,aAAa,IAAI,MAAM,CAY/B"}
|
|
@@ -302,15 +302,22 @@ function collectTranscriptTokens(data) {
|
|
|
302
302
|
}
|
|
303
303
|
}
|
|
304
304
|
// ---------------------------------------------------------------------------
|
|
305
|
-
// PPID
|
|
305
|
+
// PPID + cwd breadcrumbs — let the MCP server learn the Claude Code session_id
|
|
306
306
|
//
|
|
307
307
|
// Claude Code spawns its MCP server and hook collector scripts as children of
|
|
308
308
|
// the same process; they share a PPID. The MCP can read its own process.ppid
|
|
309
309
|
// (= Claude Code's PID) and look up the matching session_id here.
|
|
310
310
|
//
|
|
311
|
+
// Some platforms interpose a shell between Claude Code and the hook collector
|
|
312
|
+
// that the ancestor-PID walk below doesn't reach (native Windows via Git
|
|
313
|
+
// Bash, for one) — there, the collector's ppid never matches the MCP's own
|
|
314
|
+
// process.ppid. writeCwdBreadcrumb() writes a second breadcrumb keyed by the
|
|
315
|
+
// sanitized project cwd instead, which the MCP server falls back to (via
|
|
316
|
+
// resolveFromCwd() in session-resolver.ts) only when the PPID lookup misses.
|
|
317
|
+
//
|
|
311
318
|
// Hot-path: every PreToolUse / PostToolUse hook runs this. The
|
|
312
319
|
// existsSync + content-equality short-circuit makes the steady state a single
|
|
313
|
-
// stat() and one read — well under the <5ms budget.
|
|
320
|
+
// stat() and one read per breadcrumb — well under the <5ms budget.
|
|
314
321
|
// ---------------------------------------------------------------------------
|
|
315
322
|
/**
|
|
316
323
|
* Seam for unit tests: replace `readFile` to inject fake `/proc/<pid>/stat`
|
|
@@ -407,6 +414,46 @@ function writePpidBreadcrumb(sessionId) {
|
|
|
407
414
|
}
|
|
408
415
|
}
|
|
409
416
|
}
|
|
417
|
+
let _cwdBreadcrumbWriteFailed = false;
|
|
418
|
+
function writeCwdBreadcrumb(sessionId, cwd) {
|
|
419
|
+
if (!SESSION_ID_RE.test(sessionId))
|
|
420
|
+
return;
|
|
421
|
+
if (typeof cwd !== 'string' || cwd.length === 0)
|
|
422
|
+
return;
|
|
423
|
+
try {
|
|
424
|
+
const storageDir = process.env.NEW_RELIC_AI_MCP_STORAGE_PATH ?? DEFAULT_STORAGE_DIR;
|
|
425
|
+
const breadcrumbDir = resolve(storageDir, 'session-by-cwd');
|
|
426
|
+
mkdirSync(breadcrumbDir, { recursive: true, mode: 0o700 });
|
|
427
|
+
// Same sanitization scheme as getTranscriptPath() above, so the MCP
|
|
428
|
+
// server's resolveFromCwd() can derive an identical filename from its
|
|
429
|
+
// own process.cwd() without any shared state beyond this convention.
|
|
430
|
+
// Colons are also stripped (unlike getTranscriptPath) — a Windows drive
|
|
431
|
+
// letter like "C:" left in the filename gets misinterpreted by
|
|
432
|
+
// path.resolve() on win32 as a drive-relative path component rather than
|
|
433
|
+
// a literal character, which can write/read outside this storage dir.
|
|
434
|
+
const sanitizedCwd = cwd.replace(/[\\/:]/g, '-');
|
|
435
|
+
const breadcrumbPath = resolve(breadcrumbDir, `${sanitizedCwd}.txt`);
|
|
436
|
+
if (existsSync(breadcrumbPath)) {
|
|
437
|
+
try {
|
|
438
|
+
if (readFileSync(breadcrumbPath, 'utf-8').trim() === sessionId) {
|
|
439
|
+
_cwdBreadcrumbWriteFailed = false;
|
|
440
|
+
return;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
catch {
|
|
444
|
+
// Fall through to rewrite if the read failed.
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
writeFileSync(breadcrumbPath, sessionId, { mode: 0o600 });
|
|
448
|
+
_cwdBreadcrumbWriteFailed = false;
|
|
449
|
+
}
|
|
450
|
+
catch (err) {
|
|
451
|
+
if (!_cwdBreadcrumbWriteFailed) {
|
|
452
|
+
process.stderr.write(`[preflight-collector] Warning: cannot write cwd breadcrumb: ${String(err)}\n`);
|
|
453
|
+
_cwdBreadcrumbWriteFailed = true;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
}
|
|
410
457
|
/**
|
|
411
458
|
* Extract only the metadata fields from tool_input that the tool-specific
|
|
412
459
|
* parsers need. Full content strings are replaced with their lengths to
|
|
@@ -603,7 +650,10 @@ function processHook(raw) {
|
|
|
603
650
|
// Windsurf (https://docs.windsurf.com/windsurf/cascade/hooks) never sends
|
|
604
651
|
// session_id either — trajectory_id is its closest analog, the same role
|
|
605
652
|
// conversation_id plays for Cursor.
|
|
606
|
-
|
|
653
|
+
// Antigravity (https://antigravity.google/docs/hooks) never sends
|
|
654
|
+
// session_id either — conversationId (camelCase, Antigravity's own field
|
|
655
|
+
// name) is its closest analog, same role trajectory_id plays for Windsurf.
|
|
656
|
+
const sessionId = data.session_id ?? data.conversation_id ?? data.trajectory_id ?? data.conversationId;
|
|
607
657
|
// Drop a PPID breadcrumb at the very top so the MCP server can resolve its
|
|
608
658
|
// Claude Code session_id without an env-var or initialize-payload extension.
|
|
609
659
|
// The function itself is a no-op when sessionId is missing or invalid, and
|
|
@@ -614,6 +664,7 @@ function processHook(raw) {
|
|
|
614
664
|
// conversation_id would be a guess, not a fix.
|
|
615
665
|
if (typeof data.session_id === 'string' && data.session_id.length > 0) {
|
|
616
666
|
writePpidBreadcrumb(data.session_id);
|
|
667
|
+
writeCwdBreadcrumb(data.session_id, data.cwd);
|
|
617
668
|
}
|
|
618
669
|
// Claude Code sends PascalCase hook names ('PreToolUse'); Kiro sends
|
|
619
670
|
// lower-camelCase ('preToolUse') per https://kiro.dev/docs/cli/hooks.
|
|
@@ -636,6 +687,16 @@ function processHook(raw) {
|
|
|
636
687
|
// pure side-effect hooks. No other platform reads this collector's
|
|
637
688
|
// stdout, so this check is scoped to Gemini CLI only.
|
|
638
689
|
const isGeminiCli = process.env.MCP_CLIENT === 'gemini-cli' || process.env.NEW_RELIC_AI_PLATFORM === 'gemini-cli';
|
|
690
|
+
// Antigravity (https://antigravity.google/docs/hooks) sends no field
|
|
691
|
+
// naming which event fired — payload shape is the only signal. Hoisted
|
|
692
|
+
// once so the dispatch branch below and the required-stdout-reply block
|
|
693
|
+
// further down can never diverge on which event they think this is, same
|
|
694
|
+
// precedent as isGeminiCli above.
|
|
695
|
+
const isAntigravityPre = data.toolCall !== undefined;
|
|
696
|
+
const isAntigravityPost = !isAntigravityPre &&
|
|
697
|
+
typeof data.stepIdx === 'number' &&
|
|
698
|
+
data.hook_event_name === undefined &&
|
|
699
|
+
data.agent_action_name === undefined;
|
|
639
700
|
let event;
|
|
640
701
|
if (eventName === 'pretooluse') {
|
|
641
702
|
event = {
|
|
@@ -940,6 +1001,48 @@ function processHook(raw) {
|
|
|
940
1001
|
success: true,
|
|
941
1002
|
};
|
|
942
1003
|
}
|
|
1004
|
+
else if (isAntigravityPre) {
|
|
1005
|
+
// Antigravity PreToolUse — no self-describing event-name field exists
|
|
1006
|
+
// (see HookInput's comment above); presence of `toolCall` is
|
|
1007
|
+
// Antigravity's own signal that this is PreToolUse, since PostToolUse
|
|
1008
|
+
// never carries that key.
|
|
1009
|
+
const agyToolName = data.toolCall?.name ?? 'unknown';
|
|
1010
|
+
event = {
|
|
1011
|
+
mode: 'pre',
|
|
1012
|
+
tool: agyToolName,
|
|
1013
|
+
timestamp,
|
|
1014
|
+
inputSize: sizeOf(data.toolCall?.args),
|
|
1015
|
+
inputHash: hashInput(data.toolCall?.args),
|
|
1016
|
+
...(typeof data.stepIdx === 'number' && { toolUseId: String(data.stepIdx) }),
|
|
1017
|
+
};
|
|
1018
|
+
// Raw Antigravity argument names (CommandLine, TargetFile, etc.) don't
|
|
1019
|
+
// match any canonical-name case in extractInputMeta()'s switch, so this
|
|
1020
|
+
// currently always returns undefined — a known, documented gap (see
|
|
1021
|
+
// docs/ADAPTERS.md's Antigravity section), not a guess at field names.
|
|
1022
|
+
const inputMeta = extractInputMeta(agyToolName, data.toolCall?.args);
|
|
1023
|
+
if (inputMeta !== undefined)
|
|
1024
|
+
event.toolInput = inputMeta;
|
|
1025
|
+
if (recordContent && data.toolCall?.args !== undefined) {
|
|
1026
|
+
event.inputContent = redact(truncate(JSON.stringify(data.toolCall.args), maxContentLen));
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
else if (isAntigravityPost) {
|
|
1030
|
+
// Antigravity PostToolUse — carries no tool-name field at all, only
|
|
1031
|
+
// stepIdx/error. toolUseId-based pairing in event-processor.ts recovers
|
|
1032
|
+
// the real tool name from the matched pre-event (confirmed by reading
|
|
1033
|
+
// HookEventProcessor.handlePostEvent(): the merged record's toolName
|
|
1034
|
+
// always comes from the pre-event, never the post-event's own tool
|
|
1035
|
+
// field) — 'unknown' here is a safe placeholder, not a broken mapping.
|
|
1036
|
+
const hasError = typeof data.error === 'string' && data.error !== '';
|
|
1037
|
+
event = {
|
|
1038
|
+
mode: 'post',
|
|
1039
|
+
tool: 'unknown',
|
|
1040
|
+
timestamp,
|
|
1041
|
+
success: !hasError,
|
|
1042
|
+
toolUseId: String(data.stepIdx),
|
|
1043
|
+
...(typeof data.error === 'string' && data.error !== '' && { error: redact(data.error) }),
|
|
1044
|
+
};
|
|
1045
|
+
}
|
|
943
1046
|
else {
|
|
944
1047
|
// Unknown hook event — ignore silently
|
|
945
1048
|
return;
|
|
@@ -985,6 +1088,26 @@ function processHook(raw) {
|
|
|
985
1088
|
// Silent failure — never block Gemini CLI
|
|
986
1089
|
}
|
|
987
1090
|
}
|
|
1091
|
+
// Antigravity requires a stdout reply on every PreToolUse/PostToolUse hook
|
|
1092
|
+
// invocation (https://antigravity.google/docs/hooks) — a required
|
|
1093
|
+
// `decision` field for PreToolUse, an empty object for PostToolUse.
|
|
1094
|
+
// Preflight is observation-only, so this always allows.
|
|
1095
|
+
if (isAntigravityPre) {
|
|
1096
|
+
try {
|
|
1097
|
+
process.stdout.write('{"decision":"allow"}\n');
|
|
1098
|
+
}
|
|
1099
|
+
catch {
|
|
1100
|
+
// Silent failure — never block Antigravity
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1103
|
+
else if (isAntigravityPost) {
|
|
1104
|
+
try {
|
|
1105
|
+
process.stdout.write('{}\n');
|
|
1106
|
+
}
|
|
1107
|
+
catch {
|
|
1108
|
+
// Silent failure — never block Antigravity
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
988
1111
|
// After writing the tool event, collect token usage from the transcript.
|
|
989
1112
|
// Only on PostToolUse/AfterTool — each assistant turn produces exactly one
|
|
990
1113
|
// usage object. This is a no-op for Gemini CLI's transcript format (not
|
|
@@ -1000,7 +1123,7 @@ function processHook(raw) {
|
|
|
1000
1123
|
}
|
|
1001
1124
|
}
|
|
1002
1125
|
// Exported for testing
|
|
1003
|
-
export { processHook, redact, hashInput, sizeOf, truncate, getRecordContent, collectTranscriptTokens, readLastAssistantUsage, getTranscriptPath, translateWslPath, getBufferPath, writePpidBreadcrumb, readStdinSync, };
|
|
1126
|
+
export { processHook, redact, hashInput, sizeOf, truncate, getRecordContent, collectTranscriptTokens, readLastAssistantUsage, getTranscriptPath, translateWslPath, getBufferPath, writePpidBreadcrumb, writeCwdBreadcrumb, readStdinSync, };
|
|
1004
1127
|
// ---------------------------------------------------------------------------
|
|
1005
1128
|
// Entry point — only when run directly (not when imported by the MCP server)
|
|
1006
1129
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector-script.js","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,IAAI,WAAW,EACxB,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAC/C,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAEtE;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,SAAkB;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,SAAS,EAAE,CAAC;QAC3D,OAAO,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAClD,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,mBAAmB,CAAC;IACpF,MAAM,MAAM,GACV,OAAO,SAAS,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,OAAO,OAAO,CAAC,UAAU,EAAE,UAAU,MAAM,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,4EAA4E;AAC5E,yEAAyE;AACzE,8EAA8E;AAC9E,MAAM,uBAAuB,GAAY,CAAC,GAAG,EAAE;IAC7C,6EAA6E;IAC7E,2EAA2E;IAC3E,KAAK,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YAC1D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;gBACxF,OAAO,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,EAAE,CAAC;AAEL,SAAS,eAAe;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,MAAM,IAAI,uBAAuB,CAAC;AACtF,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,oBAAoB,CACzB,eAAe,EAAE,EACjB,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,MAAM,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC;IAC5D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,OAAO;AAE3C,SAAS,MAAM,CAAC,KAAa;IAC3B,mFAAmF;IACnF,sDAAsD;IACtD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,gBAAgB,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,0CAA0C;IAC7F,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IACnD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAc;IAC7C,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,MAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAUxC,gFAAgF;AAChF,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAuB,EAAE,SAA6B;IAC/E,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9F,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO,OAAO,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAEvD,8EAA8E;AAC9E,iFAAiF;AACjF,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;IAC9B,OAAO,QAAQ,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,sBAAsB,CAAC,cAAsB;IACpD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAuB,CAAC;oBACzD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;wBACrF,MAAM,GAAG,GAAG,KAAK,CAAC,OAA8B,CAAC;wBACjD,8DAA8D;wBAC9D,4DAA4D;wBAC5D,6DAA6D;wBAC7D,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa;4BAAE,SAAS;wBAC1C,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;4BAC/C,MAAM,KAAK,GAAG,EAAE,GAAI,GAAG,CAAC,KAAyB,EAAE,CAAC;4BACpD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC1D,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;4BAC1B,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,mBAAmB,SAAS,EAAE,CAAC,CAAC;QACrE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;AAEvC,SAAS,qBAAqB,CAAC,SAAiB,EAAE,IAAY;IAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO;IAC3C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,mBAAmB,SAAS,EAAE,CAAC,CAAC;QACrE,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,0BAA0B,GAAG,KAAK,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kEAAkE,MAAM,CAAC,GAAG,CAAC,IAAI,CAClF,CAAC;YACF,0BAA0B,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAIhC;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IAClC,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,iBAAiB,GACrB,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC,eAAe;QACtB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS;QAAE,OAAO;IAE1C,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;QAC3B,wEAAwE;QACxE,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACpC,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IACD,IAAI,WAAW,IAAI,QAAQ;QAAE,OAAO;IAEpC,MAAM,KAAK,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;IAC9C,IAAI,WAAW,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO;IAEpD,MAAM,UAAU,GAA4B;QAC1C,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,WAAW;QACX,YAAY;QACZ,eAAe,EAAE,KAAK,CAAC,uBAAuB,IAAI,CAAC;QACnD,mBAAmB,EAAE,KAAK,CAAC,2BAA2B,IAAI,CAAC;QAC3D,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,aAAa;KACpC,CAAC;IACF,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QAC/C,MAAM,EAAE,GAAG,QAAQ,CACjB,UAAU,EACV,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,EACjE,KAAK,CACN,CAAC;QACF,IAAI,CAAC;YACH,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QACD,sEAAsE;QACtE,8EAA8E;QAC9E,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,yEAAyE;AACzE,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,kEAAkE;AAClE,EAAE;AACF,+DAA+D;AAC/D,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,CAAC,IAAY,EAAU,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;CAChE,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,QAAQ,GAAG,CAAC;IAClE,MAAM,IAAI,GAAa,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,IAAI,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;YACnD,2CAA2C;YAC3C,wEAAwE;YACxE,yCAAyC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,MAAM;YAC5B,6EAA6E;YAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC;gBAAE,MAAM;YACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,MAAM,CAAC,cAAc;YACnD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,GAAG,GAAG,SAAS,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO;IAElD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,mBAAmB,CAAC;QACpF,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC7D,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,oEAAoE;QACpE,sEAAsE;QACtE,gEAAgE;QAChE,wEAAwE;QACxE,8EAA8E;QAC9E,yEAAyE;QACzE,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;YAC5D,6DAA6D;YAC7D,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACH,IAAI,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;wBAC/D,QAAQ,GAAG,IAAI,CAAC;wBAChB,SAAS;oBACX,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,8CAA8C;gBAChD,CAAC;YACH,CAAC;YACD,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,IAAI,QAAQ;YAAE,sBAAsB,GAAG,KAAK,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gEAAgE,MAAM,CAAC,GAAG,CAAC,IAAI,CAChF,CAAC;YACF,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AA0CD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,QAAgB,EAAE,KAAc;IACxD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACzF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,IAAI,GAA4B,EAAE,CAAC;IAEzC,8CAA8C;IAC9C,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IAEtE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC1D,MAAM;QACR,KAAK,OAAO;YACV,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,MAAM;QACR,KAAK,MAAM;YACT,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC7C,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC7C,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,SAAS;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAC7E,MAAM;QACR,KAAK,MAAM;YACT,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpF,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,SAAS;gBAC5C,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;YACjD,MAAM;QACR,KAAK,MAAM;YACT,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAC5E,MAAM;QACR,KAAK,MAAM;YACT,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACvD,MAAM;QACR,KAAK,OAAO;YACV,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;YAC5E,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ;gBAAE,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;YAClF,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1E,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,SAAS;gBAC5C,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;YACtE,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAC1D,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACnF,MAAM;QACR,KAAK,YAAY;YACf,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,MAAM;QACR,KAAK,YAAY;YACf,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC7D,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAChE,MAAM;IACV,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,QAAgB,EAAE,MAAe;IAC1D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5F,MAAM,GAAG,GAAG,MAAiC,CAAC;IAE9C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;QACrE,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5E,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;QACrE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;YAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC;aACxE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;aACzE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAC7C,CAAC;YACH,CAAC;YACD,IAAI,SAAS,GAAG,CAAC;gBAAE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC;QAC5E,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,WAAW,CAAC;QAClF,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;aAC1E,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;aACjF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,GAAG,CAAC;gBAAE,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAAe;IAC1C,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,IAAe,CAAC;IACpB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,iCAAiC;IAC3C,CAAC;IAED,wEAAwE;IACxE,0EAA0E;IAC1E,sEAAsE;IACtE,kCAAkC;IAClC,0EAA0E;IAC1E,yEAAyE;IACzE,oCAAoC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC;IAEhF,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,gEAAgE;IAChE,wEAAwE;IACxE,2EAA2E;IAC3E,gEAAgE;IAChE,+CAA+C;IAC/C,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,yEAAyE;IACzE,2EAA2E;IAC3E,4DAA4D;IAC5D,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAE5C,yFAAyF;IACzF,sEAAsE;IACtE,yEAAyE;IACzE,uEAAuE;IACvE,mEAAmE;IACnE,sDAAsD;IACtD,MAAM,WAAW,GACf,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,YAAY,CAAC;IAEhG,IAAI,KAA8B,CAAC;IAEnC,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC/B,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;SACtC,CAAC;QAEF,kEAAkE;QAClE,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1F,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QACvC,4DAA4D;QAC5D,qEAAqE;QACrE,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,mEAAmE;QACnE,sEAAsE;QACtE,sCAAsC;QACtC,0EAA0E;QAC1E,sEAAsE;QACtE,mEAAmE;QACnE,0DAA0D;QAC1D,yEAAyE;QACzE,4DAA4D;QAC5D,uEAAuE;QACvE,QAAQ;QACR,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,eAAe,GACnB,YAAY,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YACvF,CAAC,CAAE,YAAwC,CAAC,OAAO;YACnD,CAAC,CAAC,SAAS,CAAC;QAChB,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YACtC,OAAO,EAAE,OAAO,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;SACvE,CAAC;QAEF,wFAAwF;QACxF,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;QAEjE,kEAAkE;QAClE,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAE5D,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;gBACpC,CAAC,CAAC,IAAI,CAAC,aAAa;gBACpB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QAC9C,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC;YAC5C,WAAW,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;SACxC,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QACtC,6FAA6F;QAC7F,wEAAwE;QACxE,0EAA0E;QAC1E,uEAAuE;QACvE,2BAA2B;QAC3B,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;SACtC,CAAC;QAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,IAAI,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1F,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,2EAA2E;QAC3E,qEAAqE;QACrE,kFAAkF;QAClF,qEAAqE;QACrE,mDAAmD;QACnD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,MAAM,QAAQ,GACZ,YAAY,KAAK,IAAI;YACrB,OAAO,YAAY,KAAK,QAAQ;YAChC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YAC3B,YAAwC,CAAC,KAAK,KAAK,SAAS,CAAC;QAChE,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YACtC,OAAO,EAAE,CAAC,QAAQ;SACnB,CAAC;QAEF,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;QAEjE,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAE5D,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;gBACpC,CAAC,CAAC,IAAI,CAAC,aAAa;gBACpB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,sBAAsB,EAAE,CAAC;QAChD,wEAAwE;QACxE,gDAAgD;QAChD,oDAAoD;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;YAC1B,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC;YAC7B,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;SACxC,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;QAC/C,qEAAqE;QACrE,iFAAiF;QACjF,0EAA0E;QAC1E,sEAAsE;QACtE,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QAC9C,uEAAuE;QACvE,mEAAmE;QACnE,wEAAwE;QACxE,qCAAqC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;QAC5C,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,OAAO;YACb,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;SACtC,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;QAC7C,yEAAyE;QACzE,oEAAoE;QACpE,yBAAyB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;QAC5C,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,OAAO;YACb,SAAS;YACT,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC1C,6EAA6E;QAC7E,iFAAiF;QACjF,+EAA+E;QAC/E,4EAA4E;QAC5E,4EAA4E;QAC5E,8DAA8D;QAC9D,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;SAClF,CAAC;QACF,wEAAwE;QACxE,yEAAyE;QACzE,6CAA6C;QAC7C,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChD,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QACzC,qEAAqE;QACrE,wEAAwE;QACxE,mDAAmD;QACnD,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;SAClF,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QACzC,oFAAoF;QACpF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC3B,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC9B,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC1C,sEAAsE;QACtE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC1C,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC3B,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC9B,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;QACrD,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC3C,sFAAsF;QACtF,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;QAC9D,MAAM,WAAW,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;YAC9B,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC;YACjC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;SAC5C,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QAC5C,iEAAiE;QACjE,2EAA2E;QAC3E,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;QAC5C,0EAA0E;QAC1E,uEAAuE;QACvE,wCAAwC;QACxC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,KAAK,GAAG;YACN,IAAI,EAAE,KAAc;YACpB,IAAI,EAAE,OAAO;YACb,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAC9C,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAClD,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,KAAK,GAAG;YACN,IAAI,EAAE,MAAe;YACrB,IAAI,EAAE,OAAO;YACb,SAAS;YACT,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,uCAAuC;QACvC,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACnC,IAAI,IAAI,CAAC,eAAe;QAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IACtE,IAAI,IAAI,CAAC,eAAe;QAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;IACtE,IAAI,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3C,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;IAEzD,yDAAyD;IACzD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAE1C,MAAM,EAAE,GAAG,QAAQ,CACjB,UAAU,EACV,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,EACjE,KAAK,CACN,CAAC;QACF,IAAI,CAAC;YACH,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,mEAAmE;IACnE,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,oEAAoE;IACpE,uEAAuE;IACvE,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC7D,IAAI,CAAC;YACH,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,uBAAuB;AACvB,OAAO,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,MAAM,EACN,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,aAAa,GACd,CAAC;AAEF,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;IAC5B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AACL,MAAM,kBAAkB,GACtB,eAAe,IAAI,IAAI,IAAI,0BAA0B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,YAAY,EAAE,CAAC,QAAyB,EAAU,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;CACrF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAS,aAAa;IACpB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,IAAI,kBAAkB,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"collector-script.js","sourceRoot":"","sources":["../../src/hooks/collector-script.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the Claude Code session_id for the running MCP process.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Three sources, in order:
|
|
5
5
|
* 1. `CLAUDE_JOB_DIR` env var → read `<dir>/state.json`, regex-extract the
|
|
6
6
|
* session UUID from the `linkScanPath` field's filename. Instant; used
|
|
7
7
|
* by background-job MCPs.
|
|
8
8
|
* 2. PPID breadcrumb at `<storage>/session-by-ppid/<process.ppid>.txt` —
|
|
9
|
-
* written by the hook collector on every tool call.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* written by the hook collector on every tool call. Precise: no
|
|
10
|
+
* cross-session collision risk when it resolves.
|
|
11
|
+
* 3. cwd breadcrumb at `<storage>/session-by-cwd/<sanitized-cwd>.txt` —
|
|
12
|
+
* also written by the hook collector on every tool call, keyed by the
|
|
13
|
+
* project directory instead of a PID. Fallback for platforms where the
|
|
14
|
+
* PPID bridge never reaches the MCP's own `process.ppid` (e.g. native
|
|
15
|
+
* Windows, where Claude Code interposes Git Bash between itself and the
|
|
16
|
+
* hook collector but launches the MCP server directly). Only consulted
|
|
17
|
+
* when #2 misses.
|
|
18
|
+
* Both breadcrumb sources are polled together at exponential backoff:
|
|
19
|
+
* 100ms, 200ms, 500ms, 1s, 2s, then steady at 2s. No hard timeout; logs a
|
|
20
|
+
* single WARN at 60s if still unresolved.
|
|
12
21
|
*
|
|
13
|
-
* The MCP must never fabricate its own session_id. If
|
|
22
|
+
* The MCP must never fabricate its own session_id. If none of these resolve,
|
|
14
23
|
* tool handlers should report "session_id not yet resolved" rather than make
|
|
15
24
|
* one up.
|
|
16
25
|
*/
|
|
@@ -19,6 +28,8 @@ export interface SessionResolverOptions {
|
|
|
19
28
|
readonly storagePath?: string;
|
|
20
29
|
/** Override `process.ppid` (test seam). */
|
|
21
30
|
readonly ppid?: number;
|
|
31
|
+
/** Override `process.cwd()` (test seam). */
|
|
32
|
+
readonly cwd?: string;
|
|
22
33
|
/** Override `process.env.CLAUDE_JOB_DIR` (test seam). */
|
|
23
34
|
readonly claudeJobDir?: string | null;
|
|
24
35
|
/** When true, skip the WARN log (test seam). */
|
|
@@ -34,6 +45,12 @@ export declare function resolveFromJobDir(claudeJobDir: string | null | undefine
|
|
|
34
45
|
* Returns the validated session_id or null.
|
|
35
46
|
*/
|
|
36
47
|
export declare function resolveFromBreadcrumb(storagePath: string, ppid: number | undefined): string | null;
|
|
48
|
+
/**
|
|
49
|
+
* Try to resolve the session_id synchronously from the cwd breadcrumb file.
|
|
50
|
+
* Fallback for platforms where the PPID breadcrumb never matches (see the
|
|
51
|
+
* module doc comment above). Returns the validated session_id or null.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveFromCwd(storagePath: string, cwd: string | undefined): string | null;
|
|
37
54
|
/**
|
|
38
55
|
* Returns the next poll delay for attempt index `i` (0-based).
|
|
39
56
|
* Schedule: 100ms, 200ms, 500ms, 1s, 2s, then steady 2s.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-resolver.d.ts","sourceRoot":"","sources":["../../src/hooks/session-resolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-resolver.d.ts","sourceRoot":"","sources":["../../src/hooks/session-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAeH,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,gDAAgD;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAOD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CA8BxF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,GAAG,IAAI,CAcf;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAoB1F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,sBAAsB,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GAC9D,OAAO,CAAC,MAAM,CAAC,CAkGjB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG3E"}
|
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the Claude Code session_id for the running MCP process.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Three sources, in order:
|
|
5
5
|
* 1. `CLAUDE_JOB_DIR` env var → read `<dir>/state.json`, regex-extract the
|
|
6
6
|
* session UUID from the `linkScanPath` field's filename. Instant; used
|
|
7
7
|
* by background-job MCPs.
|
|
8
8
|
* 2. PPID breadcrumb at `<storage>/session-by-ppid/<process.ppid>.txt` —
|
|
9
|
-
* written by the hook collector on every tool call.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* written by the hook collector on every tool call. Precise: no
|
|
10
|
+
* cross-session collision risk when it resolves.
|
|
11
|
+
* 3. cwd breadcrumb at `<storage>/session-by-cwd/<sanitized-cwd>.txt` —
|
|
12
|
+
* also written by the hook collector on every tool call, keyed by the
|
|
13
|
+
* project directory instead of a PID. Fallback for platforms where the
|
|
14
|
+
* PPID bridge never reaches the MCP's own `process.ppid` (e.g. native
|
|
15
|
+
* Windows, where Claude Code interposes Git Bash between itself and the
|
|
16
|
+
* hook collector but launches the MCP server directly). Only consulted
|
|
17
|
+
* when #2 misses.
|
|
18
|
+
* Both breadcrumb sources are polled together at exponential backoff:
|
|
19
|
+
* 100ms, 200ms, 500ms, 1s, 2s, then steady at 2s. No hard timeout; logs a
|
|
20
|
+
* single WARN at 60s if still unresolved.
|
|
12
21
|
*
|
|
13
|
-
* The MCP must never fabricate its own session_id. If
|
|
22
|
+
* The MCP must never fabricate its own session_id. If none of these resolve,
|
|
14
23
|
* tool handlers should report "session_id not yet resolved" rather than make
|
|
15
24
|
* one up.
|
|
16
25
|
*/
|
|
@@ -88,6 +97,36 @@ export function resolveFromBreadcrumb(storagePath, ppid) {
|
|
|
88
97
|
return null;
|
|
89
98
|
return sid;
|
|
90
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Try to resolve the session_id synchronously from the cwd breadcrumb file.
|
|
102
|
+
* Fallback for platforms where the PPID breadcrumb never matches (see the
|
|
103
|
+
* module doc comment above). Returns the validated session_id or null.
|
|
104
|
+
*/
|
|
105
|
+
export function resolveFromCwd(storagePath, cwd) {
|
|
106
|
+
if (typeof cwd !== 'string' || cwd.length === 0)
|
|
107
|
+
return null;
|
|
108
|
+
// Same sanitization scheme as the collector's writeCwdBreadcrumb() /
|
|
109
|
+
// getTranscriptPath() — must stay identical so both sides derive the same
|
|
110
|
+
// filename independently. Colons are stripped too (unlike
|
|
111
|
+
// getTranscriptPath) so a Windows drive letter never survives into the
|
|
112
|
+
// filename — see the matching comment in writeCwdBreadcrumb().
|
|
113
|
+
const sanitizedCwd = cwd.replace(/[\\/:]/g, '-');
|
|
114
|
+
const breadcrumbPath = resolve(storagePath, 'session-by-cwd', `${sanitizedCwd}.txt`);
|
|
115
|
+
if (!existsSync(breadcrumbPath))
|
|
116
|
+
return null;
|
|
117
|
+
let raw;
|
|
118
|
+
try {
|
|
119
|
+
raw = readFileSync(breadcrumbPath, 'utf-8');
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
logger.debug('cwd breadcrumb file unreadable', { error: String(err) });
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
const sid = raw.trim();
|
|
126
|
+
if (!SESSION_ID_RE.test(sid))
|
|
127
|
+
return null;
|
|
128
|
+
return sid;
|
|
129
|
+
}
|
|
91
130
|
/**
|
|
92
131
|
* Returns the next poll delay for attempt index `i` (0-based).
|
|
93
132
|
* Schedule: 100ms, 200ms, 500ms, 1s, 2s, then steady 2s.
|
|
@@ -114,6 +153,7 @@ export async function resolveSessionId(options = {}) {
|
|
|
114
153
|
? options.claudeJobDir
|
|
115
154
|
: (process.env.CLAUDE_JOB_DIR ?? null);
|
|
116
155
|
const ppid = options.ppid ?? process.ppid;
|
|
156
|
+
const cwd = options.cwd ?? process.cwd();
|
|
117
157
|
const storagePath = options.storagePath ?? DEFAULT_STORAGE_DIR;
|
|
118
158
|
// Fast path: CLAUDE_JOB_DIR is set and contains a usable state.json. Used
|
|
119
159
|
// by background-job MCPs where the parent doesn't fire hooks.
|
|
@@ -122,13 +162,21 @@ export async function resolveSessionId(options = {}) {
|
|
|
122
162
|
logger.info('Resolved session_id from CLAUDE_JOB_DIR', { sessionId: fromJobDir });
|
|
123
163
|
return fromJobDir;
|
|
124
164
|
}
|
|
125
|
-
// Synchronous
|
|
165
|
+
// Synchronous attempts before we wait — common case is a breadcrumb is
|
|
126
166
|
// already on disk because the user already typed at least one message.
|
|
167
|
+
// PPID lookup is precise and tried first; cwd is only a fallback.
|
|
127
168
|
const immediate = resolveFromBreadcrumb(storagePath, ppid);
|
|
128
169
|
if (immediate) {
|
|
129
170
|
logger.info('Resolved session_id from breadcrumb (immediate)', { sessionId: immediate });
|
|
130
171
|
return immediate;
|
|
131
172
|
}
|
|
173
|
+
const immediateCwd = resolveFromCwd(storagePath, cwd);
|
|
174
|
+
if (immediateCwd) {
|
|
175
|
+
logger.info('Resolved session_id from cwd breadcrumb (ppid fallback, immediate)', {
|
|
176
|
+
sessionId: immediateCwd,
|
|
177
|
+
});
|
|
178
|
+
return immediateCwd;
|
|
179
|
+
}
|
|
132
180
|
const startTime = Date.now();
|
|
133
181
|
let warnedAt60s = false;
|
|
134
182
|
let attempt = 0;
|
|
@@ -163,6 +211,18 @@ export async function resolveSessionId(options = {}) {
|
|
|
163
211
|
resolvePromise(sid);
|
|
164
212
|
return;
|
|
165
213
|
}
|
|
214
|
+
const sidFromCwd = resolveFromCwd(storagePath, cwd);
|
|
215
|
+
if (sidFromCwd) {
|
|
216
|
+
const elapsed = Date.now() - startTime;
|
|
217
|
+
logger.info('Resolved session_id from cwd breadcrumb (ppid fallback)', {
|
|
218
|
+
sessionId: sidFromCwd,
|
|
219
|
+
elapsedMs: elapsed,
|
|
220
|
+
});
|
|
221
|
+
if (options.signal)
|
|
222
|
+
options.signal.removeEventListener('abort', onAbort);
|
|
223
|
+
resolvePromise(sidFromCwd);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
166
226
|
const elapsed = Date.now() - startTime;
|
|
167
227
|
if (!warnedAt60s && elapsed >= WARN_AFTER_MS && !options.suppressWarn) {
|
|
168
228
|
warnedAt60s = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-resolver.js","sourceRoot":"","sources":["../../src/hooks/session-resolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-resolver.js","sourceRoot":"","sources":["../../src/hooks/session-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NormalizedToolCall, PlatformAdapter, PlatformConfig, PlatformSessionMetadata } from './types.js';
|
|
2
|
+
export declare class AntigravityAdapter implements PlatformAdapter {
|
|
3
|
+
readonly platformName = "antigravity";
|
|
4
|
+
readonly visibilityLevel: "full-hooks";
|
|
5
|
+
readonly capabilities: {
|
|
6
|
+
instructionFilePaths: readonly ["GEMINI.md", ".agents/rules/"];
|
|
7
|
+
};
|
|
8
|
+
initialize(_config: PlatformConfig): Promise<void>;
|
|
9
|
+
normalizeToolCall(raw: unknown): NormalizedToolCall;
|
|
10
|
+
mapToolName(platformToolName: string): string;
|
|
11
|
+
getSessionMetadata(): PlatformSessionMetadata;
|
|
12
|
+
getHookInstallInstructions(): string;
|
|
13
|
+
isSupported(): boolean;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=antigravity-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-adapter.d.ts","sourceRoot":"","sources":["../../src/platforms/antigravity-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAgDpB,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,YAAY,iBAAiB;IACtC,QAAQ,CAAC,eAAe,EAAG,YAAY,CAAU;IAIjD,QAAQ,CAAC,YAAY;;MAAsE;IAErF,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB;IAsBnD,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAI7C,kBAAkB,IAAI,uBAAuB;IAM7C,0BAA0B,IAAI,MAAM;IAwCpC,WAAW,IAAI,OAAO;CAGvB"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps Antigravity's built-in tool names (confirmed from the Hooks page's
|
|
3
|
+
* "Supported Tools" section — antigravity.google/docs/hooks, identical on
|
|
4
|
+
* /docs/ide/hooks) to the normalized Claude Code tool vocabulary.
|
|
5
|
+
* `list_dir` and `find_by_name` both map to 'Glob' — same "directory/file
|
|
6
|
+
* enumeration -> Glob" precedent as Zed's `list_directory`/Continue's `ls`.
|
|
7
|
+
* `invoke_subagent` -> 'Agent' mirrors Zed's `spawn_agent` -> 'Agent'.
|
|
8
|
+
* `manage_task`, `schedule`, `list_permissions`, `ask_permission`,
|
|
9
|
+
* `define_subagent`, `send_message`, `manage_subagents`, `ask_question`, and
|
|
10
|
+
* `generate_image` are deliberately left unmapped (-> 'Unknown', original
|
|
11
|
+
* name preserved) — no existing canonical Preflight tool covers
|
|
12
|
+
* agent-to-agent messaging, permission introspection, or image generation.
|
|
13
|
+
*/
|
|
14
|
+
const ANTIGRAVITY_TOOL_MAP = {
|
|
15
|
+
view_file: 'Read',
|
|
16
|
+
write_to_file: 'Write',
|
|
17
|
+
replace_file_content: 'Edit',
|
|
18
|
+
multi_replace_file_content: 'MultiEdit',
|
|
19
|
+
list_dir: 'Glob',
|
|
20
|
+
find_by_name: 'Glob',
|
|
21
|
+
grep_search: 'Grep',
|
|
22
|
+
search_web: 'WebSearch',
|
|
23
|
+
read_url_content: 'WebFetch',
|
|
24
|
+
run_command: 'Bash',
|
|
25
|
+
invoke_subagent: 'Agent',
|
|
26
|
+
};
|
|
27
|
+
function isAntigravityToolCallEvent(x) {
|
|
28
|
+
return typeof x === 'object' && x !== null;
|
|
29
|
+
}
|
|
30
|
+
export class AntigravityAdapter {
|
|
31
|
+
platformName = 'antigravity';
|
|
32
|
+
visibilityLevel = 'full-hooks';
|
|
33
|
+
// Confirmed via antigravity.google/docs/ide/rules and /docs/rules-workflows:
|
|
34
|
+
// global rules live in ~/.gemini/GEMINI.md; workspace rules live in
|
|
35
|
+
// .agents/rules/ (with backward-compat support for the older .agent/rules/).
|
|
36
|
+
capabilities = { instructionFilePaths: ['GEMINI.md', '.agents/rules/'] };
|
|
37
|
+
async initialize(_config) {
|
|
38
|
+
// Antigravity's built-in tool-call capture is delivered via a
|
|
39
|
+
// user-installed hooks.json (see getHookInstallInstructions()), parsed by
|
|
40
|
+
// src/hooks/collector-script.ts — not configured by this process, same
|
|
41
|
+
// no-op shape as every other full-hooks adapter.
|
|
42
|
+
}
|
|
43
|
+
normalizeToolCall(raw) {
|
|
44
|
+
const event = isAntigravityToolCallEvent(raw) ? raw : {};
|
|
45
|
+
const platformToolName = event.tool ?? event.toolName ?? 'unknown';
|
|
46
|
+
const toolName = ANTIGRAVITY_TOOL_MAP[platformToolName] ?? 'Unknown';
|
|
47
|
+
const filePath = event.filePath ?? event.path;
|
|
48
|
+
return {
|
|
49
|
+
toolName,
|
|
50
|
+
platformToolName,
|
|
51
|
+
platform: this.platformName,
|
|
52
|
+
timestamp: event.timestamp ?? Date.now(),
|
|
53
|
+
durationMs: event.durationMs ?? null,
|
|
54
|
+
success: event.success ?? true,
|
|
55
|
+
...(event.error !== undefined && { error: event.error }),
|
|
56
|
+
...(event.inputSizeBytes !== undefined && { inputSizeBytes: event.inputSizeBytes }),
|
|
57
|
+
...(event.outputSizeBytes !== undefined && { outputSizeBytes: event.outputSizeBytes }),
|
|
58
|
+
...(filePath !== undefined && { filePath }),
|
|
59
|
+
...(event.command !== undefined && { command: event.command }),
|
|
60
|
+
...(event.sessionId !== undefined && { sessionId: event.sessionId }),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
mapToolName(platformToolName) {
|
|
64
|
+
return ANTIGRAVITY_TOOL_MAP[platformToolName] ?? 'Unknown';
|
|
65
|
+
}
|
|
66
|
+
getSessionMetadata() {
|
|
67
|
+
return {
|
|
68
|
+
platform: this.platformName,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
getHookInstallInstructions() {
|
|
72
|
+
return [
|
|
73
|
+
'Google Antigravity Setup (2.0 / IDE / CLI):',
|
|
74
|
+
'',
|
|
75
|
+
'1. Register Preflight as an MCP server for its own nr_observe_* tools.',
|
|
76
|
+
' Create or edit mcp_config.json — globally at',
|
|
77
|
+
' ~/.gemini/config/mcp_config.json, or per-workspace at',
|
|
78
|
+
' .agents/mcp_config.json:',
|
|
79
|
+
' {',
|
|
80
|
+
' "mcpServers": {',
|
|
81
|
+
' "preflight": {',
|
|
82
|
+
' "command": "npx",',
|
|
83
|
+
' "args": ["preflight", "--stdio"],',
|
|
84
|
+
' "env": {',
|
|
85
|
+
' "MCP_CLIENT": "antigravity",',
|
|
86
|
+
' "NEW_RELIC_LICENSE_KEY": "<your-key>",',
|
|
87
|
+
' "NEW_RELIC_ACCOUNT_ID": "<your-account-id>"',
|
|
88
|
+
' }',
|
|
89
|
+
' }',
|
|
90
|
+
' }',
|
|
91
|
+
' }',
|
|
92
|
+
'2. Capture built-in tool calls (file edits, terminal, browser) via',
|
|
93
|
+
' hooks.json — same global (~/.gemini/config/hooks.json) or workspace',
|
|
94
|
+
' (.agents/hooks.json) location as mcp_config.json:',
|
|
95
|
+
' {',
|
|
96
|
+
' "preflight": {',
|
|
97
|
+
' "PreToolUse": [',
|
|
98
|
+
' { "matcher": "*", "hooks": [{ "command": "preflight-collector" }] }',
|
|
99
|
+
' ],',
|
|
100
|
+
' "PostToolUse": [',
|
|
101
|
+
' { "matcher": "*", "hooks": [{ "command": "preflight-collector" }] }',
|
|
102
|
+
' ]',
|
|
103
|
+
' }',
|
|
104
|
+
' }',
|
|
105
|
+
'3. Ensure preflight-collector is on your PATH (npm link, or',
|
|
106
|
+
' npm install -g @newrelic/preflight).',
|
|
107
|
+
'4. Restart Antigravity (or reload the workspace).',
|
|
108
|
+
].join('\n');
|
|
109
|
+
}
|
|
110
|
+
isSupported() {
|
|
111
|
+
return process.env.MCP_CLIENT === 'antigravity';
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=antigravity-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity-adapter.js","sourceRoot":"","sources":["../../src/platforms/antigravity-adapter.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;GAYG;AACH,MAAM,oBAAoB,GAA2B;IACnD,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,OAAO;IACtB,oBAAoB,EAAE,MAAM;IAC5B,0BAA0B,EAAE,WAAW;IACvC,QAAQ,EAAE,MAAM;IAChB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,WAAW;IACvB,gBAAgB,EAAE,UAAU;IAC5B,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,OAAO;CACzB,CAAC;AAiBF,SAAS,0BAA0B,CAAC,CAAU;IAC5C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,OAAO,kBAAkB;IACpB,YAAY,GAAG,aAAa,CAAC;IAC7B,eAAe,GAAG,YAAqB,CAAC;IACjD,6EAA6E;IAC7E,oEAAoE;IACpE,6EAA6E;IACpE,YAAY,GAAG,EAAE,oBAAoB,EAAE,CAAC,WAAW,EAAE,gBAAgB,CAAU,EAAE,CAAC;IAE3F,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,8DAA8D;QAC9D,0EAA0E;QAC1E,uEAAuE;QACvE,iDAAiD;IACnD,CAAC;IAED,iBAAiB,CAAC,GAAY;QAC5B,MAAM,KAAK,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;QACnE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;QACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC;QAE9C,OAAO;YACL,QAAQ;YACR,gBAAgB;YAChB,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YACxC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YACxD,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;YACnF,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;YACtF,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;SACrE,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,gBAAwB;QAClC,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;IAC7D,CAAC;IAED,kBAAkB;QAChB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,YAAY;SAC5B,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,OAAO;YACL,6CAA6C;YAC7C,EAAE;YACF,wEAAwE;YACxE,iDAAiD;YACjD,0DAA0D;YAC1D,6BAA6B;YAC7B,MAAM;YACN,sBAAsB;YACtB,uBAAuB;YACvB,4BAA4B;YAC5B,4CAA4C;YAC5C,mBAAmB;YACnB,yCAAyC;YACzC,mDAAmD;YACnD,wDAAwD;YACxD,YAAY;YACZ,UAAU;YACV,QAAQ;YACR,MAAM;YACN,oEAAoE;YACpE,wEAAwE;YACxE,sDAAsD;YACtD,MAAM;YACN,qBAAqB;YACrB,wBAAwB;YACxB,8EAA8E;YAC9E,WAAW;YACX,yBAAyB;YACzB,8EAA8E;YAC9E,UAAU;YACV,QAAQ;YACR,MAAM;YACN,6DAA6D;YAC7D,yCAAyC;YACzC,mDAAmD;SACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,WAAW;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,aAAa,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -16,6 +16,7 @@ export { CodexAdapter } from './codex-adapter.js';
|
|
|
16
16
|
export { OpencodeAdapter } from './opencode-adapter.js';
|
|
17
17
|
export { KiloCodeAdapter } from './kilo-code-adapter.js';
|
|
18
18
|
export { PiAdapter } from './pi-adapter.js';
|
|
19
|
+
export { AntigravityAdapter } from './antigravity-adapter.js';
|
|
19
20
|
export { GenericMcpAdapter, validateReportToolCallInput } from './generic-mcp-adapter.js';
|
|
20
21
|
export type { ReportToolCallInput, ReportSessionStartInput, ReportSessionEndInput, } from './generic-mcp-adapter.js';
|
|
21
22
|
export { REPORT_TOOL_CALL_TOOL, REPORT_SESSION_START_TOOL, REPORT_SESSION_END_TOOL, } from './generic-mcp-adapter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/platforms/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC1F,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/platforms/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC1F,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/platforms/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export { CodexAdapter } from './codex-adapter.js';
|
|
|
14
14
|
export { OpencodeAdapter } from './opencode-adapter.js';
|
|
15
15
|
export { KiloCodeAdapter } from './kilo-code-adapter.js';
|
|
16
16
|
export { PiAdapter } from './pi-adapter.js';
|
|
17
|
+
export { AntigravityAdapter } from './antigravity-adapter.js';
|
|
17
18
|
export { GenericMcpAdapter, validateReportToolCallInput } from './generic-mcp-adapter.js';
|
|
18
19
|
export { REPORT_TOOL_CALL_TOOL, REPORT_SESSION_START_TOOL, REPORT_SESSION_END_TOOL, } from './generic-mcp-adapter.js';
|
|
19
20
|
export { PlatformRegistry, createDefaultRegistry } from './platform-registry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platforms/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAM1F,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/platforms/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAM1F,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-registry.d.ts","sourceRoot":"","sources":["../../src/platforms/platform-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"platform-registry.d.ts","sourceRoot":"","sources":["../../src/platforms/platform-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAqB3E,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,MAAM,CAAgC;IAE9C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAKxC,MAAM,IAAI,eAAe,GAAG,IAAI;IAahC,SAAS,IAAI,eAAe;IAY5B,aAAa,IAAI,SAAS,eAAe,EAAE;CAG5C;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,CAoBxD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAKvF"}
|
|
@@ -14,6 +14,7 @@ import { CodexAdapter } from './codex-adapter.js';
|
|
|
14
14
|
import { OpencodeAdapter } from './opencode-adapter.js';
|
|
15
15
|
import { KiloCodeAdapter } from './kilo-code-adapter.js';
|
|
16
16
|
import { PiAdapter } from './pi-adapter.js';
|
|
17
|
+
import { AntigravityAdapter } from './antigravity-adapter.js';
|
|
17
18
|
import { GenericMcpAdapter } from './generic-mcp-adapter.js';
|
|
18
19
|
const logger = createLogger('platform-registry');
|
|
19
20
|
export class PlatformRegistry {
|
|
@@ -64,6 +65,7 @@ export function createDefaultRegistry() {
|
|
|
64
65
|
registry.register(new OpencodeAdapter());
|
|
65
66
|
registry.register(new KiloCodeAdapter());
|
|
66
67
|
registry.register(new PiAdapter());
|
|
68
|
+
registry.register(new AntigravityAdapter());
|
|
67
69
|
registry.register(new GenericMcpAdapter()); // always last
|
|
68
70
|
return registry;
|
|
69
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-registry.js","sourceRoot":"","sources":["../../src/platforms/platform-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform-registry.js","sourceRoot":"","sources":["../../src/platforms/platform-registry.ts"],"names":[],"mappings":"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"}
|