youmd 0.11.0 → 0.13.0

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 (216) hide show
  1. package/dist/commands/brain.d.ts.map +1 -1
  2. package/dist/commands/brain.js +77 -28
  3. package/dist/commands/brain.js.map +1 -1
  4. package/dist/commands/chat.d.ts.map +1 -1
  5. package/dist/commands/chat.js +6 -1
  6. package/dist/commands/chat.js.map +1 -1
  7. package/dist/commands/connect.d.ts +113 -0
  8. package/dist/commands/connect.d.ts.map +1 -0
  9. package/dist/commands/connect.js +849 -0
  10. package/dist/commands/connect.js.map +1 -0
  11. package/dist/commands/conversations.d.ts +5 -0
  12. package/dist/commands/conversations.d.ts.map +1 -0
  13. package/dist/commands/conversations.js +116 -0
  14. package/dist/commands/conversations.js.map +1 -0
  15. package/dist/commands/founder.d.ts +16 -0
  16. package/dist/commands/founder.d.ts.map +1 -0
  17. package/dist/commands/founder.js +446 -0
  18. package/dist/commands/founder.js.map +1 -0
  19. package/dist/commands/handoff.d.ts +5 -0
  20. package/dist/commands/handoff.d.ts.map +1 -0
  21. package/dist/commands/handoff.js +432 -0
  22. package/dist/commands/handoff.js.map +1 -0
  23. package/dist/commands/orchestrate.d.ts +15 -0
  24. package/dist/commands/orchestrate.d.ts.map +1 -1
  25. package/dist/commands/orchestrate.js +294 -0
  26. package/dist/commands/orchestrate.js.map +1 -1
  27. package/dist/commands/project.d.ts.map +1 -1
  28. package/dist/commands/project.js +8 -1
  29. package/dist/commands/project.js.map +1 -1
  30. package/dist/commands/reconcile.d.ts +15 -0
  31. package/dist/commands/reconcile.d.ts.map +1 -0
  32. package/dist/commands/reconcile.js +260 -0
  33. package/dist/commands/reconcile.js.map +1 -0
  34. package/dist/commands/session.d.ts +28 -0
  35. package/dist/commands/session.d.ts.map +1 -0
  36. package/dist/commands/session.js +895 -0
  37. package/dist/commands/session.js.map +1 -0
  38. package/dist/commands/sync.d.ts.map +1 -1
  39. package/dist/commands/sync.js +11 -0
  40. package/dist/commands/sync.js.map +1 -1
  41. package/dist/commands/tasks.d.ts +20 -0
  42. package/dist/commands/tasks.d.ts.map +1 -1
  43. package/dist/commands/tasks.js +90 -19
  44. package/dist/commands/tasks.js.map +1 -1
  45. package/dist/generated/capability-registry.d.ts +444 -76
  46. package/dist/generated/capability-registry.d.ts.map +1 -1
  47. package/dist/generated/capability-registry.js +497 -76
  48. package/dist/generated/capability-registry.js.map +1 -1
  49. package/dist/index.js +122 -2
  50. package/dist/index.js.map +1 -1
  51. package/dist/lib/api.d.ts +393 -2
  52. package/dist/lib/api.d.ts.map +1 -1
  53. package/dist/lib/api.js +195 -2
  54. package/dist/lib/api.js.map +1 -1
  55. package/dist/lib/brain/adapters.d.ts +22 -1
  56. package/dist/lib/brain/adapters.d.ts.map +1 -1
  57. package/dist/lib/brain/adapters.js +184 -2
  58. package/dist/lib/brain/adapters.js.map +1 -1
  59. package/dist/lib/brain/approval-key-trust.d.ts +29 -0
  60. package/dist/lib/brain/approval-key-trust.d.ts.map +1 -0
  61. package/dist/lib/brain/approval-key-trust.js +139 -0
  62. package/dist/lib/brain/approval-key-trust.js.map +1 -0
  63. package/dist/lib/brain/content.d.ts +10 -3
  64. package/dist/lib/brain/content.d.ts.map +1 -1
  65. package/dist/lib/brain/content.js +133 -30
  66. package/dist/lib/brain/content.js.map +1 -1
  67. package/dist/lib/brain/descriptor-validator.d.ts +11 -0
  68. package/dist/lib/brain/descriptor-validator.d.ts.map +1 -0
  69. package/dist/lib/brain/descriptor-validator.js +185 -0
  70. package/dist/lib/brain/descriptor-validator.js.map +1 -0
  71. package/dist/lib/brain/discovery.d.ts.map +1 -1
  72. package/dist/lib/brain/discovery.js +77 -50
  73. package/dist/lib/brain/discovery.js.map +1 -1
  74. package/dist/lib/brain/index.d.ts +2 -0
  75. package/dist/lib/brain/index.d.ts.map +1 -1
  76. package/dist/lib/brain/index.js +14 -4
  77. package/dist/lib/brain/index.js.map +1 -1
  78. package/dist/lib/brain/proposal.d.ts +53 -5
  79. package/dist/lib/brain/proposal.d.ts.map +1 -1
  80. package/dist/lib/brain/proposal.js +330 -94
  81. package/dist/lib/brain/proposal.js.map +1 -1
  82. package/dist/lib/brain/safe-file.d.ts +25 -1
  83. package/dist/lib/brain/safe-file.d.ts.map +1 -1
  84. package/dist/lib/brain/safe-file.js +250 -30
  85. package/dist/lib/brain/safe-file.js.map +1 -1
  86. package/dist/lib/brain/safety.d.ts.map +1 -1
  87. package/dist/lib/brain/safety.js +5 -0
  88. package/dist/lib/brain/safety.js.map +1 -1
  89. package/dist/lib/brain/staged-apply.d.ts +2 -1
  90. package/dist/lib/brain/staged-apply.d.ts.map +1 -1
  91. package/dist/lib/brain/staged-apply.js +6 -3
  92. package/dist/lib/brain/staged-apply.js.map +1 -1
  93. package/dist/lib/brain/store.d.ts +3 -0
  94. package/dist/lib/brain/store.d.ts.map +1 -1
  95. package/dist/lib/brain/store.js +68 -0
  96. package/dist/lib/brain/store.js.map +1 -1
  97. package/dist/lib/brain/sync.d.ts +48 -0
  98. package/dist/lib/brain/sync.d.ts.map +1 -1
  99. package/dist/lib/brain/sync.js +102 -0
  100. package/dist/lib/brain/sync.js.map +1 -1
  101. package/dist/lib/brain/types.d.ts +23 -0
  102. package/dist/lib/brain/types.d.ts.map +1 -1
  103. package/dist/lib/brain/vision.d.ts +35 -0
  104. package/dist/lib/brain/vision.d.ts.map +1 -0
  105. package/dist/lib/brain/vision.js +65 -0
  106. package/dist/lib/brain/vision.js.map +1 -0
  107. package/dist/lib/businessScaffold.d.ts +42 -0
  108. package/dist/lib/businessScaffold.d.ts.map +1 -0
  109. package/dist/lib/businessScaffold.js +150 -0
  110. package/dist/lib/businessScaffold.js.map +1 -0
  111. package/dist/lib/codex-device-auth.d.ts +94 -0
  112. package/dist/lib/codex-device-auth.d.ts.map +1 -0
  113. package/dist/lib/codex-device-auth.js +295 -0
  114. package/dist/lib/codex-device-auth.js.map +1 -0
  115. package/dist/lib/codex-job-control-plane.d.ts +67 -0
  116. package/dist/lib/codex-job-control-plane.d.ts.map +1 -0
  117. package/dist/lib/codex-job-control-plane.js +105 -0
  118. package/dist/lib/codex-job-control-plane.js.map +1 -0
  119. package/dist/lib/codex-readonly-job.d.ts +76 -0
  120. package/dist/lib/codex-readonly-job.d.ts.map +1 -0
  121. package/dist/lib/codex-readonly-job.js +196 -0
  122. package/dist/lib/codex-readonly-job.js.map +1 -0
  123. package/dist/lib/config.d.ts +7 -0
  124. package/dist/lib/config.d.ts.map +1 -1
  125. package/dist/lib/config.js +3 -0
  126. package/dist/lib/config.js.map +1 -1
  127. package/dist/lib/connected-access-native.d.ts +111 -0
  128. package/dist/lib/connected-access-native.d.ts.map +1 -0
  129. package/dist/lib/connected-access-native.js +403 -0
  130. package/dist/lib/connected-access-native.js.map +1 -0
  131. package/dist/lib/connected-context.d.ts +82 -0
  132. package/dist/lib/connected-context.d.ts.map +1 -0
  133. package/dist/lib/connected-context.js +610 -0
  134. package/dist/lib/connected-context.js.map +1 -0
  135. package/dist/lib/goalRegistryFile.d.ts +169 -0
  136. package/dist/lib/goalRegistryFile.d.ts.map +1 -0
  137. package/dist/lib/goalRegistryFile.js +518 -0
  138. package/dist/lib/goalRegistryFile.js.map +1 -0
  139. package/dist/lib/goalsFile.d.ts +101 -0
  140. package/dist/lib/goalsFile.d.ts.map +1 -0
  141. package/dist/lib/goalsFile.js +413 -0
  142. package/dist/lib/goalsFile.js.map +1 -0
  143. package/dist/lib/handoff.d.ts +170 -0
  144. package/dist/lib/handoff.d.ts.map +1 -0
  145. package/dist/lib/handoff.js +316 -0
  146. package/dist/lib/handoff.js.map +1 -0
  147. package/dist/lib/machine-identity.d.ts +2 -0
  148. package/dist/lib/machine-identity.d.ts.map +1 -1
  149. package/dist/lib/machine-identity.js +13 -6
  150. package/dist/lib/machine-identity.js.map +1 -1
  151. package/dist/lib/onboarding.d.ts +4 -1
  152. package/dist/lib/onboarding.d.ts.map +1 -1
  153. package/dist/lib/onboarding.js +11 -3
  154. package/dist/lib/onboarding.js.map +1 -1
  155. package/dist/lib/orchestrator/loop.d.ts.map +1 -1
  156. package/dist/lib/orchestrator/loop.js +8 -3
  157. package/dist/lib/orchestrator/loop.js.map +1 -1
  158. package/dist/lib/orchestrator/run-journal.d.ts +68 -3
  159. package/dist/lib/orchestrator/run-journal.d.ts.map +1 -1
  160. package/dist/lib/orchestrator/run-journal.js +391 -37
  161. package/dist/lib/orchestrator/run-journal.js.map +1 -1
  162. package/dist/lib/orchestrator/supervisor.d.ts +11 -0
  163. package/dist/lib/orchestrator/supervisor.d.ts.map +1 -1
  164. package/dist/lib/orchestrator/supervisor.js +304 -116
  165. package/dist/lib/orchestrator/supervisor.js.map +1 -1
  166. package/dist/lib/orchestrator/tools.d.ts.map +1 -1
  167. package/dist/lib/orchestrator/tools.js +76 -3
  168. package/dist/lib/orchestrator/tools.js.map +1 -1
  169. package/dist/lib/redact.d.ts.map +1 -1
  170. package/dist/lib/redact.js +40 -7
  171. package/dist/lib/redact.js.map +1 -1
  172. package/dist/lib/remote-agent-event.d.ts +19 -0
  173. package/dist/lib/remote-agent-event.d.ts.map +1 -0
  174. package/dist/lib/remote-agent-event.js +85 -0
  175. package/dist/lib/remote-agent-event.js.map +1 -0
  176. package/dist/lib/remote-command.d.ts.map +1 -1
  177. package/dist/lib/remote-command.js +19 -0
  178. package/dist/lib/remote-command.js.map +1 -1
  179. package/dist/lib/remote-executor.d.ts +7 -1
  180. package/dist/lib/remote-executor.d.ts.map +1 -1
  181. package/dist/lib/remote-executor.js +391 -0
  182. package/dist/lib/remote-executor.js.map +1 -1
  183. package/dist/lib/sessionCheckpoint.d.ts +104 -0
  184. package/dist/lib/sessionCheckpoint.d.ts.map +1 -0
  185. package/dist/lib/sessionCheckpoint.js +191 -0
  186. package/dist/lib/sessionCheckpoint.js.map +1 -0
  187. package/dist/lib/sessionHandoff.d.ts +47 -0
  188. package/dist/lib/sessionHandoff.d.ts.map +1 -0
  189. package/dist/lib/sessionHandoff.js +305 -0
  190. package/dist/lib/sessionHandoff.js.map +1 -0
  191. package/dist/lib/stream.d.ts +3 -1
  192. package/dist/lib/stream.d.ts.map +1 -1
  193. package/dist/lib/stream.js +8 -3
  194. package/dist/lib/stream.js.map +1 -1
  195. package/dist/lib/taskLedgerProposal.d.ts +2 -2
  196. package/dist/lib/taskLedgerProposal.d.ts.map +1 -1
  197. package/dist/lib/taskLedgerProposal.js +16 -8
  198. package/dist/lib/taskLedgerProposal.js.map +1 -1
  199. package/dist/lib/tasksFile.d.ts +14 -2
  200. package/dist/lib/tasksFile.d.ts.map +1 -1
  201. package/dist/lib/tasksFile.js +39 -5
  202. package/dist/lib/tasksFile.js.map +1 -1
  203. package/dist/mcp/registry.d.ts +4 -1
  204. package/dist/mcp/registry.d.ts.map +1 -1
  205. package/dist/mcp/registry.js +230 -1
  206. package/dist/mcp/registry.js.map +1 -1
  207. package/dist/mcp/server.d.ts +1 -1
  208. package/dist/mcp/server.d.ts.map +1 -1
  209. package/dist/mcp/server.js +18 -9
  210. package/dist/mcp/server.js.map +1 -1
  211. package/native/prebuilds/darwin-universal/youmd_safe_open.node +0 -0
  212. package/package.json +4 -2
  213. package/scripts/env-vault/README.md +16 -20
  214. package/scripts/env-vault/backup.sh +22 -57
  215. package/scripts/env-vault/restore.sh +18 -96
  216. package/scripts/smoke-safe-open-node.cjs +50 -0
@@ -1 +1 @@
1
- {"version":3,"file":"remote-command.js","sourceRoot":"","sources":["../../src/lib/remote-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-command.js","sourceRoot":"","sources":["../../src/lib/remote-command.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EH,8CAMC;AAoBD,oDAcC;AAWD,sDA6EC;AAiDD,sCAmDC;AA8BD,kDAyBC;AAED,0EAsBC;AAQD,8EAiCC;AA+CD,kDAwJC;AAGD,8CAIC;AAvnBD,uCAAyB;AACzB,+BAUe;AACf,6CAAiD;AACjD,uDAK2B;AAC3B,6DAAsF;AAEzE,QAAA,sBAAsB,GAAG,gBAAgB,CAAC;AAC1C,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAE7D,6DAA6D;AAChD,QAAA,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAyBpD,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,eAAe,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,KAAK,EAAE,CAAC;QACV,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,iBAAiB,CAAC,UAAqC,EAAE,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/F,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAmBD,gEAAgE;AAChE,SAAgB,oBAAoB,CAClC,IAA2F,EAC3F,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,8BAAsB,CAAC;IAC/E,OAAO;QACL,SAAS,EAAE,IAAA,8BAAiB,GAAE;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ;QACjD,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,GAAG,GAAG,GAAG;QACpB,mBAAmB,EAAE,KAAK;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,qBAAqB,CACzC,IAAqB;IAErB,IAAI,CAAC,IAAA,uCAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IACzE,CAAC;IACD,MAAM,IAAI,GAAG,oBAAoB,CAAC;QAChC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IACH,MAAM,IAAI,GACR,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;QACpB,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEvE,mEAAmE;IACnE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,kCAA4B,EAAC;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,OAAO;YACxB,UAAU,EAAE,EAAE,CAAC,QAAQ,EAAE;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,cAAc;YAC/C,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE;oBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,UAAU,EAAE,IAAI,CAAC,OAAO;oBACxB,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;QACJ,CAAC;QACD,6EAA6E;QAC7E,oEAAoE;QACpE,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAA+D,CAAC;YACxF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,8BAA8B,EAAE,CAAC;QACzF,CAAC;QACD,0CAA0C;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,gDAAgD;IAChD,MAAM,GAAG,GAAG,MAAM,IAAA,yBAAmB,EAAC;QACpC,OAAO,EAAE,8BAAsB;QAC/B,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,UAAU,EAAE,EAAE,CAAC,QAAQ,EAAE;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,cAAc;QAC/C,aAAa,EAAE,OAAO,CAAC,OAAO;QAC9B,UAAU,EAAE,IAAI,CAAC,OAAO;QACxB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,GAAG,CAAC,IAA+D,CAAC;QACpF,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,yBAAyB,GAAG,CAAC,MAAM,GAAG,CAAC;QAClF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACvC,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACJ,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,OAAO;YACxB,OAAO,EAAE,KAAK;SACf;KACF,CAAC;AACJ,CAAC;AAUD,yDAAyD;AACzD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAE5E,8EAA8E;AAC9E,SAAS,kBAAkB,CAAC,GAS3B;IACC,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACnE,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM;QACN,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,MAAM,EAAE;QACnD,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE;QAC1C,mBAAmB,EAAE,KAAK;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,aAAa,CACjC,IAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IACzC,+EAA+E;IAC/E,yEAAyE;IACzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,KAAM,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IACtC,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAE5B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,qCAAqC;QACrC,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAA,sBAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnD,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;oBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC7B,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtC,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClD,qEAAqE;oBACrE,4DAA4D;gBAC9D,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnD,oEAAoE;oBACpE,gBAAgB,GAAG,KAAK,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAoB,EAAC;YACxC,OAAO,EAAE,6BAAqB;YAC9B,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACrD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxC,OAAO,IAAuC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAElF,qFAAqF;AACrF,MAAa,cAAc;IAA3B;QACU,SAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAYnC,CAAC;IAXC,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,GAAG,CAAC,EAAU;QACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,gDAAgD;QAChD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC9C,IAAI,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AAbD,wCAaC;AAQD;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,OAAqE,EACrE,IAAoB,EACpB,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,EACxB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,IAAI,OAAO,CAAC,OAAO,KAAK,8BAAsB,EAAE,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;IAClE,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAgB,+BAA+B,CAAC,GAAwB;IACtE,OAAO;QACL,SAAS,EAAE,kBAAkB,GAAG,CAAC,SAAS,EAAE;QAC5C,OAAO,EAAE,8BAAsB;QAC/B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,GAAG,CAAC,MAAM;QAChB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,kBAAkB;QAClD,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE;YACR,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBACxE,CAAC,CAAC,GAAG,CAAC,IAAI;gBACV,CAAC,CAAC,SAAS;YACb,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,mBAAmB,EAAE,KAAK;SAC3B;QACD,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,mBAAmB,EAAE,KAAK;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,iCAAiC,CACrD,IAAoB,EACpB,GAA4B,EAC5B,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE;IAExB,MAAM,OAAO,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEpD,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAA,wBAAkB,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACrC,GAAG,EAAE,CAAC,mDAAmD,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;gBAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;oBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,EAAE,CAAC,6CAA6C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,mBAAmB,CAAC,+BAA+B,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,SAAS,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAC9B,SAAiB,EACjB,MAAuE,EACvE,GAA4B,EAC5B,KAMC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAyB,EAAC;YAC1C,SAAS;YACT,MAAM;YACN,EAAE,EAAE,KAAK,EAAE,EAAE;YACb,MAAM,EAAE,KAAK,EAAE,MAAM;YACrB,QAAQ,EAAE,KAAK,EAAE,QAAQ;YACzB,QAAQ,EAAE,KAAK,EAAE,QAAQ;YACzB,WAAW,EAAE,KAAK,EAAE,WAAW;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAChD,GAAG,EAAE,CAAC,gCAAgC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,EAAE,CACH,gCAAgC,MAAM,aAAa,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAC9F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,mBAAmB,CACvC,OAAwB,EACxB,IAAoB,EACpB,GAA4B,EAC5B,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE;IAExB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO;IAE9B,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IAC3E,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACrE,CAAC,CAAE,IAAI,CAAC,IAAgC;QACxC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC;IAEnD,kEAAkE;IAClE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEpB,GAAG,EAAE,CAAC,kBAAkB,MAAM,KAAK,SAAS,UAAU,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC;IAE3E,8EAA8E;IAC9E,wEAAwE;IACxE,gEAAgE;IAChE,MAAM,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,MAAM,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAEnD,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAA,qCAAmB,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG;YACP,EAAE,EAAE,KAAK;YACT,MAAM;YACN,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACvD,MAAM,EAAE,OAAO;YACf,mBAAmB,EAAE,KAAK;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAyB;QACvC,SAAS;QACT,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;QACvB,mBAAmB,EAAE,KAAK;KAC3B,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE;QACvB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK;QACvB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;IAErE,4EAA4E;IAC5E,yEAAyE;IACzE,6CAA6C;IAC7C,IAAI,IAAA,6CAAwB,GAAE,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QAC/E,MAAM,OAAO,GAAG,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,KAAK,aAAa,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,KAAK,YAAY,CAAC;QACvC,MAAM,IAAA,yCAAoB,EAAC;YACzB,OAAO,EAAE,kBAAkB,SAAS,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YACjE,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YAC7E,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ;YACpF,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,cAAc,GAClB,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3E,MAAM,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE;QACtD,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,UAAU,CAAC,WAAW;KACpC,CAAC,CAAC;IAEH,yEAAyE;IACzE,gFAAgF;IAChF,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,6BAAqB;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,EAAE,CAAC,QAAQ,EAAE;QACzB,WAAW,EAAE,qBAAqB;QAClC,aAAa,EAAE,OAAO,CAAC,OAAO;QAC9B,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,UAAgD;QAC1D,SAAS,EAAE,KAAM;KAClB,CAAC;IACF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAA,yBAAmB,EAAC,aAAa,CAAC,CAAC;YACrD,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,GAAG,EAAE,CAAC,sCAAsC,OAAO,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,EAAE,CAAC,sCAAsC,OAAO,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC;YAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,MAAM;QAAE,GAAG,EAAE,CAAC,6CAA6C,SAAS,mBAAmB,CAAC,CAAC;IAE9F,kDAAkD;IAClD,IAAI,CAAC;QACH,MAAM,IAAA,yBAAmB,EAAC;YACxB,UAAU,EAAE,kBAAkB,SAAS,EAAE;YACzC,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,6BAAqB;YAC9B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC1E,KAAK,EAAE,kBAAkB,MAAM,CAAC,MAAM,EAAE;YACxC,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,EAAE,CAAC,QAAQ,EAAE;YACzB,WAAW,EAAE,qBAAqB;YAClC,aAAa,EAAE,OAAO,CAAC,OAAO;YAC9B,QAAQ,EAAE;gBACR,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,UAAU,EAAE,UAAU,IAAI,IAAI;gBAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;gBAC9B,mBAAmB,EAAE,KAAK;aAC3B;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,EAAE,CAAC,yCAAyC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;AACjB,CAAC;AAED,sEAAsE;AACtE,SAAgB,iBAAiB;IAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,8BAAY,CAAC,CAAC,GAAG,CACrC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAChH,CAAC;AACJ,CAAC"}
@@ -24,7 +24,7 @@
24
24
  export type RemoteActionMutating = "no" | "reversible";
25
25
  /** The exact set of actions a remote machine may trigger. The keys ARE the
26
26
  * security boundary — extending it requires a code change + review. */
27
- export declare const ALLOWED_REMOTE_ACTIONS: readonly ["git.status", "git.last_activity", "git.commit_push", "git.pull", "skill.inventory", "machine.verify", "runtime.upgrade", "agent.status", "agent.spawn", "agent.list", "agent.output", "agent.stop"];
27
+ export declare const ALLOWED_REMOTE_ACTIONS: readonly ["git.status", "git.last_activity", "git.commit_push", "git.pull", "skill.inventory", "machine.verify", "runtime.upgrade", "agent.status", "agent.spawn", "agent.list", "agent.output", "agent.stop", "handoff.checkpoint", "handoff.push_clean", "handoff.pull_clean", "handoff.sync"];
28
28
  export type RemoteAction = (typeof ALLOWED_REMOTE_ACTIONS)[number];
29
29
  export interface RemoteActionSpec {
30
30
  /** Whether the action requires a resolved project directory. */
@@ -56,6 +56,10 @@ export interface RemoteGitState {
56
56
  ahead: number;
57
57
  behind: number;
58
58
  lastCommit: string | null;
59
+ headOid: string | null;
60
+ upstream: string | null;
61
+ upstreamOid: string | null;
62
+ remoteIdentity: string | null;
59
63
  }
60
64
  export interface RemoteExecResult {
61
65
  ok: boolean;
@@ -111,6 +115,8 @@ export interface ExecuteRemoteOptions {
111
115
  args?: Record<string, unknown>;
112
116
  /** Override cwd used for project-root discovery (tests). */
113
117
  startDir?: string;
118
+ /** The in-process CLI may use handoff actions without enabling remote control. Never set from bus input. */
119
+ trustedLocal?: boolean;
114
120
  }
115
121
  /**
116
122
  * Validate + execute a single remote action. Always resolves (never throws) and
@@ -1 +1 @@
1
- {"version":3,"file":"remote-executor.d.ts","sourceRoot":"","sources":["../../src/lib/remote-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-executor.d.ts","sourceRoot":"","sources":["../../src/lib/remote-executor.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,7 @@ const project_1 = require("./project");
72
72
  const supervisor_1 = require("./orchestrator/supervisor");
73
73
  const config_1 = require("./config");
74
74
  const version_1 = require("./version");
75
+ const handoff_1 = require("./handoff");
75
76
  /** The exact set of actions a remote machine may trigger. The keys ARE the
76
77
  * security boundary — extending it requires a code change + review. */
77
78
  exports.ALLOWED_REMOTE_ACTIONS = [
@@ -95,6 +96,14 @@ exports.ALLOWED_REMOTE_ACTIONS = [
95
96
  "agent.list",
96
97
  "agent.output",
97
98
  "agent.stop",
99
+ // End-of-day handoff actions stay inside this typed executor. checkpoint
100
+ // writes a bounded coordinator receipt and never signals a worker;
101
+ // push_clean pins the observed commit OID; sync invokes the canonical machine
102
+ // reconciliation rather than duplicating identity/skill logic here.
103
+ "handoff.checkpoint",
104
+ "handoff.push_clean",
105
+ "handoff.pull_clean",
106
+ "handoff.sync",
98
107
  ];
99
108
  exports.ACTION_SPECS = {
100
109
  "git.status": {
@@ -171,6 +180,30 @@ exports.ACTION_SPECS = {
171
180
  timeoutMs: 10000,
172
181
  description: "stop a running worker agent (opt-in host)",
173
182
  },
183
+ "handoff.checkpoint": {
184
+ needsProject: false,
185
+ mutating: "reversible",
186
+ timeoutMs: 15000,
187
+ description: "record an unverified coordinator state receipt without stopping or signaling active work (opt-in host)",
188
+ },
189
+ "handoff.push_clean": {
190
+ needsProject: true,
191
+ mutating: "reversible",
192
+ timeoutMs: 120000,
193
+ description: "push one clean non-divergent branch's exact observed HEAD without force (opt-in host)",
194
+ },
195
+ "handoff.pull_clean": {
196
+ needsProject: true,
197
+ mutating: "reversible",
198
+ timeoutMs: 120000,
199
+ description: "fetch and fast-forward one clean clone from exact planned git state, with postconditions (opt-in host)",
200
+ },
201
+ "handoff.sync": {
202
+ needsProject: false,
203
+ mutating: "reversible",
204
+ timeoutMs: 360000,
205
+ description: "canonical You.md identity, shared-skill, and project-context reconciliation (opt-in host)",
206
+ },
174
207
  };
175
208
  /**
176
209
  * Whether THIS host accepts remote requests to launch/stop autonomous worker agents.
@@ -444,6 +477,10 @@ async function readGitState(cwd, timeoutMs) {
444
477
  ahead: 0,
445
478
  behind: 0,
446
479
  lastCommit: null,
480
+ headOid: null,
481
+ upstream: null,
482
+ upstreamOid: null,
483
+ remoteIdentity: null,
447
484
  };
448
485
  const branch = await git(["rev-parse", "--abbrev-ref", "HEAD"], cwd, timeoutMs);
449
486
  if (branch.exitCode === 0)
@@ -462,6 +499,22 @@ async function readGitState(cwd, timeoutMs) {
462
499
  const last = await git(["log", "-1", "--pretty=%h %s"], cwd, timeoutMs);
463
500
  if (last.exitCode === 0)
464
501
  state.lastCommit = last.stdout.trim() || null;
502
+ const head = await git(["rev-parse", "HEAD"], cwd, timeoutMs);
503
+ if (head.exitCode === 0)
504
+ state.headOid = head.stdout.trim() || null;
505
+ const upstream = await git(["rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{upstream}"], cwd, timeoutMs);
506
+ if (upstream.exitCode === 0)
507
+ state.upstream = upstream.stdout.trim() || null;
508
+ const upstreamOid = await git(["rev-parse", "@{upstream}"], cwd, timeoutMs);
509
+ if (upstreamOid.exitCode === 0)
510
+ state.upstreamOid = upstreamOid.stdout.trim() || null;
511
+ const upstreamName = state.upstream?.match(/^([^/]+)\//)?.[1];
512
+ if (upstreamName) {
513
+ const remoteUrl = await git(["remote", "get-url", upstreamName], cwd, timeoutMs);
514
+ if (remoteUrl.exitCode === 0) {
515
+ state.remoteIdentity = (0, handoff_1.normalizeGitRemoteIdentity)(remoteUrl.stdout.trim());
516
+ }
517
+ }
465
518
  return state;
466
519
  }
467
520
  function reject(action, reason) {
@@ -761,6 +814,344 @@ async function executeRemoteAction(opts) {
761
814
  secretValuesExposed: false,
762
815
  };
763
816
  }
817
+ case "handoff.checkpoint": {
818
+ const gate = opts.trustedLocal ? null : requireRemoteHostOptIn(action, "handoff checkpoints");
819
+ if (gate)
820
+ return gate;
821
+ const workers = (0, supervisor_1.refreshWorkers)();
822
+ const receipt = {
823
+ schemaVersion: "you-md/handoff-receipt/v1",
824
+ host: os.hostname(),
825
+ createdAt: new Date().toISOString(),
826
+ workers: workers.map((worker) => ({
827
+ id: worker.id,
828
+ harness: worker.harness,
829
+ project: worker.project ?? null,
830
+ status: worker.status,
831
+ startedAt: worker.startedAt,
832
+ endedAt: worker.endedAt ?? null,
833
+ })),
834
+ activeWorkPreserved: true,
835
+ signalsSent: [],
836
+ arbitraryChatControl: false,
837
+ secretValuesExposed: false,
838
+ };
839
+ const dir = path.join(os.homedir(), ".you", "handoff", "receipts");
840
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
841
+ const stamp = new Date().toISOString().replace(/[:.]/g, "-");
842
+ const receiptPath = path.join(dir, `${stamp}.json`);
843
+ fs.writeFileSync(receiptPath, `${JSON.stringify(receipt, null, 2)}\n`, { mode: 0o600 });
844
+ return {
845
+ ok: true,
846
+ action,
847
+ exitCode: 0,
848
+ output: cleanOutput(`unverified coordinator state receipt ${receiptPath}\nworkers: ${workers.length}\nrunning: ${workers.filter((worker) => worker.status === "running").length}\nno worker message delivered; active work preserved; no signals sent`, ""),
849
+ status: "ok",
850
+ secretValuesExposed: false,
851
+ };
852
+ }
853
+ case "handoff.push_clean": {
854
+ const gate = opts.trustedLocal ? null : requireRemoteHostOptIn(action, "clean handoff pushes");
855
+ if (gate)
856
+ return gate;
857
+ const repo = cwd;
858
+ const expectedHead = typeof args.expectedHead === "string" ? args.expectedHead.trim() : "";
859
+ const expectedBranch = typeof args.expectedBranch === "string" ? args.expectedBranch.trim() : "";
860
+ const expectedUpstream = typeof args.expectedUpstream === "string" ? args.expectedUpstream.trim() : "";
861
+ const expectedUpstreamOid = typeof args.expectedUpstreamOid === "string" ? args.expectedUpstreamOid.trim() : "";
862
+ const expectedRemoteIdentity = typeof args.expectedRemoteIdentity === "string" ? args.expectedRemoteIdentity.trim() : "";
863
+ const expectedFinalOid = typeof args.expectedFinalOid === "string" ? args.expectedFinalOid.trim() : "";
864
+ if ((0, handoff_1.normalizeGitRemoteIdentity)(expectedRemoteIdentity) !== expectedRemoteIdentity ||
865
+ !/^[0-9a-f]{40,64}$/i.test(expectedFinalOid) ||
866
+ expectedFinalOid !== expectedHead) {
867
+ return reject(action, "clean push requires one canonical planned remote identity and final OID");
868
+ }
869
+ const before = await readGitState(repo, 20000);
870
+ if (before.headOid !== expectedHead ||
871
+ before.branch !== expectedBranch ||
872
+ before.upstream !== expectedUpstream ||
873
+ before.upstreamOid !== expectedUpstreamOid ||
874
+ before.remoteIdentity !== expectedRemoteIdentity) {
875
+ return reject(action, "repository changed after handoff planning; clean push preconditions failed");
876
+ }
877
+ if (before.dirty)
878
+ return reject(action, "clean push gate failed: working tree or index is dirty");
879
+ if (!before.branch || before.branch === "HEAD")
880
+ return reject(action, "clean push gate failed: detached HEAD");
881
+ if (before.ahead <= 0)
882
+ return reject(action, "clean push gate failed: branch is not ahead");
883
+ if (before.behind > 0)
884
+ return reject(action, "clean push gate failed: branch diverged from upstream");
885
+ const headResult = await git(["rev-parse", "HEAD"], repo, 20000);
886
+ const upstreamResult = await git(["rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{upstream}"], repo, 20000);
887
+ const head = headResult.stdout.trim();
888
+ const upstream = upstreamResult.stdout.trim();
889
+ const upstreamMatch = upstream.match(/^([^/]+)\/(.+)$/);
890
+ if (headResult.exitCode !== 0 || !/^[0-9a-f]{40,64}$/i.test(head) || upstreamResult.exitCode !== 0 || !upstreamMatch) {
891
+ return reject(action, "clean push gate failed: exact HEAD or upstream could not be resolved");
892
+ }
893
+ const remote = upstreamMatch[1];
894
+ const remoteBranch = upstreamMatch[2];
895
+ const branchFormat = await git(["check-ref-format", `refs/heads/${remoteBranch}`], repo, 20000);
896
+ if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(remote) || branchFormat.exitCode !== 0) {
897
+ return reject(action, "clean push upstream remote or branch ref is unsafe");
898
+ }
899
+ const range = `${upstream}..${head}`;
900
+ const pathHistory = await git(["log", "--format=", "--name-only", "-z", range], repo, 30000);
901
+ if (pathHistory.exitCode !== 0)
902
+ return reject(action, "clean push gate failed: ahead path history could not be inventoried");
903
+ const historicalPaths = pathHistory.stdout.split("\0").map((value) => value.trim()).filter(Boolean);
904
+ const sensitive = historicalPaths.filter((file) => {
905
+ const base = path.basename(file).toLowerCase();
906
+ return ((/^\.env(?:\..+)?$/.test(base) && !/^\.env\.(?:example|sample|template)$/.test(base)) ||
907
+ /(?:credentials?|secrets?|private[-_.]?key|id_rsa|id_ed25519)/i.test(base));
908
+ });
909
+ if (sensitive.length > 0) {
910
+ return reject(action, `secret-safe gate blocked ahead commit path(s): ${sensitive.slice(0, 8).join(", ")}`);
911
+ }
912
+ const objectList = await git(["rev-list", "--objects", "--no-object-names", range], repo, 30000);
913
+ if (objectList.exitCode !== 0)
914
+ return reject(action, "secret-safe gate could not enumerate every ahead object");
915
+ const objectIds = [...new Set(objectList.stdout.split("\n").map((value) => value.trim()).filter(Boolean))];
916
+ if (objectIds.length > 5000)
917
+ return reject(action, "secret-safe gate refused an unbounded ahead object range");
918
+ const secretHits = [];
919
+ let scannedBytes = 0;
920
+ const contentPatterns = [
921
+ ["private-key", /-----BEGIN [A-Z ]*PRIVATE KEY-----/],
922
+ ["github-token", /\bgh[pousr]_[A-Za-z0-9]{20,}\b/],
923
+ ["api-secret-assignment", /\b(?:API_KEY|SECRET|TOKEN|PASSWORD|PRIVATE_KEY)\s*[:=]\s*["']?[A-Za-z0-9_./+\-=]{16,}/i],
924
+ ];
925
+ for (const oid of objectIds) {
926
+ if (!/^[0-9a-f]{40,64}$/i.test(oid))
927
+ return reject(action, "secret-safe gate received an invalid ahead object id");
928
+ const type = await git(["cat-file", "-t", oid], repo, 20000);
929
+ if (type.exitCode !== 0)
930
+ return reject(action, `secret-safe gate could not classify ahead object ${oid.slice(0, 12)}`);
931
+ if (type.stdout.trim() !== "blob")
932
+ continue;
933
+ const size = await git(["cat-file", "-s", oid], repo, 20000);
934
+ const blobBytes = Number(size.stdout.trim());
935
+ if (size.exitCode !== 0 || !Number.isFinite(blobBytes) || blobBytes < 0) {
936
+ return reject(action, `secret-safe gate could not size ahead blob ${oid.slice(0, 12)}`);
937
+ }
938
+ if (blobBytes > 1024 * 1024)
939
+ return reject(action, `secret-safe gate cannot completely scan oversized ahead blob ${oid.slice(0, 12)}`);
940
+ scannedBytes += blobBytes;
941
+ if (scannedBytes > 50 * 1024 * 1024)
942
+ return reject(action, "secret-safe gate refused an unbounded total ahead blob size");
943
+ const shown = await git(["cat-file", "blob", oid], repo, 20000);
944
+ if (shown.exitCode !== 0 || Buffer.byteLength(shown.stdout, "utf8") !== blobBytes) {
945
+ return reject(action, `secret-safe gate could not read complete ahead blob ${oid.slice(0, 12)}`);
946
+ }
947
+ if (shown.stdout.includes("\0"))
948
+ return reject(action, `secret-safe gate cannot scan binary ahead blob ${oid.slice(0, 12)}`);
949
+ const hit = contentPatterns.find(([, pattern]) => pattern.test(shown.stdout));
950
+ if (hit)
951
+ secretHits.push(`${oid.slice(0, 12)} (${hit[0]})`);
952
+ }
953
+ if (secretHits.length > 0) {
954
+ return reject(action, `secret-safe gate found possible credential material: ${secretHits.slice(0, 8).join(", ")}`);
955
+ }
956
+ const diffCheck = await git(["diff", "--check", range], repo, 30000);
957
+ if (diffCheck.exitCode !== 0)
958
+ return reject(action, `diff check failed: ${cleanOutput(diffCheck.stdout, diffCheck.stderr)}`);
959
+ const hasContext = ["AGENTS.md", "CLAUDE.md", "project-context", ".you"]
960
+ .some((entry) => fs.existsSync(path.join(repo, entry)));
961
+ if (!hasContext)
962
+ return reject(action, "context gate failed: no AGENTS.md, CLAUDE.md, project-context, or .you context found");
963
+ let testSummary = "no package test declared; structural gates only";
964
+ const packagePath = path.join(repo, "package.json");
965
+ if (fs.existsSync(packagePath)) {
966
+ let pkg;
967
+ try {
968
+ pkg = JSON.parse(fs.readFileSync(packagePath, "utf8"));
969
+ }
970
+ catch (error) {
971
+ return reject(action, `test gate could not read package.json: ${error instanceof Error ? error.message : String(error)}`);
972
+ }
973
+ const testName = ["test", "typecheck", "build"].find((name) => typeof pkg.scripts?.[name] === "string");
974
+ if (testName) {
975
+ const runner = fs.existsSync(path.join(repo, "pnpm-lock.yaml"))
976
+ ? { file: "pnpm", args: ["run", testName] }
977
+ : fs.existsSync(path.join(repo, "yarn.lock"))
978
+ ? { file: "yarn", args: [testName] }
979
+ : { file: "npm", args: ["run", testName] };
980
+ const checked = await runProcess(runner.file, runner.args, repo, 300000);
981
+ if (checked.exitCode !== 0) {
982
+ return {
983
+ ok: false,
984
+ action,
985
+ exitCode: checked.exitCode,
986
+ output: cleanOutput(checked.stdout, checked.stderr),
987
+ error: `${testName} gate failed`,
988
+ status: "error",
989
+ secretValuesExposed: false,
990
+ };
991
+ }
992
+ testSummary = `${runner.file} ${runner.args.join(" ")} passed`;
993
+ }
994
+ }
995
+ // Recheck the complete observable state after slow gates. A concurrent
996
+ // index/worktree/HEAD change aborts; the push refspec also pins the
997
+ // originally observed OID, so a race cannot push a later commit.
998
+ const after = await readGitState(repo, 20000);
999
+ const headAfter = await git(["rev-parse", "HEAD"], repo, 20000);
1000
+ if (after.dirty ||
1001
+ after.branch !== before.branch ||
1002
+ after.ahead !== before.ahead ||
1003
+ after.behind !== before.behind ||
1004
+ after.remoteIdentity !== expectedRemoteIdentity ||
1005
+ headAfter.stdout.trim() !== head) {
1006
+ return reject(action, "repository changed during clean push gates; retry from a fresh plan");
1007
+ }
1008
+ const push = await git(["push", remote, `${head}:refs/heads/${remoteBranch}`], repo, spec.timeoutMs);
1009
+ const remoteCheck = await git(["ls-remote", "--heads", remote, `refs/heads/${remoteBranch}`], repo, 30000);
1010
+ const observedRemoteHead = remoteCheck.stdout.trim().split(/\s+/)[0] || "";
1011
+ const gitState = await readGitState(repo, 20000);
1012
+ const ok = push.exitCode === 0 &&
1013
+ remoteCheck.exitCode === 0 &&
1014
+ observedRemoteHead === expectedFinalOid &&
1015
+ !gitState.dirty &&
1016
+ gitState.headOid === expectedFinalOid &&
1017
+ gitState.upstreamOid === expectedFinalOid &&
1018
+ gitState.remoteIdentity === expectedRemoteIdentity &&
1019
+ gitState.ahead === 0 &&
1020
+ gitState.behind === 0;
1021
+ return {
1022
+ ok,
1023
+ action,
1024
+ exitCode: push.exitCode,
1025
+ output: cleanOutput(`preflight: exact HEAD ${head.slice(0, 12)}; canonical remote ${expectedRemoteIdentity}; secret-safe; context present; ${testSummary}\n${push.stdout}`, [push.stderr, remoteCheck.stderr].filter(Boolean).join("\n")),
1026
+ gitState,
1027
+ status: ok ? "ok" : "error",
1028
+ ...(ok ? {} : { error: push.timedOut ? "clean push timed out" : "clean exact-HEAD push failed or did not converge" }),
1029
+ secretValuesExposed: false,
1030
+ };
1031
+ }
1032
+ case "handoff.pull_clean": {
1033
+ const gate = opts.trustedLocal ? null : requireRemoteHostOptIn(action, "clean handoff pulls");
1034
+ if (gate)
1035
+ return gate;
1036
+ const repo = cwd;
1037
+ const expectedHead = typeof args.expectedHead === "string" ? args.expectedHead.trim() : "";
1038
+ const expectedBranch = typeof args.expectedBranch === "string" ? args.expectedBranch.trim() : "";
1039
+ const expectedUpstream = typeof args.expectedUpstream === "string" ? args.expectedUpstream.trim() : "";
1040
+ const expectedUpstreamOid = typeof args.expectedUpstreamOid === "string" ? args.expectedUpstreamOid.trim() : "";
1041
+ const expectedRemoteIdentity = typeof args.expectedRemoteIdentity === "string" ? args.expectedRemoteIdentity.trim() : "";
1042
+ const expectedFinalOid = typeof args.expectedFinalOid === "string" ? args.expectedFinalOid.trim() : "";
1043
+ if (!/^[0-9a-f]{40,64}$/i.test(expectedHead) ||
1044
+ !expectedBranch ||
1045
+ !expectedUpstream ||
1046
+ !/^[0-9a-f]{40,64}$/i.test(expectedUpstreamOid) ||
1047
+ (0, handoff_1.normalizeGitRemoteIdentity)(expectedRemoteIdentity) !== expectedRemoteIdentity ||
1048
+ !/^[0-9a-f]{40,64}$/i.test(expectedFinalOid)) {
1049
+ return reject(action, "clean pull requires exact planned HEAD, branch, upstream ref/OID, canonical remote identity, and final OID");
1050
+ }
1051
+ const before = await readGitState(repo, 20000);
1052
+ if (before.dirty ||
1053
+ before.headOid !== expectedHead ||
1054
+ before.branch !== expectedBranch ||
1055
+ before.upstream !== expectedUpstream ||
1056
+ before.upstreamOid !== expectedUpstreamOid ||
1057
+ before.remoteIdentity !== expectedRemoteIdentity) {
1058
+ return reject(action, "repository changed after handoff planning; clean pull preconditions failed");
1059
+ }
1060
+ const upstreamMatch = expectedUpstream.match(/^([^/]+)\/(.+)$/);
1061
+ if (!upstreamMatch)
1062
+ return reject(action, "clean pull upstream is not an exact remote branch ref");
1063
+ const remote = upstreamMatch[1];
1064
+ const remoteBranch = upstreamMatch[2];
1065
+ const remoteRef = `refs/heads/${remoteBranch}`;
1066
+ const branchFormat = await git(["check-ref-format", remoteRef], repo, 20000);
1067
+ if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(remote) || branchFormat.exitCode !== 0) {
1068
+ return reject(action, "clean pull upstream remote or branch ref is unsafe");
1069
+ }
1070
+ const trackingRef = `refs/remotes/${remote}/${remoteBranch}`;
1071
+ const fetch = await git(["fetch", "--no-tags", remote, `${remoteRef}:${trackingRef}`], repo, spec.timeoutMs);
1072
+ if (fetch.exitCode !== 0) {
1073
+ return {
1074
+ ok: false,
1075
+ action,
1076
+ exitCode: fetch.exitCode,
1077
+ output: cleanOutput(fetch.stdout, fetch.stderr),
1078
+ error: fetch.timedOut ? "clean pull fetch timed out" : "clean pull fetch failed",
1079
+ status: "error",
1080
+ secretValuesExposed: false,
1081
+ };
1082
+ }
1083
+ const fetchedResult = await git(["rev-parse", "FETCH_HEAD"], repo, 20000);
1084
+ const fetchedHead = fetchedResult.stdout.trim();
1085
+ if (fetchedResult.exitCode !== 0 || !/^[0-9a-f]{40,64}$/i.test(fetchedHead)) {
1086
+ return reject(action, "clean pull could not resolve the exact fetched HEAD");
1087
+ }
1088
+ if (fetchedHead !== expectedFinalOid) {
1089
+ return reject(action, "clean pull remote no longer matches the one planned final OID");
1090
+ }
1091
+ const afterFetch = await readGitState(repo, 20000);
1092
+ if (afterFetch.dirty ||
1093
+ afterFetch.headOid !== expectedHead ||
1094
+ afterFetch.branch !== expectedBranch ||
1095
+ afterFetch.remoteIdentity !== expectedRemoteIdentity) {
1096
+ return reject(action, "repository changed during clean pull fetch; worktree fast-forward aborted");
1097
+ }
1098
+ const ancestor = await git(["merge-base", "--is-ancestor", expectedHead, fetchedHead], repo, 20000);
1099
+ if (ancestor.exitCode !== 0)
1100
+ return reject(action, "remote HEAD is not a fast-forward descendant; no merge performed");
1101
+ if (fetchedHead !== expectedHead) {
1102
+ const fastForward = await git(["merge", "--ff-only", fetchedHead], repo, spec.timeoutMs);
1103
+ if (fastForward.exitCode !== 0) {
1104
+ return {
1105
+ ok: false,
1106
+ action,
1107
+ exitCode: fastForward.exitCode,
1108
+ output: cleanOutput(fastForward.stdout, fastForward.stderr),
1109
+ error: fastForward.timedOut ? "clean fast-forward timed out" : "clean fast-forward failed",
1110
+ status: "error",
1111
+ secretValuesExposed: false,
1112
+ };
1113
+ }
1114
+ }
1115
+ const remoteCheck = await git(["ls-remote", "--heads", remote, remoteRef], repo, 30000);
1116
+ const observedRemoteHead = remoteCheck.stdout.trim().split(/\s+/)[0] || "";
1117
+ const after = await readGitState(repo, 20000);
1118
+ const ok = remoteCheck.exitCode === 0 &&
1119
+ observedRemoteHead === expectedFinalOid &&
1120
+ !after.dirty &&
1121
+ after.branch === expectedBranch &&
1122
+ after.headOid === expectedFinalOid &&
1123
+ after.upstream === expectedUpstream &&
1124
+ after.upstreamOid === expectedFinalOid &&
1125
+ after.remoteIdentity === expectedRemoteIdentity &&
1126
+ after.ahead === 0 &&
1127
+ after.behind === 0;
1128
+ return {
1129
+ ok,
1130
+ action,
1131
+ exitCode: ok ? 0 : remoteCheck.exitCode,
1132
+ output: cleanOutput(`precondition HEAD ${expectedHead.slice(0, 12)}; fetched ${fetchedHead.slice(0, 12)}; fast-forward only\n${fetch.stdout}`, [fetch.stderr, remoteCheck.stderr].filter(Boolean).join("\n")),
1133
+ gitState: after,
1134
+ status: ok ? "ok" : "error",
1135
+ ...(ok ? {} : { error: "clean pull postconditions failed; remote moved again or repository did not converge" }),
1136
+ secretValuesExposed: false,
1137
+ };
1138
+ }
1139
+ case "handoff.sync": {
1140
+ const gate = opts.trustedLocal ? null : requireRemoteHostOptIn(action, "handoff sync");
1141
+ if (gate)
1142
+ return gate;
1143
+ const res = await youmd(["machine", "sync-now"], spec.timeoutMs);
1144
+ const ok = res.exitCode === 0;
1145
+ return {
1146
+ ok,
1147
+ action,
1148
+ exitCode: res.exitCode,
1149
+ output: cleanOutput(res.stdout, res.stderr),
1150
+ status: ok ? "ok" : "error",
1151
+ ...(ok ? {} : { error: res.timedOut ? "handoff sync timed out" : "handoff sync failed" }),
1152
+ secretValuesExposed: false,
1153
+ };
1154
+ }
764
1155
  }
765
1156
  }
766
1157
  catch (err) {