instar 1.3.202 → 1.3.203

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.
Files changed (127) hide show
  1. package/dist/cli.js +4 -4
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/init.d.ts +2 -2
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +2 -0
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/route.d.ts.map +1 -1
  8. package/dist/commands/route.js +2 -0
  9. package/dist/commands/route.js.map +1 -1
  10. package/dist/commands/setup.d.ts +1 -1
  11. package/dist/commands/setup.d.ts.map +1 -1
  12. package/dist/commands/setup.js +47 -12
  13. package/dist/commands/setup.js.map +1 -1
  14. package/dist/core/Config.d.ts +12 -2
  15. package/dist/core/Config.d.ts.map +1 -1
  16. package/dist/core/Config.js +36 -10
  17. package/dist/core/Config.js.map +1 -1
  18. package/dist/core/FrameworkSessionStore.d.ts +2 -9
  19. package/dist/core/FrameworkSessionStore.d.ts.map +1 -1
  20. package/dist/core/FrameworkSessionStore.js +16 -0
  21. package/dist/core/FrameworkSessionStore.js.map +1 -1
  22. package/dist/core/GeminiCliIntelligenceProvider.d.ts +44 -0
  23. package/dist/core/GeminiCliIntelligenceProvider.d.ts.map +1 -0
  24. package/dist/core/GeminiCliIntelligenceProvider.js +65 -0
  25. package/dist/core/GeminiCliIntelligenceProvider.js.map +1 -0
  26. package/dist/core/IdentityRenderer.d.ts.map +1 -1
  27. package/dist/core/IdentityRenderer.js +6 -3
  28. package/dist/core/IdentityRenderer.js.map +1 -1
  29. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  30. package/dist/core/PostUpdateMigrator.js +7 -1
  31. package/dist/core/PostUpdateMigrator.js.map +1 -1
  32. package/dist/core/PreCompactionFlush.d.ts +3 -1
  33. package/dist/core/PreCompactionFlush.d.ts.map +1 -1
  34. package/dist/core/PreCompactionFlush.js +3 -1
  35. package/dist/core/PreCompactionFlush.js.map +1 -1
  36. package/dist/core/ResumeValidator.d.ts +1 -1
  37. package/dist/core/ResumeValidator.d.ts.map +1 -1
  38. package/dist/core/TopicFrameworksStore.d.ts.map +1 -1
  39. package/dist/core/TopicFrameworksStore.js +1 -0
  40. package/dist/core/TopicFrameworksStore.js.map +1 -1
  41. package/dist/core/TopicResumeMap.d.ts.map +1 -1
  42. package/dist/core/TopicResumeMap.js +13 -0
  43. package/dist/core/TopicResumeMap.js.map +1 -1
  44. package/dist/core/frameworkSessionLaunch.d.ts.map +1 -1
  45. package/dist/core/frameworkSessionLaunch.js +73 -0
  46. package/dist/core/frameworkSessionLaunch.js.map +1 -1
  47. package/dist/core/intelligenceProviderFactory.d.ts +8 -1
  48. package/dist/core/intelligenceProviderFactory.d.ts.map +1 -1
  49. package/dist/core/intelligenceProviderFactory.js +13 -1
  50. package/dist/core/intelligenceProviderFactory.js.map +1 -1
  51. package/dist/core/types.d.ts +6 -4
  52. package/dist/core/types.d.ts.map +1 -1
  53. package/dist/messaging/shared/telegramRelayPrompt.d.ts +1 -1
  54. package/dist/messaging/shared/telegramRelayPrompt.d.ts.map +1 -1
  55. package/dist/messaging/shared/telegramRelayPrompt.js.map +1 -1
  56. package/dist/monitoring/CompactionSentinel.d.ts +2 -0
  57. package/dist/monitoring/CompactionSentinel.d.ts.map +1 -1
  58. package/dist/monitoring/CompactionSentinel.js +10 -0
  59. package/dist/monitoring/CompactionSentinel.js.map +1 -1
  60. package/dist/monitoring/RateLimitSentinel.d.ts +2 -0
  61. package/dist/monitoring/RateLimitSentinel.d.ts.map +1 -1
  62. package/dist/monitoring/RateLimitSentinel.js +15 -1
  63. package/dist/monitoring/RateLimitSentinel.js.map +1 -1
  64. package/dist/monitoring/SessionReaper.d.ts +1 -1
  65. package/dist/monitoring/SessionReaper.d.ts.map +1 -1
  66. package/dist/monitoring/SessionReaper.js +7 -0
  67. package/dist/monitoring/SessionReaper.js.map +1 -1
  68. package/dist/monitoring/frameworkActivitySignals.d.ts.map +1 -1
  69. package/dist/monitoring/frameworkActivitySignals.js +17 -0
  70. package/dist/monitoring/frameworkActivitySignals.js.map +1 -1
  71. package/dist/monitoring/frameworkProcessSignals.d.ts.map +1 -1
  72. package/dist/monitoring/frameworkProcessSignals.js +15 -0
  73. package/dist/monitoring/frameworkProcessSignals.js.map +1 -1
  74. package/dist/providers/adapters/gemini-cli/capabilities.d.ts +28 -0
  75. package/dist/providers/adapters/gemini-cli/capabilities.d.ts.map +1 -0
  76. package/dist/providers/adapters/gemini-cli/capabilities.js +38 -0
  77. package/dist/providers/adapters/gemini-cli/capabilities.js.map +1 -0
  78. package/dist/providers/adapters/gemini-cli/config.d.ts +50 -0
  79. package/dist/providers/adapters/gemini-cli/config.d.ts.map +1 -0
  80. package/dist/providers/adapters/gemini-cli/config.js +36 -0
  81. package/dist/providers/adapters/gemini-cli/config.js.map +1 -0
  82. package/dist/providers/adapters/gemini-cli/control/geminiHardKill.d.ts +19 -0
  83. package/dist/providers/adapters/gemini-cli/control/geminiHardKill.d.ts.map +1 -0
  84. package/dist/providers/adapters/gemini-cli/control/geminiHardKill.js +67 -0
  85. package/dist/providers/adapters/gemini-cli/control/geminiHardKill.js.map +1 -0
  86. package/dist/providers/adapters/gemini-cli/credentials.d.ts +40 -0
  87. package/dist/providers/adapters/gemini-cli/credentials.d.ts.map +1 -0
  88. package/dist/providers/adapters/gemini-cli/credentials.js +41 -0
  89. package/dist/providers/adapters/gemini-cli/credentials.js.map +1 -0
  90. package/dist/providers/adapters/gemini-cli/errors.d.ts +23 -0
  91. package/dist/providers/adapters/gemini-cli/errors.d.ts.map +1 -0
  92. package/dist/providers/adapters/gemini-cli/errors.js +41 -0
  93. package/dist/providers/adapters/gemini-cli/errors.js.map +1 -0
  94. package/dist/providers/adapters/gemini-cli/index.d.ts +38 -0
  95. package/dist/providers/adapters/gemini-cli/index.d.ts.map +1 -0
  96. package/dist/providers/adapters/gemini-cli/index.js +66 -0
  97. package/dist/providers/adapters/gemini-cli/index.js.map +1 -0
  98. package/dist/providers/adapters/gemini-cli/models.d.ts +29 -0
  99. package/dist/providers/adapters/gemini-cli/models.d.ts.map +1 -0
  100. package/dist/providers/adapters/gemini-cli/models.js +43 -0
  101. package/dist/providers/adapters/gemini-cli/models.js.map +1 -0
  102. package/dist/providers/adapters/gemini-cli/observability/sessionId.d.ts +26 -0
  103. package/dist/providers/adapters/gemini-cli/observability/sessionId.d.ts.map +1 -0
  104. package/dist/providers/adapters/gemini-cli/observability/sessionId.js +52 -0
  105. package/dist/providers/adapters/gemini-cli/observability/sessionId.js.map +1 -0
  106. package/dist/providers/adapters/gemini-cli/observability/sessionPaths.d.ts +72 -0
  107. package/dist/providers/adapters/gemini-cli/observability/sessionPaths.d.ts.map +1 -0
  108. package/dist/providers/adapters/gemini-cli/observability/sessionPaths.js +202 -0
  109. package/dist/providers/adapters/gemini-cli/observability/sessionPaths.js.map +1 -0
  110. package/dist/providers/adapters/gemini-cli/transport/geminiSpawn.d.ts +79 -0
  111. package/dist/providers/adapters/gemini-cli/transport/geminiSpawn.d.ts.map +1 -0
  112. package/dist/providers/adapters/gemini-cli/transport/geminiSpawn.js +221 -0
  113. package/dist/providers/adapters/gemini-cli/transport/geminiSpawn.js.map +1 -0
  114. package/dist/providers/adapters/gemini-cli/transport/oneShotCompletion.d.ts +21 -0
  115. package/dist/providers/adapters/gemini-cli/transport/oneShotCompletion.d.ts.map +1 -0
  116. package/dist/providers/adapters/gemini-cli/transport/oneShotCompletion.js +80 -0
  117. package/dist/providers/adapters/gemini-cli/transport/oneShotCompletion.js.map +1 -0
  118. package/dist/providers/parity/rules/skillParityRule.d.ts.map +1 -1
  119. package/dist/providers/parity/rules/skillParityRule.js +8 -0
  120. package/dist/providers/parity/rules/skillParityRule.js.map +1 -1
  121. package/dist/threadline/ThreadResumeMap.d.ts.map +1 -1
  122. package/dist/threadline/ThreadResumeMap.js +14 -0
  123. package/dist/threadline/ThreadResumeMap.js.map +1 -1
  124. package/package.json +1 -1
  125. package/src/data/builtin-manifest.json +47 -47
  126. package/upgrades/1.3.203.md +30 -0
  127. package/upgrades/side-effects/APPRENTICESHIP-STEP2-GEMINI-RUNTIME-ADAPTER-SPEC.md +78 -0
@@ -147,6 +147,13 @@ export class SessionReaper extends EventEmitter {
147
147
  return /bypass permissions|\? for shortcuts|auto-accept edits|shift\+tab/i.test(frame)
148
148
  || /\n\s*>\s*$/.test(frame.trimEnd() + '\n');
149
149
  }
150
+ if (framework === 'gemini-cli') {
151
+ // Apprenticeship Step 2: the Gemini interactive-TUI ready-prompt signature
152
+ // is not yet live-characterized (the minimal body runs one-shot, not a
153
+ // long-lived TUI). Conservatively return false → KEEP, never a false idle.
154
+ // Refined when the loop-driver/TUI path lands (§6 build-time discovery).
155
+ return false;
156
+ }
150
157
  // codex-cli: a ready prompt with no working status line. The model-name idle
151
158
  // line is NOT a reliable positive, so require the explicit input affordance.
152
159
  return /\? for shortcuts|send a message|type a message|\bEsc\b.*interrupt/i.test(frame) === false
@@ -1 +1 @@
1
- {"version":3,"file":"SessionReaper.js","sourceRoot":"","sources":["../../src/monitoring/SessionReaper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionReaper.js","sourceRoot":"","sources":["../../src/monitoring/SessionReaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AA8B/F,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,eAAe,EAAE,GAAG;IACpB,aAAa,EAAE,EAAE;IACjB,mBAAmB,EAAE,CAAC;IACtB,oBAAoB,EAAE,EAAE;IACxB,gBAAgB,EAAE,GAAG;IACrB,uBAAuB,EAAE,EAAE;IAC3B,4BAA4B,EAAE,EAAE;IAChC,4BAA4B,EAAE,EAAE;IAChC,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,EAAE;IACnB,aAAa,EAAE,EAAE;IACjB,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE,GAAG;IAC3B,sBAAsB,EAAE,GAAG;CAC5B,CAAC;AAEF;sEACsE;AACtE,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,MAAM,UAAU,GAAiC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAuD,EACvD,UAA8E;IAE9E,MAAM,OAAO,GACX,MAAM,CAAC,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC,UAAU;QACjD,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC,UAAU;YACnD,CAAC,CAAC,QAAQ,CAAC;IACjB,IAAI,OAAO,GAAiB,QAAQ,CAAC;IACrC,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACtE,OAAO;YACL,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU;gBAClE,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU;oBACpE,CAAC,CAAC,QAAQ,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5E,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/D,OAAO;QACL,IAAI;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE;YAC7C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;YAC1E,OAAO;YACP,OAAO;SACR;KACF,CAAC;AACJ,CAAC;AA4ED,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC5B,GAAG,CAAsB;IACzB,IAAI,CAAoB;IACxB,GAAG,CAAe;IAC3B,KAAK,CAAkB;IACvB,OAAO,GAAG,KAAK,CAAC;IAChB,GAAG,GAAG,IAAI,GAAG,EAAe,CAAC;IACrC;gFAC4E;IACpE,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,cAAc,GAAa,EAAE,CAAC,CAAC,sBAAsB;IAC7D,uEAAuE;IAC/D,YAAY,GAAG,KAAK,CAAC;IACrB,UAAU,GAAG,CAAC,CAAC;IAEvB;;mFAE+E;IAC9D,KAAK,CAAY;IAElC,YAAY,IAAuB,EAAE,GAAkC;QACrE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,6BAA6B,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE;YAC/B,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM;YACzC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM;YAC7D,sBAAsB,EAAE,IAAI,CAAC,GAAG,CAAC,sBAAsB;SACxD,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;QACvF,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAAC,CAAC;IACxE,CAAC;IAED,gEAAgE;IAChE,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,OAAgB;QAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC;QAC3G,4EAA4E;QAC5E,kEAAkE;QAClE,MAAM,SAAS,GAAG,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAiE,EAAE,KAAa;QACtG,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,oDAAoD;QAClF,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzC,gEAAgE;QAChE,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/G,OAAO,KAAK,CAAC;QACf,CAAC;QACD,wEAAwE;QACxE,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YAChC,OAAO,mEAAmE,CAAC,IAAI,CAAC,KAAK,CAAC;mBACjF,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;YAC/B,2EAA2E;YAC3E,uEAAuE;YACvE,2EAA2E;YAC3E,yEAAyE;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,6EAA6E;QAC7E,6EAA6E;QAC7E,OAAO,oEAAoE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK;YAC/F,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC;YACpD,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,OAAgB;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,aAAyB,MAAM,EAAqB,EAAE,CAClF,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAEvE,oEAAoE;QACpE,mEAAmE;QACnE,0EAA0E;QAC1E,0EAA0E;QAC1E,4DAA4D;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7D,iFAAiF;QACjF,mEAAmE;QACnE,4CAA4C;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;QACtD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrD,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAChC,2EAA2E;YAC3E,OAAO,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,uEAAuE;QACvE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEvF,8DAA8D;QAC9D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAClG,CAAC;IAED,gEAAgE;IACxD,WAAW,CAAC,IAAkB;QACpC,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/G,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,GAAG,MAAM,CAAC;QAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,GAAG,MAAM,CAAC;IACxD,CAAC;IAEO,qBAAqB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,gCAAgC;YAChC,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAAC,CAAC;YAC9G,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE9G,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,KAAwB,CAAC;gBAC7B,IAAI,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,mEAAmE;oBACnE,sEAAsE;oBACtE,uBAAuB;oBACvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjJ,SAAS;gBACX,CAAC;gBACD,0EAA0E;gBAC1E,2EAA2E;gBAC3E,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEvB,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC7B,wEAAwE;oBACxE,IAAI,KAAK,EAAE,gBAAgB,IAAI,IAAI,EAAE,CAAC;wBACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACnC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChE,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC1H,SAAS;gBACX,CAAC;gBAED,uEAAuE;gBACvE,8DAA8D;gBAC9D,MAAM,WAAW,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,KAAK,CAAC;gBAE9F,yEAAyE;gBACzE,sEAAsE;gBACtE,IAAI,KAAK,EAAE,gBAAgB,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAC;oBAC9E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC5H,SAAS;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,KAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,MAAM,cAAc,GAAG,WAAW,IAAI,KAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAM,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC1F,MAAM,IAAI,GAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;gBAEvJ,uEAAuE;gBACvE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;oBAClC,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,EAAE,CAAC;wBACjE,gEAAgE;wBAChE,iEAAiE;wBACjE,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;wBACnH,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,iCAAiC;4BAClF,cAAc,EAAE,CAAC;wBACnB,CAAC;6BAAM,CAAC;4BACN,qEAAqE;4BACrE,+DAA+D;4BAC/D,yCAAyC;4BACzC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACrC,CAAC;wBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,CAAC;oBACrE,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,oCAAoC;oBACtE,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,yEAAyE;gBACzE,sDAAsD;gBACtD,MAAM,YAAY,GAAG,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB;uBAC3D,CAAC,GAAG,GAAG,cAAc,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC;gBACtE,MAAM,MAAM,GAAG,GAAG,GAAG,cAAc,CAAC;gBACpC,IAAI,SAAS,IAAI,IAAI,IAAI,YAAY,IAAI,MAAM,IAAI,SAAS;uBACrD,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAAE,CAAC;oBACrF,uEAAuE;oBACvE,6DAA6D;oBAC7D,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/F,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAgB,EAAE,QAAyB,EAAE,GAAQ;QAC7E,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5G,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,4BAA4B;YACvE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAC/D,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpF,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;iFAE6E;IACrE,sBAAsB,CAAC,OAAgB,EAAE,KAAwB,EAAE,QAAyB;QAClG,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,GAAG;YAAE,OAAO;QAC7D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,KAAa,EAAE,OAAgB,EAAE,MAA+B;QAC5E,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;QACjJ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,uDAAuD;IACvD,QAAQ;QAMN,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACvD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,OAAO,GAAY,MAAM,CAAC;YAC9B,IAAI,MAAM,GAAG,YAAY,CAAC;YAC1B,IAAI,UAAU,GAAe,KAAK,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3B,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;gBAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC,CAAC,oEAAoE,CAAC,CAAC;YAChF,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU;gBAC1D,WAAW,EAAE,CAAC,EAAE,WAAW,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACxF,WAAW,EAAE,CAAC,EAAE,gBAAgB,IAAI,IAAI;aACzC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY;YACxG,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ;YACrC,sBAAsB,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;YACjF,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE;YACtE,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAED,SAAS,WAAW,CAAC,IAAuB,EAAE,WAAmB,EAAE,KAAa;IAC9E,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACnF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAC3E,OAAO,CAAC,KAA8B,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,OAAO,CAAC,KAA8B,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,KAAa;IAC7D,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,yDAAyD;IACtE,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"frameworkActivitySignals.d.ts","sourceRoot":"","sources":["../../src/monitoring/frameworkActivitySignals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAsDD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,qBAAqB,GAAG,SAAS,GAAG,IAAI,GAAG,uBAAuB,CAU9G;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAAC;IAAE,SAAS,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAK1H"}
1
+ {"version":3,"file":"frameworkActivitySignals.d.ts","sourceRoot":"","sources":["../../src/monitoring/frameworkActivitySignals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;CACvC;AAyED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,qBAAqB,GAAG,SAAS,GAAG,IAAI,GAAG,uBAAuB,CAU9G;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAAC;IAAE,SAAS,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAK1H"}
@@ -62,9 +62,26 @@ const CODEX_CLI_SIGNAL = {
62
62
  runningIndicator: /\((running|executing|streaming)\)|background terminal running/i,
63
63
  promptSignaturesLine: 'the working status line "Working (Ns • esc to interrupt)", action bullets ("• Ran ..."), spinner characters (⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏), "generating". IDLE (NOT work): the model-name status line "gpt-5.3-codex medium · <dir>" and the placeholder prompt "Find and fix a bug in @filename".',
64
64
  };
65
+ const GEMINI_CLI_SIGNAL = {
66
+ displayName: 'Gemini CLI',
67
+ // CONSERVATIVE (apprenticeship Step 2): the minimal Gemini body runs ONE-SHOT
68
+ // (`gemini -p`), not a long-lived TUI, so the precise interactive-pane
69
+ // signatures are not yet live-characterized (a §6 build-time discovery item
70
+ // when the TUI/loop-driver path is taken up). This entry matches the generic
71
+ // "actively working" indicators (the dot/Braille spinner glyphs + the bare
72
+ // word "Generating"/"Thinking" Gemini shows during a turn) plus the
73
+ // "esc to interrupt" hint shared across CLIs. It deliberately does NOT match
74
+ // the bare word "gemini" (which appears in idle status / the model name) to
75
+ // avoid the codex idle-status false-positive that hid stuck sessions.
76
+ toolCallOrSpinner: /⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏|\b(generating|thinking)\b/i,
77
+ escapeToInterrupt: /esc to interrupt/i,
78
+ runningIndicator: /\((running|executing|streaming)\)/i,
79
+ promptSignaturesLine: 'spinner characters (⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏), "Generating"/"Thinking" during a turn, "esc to interrupt". NOTE: the Gemini interactive-TUI signatures are not yet live-characterized (the minimal Step-2 body runs one-shot); this is a conservative default refined when the loop-driver/TUI path lands.',
80
+ };
65
81
  const ACTIVITY_SIGNALS = {
66
82
  'claude-code': CLAUDE_CODE_SIGNAL,
67
83
  'codex-cli': CODEX_CLI_SIGNAL,
84
+ 'gemini-cli': GEMINI_CLI_SIGNAL,
68
85
  };
69
86
  /**
70
87
  * Look up the activity signal for a framework. Defaults to claude-code
@@ -1 +1 @@
1
- {"version":3,"file":"frameworkActivitySignals.js","sourceRoot":"","sources":["../../src/monitoring/frameworkActivitySignals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+BH,MAAM,kBAAkB,GAA4B;IAClD,WAAW,EAAE,aAAa;IAC1B,kEAAkE;IAClE,wCAAwC;IACxC,iBAAiB,EAAE,uEAAuE;IAC1F,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,cAAc;IAChC,oBAAoB,EAClB,+JAA+J;CAClK,CAAC;AAEF,MAAM,gBAAgB,GAA4B;IAChD,WAAW,EAAE,WAAW;IACxB,0EAA0E;IAC1E,sEAAsE;IACtE,uEAAuE;IACvE,oDAAoD;IACpD,EAAE;IACF,+DAA+D;IAC/D,gEAAgE;IAChE,uEAAuE;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,wCAAwC;IACxC,EAAE;IACF,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,6EAA6E;IAC7E,wEAAwE;IACxE,8EAA8E;IAC9E,2EAA2E;IAC3E,iFAAiF;IACjF,2DAA2D;IAC3D,iBAAiB,EAAE,gIAAgI;IACnJ,yEAAyE;IACzE,sEAAsE;IACtE,kDAAkD;IAClD,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,gEAAgE;IAClF,oBAAoB,EAClB,kRAAkR;CACrR,CAAC;AAEF,MAAM,gBAAgB,GAA2D;IAC/E,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAmD;IACnF,IAAI,CAAC,SAAS;QAAE,OAAO,kBAAkB,CAAC;IAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,kEAAkE;IAClE,gEAAgE;IAChE,kEAAkE;IAClE,kEAAkE;IAClE,6CAA6C;IAC7C,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAQ,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAA6B,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClF,SAAS;QACT,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;KACpC,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"frameworkActivitySignals.js","sourceRoot":"","sources":["../../src/monitoring/frameworkActivitySignals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+BH,MAAM,kBAAkB,GAA4B;IAClD,WAAW,EAAE,aAAa;IAC1B,kEAAkE;IAClE,wCAAwC;IACxC,iBAAiB,EAAE,uEAAuE;IAC1F,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,cAAc;IAChC,oBAAoB,EAClB,+JAA+J;CAClK,CAAC;AAEF,MAAM,gBAAgB,GAA4B;IAChD,WAAW,EAAE,WAAW;IACxB,0EAA0E;IAC1E,sEAAsE;IACtE,uEAAuE;IACvE,oDAAoD;IACpD,EAAE;IACF,+DAA+D;IAC/D,gEAAgE;IAChE,uEAAuE;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,yEAAyE;IACzE,wCAAwC;IACxC,EAAE;IACF,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,6EAA6E;IAC7E,wEAAwE;IACxE,8EAA8E;IAC9E,2EAA2E;IAC3E,iFAAiF;IACjF,2DAA2D;IAC3D,iBAAiB,EAAE,gIAAgI;IACnJ,yEAAyE;IACzE,sEAAsE;IACtE,kDAAkD;IAClD,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,gEAAgE;IAClF,oBAAoB,EAClB,kRAAkR;CACrR,CAAC;AAEF,MAAM,iBAAiB,GAA4B;IACjD,WAAW,EAAE,YAAY;IACzB,8EAA8E;IAC9E,uEAAuE;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,oEAAoE;IACpE,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtE,iBAAiB,EAAE,gDAAgD;IACnE,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,oCAAoC;IACtD,oBAAoB,EAClB,6RAA6R;CAChS,CAAC;AAEF,MAAM,gBAAgB,GAA2D;IAC/E,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,iBAAiB;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAmD;IACnF,IAAI,CAAC,SAAS;QAAE,OAAO,kBAAkB,CAAC;IAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,kEAAkE;IAClE,gEAAgE;IAChE,kEAAkE;IAClE,kEAAkE;IAClE,6CAA6C;IAC7C,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAQ,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAA6B,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClF,SAAS;QACT,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;KACpC,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"frameworkProcessSignals.d.ts","sourceRoot":"","sources":["../../src/monitoring/frameworkProcessSignals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,gEAAgE;IAChE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACrD;AAoDD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAa,CAAC,sBAAsB,CAAwB,GACpE,sBAAsB,GAAG,IAAI,CAc/B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAI1E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,qBAAqB,GAAG,sBAAsB,GAAG,IAAI,CAEhG;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,aAAa,CAAC,MAAM,CAAC,CAEjE"}
1
+ {"version":3,"file":"frameworkProcessSignals.d.ts","sourceRoot":"","sources":["../../src/monitoring/frameworkProcessSignals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,gEAAgE;IAChE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACrD;AAoED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAa,CAAC,sBAAsB,CAAwB,GACpE,sBAAsB,GAAG,IAAI,CAc/B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAI1E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,qBAAqB,GAAG,sBAAsB,GAAG,IAAI,CAEhG;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,aAAa,CAAC,MAAM,CAAC,CAEjE"}
@@ -49,9 +49,24 @@ const CODEX_CLI_SIGNAL = {
49
49
  'vscode-codex',
50
50
  ],
51
51
  };
52
+ const GEMINI_CLI_SIGNAL = {
53
+ framework: 'gemini-cli',
54
+ displayName: 'Gemini',
55
+ psGrepNeedle: '[g]emini',
56
+ binaryPattern: /(^|\/)gemini(\s|$)/,
57
+ // Gemini CLI is published as @google/gemini-cli; older/experimental builds
58
+ // shipped under `gemini-cli/` paths. Cover both (node/npx-wrapped form).
59
+ nodePattern: /@google\/gemini-cli|gemini-cli\/(cli|bin)/,
60
+ exclusionSubstrings: [
61
+ // `gemini mcp` server shares the prefix and must NOT be counted as a
62
+ // framework session — the analog of codex's 'codex-mcp' exclusion.
63
+ 'gemini-mcp',
64
+ ],
65
+ };
52
66
  const PROCESS_SIGNALS = {
53
67
  'claude-code': CLAUDE_CODE_SIGNAL,
54
68
  'codex-cli': CODEX_CLI_SIGNAL,
69
+ 'gemini-cli': GEMINI_CLI_SIGNAL,
55
70
  };
56
71
  /** Process helpers that appear at the START of command lines and are NEVER framework binaries. */
57
72
  const COMMON_HELPER_PROCESSES = [
@@ -1 +1 @@
1
- {"version":3,"file":"frameworkProcessSignals.js","sourceRoot":"","sources":["../../src/monitoring/frameworkProcessSignals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAoCH,MAAM,kBAAkB,GAA2B;IACjD,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,UAAU;IACxB,aAAa,EAAE,oBAAoB;IACnC,WAAW,EAAE,6CAA6C;IAC1D,mBAAmB,EAAE;QACnB,kBAAkB;QAClB,YAAY;QACZ,gBAAgB;QAChB,YAAY;QACZ,SAAS;QACT,cAAc;KACf;CACF,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,mBAAmB;IAClC,8DAA8D;IAC9D,oEAAoE;IACpE,WAAW,EAAE,8CAA8C;IAC3D,mBAAmB,EAAE;QACnB,WAAW;QACX,mEAAmE;QACnE,qEAAqE;QACrE,uDAAuD;QACvD,cAAc;KACf;CACF,CAAC;AAEF,MAAM,eAAe,GAA0D;IAC7E,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEF,kGAAkG;AAClG,MAAM,uBAAuB,GAAG;IAC9B,aAAa;IACb,YAAY;IACZ,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;CACN,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,UAAiD,kBAAkB,EAAE;IAErE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9C,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3E,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAQ,MAAM,CAAC,IAAI,CAAC,eAAe,CAA6B,CAAC,GAAG,CAClE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CACxB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAgC;IAC/D,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,uBAAuB,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"frameworkProcessSignals.js","sourceRoot":"","sources":["../../src/monitoring/frameworkProcessSignals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAoCH,MAAM,kBAAkB,GAA2B;IACjD,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,UAAU;IACxB,aAAa,EAAE,oBAAoB;IACnC,WAAW,EAAE,6CAA6C;IAC1D,mBAAmB,EAAE;QACnB,kBAAkB;QAClB,YAAY;QACZ,gBAAgB;QAChB,YAAY;QACZ,SAAS;QACT,cAAc;KACf;CACF,CAAC;AAEF,MAAM,gBAAgB,GAA2B;IAC/C,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,mBAAmB;IAClC,8DAA8D;IAC9D,oEAAoE;IACpE,WAAW,EAAE,8CAA8C;IAC3D,mBAAmB,EAAE;QACnB,WAAW;QACX,mEAAmE;QACnE,qEAAqE;QACrE,uDAAuD;QACvD,cAAc;KACf;CACF,CAAC;AAEF,MAAM,iBAAiB,GAA2B;IAChD,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,UAAU;IACxB,aAAa,EAAE,oBAAoB;IACnC,2EAA2E;IAC3E,yEAAyE;IACzE,WAAW,EAAE,2CAA2C;IACxD,mBAAmB,EAAE;QACnB,qEAAqE;QACrE,mEAAmE;QACnE,YAAY;KACb;CACF,CAAC;AAEF,MAAM,eAAe,GAA0D;IAC7E,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,iBAAiB;CAChC,CAAC;AAEF,kGAAkG;AAClG,MAAM,uBAAuB,GAAG;IAC9B,aAAa;IACb,YAAY;IACZ,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;CACN,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,UAAiD,kBAAkB,EAAE;IAErE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9C,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3E,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YACxE,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAQ,MAAM,CAAC,IAAI,CAAC,eAAe,CAA6B,CAAC,GAAG,CAClE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CACxB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAgC;IAC/D,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,uBAAuB,CAAC;AACjC,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Capability declaration for the gemini-cli adapter (MINIMAL BODY).
3
+ *
4
+ * Apprenticeship Step 2 ships the MANDATORY floor only. Per the honest-
5
+ * declaration contract (the parity harness's stub-vs-real check — the same
6
+ * rule openai-codex/capabilities.ts follows), this declares ONLY the
7
+ * primitives the factory actually wires. Declared-but-stubbed is a
8
+ * capability-declaration lie.
9
+ *
10
+ * MANDATORY (shipped — §3.7):
11
+ * - OneShotCompletion : the transport / alive proof.
12
+ * - SessionId : bind a SessionHandle to a gemini session UUID.
13
+ * - HardKill : SIGTERM→SIGKILL on the spawn pid.
14
+ *
15
+ * CONDITIONAL (NOT declared — deferred to a later step, tracked as
16
+ * `programNeeds` need-gem-001; see the spec §3.7):
17
+ * - HookEventReceiver : native `gemini hooks` return-contract UNKNOWN
18
+ * until live probing.
19
+ * - CompactionLifecycle : native pre-compact vs synthesis UNKNOWN.
20
+ * - SessionResumeIndex : `--list-sessions`/`--resume` verbs are known, but
21
+ * the FULL session-layout parsing is deferred.
22
+ *
23
+ * Everything not in this set is honestly reported as unavailable on the
24
+ * Gemini adapter by the registry — the parity harness then truthfully shows
25
+ * the gap rather than the registry lying.
26
+ */
27
+ export declare const geminiCliCapabilities: import("../../capabilities.js").CapabilitySet;
28
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/providers/adapters/gemini-cli/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,eAAO,MAAM,qBAAqB,+CAYhC,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Capability declaration for the gemini-cli adapter (MINIMAL BODY).
3
+ *
4
+ * Apprenticeship Step 2 ships the MANDATORY floor only. Per the honest-
5
+ * declaration contract (the parity harness's stub-vs-real check — the same
6
+ * rule openai-codex/capabilities.ts follows), this declares ONLY the
7
+ * primitives the factory actually wires. Declared-but-stubbed is a
8
+ * capability-declaration lie.
9
+ *
10
+ * MANDATORY (shipped — §3.7):
11
+ * - OneShotCompletion : the transport / alive proof.
12
+ * - SessionId : bind a SessionHandle to a gemini session UUID.
13
+ * - HardKill : SIGTERM→SIGKILL on the spawn pid.
14
+ *
15
+ * CONDITIONAL (NOT declared — deferred to a later step, tracked as
16
+ * `programNeeds` need-gem-001; see the spec §3.7):
17
+ * - HookEventReceiver : native `gemini hooks` return-contract UNKNOWN
18
+ * until live probing.
19
+ * - CompactionLifecycle : native pre-compact vs synthesis UNKNOWN.
20
+ * - SessionResumeIndex : `--list-sessions`/`--resume` verbs are known, but
21
+ * the FULL session-layout parsing is deferred.
22
+ *
23
+ * Everything not in this set is honestly reported as unavailable on the
24
+ * Gemini adapter by the registry — the parity harness then truthfully shows
25
+ * the gap rather than the registry lying.
26
+ */
27
+ import { CapabilityFlag, capabilitySet } from '../../capabilities.js';
28
+ export const geminiCliCapabilities = capabilitySet([
29
+ // ── TRANSPORT ────────────────────────────────────────────────────────
30
+ CapabilityFlag.OneShotCompletion,
31
+ // ── OBSERVABILITY ────────────────────────────────────────────────────
32
+ CapabilityFlag.SessionId,
33
+ // ── CONTROL ──────────────────────────────────────────────────────────
34
+ CapabilityFlag.HardKill,
35
+ // NOT declared (CONDITIONAL — live contract not characterized in Step 2):
36
+ // HookEventReceiver, CompactionLifecycle, SessionResumeIndex
37
+ ]);
38
+ //# sourceMappingURL=capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../../src/providers/adapters/gemini-cli/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;IACjD,wEAAwE;IACxE,cAAc,CAAC,iBAAiB;IAEhC,wEAAwE;IACxE,cAAc,CAAC,SAAS;IAExB,wEAAwE;IACxE,cAAc,CAAC,QAAQ;IAEvB,0EAA0E;IAC1E,+DAA+D;CAChE,CAAC,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Configuration shape for the gemini-cli adapter.
3
+ *
4
+ * Gemini CLI auth (per the verified facts, v0.25.2):
5
+ * - Cached OAuth credentials under `~/.gemini` (the subscription / cached-
6
+ * OAuth path). THIS IS THE ALLOWED PATH.
7
+ * - A `GEMINI_API_KEY` / `GOOGLE_API_KEY` / Vertex env path can route onto
8
+ * a BILLED API account. The env-allowlist (geminiSpawn.ts) unconditionally
9
+ * deletes those billing-capable vars from the child env — the Rule-1a
10
+ * analog. See credentials.ts for the rationale.
11
+ */
12
+ import { GEMINI_DEFAULT_MODEL } from './models.js';
13
+ /** Gemini's native approval surface (analog of Codex's sandbox modes). */
14
+ export type GeminiApprovalMode = 'default' | 'auto_edit' | 'yolo';
15
+ export interface GeminiCliConfig {
16
+ /** Absolute path to the `gemini` CLI binary. */
17
+ geminiPath: string;
18
+ /**
19
+ * Default model name. Resolves to the verified-working `gemini-2.5-flash`
20
+ * when unset. Passed through to the CLI `-m <name>` flag.
21
+ */
22
+ defaultModel?: string;
23
+ /**
24
+ * Default approval mode for one-shot calls. `'default'` is the SAFE one-shot
25
+ * mode and is pinned at the call site by the transport; `'yolo'` / `'auto_edit'`
26
+ * are capability-only and never reachable from OneShotCompletion.
27
+ */
28
+ defaultApprovalMode?: GeminiApprovalMode;
29
+ /** Default timeout for one-shot calls (ms). */
30
+ defaultOneShotTimeoutMs?: number;
31
+ /** Default session-spawn timeout (ms). */
32
+ defaultSessionTimeoutMs?: number;
33
+ /** Hard cap on captured stdout/stderr bytes per stream. */
34
+ maxOutputBytes?: number;
35
+ /** Working directory for tools that need one. */
36
+ defaultWorkingDirectory?: string;
37
+ }
38
+ /**
39
+ * Build a config from environment variables, with sensible defaults.
40
+ *
41
+ * Binary detection: when `GEMINI_PATH` is not set, falls back to
42
+ * `detectGeminiPath()` (the existing `detectFrameworkBinary('gemini')`
43
+ * wrapper, which probes `~/.gemini/bin/gemini` + the standard install
44
+ * locations). NEVER hardcode developer-specific paths here — the verified
45
+ * `/opt/homebrew/bin/gemini` is a fact for THIS box, not a value to bake in.
46
+ */
47
+ export declare function configFromEnv(env?: NodeJS.ProcessEnv): GeminiCliConfig;
48
+ /** Re-export for callers that want the literal default without configFromEnv. */
49
+ export { GEMINI_DEFAULT_MODEL };
50
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/providers/adapters/gemini-cli/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,0EAA0E;AAC1E,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,+CAA+C;IAC/C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0CAA0C;IAC1C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,eAAe,CAUnF;AAED,iFAAiF;AACjF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Configuration shape for the gemini-cli adapter.
3
+ *
4
+ * Gemini CLI auth (per the verified facts, v0.25.2):
5
+ * - Cached OAuth credentials under `~/.gemini` (the subscription / cached-
6
+ * OAuth path). THIS IS THE ALLOWED PATH.
7
+ * - A `GEMINI_API_KEY` / `GOOGLE_API_KEY` / Vertex env path can route onto
8
+ * a BILLED API account. The env-allowlist (geminiSpawn.ts) unconditionally
9
+ * deletes those billing-capable vars from the child env — the Rule-1a
10
+ * analog. See credentials.ts for the rationale.
11
+ */
12
+ import { detectGeminiPath } from '../../../core/Config.js';
13
+ import { GEMINI_DEFAULT_MODEL } from './models.js';
14
+ /**
15
+ * Build a config from environment variables, with sensible defaults.
16
+ *
17
+ * Binary detection: when `GEMINI_PATH` is not set, falls back to
18
+ * `detectGeminiPath()` (the existing `detectFrameworkBinary('gemini')`
19
+ * wrapper, which probes `~/.gemini/bin/gemini` + the standard install
20
+ * locations). NEVER hardcode developer-specific paths here — the verified
21
+ * `/opt/homebrew/bin/gemini` is a fact for THIS box, not a value to bake in.
22
+ */
23
+ export function configFromEnv(env = process.env) {
24
+ return {
25
+ geminiPath: env['GEMINI_PATH'] || detectGeminiPath() || 'gemini',
26
+ // Undefined → resolveCliModelFlag picks the verified-working default
27
+ // (gemini-2.5-flash) via the tier resolver.
28
+ defaultModel: env['GEMINI_DEFAULT_MODEL'],
29
+ defaultApprovalMode: 'default',
30
+ defaultOneShotTimeoutMs: 60_000,
31
+ defaultSessionTimeoutMs: 30_000,
32
+ };
33
+ }
34
+ /** Re-export for callers that want the literal default without configFromEnv. */
35
+ export { GEMINI_DEFAULT_MODEL };
36
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/providers/adapters/gemini-cli/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA6BnD;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,MAAyB,OAAO,CAAC,GAAG;IAChE,OAAO;QACL,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,gBAAgB,EAAE,IAAI,QAAQ;QAChE,qEAAqE;QACrE,4CAA4C;QAC5C,YAAY,EAAE,GAAG,CAAC,sBAAsB,CAAC;QACzC,mBAAmB,EAAE,SAAS;QAC9B,uBAAuB,EAAE,MAAM;QAC/B,uBAAuB,EAAE,MAAM;KAChC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * HardKill implementation for gemini-cli.
3
+ *
4
+ * SIGTERM→SIGKILL escalation on a process pid — the framework-agnostic
5
+ * process-level kill (analog of openai-codex/control/hardKill.ts, but the
6
+ * codex one targets a tmux session because codex's agentic path runs inside
7
+ * tmux). The minimal Gemini body runs one-shot spawns directly (no tmux
8
+ * REPL), so the honest unit of force-termination is the child process pid,
9
+ * encoded in the SessionHandle as `gemini-cli/pid-<n>` (see sessionId.pidHandle).
10
+ *
11
+ * A handle that is not a pid handle resolves to a no-op (nothing to kill) —
12
+ * the adapter never claims to kill a session it has no process for.
13
+ */
14
+ import type { SessionHandle } from '../../../types.js';
15
+ import type { HardKill } from '../../../primitives/control/hardKill.js';
16
+ /** Extract the pid from a `gemini-cli/pid-<n>` handle, or null. */
17
+ export declare function pidFromHandle(session: SessionHandle): number | null;
18
+ export declare function createHardKill(): HardKill;
19
+ //# sourceMappingURL=geminiHardKill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geminiHardKill.d.ts","sourceRoot":"","sources":["../../../../../src/providers/adapters/gemini-cli/control/geminiHardKill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,yCAAyC,CAAC;AAMzF,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAKnE;AA4CD,wBAAgB,cAAc,IAAI,QAAQ,CAEzC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * HardKill implementation for gemini-cli.
3
+ *
4
+ * SIGTERM→SIGKILL escalation on a process pid — the framework-agnostic
5
+ * process-level kill (analog of openai-codex/control/hardKill.ts, but the
6
+ * codex one targets a tmux session because codex's agentic path runs inside
7
+ * tmux). The minimal Gemini body runs one-shot spawns directly (no tmux
8
+ * REPL), so the honest unit of force-termination is the child process pid,
9
+ * encoded in the SessionHandle as `gemini-cli/pid-<n>` (see sessionId.pidHandle).
10
+ *
11
+ * A handle that is not a pid handle resolves to a no-op (nothing to kill) —
12
+ * the adapter never claims to kill a session it has no process for.
13
+ */
14
+ import { CapabilityFlag } from '../../../capabilities.js';
15
+ import { GEMINI_CLI_ID } from '../errors.js';
16
+ const PID_PREFIX = `${GEMINI_CLI_ID}/pid-`;
17
+ /** Extract the pid from a `gemini-cli/pid-<n>` handle, or null. */
18
+ export function pidFromHandle(session) {
19
+ const s = String(session);
20
+ if (!s.startsWith(PID_PREFIX))
21
+ return null;
22
+ const n = Number(s.slice(PID_PREFIX.length));
23
+ return Number.isInteger(n) && n > 0 ? n : null;
24
+ }
25
+ function isAlive(pid) {
26
+ try {
27
+ process.kill(pid, 0);
28
+ return true;
29
+ }
30
+ catch {
31
+ return false;
32
+ }
33
+ }
34
+ class GeminiCliHardKill {
35
+ capability = CapabilityFlag.HardKill;
36
+ async kill(session, options) {
37
+ const pid = pidFromHandle(session);
38
+ if (pid === null) {
39
+ // No process bound to this handle — nothing to kill (honest no-op).
40
+ return;
41
+ }
42
+ const graceMs = options?.graceMs ?? 5000;
43
+ if (!isAlive(pid))
44
+ return;
45
+ try {
46
+ process.kill(pid, 'SIGTERM');
47
+ }
48
+ catch {
49
+ // Already gone between the liveness check and the signal — fine.
50
+ return;
51
+ }
52
+ // Grace period, then verify + escalate.
53
+ await new Promise((resolve) => setTimeout(resolve, graceMs).unref?.() ?? resolve());
54
+ if (isAlive(pid)) {
55
+ try {
56
+ process.kill(pid, 'SIGKILL');
57
+ }
58
+ catch {
59
+ // Raced to death — fine.
60
+ }
61
+ }
62
+ }
63
+ }
64
+ export function createHardKill() {
65
+ return new GeminiCliHardKill();
66
+ }
67
+ //# sourceMappingURL=geminiHardKill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geminiHardKill.js","sourceRoot":"","sources":["../../../../../src/providers/adapters/gemini-cli/control/geminiHardKill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,GAAG,GAAG,aAAa,OAAO,CAAC;AAE3C,mEAAmE;AACnE,MAAM,UAAU,aAAa,CAAC,OAAsB;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB;IACZ,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC;IAE9C,KAAK,CAAC,IAAI,CAAC,OAAsB,EAAE,OAAyB;QAC1D,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,oEAAoE;YACpE,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QAEzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO;QAE1B,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAE1F,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,iBAAiB,EAAE,CAAC;AACjC,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Credential boundary rationale for the gemini-cli adapter (Rule-1a analog).
3
+ *
4
+ * Gemini CLI auths via `~/.gemini` cached OAuth credentials — the
5
+ * subscription / cached-OAuth path. The danger, exactly as with Codex's
6
+ * `OPENAI_API_KEY`, is that a billing-capable Google/Gemini env var present
7
+ * in the parent process would silently route Gemini onto a BILLED API path
8
+ * instead of the cached-OAuth path. A runaway loop on the raw API drains
9
+ * real money; the asymmetric cost of a false-negative (silent billing) is
10
+ * why the delete is UNCONDITIONAL.
11
+ *
12
+ * The structural defense lives in `transport/geminiSpawn.ts`:
13
+ * - `buildGeminiChildEnv` is an explicit ALLOWLIST (not a blocklist).
14
+ * - `GEMINI_BILLING_ENV_VARS` are hard-deleted from the child env on EVERY
15
+ * spawn, regardless of allowlist contents.
16
+ *
17
+ * The `geminiKeyLeakageCanary` asserts none of those vars ever reach a child
18
+ * env even under sentinel-injection in the parent — the structural invariant
19
+ * is "no billing leak, ever."
20
+ *
21
+ * RULE 3.1 RATIONALE
22
+ * Criticality: critical — a leak silently bills the user's Google/Gemini
23
+ * API account at full per-token rates.
24
+ * Frequency: per-spawn (every Gemini child process construction).
25
+ * Stability: stable — the env-allowlist is internal Instar code; the
26
+ * Gemini CLI's env-var precedence is the upstream surface this
27
+ * defends against (build-time §6 discovery sharpens the
28
+ * rationale but does NOT gate the delete).
29
+ * Fallback: none — the invariant is "no leak, ever"; a detected
30
+ * violation requires a code fix, not self-heal.
31
+ * Verdict: deterministic structural construction (allowlist + hard
32
+ * deletes), gated by the geminiKeyLeakageCanary.
33
+ */
34
+ /**
35
+ * The billing-capable Google/Gemini env vars that are unconditionally
36
+ * deleted from any Gemini child env. Re-exported from the transport (single
37
+ * source of truth) so the canary + any future caller reference one list.
38
+ */
39
+ export declare const BILLING_ENV_VARS: readonly ["GEMINI_API_KEY", "GOOGLE_API_KEY", "GOOGLE_APPLICATION_CREDENTIALS", "GOOGLE_GENAI_USE_VERTEXAI", "GOOGLE_CLOUD_PROJECT"];
40
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../src/providers/adapters/gemini-cli/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,sIAA0B,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Credential boundary rationale for the gemini-cli adapter (Rule-1a analog).
3
+ *
4
+ * Gemini CLI auths via `~/.gemini` cached OAuth credentials — the
5
+ * subscription / cached-OAuth path. The danger, exactly as with Codex's
6
+ * `OPENAI_API_KEY`, is that a billing-capable Google/Gemini env var present
7
+ * in the parent process would silently route Gemini onto a BILLED API path
8
+ * instead of the cached-OAuth path. A runaway loop on the raw API drains
9
+ * real money; the asymmetric cost of a false-negative (silent billing) is
10
+ * why the delete is UNCONDITIONAL.
11
+ *
12
+ * The structural defense lives in `transport/geminiSpawn.ts`:
13
+ * - `buildGeminiChildEnv` is an explicit ALLOWLIST (not a blocklist).
14
+ * - `GEMINI_BILLING_ENV_VARS` are hard-deleted from the child env on EVERY
15
+ * spawn, regardless of allowlist contents.
16
+ *
17
+ * The `geminiKeyLeakageCanary` asserts none of those vars ever reach a child
18
+ * env even under sentinel-injection in the parent — the structural invariant
19
+ * is "no billing leak, ever."
20
+ *
21
+ * RULE 3.1 RATIONALE
22
+ * Criticality: critical — a leak silently bills the user's Google/Gemini
23
+ * API account at full per-token rates.
24
+ * Frequency: per-spawn (every Gemini child process construction).
25
+ * Stability: stable — the env-allowlist is internal Instar code; the
26
+ * Gemini CLI's env-var precedence is the upstream surface this
27
+ * defends against (build-time §6 discovery sharpens the
28
+ * rationale but does NOT gate the delete).
29
+ * Fallback: none — the invariant is "no leak, ever"; a detected
30
+ * violation requires a code fix, not self-heal.
31
+ * Verdict: deterministic structural construction (allowlist + hard
32
+ * deletes), gated by the geminiKeyLeakageCanary.
33
+ */
34
+ import { GEMINI_BILLING_ENV_VARS } from './transport/geminiSpawn.js';
35
+ /**
36
+ * The billing-capable Google/Gemini env vars that are unconditionally
37
+ * deleted from any Gemini child env. Re-exported from the transport (single
38
+ * source of truth) so the canary + any future caller reference one list.
39
+ */
40
+ export const BILLING_ENV_VARS = GEMINI_BILLING_ENV_VARS;
41
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../../src/providers/adapters/gemini-cli/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Adapter-specific error helpers for gemini-cli.
3
+ *
4
+ * Maps raw failures (gemini CLI non-zero exit, timeout/abort) to the
5
+ * canonical ProviderError hierarchy. Mirrors openai-codex/errors.ts but
6
+ * scoped to the minimal-body surface.
7
+ */
8
+ import { type ProviderError } from '../../errors.js';
9
+ import type { ProviderId } from '../../types.js';
10
+ export declare const GEMINI_CLI_ID: ProviderId;
11
+ /**
12
+ * Map a raw spawn-style error from spawning `gemini` into a canonical
13
+ * provider error. Stderr is inspected for auth / rate-limit / quota /
14
+ * network signatures (the same classification shape codex uses) so the
15
+ * circuit breaker's rate-limit classifier can see usage/limit language.
16
+ */
17
+ export declare function mapExecError(err: Error & {
18
+ code?: string | number;
19
+ signal?: string;
20
+ killed?: boolean;
21
+ path?: string;
22
+ }, stderr?: string): ProviderError;
23
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/providers/adapters/gemini-cli/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAQL,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,aAAa,EAAmB,UAAU,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,KAAK,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACzF,MAAM,SAAK,GACV,aAAa,CAiCf"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Adapter-specific error helpers for gemini-cli.
3
+ *
4
+ * Maps raw failures (gemini CLI non-zero exit, timeout/abort) to the
5
+ * canonical ProviderError hierarchy. Mirrors openai-codex/errors.ts but
6
+ * scoped to the minimal-body surface.
7
+ */
8
+ import { AbortError, AuthError, NetworkError, QuotaError, RateLimitError, TimeoutError, UnexpectedError, } from '../../errors.js';
9
+ export const GEMINI_CLI_ID = 'gemini-cli';
10
+ /**
11
+ * Map a raw spawn-style error from spawning `gemini` into a canonical
12
+ * provider error. Stderr is inspected for auth / rate-limit / quota /
13
+ * network signatures (the same classification shape codex uses) so the
14
+ * circuit breaker's rate-limit classifier can see usage/limit language.
15
+ */
16
+ export function mapExecError(err, stderr = '') {
17
+ if (err.name === 'AbortError') {
18
+ return new AbortError('Gemini exec aborted', GEMINI_CLI_ID, err);
19
+ }
20
+ if (err.signal === 'SIGTERM' || err.killed) {
21
+ return new TimeoutError(`gemini CLI killed: ${err.message}`, GEMINI_CLI_ID, 0, { cause: err });
22
+ }
23
+ if (err.code === 'ENOENT') {
24
+ return new UnexpectedError(`gemini CLI binary not found: ${err.path ?? '(unknown)'}`, GEMINI_CLI_ID, err);
25
+ }
26
+ const message = stderr ? stderr.slice(0, 500) : err.message;
27
+ if (/unauthor|forbidden|invalid.*token|invalid.*key|401|403/i.test(stderr)) {
28
+ return new AuthError(message, GEMINI_CLI_ID, err);
29
+ }
30
+ if (/rate.?limit|429|too many requests|resource.?exhausted/i.test(stderr)) {
31
+ return new RateLimitError(message, GEMINI_CLI_ID, { cause: err });
32
+ }
33
+ if (/quota|usage.?limit/i.test(stderr)) {
34
+ return new QuotaError(message, GEMINI_CLI_ID, { cause: err });
35
+ }
36
+ if (/network|ECONN|ETIMEDOUT|dns/i.test(stderr)) {
37
+ return new NetworkError(message, GEMINI_CLI_ID, err);
38
+ }
39
+ return new UnexpectedError(message, GEMINI_CLI_ID, err);
40
+ }
41
+ //# sourceMappingURL=errors.js.map