crewly 1.20.181 → 1.20.182

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 (136) hide show
  1. package/dist/backend/backend/src/constants.d.ts +66 -1
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +75 -1
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts +11 -1
  6. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts.map +1 -1
  7. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js +44 -9
  8. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js.map +1 -1
  9. package/dist/backend/backend/src/controllers/system/runtime-terms.controller.d.ts +31 -0
  10. package/dist/backend/backend/src/controllers/system/runtime-terms.controller.d.ts.map +1 -0
  11. package/dist/backend/backend/src/controllers/system/runtime-terms.controller.js +99 -0
  12. package/dist/backend/backend/src/controllers/system/runtime-terms.controller.js.map +1 -0
  13. package/dist/backend/backend/src/index.d.ts.map +1 -1
  14. package/dist/backend/backend/src/index.js +4 -0
  15. package/dist/backend/backend/src/index.js.map +1 -1
  16. package/dist/backend/backend/src/routes/modules/system.routes.d.ts.map +1 -1
  17. package/dist/backend/backend/src/routes/modules/system.routes.js +3 -0
  18. package/dist/backend/backend/src/routes/modules/system.routes.js.map +1 -1
  19. package/dist/backend/backend/src/services/agent/antigravity-runtime.service.d.ts.map +1 -1
  20. package/dist/backend/backend/src/services/agent/antigravity-runtime.service.js +5 -0
  21. package/dist/backend/backend/src/services/agent/antigravity-runtime.service.js.map +1 -1
  22. package/dist/backend/backend/src/services/decisions/decision-card.d.ts +14 -4
  23. package/dist/backend/backend/src/services/decisions/decision-card.d.ts.map +1 -1
  24. package/dist/backend/backend/src/services/decisions/decision-card.js +31 -10
  25. package/dist/backend/backend/src/services/decisions/decision-card.js.map +1 -1
  26. package/dist/backend/backend/src/services/decisions/decision.service.d.ts +40 -2
  27. package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  28. package/dist/backend/backend/src/services/decisions/decision.service.js +100 -8
  29. package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
  30. package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/decisions/decision.wiring.js +7 -0
  32. package/dist/backend/backend/src/services/decisions/decision.wiring.js.map +1 -1
  33. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.d.ts +8 -0
  34. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.js +5 -0
  36. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.js.map +1 -1
  37. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts +2 -0
  38. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js +4 -0
  40. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js.map +1 -1
  41. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts +2 -0
  42. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts.map +1 -1
  43. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.js.map +1 -1
  44. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +3 -0
  46. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
  47. package/dist/backend/backend/src/services/runtime-fallback/runtime-smoke-test.service.d.ts +15 -1
  48. package/dist/backend/backend/src/services/runtime-fallback/runtime-smoke-test.service.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/runtime-fallback/runtime-smoke-test.service.js +13 -2
  50. package/dist/backend/backend/src/services/runtime-fallback/runtime-smoke-test.service.js.map +1 -1
  51. package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-driver.d.ts +92 -0
  52. package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-driver.d.ts.map +1 -0
  53. package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-driver.js +199 -0
  54. package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-driver.js.map +1 -0
  55. package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-screens.d.ts +79 -0
  56. package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-screens.d.ts.map +1 -0
  57. package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-screens.js +145 -0
  58. package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-screens.js.map +1 -0
  59. package/dist/backend/backend/src/services/runtime-terms/fake-agy-tui.fixture.d.ts +75 -0
  60. package/dist/backend/backend/src/services/runtime-terms/fake-agy-tui.fixture.d.ts.map +1 -0
  61. package/dist/backend/backend/src/services/runtime-terms/fake-agy-tui.fixture.js +218 -0
  62. package/dist/backend/backend/src/services/runtime-terms/fake-agy-tui.fixture.js.map +1 -0
  63. package/dist/backend/backend/src/services/runtime-terms/runtime-terms-consent.service.d.ts +245 -0
  64. package/dist/backend/backend/src/services/runtime-terms/runtime-terms-consent.service.d.ts.map +1 -0
  65. package/dist/backend/backend/src/services/runtime-terms/runtime-terms-consent.service.js +428 -0
  66. package/dist/backend/backend/src/services/runtime-terms/runtime-terms-consent.service.js.map +1 -0
  67. package/dist/backend/backend/src/services/runtime-terms/runtime-terms.store.d.ts +67 -0
  68. package/dist/backend/backend/src/services/runtime-terms/runtime-terms.store.d.ts.map +1 -0
  69. package/dist/backend/backend/src/services/runtime-terms/runtime-terms.store.js +78 -0
  70. package/dist/backend/backend/src/services/runtime-terms/runtime-terms.store.js.map +1 -0
  71. package/dist/backend/backend/src/services/runtime-terms/runtime-terms.wiring.d.ts +39 -0
  72. package/dist/backend/backend/src/services/runtime-terms/runtime-terms.wiring.d.ts.map +1 -0
  73. package/dist/backend/backend/src/services/runtime-terms/runtime-terms.wiring.js +161 -0
  74. package/dist/backend/backend/src/services/runtime-terms/runtime-terms.wiring.js.map +1 -0
  75. package/dist/backend/backend/src/types/decision.types.d.ts +29 -5
  76. package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
  77. package/dist/backend/build-info.json +2 -2
  78. package/dist/cli/backend/src/constants.d.ts +66 -1
  79. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  80. package/dist/cli/backend/src/constants.js +75 -1
  81. package/dist/cli/backend/src/constants.js.map +1 -1
  82. package/dist/cli/backend/src/services/agent/antigravity-runtime.service.d.ts.map +1 -1
  83. package/dist/cli/backend/src/services/agent/antigravity-runtime.service.js +5 -0
  84. package/dist/cli/backend/src/services/agent/antigravity-runtime.service.js.map +1 -1
  85. package/dist/cli/backend/src/services/decisions/decision-card.d.ts +165 -0
  86. package/dist/cli/backend/src/services/decisions/decision-card.d.ts.map +1 -0
  87. package/dist/cli/backend/src/services/decisions/decision-card.js +358 -0
  88. package/dist/cli/backend/src/services/decisions/decision-card.js.map +1 -0
  89. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts +83 -0
  90. package/dist/cli/backend/src/services/decisions/decision-contract.d.ts.map +1 -0
  91. package/dist/cli/backend/src/services/decisions/decision-contract.js +226 -0
  92. package/dist/cli/backend/src/services/decisions/decision-contract.js.map +1 -0
  93. package/dist/cli/backend/src/services/decisions/decision-store.d.ts +80 -0
  94. package/dist/cli/backend/src/services/decisions/decision-store.d.ts.map +1 -0
  95. package/dist/cli/backend/src/services/decisions/decision-store.js +151 -0
  96. package/dist/cli/backend/src/services/decisions/decision-store.js.map +1 -0
  97. package/dist/cli/backend/src/services/decisions/decision.service.d.ts +376 -0
  98. package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -0
  99. package/dist/cli/backend/src/services/decisions/decision.service.js +821 -0
  100. package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -0
  101. package/dist/cli/backend/src/services/decisions/ticket-thread-store.d.ts +97 -0
  102. package/dist/cli/backend/src/services/decisions/ticket-thread-store.d.ts.map +1 -0
  103. package/dist/cli/backend/src/services/decisions/ticket-thread-store.js +137 -0
  104. package/dist/cli/backend/src/services/decisions/ticket-thread-store.js.map +1 -0
  105. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts +136 -0
  106. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts.map +1 -0
  107. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.js +152 -0
  108. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.js.map +1 -0
  109. package/dist/cli/backend/src/services/runtime-fallback/runtime-smoke-test.service.d.ts +217 -0
  110. package/dist/cli/backend/src/services/runtime-fallback/runtime-smoke-test.service.d.ts.map +1 -0
  111. package/dist/cli/backend/src/services/runtime-fallback/runtime-smoke-test.service.js +430 -0
  112. package/dist/cli/backend/src/services/runtime-fallback/runtime-smoke-test.service.js.map +1 -0
  113. package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-driver.d.ts +92 -0
  114. package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-driver.d.ts.map +1 -0
  115. package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-driver.js +199 -0
  116. package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-driver.js.map +1 -0
  117. package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-screens.d.ts +79 -0
  118. package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-screens.d.ts.map +1 -0
  119. package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-screens.js +145 -0
  120. package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-screens.js.map +1 -0
  121. package/dist/cli/backend/src/services/runtime-terms/runtime-terms-consent.service.d.ts +245 -0
  122. package/dist/cli/backend/src/services/runtime-terms/runtime-terms-consent.service.d.ts.map +1 -0
  123. package/dist/cli/backend/src/services/runtime-terms/runtime-terms-consent.service.js +428 -0
  124. package/dist/cli/backend/src/services/runtime-terms/runtime-terms-consent.service.js.map +1 -0
  125. package/dist/cli/backend/src/services/runtime-terms/runtime-terms.store.d.ts +67 -0
  126. package/dist/cli/backend/src/services/runtime-terms/runtime-terms.store.d.ts.map +1 -0
  127. package/dist/cli/backend/src/services/runtime-terms/runtime-terms.store.js +78 -0
  128. package/dist/cli/backend/src/services/runtime-terms/runtime-terms.store.js.map +1 -0
  129. package/dist/cli/backend/src/types/decision.types.d.ts +192 -0
  130. package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -0
  131. package/dist/cli/backend/src/types/decision.types.js +13 -0
  132. package/dist/cli/backend/src/types/decision.types.js.map +1 -0
  133. package/dist/cli/cli/src/commands/harness-setup.js +2 -2
  134. package/frontend/dist/assets/{index-4271e95e.js → index-9c91de50.js} +138 -138
  135. package/frontend/dist/index.html +1 -1
  136. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-terms-consent.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms-consent.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAEhF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK1D,MAAM,CAAC,GAAG,uBAAuB,CAAC;AAkGlC,6BAA6B;AAC7B,MAAM,CAAC,MAAM,mBAAmB,GAA0C;IACzE,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa;IACtC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACtD,MAAM,KAAK,GAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IACjH,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC;SACjC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5F,OAAO,OAAO,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAC,GAAG,OAAO,CAAC;AACvD,CAAC;AAED,mBAAmB;AACnB,MAAM,OAAO,0BAA0B;IAWT;IAVZ,MAAM,CAAkB;IACxB,GAAG,CAAa;IACjC,2EAA2E;IAC1D,MAAM,GAAG,IAAI,GAAG,EAA8C,CAAC;IAChF,2CAA2C;IAC1B,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE5D;;OAEG;IACH,YAA6B,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC/F,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,OAAe;QACvB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,OAAe,EAAE,MAAmB;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QACnC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACxF,OAAO,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAuB,CAAC;IACpH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,CAAC,OAAe;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACtE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAgC,SAAS,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC;YACJ,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnE,MAAM,GAAG,MAAM,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClD,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,OAAO,KAAK,SAAS;oBAAE,MAAM;gBACjC,MAAM,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YAChG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9J,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;IACzF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,MAAmB;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACxF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,GAAG,EAAE,MAAM,KAAK,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACnH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,GAAG,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,IAAI,GAAG,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,MAAM,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;YAC5C,CAAC;QACF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAK,GAA0B,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,CAAgB;QAC/B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,CAAgB;QAC7B,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO;QACpD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAClF,OAAO;QACR,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;YAClF,IAAI,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YACjD,OAAO;QACR,CAAC;QACD,0CAA0C;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAe;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,SAAS;gBACb,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,KAAK,WAAW;gBACf,OAAO,iCAAiC,CAAC;YAC1C,KAAK,UAAU;gBACd,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACvF,KAAK,QAAQ;gBACZ,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,wBAAwB,GAAG,CAAC,MAAM,IAAI,gBAAgB,GAAG,CAAC;YAC/F;gBACC,OAAO,IAAI,CAAC;QACd,CAAC;IACF,CAAC;IAED,gEAAgE;IAChE,IAAI;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC;YACtE,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5C,OAAO,EAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SAC9H,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,+EAA+E;IAEvE,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,MAAmB;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,GAAG,EAAE,MAAM,KAAK,WAAW;YAAE,OAAO,GAAG,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,GAAG,EAAE,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,IAAI,IAAI,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAO,GAAG,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,IAAI,GAAG,EAAE,MAAM,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc;YAAE,OAAO,GAAG,CAAC;QAEnG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,UAA8B,CAAC;QACnC,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC;gBACJ,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC;oBACnC,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE;oBAChD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBACjF,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;oBAC1B,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC;oBACxD,SAAS,EAAE,eAAe;iBAC1B,CAAC,CAAC;gBACH,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpI,CAAC;QACF,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,OAAO;YACP,MAAM,EAAE,SAAS;YACjB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,UAAU,EAAE,MAAM,CAAC,MAAM;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAChG,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,OAAe,EAAE,MAAmB,EAAE,UAA8B,EAAE,GAAuC;QAC1H,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACnG,OAAO;QACR,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,kBAAkB,EAAE,UAAU,CAAC,CAAC;aAC3I,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC3I,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,UAA8B,EAAE,GAAuC;QAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,MAAM,GACX,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC5J,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACxH,MAAM,IAAI,CAAC,KAAK,CACf,UAAU,EACV,GAAG,IAAI,IAAI,OAAO,CAAC,KAAK,sCAAsC,OAAO,qCAAqC;YACzG,8CAA8C,OAAO,CAAC,KAAK,kCAAkC,CAC9F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,SAAkB,EAAE,UAA8B;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAE3G,IAAI,KAAuB,CAAC;QAC5B,IAAI,OAAO,GAAwB,IAAI,CAAC;QACxC,IAAI,CAAC;YACJ,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1C,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,OAAO,CAAC,KAAK,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACzL,CAAC;gBAAS,CAAC;YACV,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7K,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC;gBACT,OAAO;gBACP,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;gBAChC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW;gBAC7B,CAAC,CAAC,iCAAiC,OAAO,kCAAkC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,KAAK,CAAC,KAAK,GAAG;gBAC1I,CAAC,CAAC,wBAAwB,OAAO,kDAAkD,KAAK,CAAC,KAAK,GAAG,CAAC;YACnG,MAAM,IAAI,CAAC,KAAK,CACf,UAAU,EACV,GAAG,IAAI,cAAc,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,yCAAyC,OAAO,CAAC,KAAK,mBAAmB,CAC3H,CAAC;YACF,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACT,OAAO;YACP,MAAM,EAAE,UAAU;YAClB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC;SACjF,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,CACf,UAAU,EACV,KAAK,CAAC,eAAe;YACpB,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,OAAO,OAAO,2GAA2G;YAC3I,CAAC,CAAC,kCAAkC,OAAO,KAAK,OAAO,CAAC,KAAK,0BAA0B,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,sFAAsF,CAC9M,CAAC;QAEF,IAAI,KAAsB,CAAC;QAC3B,IAAI,CAAC;YACJ,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClH,OAAO;QACR,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CACf,UAAU,EACV,KAAK,CAAC,MAAM;YACX,CAAC,CAAC,0BAA0B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,wBAAwB;YAC1G,CAAC,CAAC,2BAA2B,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,iBAAiB,EAAE;gBACrH,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACtE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,UAA8B,EAAE,IAAY;QAC/D,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAClK,CAAC;IAEO,IAAI,CAAC,MAA6C;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACR,0BAA0B;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAED,8EAA8E;AAE9E,IAAI,QAAQ,GAAsC,IAAI,CAAC;AAEvD,4EAA4E;AAC5E,MAAM,UAAU,6BAA6B;IAC5C,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,6BAA6B,CAAC,OAA0C;IACvF,QAAQ,GAAG,OAAO,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,MAAmB;IAC5E,MAAM,GAAG,GAAG,QAAQ,CAAC;IACrB,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,KAAK,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Per-machine Terms consent state (`<CREWLY_HOME>/runtime-terms-consent.json`).
3
+ *
4
+ * One record per runtime. Writes are atomic (temp file + rename); an
5
+ * unreadable file reads as empty. specs/2026-10-01-runtime-terms-consent.md
6
+ *
7
+ * @module services/runtime-terms/runtime-terms.store
8
+ */
9
+ /**
10
+ * Where a runtime's Terms stand on this machine.
11
+ *
12
+ * - `pending`: the first-run Terms screen was seen; a card is waiting for the owner
13
+ * - `accepting`: the owner agreed; the harness is driving the screens
14
+ * - `accepted`: the screens were completed (or were already done)
15
+ * - `declined`: the owner chose Don't agree (or the deadline applied it)
16
+ * - `failed`: the harness stopped before (or after) Done because the screen did not match
17
+ */
18
+ export type RuntimeTermsStatus = 'pending' | 'accepting' | 'accepted' | 'declined' | 'failed';
19
+ /** One runtime's record. */
20
+ export interface RuntimeTermsRecord {
21
+ runtime: string;
22
+ status: RuntimeTermsStatus;
23
+ /** ISO time of the last change */
24
+ updatedAt: string;
25
+ /** Decision card of the current / last ask */
26
+ decisionId?: string;
27
+ /** Owner's choice for the data-sharing item, once agreed */
28
+ dataSharing?: boolean;
29
+ /** Why it is declined / failed (English, shown in Settings) */
30
+ reason?: string;
31
+ /** What found the Terms screen (launch, smoke_test, settings, probe) */
32
+ detectedBy?: string;
33
+ }
34
+ /** Reads and writes the records. */
35
+ export declare class RuntimeTermsStore {
36
+ private readonly file;
37
+ /**
38
+ * @param file - JSON file path
39
+ */
40
+ constructor(file: string);
41
+ /**
42
+ * Store in a Crewly home.
43
+ *
44
+ * @param crewlyHome - CREWLY_HOME
45
+ * @returns Store
46
+ */
47
+ static inHome(crewlyHome: string): RuntimeTermsStore;
48
+ /** @returns Every record, keyed by runtime */
49
+ all(): Record<string, RuntimeTermsRecord>;
50
+ /**
51
+ * One record.
52
+ *
53
+ * @param runtime - Runtime id
54
+ * @returns Record, or null
55
+ */
56
+ get(runtime: string): RuntimeTermsRecord | null;
57
+ /**
58
+ * Replace a record.
59
+ *
60
+ * @param record - Record
61
+ * @returns The record
62
+ */
63
+ set(record: RuntimeTermsRecord): RuntimeTermsRecord;
64
+ private read;
65
+ private write;
66
+ }
67
+ //# sourceMappingURL=runtime-terms.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-terms.store.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms.store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9F,4BAA4B;AAC5B,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,oCAAoC;AACpC,qBAAa,iBAAiB;IAIjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC;;OAEG;gBAC0B,IAAI,EAAE,MAAM;IAEzC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAIpD,8CAA8C;IAC9C,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAIzC;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAI/C;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB;IAOnD,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,KAAK;CAMb"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Per-machine Terms consent state (`<CREWLY_HOME>/runtime-terms-consent.json`).
3
+ *
4
+ * One record per runtime. Writes are atomic (temp file + rename); an
5
+ * unreadable file reads as empty. specs/2026-10-01-runtime-terms-consent.md
6
+ *
7
+ * @module services/runtime-terms/runtime-terms.store
8
+ */
9
+ import * as fs from 'fs';
10
+ import * as path from 'path';
11
+ import { RUNTIME_TERMS_CONSTANTS } from '../../constants.js';
12
+ const STATUSES = ['pending', 'accepting', 'accepted', 'declined', 'failed'];
13
+ /** Reads and writes the records. */
14
+ export class RuntimeTermsStore {
15
+ file;
16
+ /**
17
+ * @param file - JSON file path
18
+ */
19
+ constructor(file) {
20
+ this.file = file;
21
+ }
22
+ /**
23
+ * Store in a Crewly home.
24
+ *
25
+ * @param crewlyHome - CREWLY_HOME
26
+ * @returns Store
27
+ */
28
+ static inHome(crewlyHome) {
29
+ return new RuntimeTermsStore(path.join(crewlyHome, RUNTIME_TERMS_CONSTANTS.STORE_FILENAME));
30
+ }
31
+ /** @returns Every record, keyed by runtime */
32
+ all() {
33
+ return this.read().runtimes;
34
+ }
35
+ /**
36
+ * One record.
37
+ *
38
+ * @param runtime - Runtime id
39
+ * @returns Record, or null
40
+ */
41
+ get(runtime) {
42
+ return this.read().runtimes[runtime] ?? null;
43
+ }
44
+ /**
45
+ * Replace a record.
46
+ *
47
+ * @param record - Record
48
+ * @returns The record
49
+ */
50
+ set(record) {
51
+ const data = this.read();
52
+ data.runtimes[record.runtime] = record;
53
+ this.write(data);
54
+ return record;
55
+ }
56
+ read() {
57
+ try {
58
+ const raw = JSON.parse(fs.readFileSync(this.file, 'utf-8'));
59
+ const runtimes = {};
60
+ for (const [runtime, r] of Object.entries(raw.runtimes ?? {})) {
61
+ if (!r || !STATUSES.includes(r.status) || typeof r.updatedAt !== 'string')
62
+ continue;
63
+ runtimes[runtime] = { ...r, runtime };
64
+ }
65
+ return { version: 1, runtimes };
66
+ }
67
+ catch {
68
+ return { version: 1, runtimes: {} };
69
+ }
70
+ }
71
+ write(data) {
72
+ fs.mkdirSync(path.dirname(this.file), { recursive: true });
73
+ const tmp = `${this.file}.${process.pid}.tmp`;
74
+ fs.writeFileSync(tmp, JSON.stringify(data, null, 2));
75
+ fs.renameSync(tmp, this.file);
76
+ }
77
+ }
78
+ //# sourceMappingURL=runtime-terms.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-terms.store.js","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms.store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAmC7D,MAAM,QAAQ,GAAkC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAE3G,oCAAoC;AACpC,MAAM,OAAO,iBAAiB;IAIA;IAH7B;;OAEG;IACH,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,UAAkB;QAC/B,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,8CAA8C;IAC9C,GAAG;QACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAe;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,MAA0B;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,IAAI;QACX,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAuB,CAAC;YAClF,MAAM,QAAQ,GAAuC,EAAE,CAAC;YACxD,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;oBAAE,SAAS;gBACpF,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;YACvC,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,IAAe;QAC5B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;QAC9C,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACD"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Runtime Terms consent — the Antigravity CLI profile and the wiring with
3
+ * the real decision cards, PTY sessions and smoke test.
4
+ * specs/2026-10-01-runtime-terms-consent.md
5
+ *
6
+ * @module services/runtime-terms/runtime-terms.wiring
7
+ */
8
+ import { DecisionService } from '../decisions/decision.service.js';
9
+ import { RuntimeTermsConsentService, type RuntimeTermsProfile, type TermsCardText } from './runtime-terms-consent.service.js';
10
+ /**
11
+ * The card for Antigravity CLI's Terms.
12
+ *
13
+ * @param machine - This machine's name
14
+ * @returns Title, question and body sections (English, Slack mrkdwn)
15
+ */
16
+ export declare function antigravityTermsCard(machine: string): TermsCardText;
17
+ /** Antigravity CLI's profile. */
18
+ export declare const ANTIGRAVITY_TERMS_PROFILE: RuntimeTermsProfile;
19
+ /**
20
+ * Name of the harness's dedicated session for a runtime.
21
+ *
22
+ * @param runtime - Runtime id
23
+ * @returns Session name
24
+ */
25
+ export declare function termsSessionName(runtime: string): string;
26
+ /** What the composition root provides. */
27
+ export interface RuntimeTermsWiringInput {
28
+ crewlyHome: string;
29
+ decisions: DecisionService;
30
+ machineName: () => string;
31
+ }
32
+ /**
33
+ * Build the service, install it and subscribe it to decision cards.
34
+ *
35
+ * @param input - Composition-root hooks
36
+ * @returns The service
37
+ */
38
+ export declare function startRuntimeTerms(input: RuntimeTermsWiringInput): RuntimeTermsConsentService;
39
+ //# sourceMappingURL=runtime-terms.wiring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-terms.wiring.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms.wiring.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EACN,0BAA0B,EAE1B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAElB,MAAM,oCAAoC,CAAC;AAK5C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAYnE;AAED,iCAAiC;AACjC,eAAO,MAAM,yBAAyB,EAAE,mBAoBvC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AA6DD,0CAA0C;AAC1C,MAAM,WAAW,uBAAuB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,WAAW,EAAE,MAAM,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,0BAA0B,CAuB5F"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Runtime Terms consent — the Antigravity CLI profile and the wiring with
3
+ * the real decision cards, PTY sessions and smoke test.
4
+ * specs/2026-10-01-runtime-terms-consent.md
5
+ *
6
+ * @module services/runtime-terms/runtime-terms.wiring
7
+ */
8
+ import * as fs from 'fs';
9
+ import * as path from 'path';
10
+ import { ANTIGRAVITY_CONSTANTS, RUNTIME_TERMS_CONSTANTS, RUNTIME_TYPES } from '../../constants.js';
11
+ import { LoggerService } from '../core/logger.service.js';
12
+ import { DecisionService } from '../decisions/decision.service.js';
13
+ import { driveAntigravityTerms } from './antigravity-terms-driver.js';
14
+ import { parseAntigravityTermsScreen } from './antigravity-terms-screens.js';
15
+ import { RuntimeTermsConsentService, setRuntimeTermsConsentService, } from './runtime-terms-consent.service.js';
16
+ import { RuntimeTermsStore } from './runtime-terms.store.js';
17
+ const A = RUNTIME_TERMS_CONSTANTS.ANTIGRAVITY;
18
+ /**
19
+ * The card for Antigravity CLI's Terms.
20
+ *
21
+ * @param machine - This machine's name
22
+ * @returns Title, question and body sections (English, Slack mrkdwn)
23
+ */
24
+ export function antigravityTermsCard(machine) {
25
+ return {
26
+ title: `Antigravity CLI · Terms of Service (${machine})`,
27
+ question: `Antigravity CLI on ${machine} needs Google's Terms of Service accepted once before it can run. Do you agree?`,
28
+ body: [
29
+ `*What you'd agree to:* Google's Antigravity CLI Terms of Service and the Google Privacy Policy. The screen also warns: ${A.SECURITY_NOTE}`,
30
+ `*Links:* <${A.TERMS_URL}|Terms of Service> · <${A.PRIVACY_URL}|Privacy Policy>`,
31
+ `*A separate item, pre-checked on the screen:*\n> ${A.DATA_ITEM_FULL}\n` +
32
+ `*${RUNTIME_TERMS_CONSTANTS.OPTIONS.AGREE_NO_DATA}* unchecks it. *${RUNTIME_TERMS_CONSTANTS.OPTIONS.AGREE_SHARE_DATA}* leaves it checked. ` +
33
+ `*${RUNTIME_TERMS_CONSTANTS.OPTIONS.DECLINE}* accepts nothing, and Crewly stops using Antigravity CLI on this machine.`,
34
+ ],
35
+ };
36
+ }
37
+ /** Antigravity CLI's profile. */
38
+ export const ANTIGRAVITY_TERMS_PROFILE = {
39
+ runtime: RUNTIME_TYPES.ANTIGRAVITY_CLI,
40
+ label: 'Antigravity CLI',
41
+ info: {
42
+ summary: `Google's Antigravity CLI Terms of Service and the Google Privacy Policy. The screen also warns: ${A.SECURITY_NOTE}`,
43
+ dataItem: A.DATA_ITEM_FULL,
44
+ links: [
45
+ { label: 'Terms of Service', url: A.TERMS_URL },
46
+ { label: 'Privacy Policy', url: A.PRIVACY_URL },
47
+ ],
48
+ },
49
+ card: antigravityTermsCard,
50
+ drive: (term, shareData) => driveAntigravityTerms(term, { shareData }),
51
+ classify: (screen) => {
52
+ const kind = parseAntigravityTermsScreen(screen).kind;
53
+ if (kind === 'terms' || kind === 'color_scheme')
54
+ return 'terms';
55
+ if (kind === 'main_prompt' || kind === 'trust')
56
+ return 'ready';
57
+ if (kind === 'login')
58
+ return 'blocked';
59
+ return 'unknown';
60
+ },
61
+ };
62
+ /**
63
+ * Name of the harness's dedicated session for a runtime.
64
+ *
65
+ * @param runtime - Runtime id
66
+ * @returns Session name
67
+ */
68
+ export function termsSessionName(runtime) {
69
+ return `${RUNTIME_TERMS_CONSTANTS.SESSION_PREFIX}${runtime}`;
70
+ }
71
+ /**
72
+ * Launch Antigravity CLI in a dedicated PTY session, the way agents' PTYs
73
+ * are run: the session backend, the Gemini API key provider set first
74
+ * (never an account login), the key in the spawn environment.
75
+ *
76
+ * @param crewlyHome - CREWLY_HOME (scratch folder for the session)
77
+ * @returns The session
78
+ */
79
+ async function launchAntigravity(crewlyHome) {
80
+ const { getSessionBackend, createSessionCommandHelper } = await import('../session/index.js');
81
+ const { AntigravityRuntimeService, resolveAntigravityApiKey } = await import('../agent/antigravity-runtime.service.js');
82
+ const { getHarnessCredentialsStore } = await import('../harness/harness-credentials.store.js');
83
+ const helper = createSessionCommandHelper(await getSessionBackend());
84
+ const name = termsSessionName(RUNTIME_TYPES.ANTIGRAVITY_CLI);
85
+ const workDir = path.join(crewlyHome, 'runtime-terms', RUNTIME_TYPES.ANTIGRAVITY_CLI);
86
+ fs.mkdirSync(workDir, { recursive: true });
87
+ // Same pre-launch guard as an agent: a key, the Gemini provider, the folder trusted.
88
+ await new AntigravityRuntimeService(helper, workDir).prepareLaunch(workDir);
89
+ const key = await resolveAntigravityApiKey();
90
+ const env = {
91
+ ...getHarnessCredentialsStore().harnessEnvForAgents(process.env, RUNTIME_TYPES.ANTIGRAVITY_CLI),
92
+ ...(key ? { [ANTIGRAVITY_CONSTANTS.API_KEY_ENV]: key } : {}),
93
+ };
94
+ if (helper.sessionExists(name))
95
+ await helper.killSession(name);
96
+ await helper.createSession(name, workDir, {
97
+ command: '/bin/sh',
98
+ args: ['-c', `exec ${ANTIGRAVITY_CONSTANTS.LAUNCH_COMMAND}`],
99
+ env,
100
+ cols: RUNTIME_TERMS_CONSTANTS.COLS,
101
+ rows: RUNTIME_TERMS_CONSTANTS.ROWS,
102
+ });
103
+ return {
104
+ terminal: {
105
+ write: (data) => helper.writeRaw(name, data),
106
+ capture: () => helper.capturePane(name, RUNTIME_TERMS_CONSTANTS.ROWS * 2),
107
+ },
108
+ close: async () => {
109
+ if (!helper.sessionExists(name))
110
+ return;
111
+ // Leave agy (Ctrl+C twice), then kill the session.
112
+ await helper.sendCtrlC(name).catch(() => undefined);
113
+ await helper.sendCtrlC(name).catch(() => undefined);
114
+ await helper.killSession(name).catch(() => undefined);
115
+ },
116
+ };
117
+ }
118
+ /**
119
+ * Kill a runtime's dedicated session if it is running.
120
+ *
121
+ * @param runtime - Runtime id
122
+ */
123
+ async function closeTermsSession(runtime) {
124
+ const { getSessionBackend } = await import('../session/index.js');
125
+ const backend = await getSessionBackend();
126
+ const name = termsSessionName(runtime);
127
+ if (backend.sessionExists(name))
128
+ await backend.killSession(name);
129
+ }
130
+ /**
131
+ * Build the service, install it and subscribe it to decision cards.
132
+ *
133
+ * @param input - Composition-root hooks
134
+ * @returns The service
135
+ */
136
+ export function startRuntimeTerms(input) {
137
+ const service = new RuntimeTermsConsentService({
138
+ store: RuntimeTermsStore.inHome(input.crewlyHome),
139
+ decisions: () => input.decisions,
140
+ profiles: { [ANTIGRAVITY_TERMS_PROFILE.runtime]: ANTIGRAVITY_TERMS_PROFILE },
141
+ launch: async (runtime) => {
142
+ if (runtime !== RUNTIME_TYPES.ANTIGRAVITY_CLI)
143
+ throw new Error(`No Terms flow for ${runtime}`);
144
+ return launchAntigravity(input.crewlyHome);
145
+ },
146
+ closeSession: closeTermsSession,
147
+ runSmokeTest: async (runtime) => {
148
+ const { getRuntimeSmokeTestService } = await import('../../controllers/system/runtime-fallback.controller.js');
149
+ return getRuntimeSmokeTestService().start(runtime).done;
150
+ },
151
+ machineName: input.machineName,
152
+ onChange: () => {
153
+ void import('../runtime-fallback/runtime-fallback.service.js').then((m) => m.getRuntimeFallbackService()?.invalidateAvailability()).catch(() => undefined);
154
+ },
155
+ logger: LoggerService.getInstance().createComponentLogger('RuntimeTerms'),
156
+ });
157
+ DecisionService.registerKindHandler('runtime_terms', service);
158
+ setRuntimeTermsConsentService(service);
159
+ return service;
160
+ }
161
+ //# sourceMappingURL=runtime-terms.wiring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-terms.wiring.js","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms.wiring.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,31 @@
10
10
  * @module types/decision.types
11
11
  */
12
12
  /** Sensitive asks are never auto-applied at the deadline. */
13
- export type DecisionSensitiveKind = 'email' | 'publish' | 'deploy' | 'spend' | 'browser_action';
13
+ export type DecisionSensitiveKind = 'email' | 'publish' | 'deploy' | 'spend' | 'browser_action' | 'runtime_terms';
14
14
  /**
15
- * Decisions Crewly asks on an agent's behalf (not through ask-owner). The
16
- * kind's handler (see `DecisionService.registerKindHandler`) acts on the
17
- * answer and writes the note the agent gets.
15
+ * Decisions Crewly asks itself (not through ask-owner). The kind's handler
16
+ * (see `DecisionService.registerKindHandler`) acts on the answer and returns
17
+ * the note the asking agent gets (none for harness-owned decisions).
18
+ *
19
+ * - `browser_action`: a held browser action, asked on an agent's behalf
20
+ * - `runtime_terms`: a runtime's Terms of Service, asked by the harness
21
+ * (specs/2026-10-01-runtime-terms-consent.md)
22
+ */
23
+ export type DecisionKind = 'browser_action' | 'runtime_terms';
24
+ /**
25
+ * A decision the harness itself asks (not an agent): posted from this
26
+ * machine's orc bot in the owner's DM, handled by its kind's handler, never
27
+ * delivered to an agent. specs/2026-10-01-runtime-terms-consent.md
18
28
  */
19
- export type DecisionKind = 'browser_action';
29
+ export interface DecisionSystemRef {
30
+ /** Subject within the decision's kind (the runtime id) */
31
+ key: string;
32
+ /**
33
+ * The default is the declining option, so it IS applied at the deadline
34
+ * even when the decision is sensitive (declining is always safe).
35
+ */
36
+ defaultIsDecline?: boolean;
37
+ }
20
38
  /** The held browser action a `browser_action` decision is about. */
21
39
  export interface BrowserActionSubject {
22
40
  /** Agent whose action is held */
@@ -102,6 +120,12 @@ export interface OwnerDecision {
102
120
  teamId?: string;
103
121
  /** Work item the asker was on when it asked */
104
122
  workItemId?: string;
123
+ /** Harness-owned decision (owner DM, no agent); set together with `kind` */
124
+ system?: DecisionSystemRef;
125
+ /** Card header instead of "Decision D-n" (system decisions) */
126
+ title?: string;
127
+ /** Extra mrkdwn sections shown under the question (system decisions) */
128
+ body?: string[];
105
129
  status: DecisionStatus;
106
130
  card?: DecisionCardRef;
107
131
  /** Why the card could not be posted (shown in the dashboard; retried on the next tick) */
@@ -1 +1 @@
1
- {"version":3,"file":"decision.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/decision.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEhG;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C,oEAAoE;AACpE,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+BAA+B;AAC/B,MAAM,MAAM,cAAc;AACxB,2DAA2D;AACzD,MAAM;AACR,qEAAqE;GACnE,UAAU;AACZ,sDAAsD;GACpD,WAAW;AACb,gGAAgG;GAC9F,QAAQ;AACV,2DAA2D;GACzD,WAAW;AACb,4FAA4F;GAC1F,SAAS,CAAC;AAEd,6BAA6B;AAC7B,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAE3F,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,sEAAsE;IACtE,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,sDAAsD;IACtD,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,2GAA2G;IAC3G,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrG,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,uBAAuB;AACvB,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,8BAA8B;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,qEAAqE;IACrE,CAAC,EAAE,MAAM,CAAC;CACX;AAED,kFAAkF;AAClF,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"decision.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/decision.types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  {
2
- "commit": "5e8c77fc8ba3218d89c1b6a5f052520c8f79a686",
3
- "builtAt": "2026-10-01T22:56:10.507Z"
2
+ "commit": "a6e01fe3807094ad99fd9547196749de82574c71",
3
+ "builtAt": "2026-10-01T23:13:49.296Z"
4
4
  }
@@ -2863,11 +2863,76 @@ export declare const ANTIGRAVITY_CONSTANTS: {
2863
2863
  readonly NO_API_KEY: "Antigravity CLI runs in Crewly only with a Gemini API key, and none is saved. Add one in Settings → Runtimes → Antigravity CLI (or run `crewly login antigravity`), then start the agent again. Crewly never uses a Google account login for Antigravity.";
2864
2864
  readonly KEY_NOT_IN_SESSION: "Antigravity CLI started without GEMINI_API_KEY in its environment, so it refused to run (Crewly never lets it fall back to a Google account). Save the Gemini API key in Settings → Runtimes → Antigravity CLI (or run `crewly login antigravity`) — a key saved there is given to every Antigravity session at start — then start the agent again.";
2865
2865
  readonly ACCOUNT_LOGIN: "Antigravity CLI asked for a Google account sign-in. Crewly does not use Antigravity account (OAuth) login — Google does not allow third-party tools to — so the agent was stopped. Check that a Gemini API key is saved in Settings → Runtimes, then start the agent again.";
2866
- readonly FIRST_RUN: "Antigravity CLI has not been set up on this machine yet: it shows its first-run screens (colour scheme, Google's Terms of Service and data use), which only you can accept. In a terminal run `GEMINI_API_KEY=<your key> agy`, finish those screens, type /exit, then start the agent again.";
2866
+ readonly FIRST_RUN: "Antigravity CLI has not been set up on this machine yet: it shows its first-run screens (colour scheme, Google's Terms of Service and data use), which only you can accept. Crewly has sent you a card in Slack (a DM from this machine's Crewly Orc) to agree or not; you can also answer in Settings → Runtimes → Antigravity CLI → Accept terms…. Then start the agent again.";
2867
2867
  readonly SETTINGS_UNREADABLE: "Crewly could not switch Antigravity CLI to your Gemini API key because ~/.gemini/antigravity-cli/settings.json is not valid JSON. Fix or remove that file, then start the agent again.";
2868
2868
  readonly SETTINGS_WRITE_FAILED: "Crewly could not write ~/.gemini/antigravity-cli/settings.json to switch Antigravity CLI to your Gemini API key, so the agent was not started (it would otherwise fall back to a Google account login). Check that the file and its folder are writable, then start the agent again.";
2869
2869
  };
2870
2870
  };
2871
+ /**
2872
+ * Owner consent for a runtime's first-run Terms of Service, asked with a
2873
+ * Slack decision card; the harness never accepts third-party terms on its
2874
+ * own. specs/2026-10-01-runtime-terms-consent.md
2875
+ */
2876
+ export declare const RUNTIME_TERMS_CONSTANTS: {
2877
+ /** Per-machine consent state under CREWLY_HOME */
2878
+ readonly STORE_FILENAME: "runtime-terms-consent.json";
2879
+ /** How long the owner has to answer; then the default (Don't agree) applies */
2880
+ readonly DEADLINE_MS: number;
2881
+ /** Card buttons, in order (the third is the default) */
2882
+ readonly OPTIONS: {
2883
+ readonly AGREE_NO_DATA: "Agree, no data sharing";
2884
+ readonly AGREE_SHARE_DATA: "Agree + share data";
2885
+ readonly DECLINE: "Don't agree";
2886
+ };
2887
+ /** Name prefix of the dedicated PTY session the harness drives */
2888
+ readonly SESSION_PREFIX: "crewly-terms-";
2889
+ /** Size of that session (wide enough that the screens do not wrap) */
2890
+ readonly COLS: 120;
2891
+ readonly ROWS: 40;
2892
+ /** Driving the first-run screens */
2893
+ readonly DRIVE: {
2894
+ /** Screen read cadence */
2895
+ readonly POLL_MS: 300;
2896
+ /** After a key: how long to wait for the screen to change */
2897
+ readonly KEY_SETTLE_MS: 3000;
2898
+ /** Waiting for the first screen after launch */
2899
+ readonly LAUNCH_TIMEOUT_MS: 60000;
2900
+ /** The same unrecognised screen for this long = abort */
2901
+ readonly UNKNOWN_SCREEN_TIMEOUT_MS: 20000;
2902
+ /** After Done: waiting for the main prompt */
2903
+ readonly PROMPT_TIMEOUT_MS: 90000;
2904
+ /** Upper bound on keys sent (a loop that does not converge aborts) */
2905
+ readonly MAX_KEYS: 60;
2906
+ /** Screen lines quoted in the card thread on an abort */
2907
+ readonly SCREEN_LINES_IN_THREAD: 40;
2908
+ };
2909
+ /** Antigravity CLI (agy 1.2.14) first-run screens, matched as text */
2910
+ readonly ANTIGRAVITY: {
2911
+ readonly WELCOME: "Welcome to Antigravity CLI!";
2912
+ readonly COLOR_SCHEME_TITLE: "Choose your color scheme:";
2913
+ /** Schemes in screen order; the first is the default Crewly keeps */
2914
+ readonly COLOR_SCHEMES: readonly string[];
2915
+ readonly DEFAULT_COLOR_SCHEME: "terminal";
2916
+ readonly MIGRATION_TITLE: "Migration options:";
2917
+ readonly IMPORT_ITEM: "Import extensions from Gemini CLI";
2918
+ readonly NEXT_BUTTON: "Next";
2919
+ readonly TERMS_TITLE: "Terms of Service & Data Use";
2920
+ /** Start of the pre-checked data-sharing item */
2921
+ readonly DATA_ITEM: "Yes, I agree to help improve Antigravity CLI";
2922
+ readonly DATA_ITEM_FULL: "Yes, I agree to help improve Antigravity CLI by allowing Google to collect and use my Interactions data, subject to the Google Antigravity CLI Terms of Service and Google Privacy Policy. I understand I can choose to opt out later whenever I want via my settings.";
2923
+ readonly PREVIOUS_BUTTON: "Previous";
2924
+ readonly DONE_BUTTON: "Done";
2925
+ readonly TERMS_URL: "https://antigravity.google/terms";
2926
+ readonly PRIVACY_URL: "https://policies.google.com/privacy";
2927
+ readonly SECURITY_NOTE: "AI coding agents can run code on their own, leak data, follow injected prompts and pull in compromised packages, so their actions should be watched.";
2928
+ };
2929
+ readonly MESSAGES: {
2930
+ readonly DECLINED_BY_OWNER: "You chose Don't agree";
2931
+ readonly DECLINED_BY_DEADLINE: "No answer within 24 h, so the default (Don't agree) applied";
2932
+ readonly PENDING: "Waiting for you to accept its Terms of Service (Slack card, or Settings → Runtimes → Accept terms…)";
2933
+ readonly DECLINED_SUFFIX: "Terms not accepted";
2934
+ };
2935
+ };
2871
2936
  /**
2872
2937
  * Timing for delivering the registration instruction to a freshly booted
2873
2938
  * runtime and re-delivering it once when no registration arrives.