@openrig/cli 0.4.8 → 0.5.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 (344) hide show
  1. package/daemon/assets/claude-statusline-context.cjs +40 -8
  2. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +0 -0
  3. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +7 -4
  4. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +68 -17
  5. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +2 -0
  6. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +2 -1
  7. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +1 -0
  8. package/daemon/dist/adapters/claude-code-adapter.d.ts +36 -0
  9. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  10. package/daemon/dist/adapters/claude-code-adapter.js +203 -3
  11. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  12. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +12 -0
  13. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  14. package/daemon/dist/adapters/codex-runtime-adapter.js +24 -2
  15. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  16. package/daemon/dist/build-info.js +3 -3
  17. package/daemon/dist/domain/agent-activity-store.d.ts +1 -0
  18. package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
  19. package/daemon/dist/domain/agent-activity-store.js +2 -2
  20. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  21. package/daemon/dist/domain/claude-activity-hooks.d.ts +33 -0
  22. package/daemon/dist/domain/claude-activity-hooks.d.ts.map +1 -0
  23. package/daemon/dist/domain/claude-activity-hooks.js +60 -0
  24. package/daemon/dist/domain/claude-activity-hooks.js.map +1 -0
  25. package/daemon/dist/domain/context-packs/bundle-assembler.d.ts +30 -0
  26. package/daemon/dist/domain/context-packs/bundle-assembler.d.ts.map +1 -1
  27. package/daemon/dist/domain/context-packs/bundle-assembler.js +31 -1
  28. package/daemon/dist/domain/context-packs/bundle-assembler.js.map +1 -1
  29. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts +69 -14
  30. package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
  31. package/daemon/dist/domain/context-packs/context-pack-library-service.js +263 -48
  32. package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
  33. package/daemon/dist/domain/context-packs/context-pack-types.d.ts +2 -2
  34. package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
  35. package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
  36. package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
  37. package/daemon/dist/domain/context-packs/manifest-parser.js +11 -0
  38. package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
  39. package/daemon/dist/domain/context-packs/ref-safety.d.ts +11 -0
  40. package/daemon/dist/domain/context-packs/ref-safety.d.ts.map +1 -0
  41. package/daemon/dist/domain/context-packs/ref-safety.js +46 -0
  42. package/daemon/dist/domain/context-packs/ref-safety.js.map +1 -0
  43. package/daemon/dist/domain/context-packs/token-estimate.d.ts +3 -0
  44. package/daemon/dist/domain/context-packs/token-estimate.d.ts.map +1 -0
  45. package/daemon/dist/domain/context-packs/token-estimate.js +5 -0
  46. package/daemon/dist/domain/context-packs/token-estimate.js.map +1 -0
  47. package/daemon/dist/domain/plugin-vendor-service.d.ts +14 -0
  48. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  49. package/daemon/dist/domain/plugin-vendor-service.js +26 -2
  50. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  51. package/daemon/dist/domain/provider/claude-usage-reader.d.ts +44 -0
  52. package/daemon/dist/domain/provider/claude-usage-reader.d.ts.map +1 -0
  53. package/daemon/dist/domain/provider/claude-usage-reader.js +112 -0
  54. package/daemon/dist/domain/provider/claude-usage-reader.js.map +1 -0
  55. package/daemon/dist/domain/provider/codex-auth-reader.d.ts +18 -0
  56. package/daemon/dist/domain/provider/codex-auth-reader.d.ts.map +1 -0
  57. package/daemon/dist/domain/provider/codex-auth-reader.js +64 -0
  58. package/daemon/dist/domain/provider/codex-auth-reader.js.map +1 -0
  59. package/daemon/dist/domain/provider/host-usage-rollup.d.ts +51 -0
  60. package/daemon/dist/domain/provider/host-usage-rollup.d.ts.map +1 -0
  61. package/daemon/dist/domain/provider/host-usage-rollup.js +162 -0
  62. package/daemon/dist/domain/provider/host-usage-rollup.js.map +1 -0
  63. package/daemon/dist/domain/provider/provider-collect.d.ts +22 -0
  64. package/daemon/dist/domain/provider/provider-collect.d.ts.map +1 -0
  65. package/daemon/dist/domain/provider/provider-collect.js +74 -0
  66. package/daemon/dist/domain/provider/provider-collect.js.map +1 -0
  67. package/daemon/dist/domain/provider/provider-policy.d.ts +38 -0
  68. package/daemon/dist/domain/provider/provider-policy.d.ts.map +1 -0
  69. package/daemon/dist/domain/provider/provider-policy.js +76 -0
  70. package/daemon/dist/domain/provider/provider-policy.js.map +1 -0
  71. package/daemon/dist/domain/provider/provider-read-model.d.ts +28 -0
  72. package/daemon/dist/domain/provider/provider-read-model.d.ts.map +1 -0
  73. package/daemon/dist/domain/provider/provider-read-model.js +68 -0
  74. package/daemon/dist/domain/provider/provider-read-model.js.map +1 -0
  75. package/daemon/dist/domain/provider/provider-service-impl.d.ts +26 -0
  76. package/daemon/dist/domain/provider/provider-service-impl.d.ts.map +1 -0
  77. package/daemon/dist/domain/provider/provider-service-impl.js +83 -0
  78. package/daemon/dist/domain/provider/provider-service-impl.js.map +1 -0
  79. package/daemon/dist/domain/provider/provider-service.d.ts +33 -0
  80. package/daemon/dist/domain/provider/provider-service.d.ts.map +1 -0
  81. package/daemon/dist/domain/provider/provider-service.js +6 -0
  82. package/daemon/dist/domain/provider/provider-service.js.map +1 -0
  83. package/daemon/dist/domain/provider/provider-signals.d.ts +76 -0
  84. package/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -0
  85. package/daemon/dist/domain/provider/provider-signals.js +144 -0
  86. package/daemon/dist/domain/provider/provider-signals.js.map +1 -0
  87. package/daemon/dist/domain/provider/provider-types.d.ts +101 -0
  88. package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -0
  89. package/daemon/dist/domain/provider/provider-types.js +7 -0
  90. package/daemon/dist/domain/provider/provider-types.js.map +1 -0
  91. package/daemon/dist/domain/provider/reactive-tap.d.ts +29 -0
  92. package/daemon/dist/domain/provider/reactive-tap.d.ts.map +1 -0
  93. package/daemon/dist/domain/provider/reactive-tap.js +80 -0
  94. package/daemon/dist/domain/provider/reactive-tap.js.map +1 -0
  95. package/daemon/dist/domain/rigspec-instantiator.d.ts +7 -23
  96. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  97. package/daemon/dist/domain/rigspec-instantiator.js +3 -61
  98. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  99. package/daemon/dist/domain/rigspec-preflight.d.ts +11 -0
  100. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  101. package/daemon/dist/domain/rigspec-preflight.js +43 -1
  102. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  103. package/daemon/dist/domain/runtime-adapter.d.ts +2 -11
  104. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  105. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  106. package/daemon/dist/domain/scope/attestation-lineage.generated.d.ts +14 -0
  107. package/daemon/dist/domain/scope/attestation-lineage.generated.d.ts.map +1 -0
  108. package/daemon/dist/domain/scope/attestation-lineage.generated.js +26 -0
  109. package/daemon/dist/domain/scope/attestation-lineage.generated.js.map +1 -0
  110. package/daemon/dist/domain/scope/scope-approve.d.ts +13 -0
  111. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  112. package/daemon/dist/domain/scope/scope-approve.js +50 -10
  113. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  114. package/daemon/dist/domain/startup-validation.d.ts.map +1 -1
  115. package/daemon/dist/domain/startup-validation.js +18 -54
  116. package/daemon/dist/domain/startup-validation.js.map +1 -1
  117. package/daemon/dist/domain/stream-store.d.ts +4 -0
  118. package/daemon/dist/domain/stream-store.d.ts.map +1 -1
  119. package/daemon/dist/domain/stream-store.js +15 -2
  120. package/daemon/dist/domain/stream-store.js.map +1 -1
  121. package/daemon/dist/domain/types.d.ts +2 -9
  122. package/daemon/dist/domain/types.d.ts.map +1 -1
  123. package/daemon/dist/domain/types.js.map +1 -1
  124. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +1 -1
  125. package/daemon/dist/routes/context-packs.d.ts.map +1 -1
  126. package/daemon/dist/routes/context-packs.js +157 -75
  127. package/daemon/dist/routes/context-packs.js.map +1 -1
  128. package/daemon/dist/routes/provider.d.ts +3 -0
  129. package/daemon/dist/routes/provider.d.ts.map +1 -0
  130. package/daemon/dist/routes/provider.js +124 -0
  131. package/daemon/dist/routes/provider.js.map +1 -0
  132. package/daemon/dist/routes/scope-approve.d.ts.map +1 -1
  133. package/daemon/dist/routes/scope-approve.js +6 -3
  134. package/daemon/dist/routes/scope-approve.js.map +1 -1
  135. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  136. package/daemon/dist/routes/scope-audit.js +4 -1
  137. package/daemon/dist/routes/scope-audit.js.map +1 -1
  138. package/daemon/dist/routes/stream.d.ts.map +1 -1
  139. package/daemon/dist/routes/stream.js +71 -1
  140. package/daemon/dist/routes/stream.js.map +1 -1
  141. package/daemon/dist/server.d.ts +3 -0
  142. package/daemon/dist/server.d.ts.map +1 -1
  143. package/daemon/dist/server.js +5 -0
  144. package/daemon/dist/server.js.map +1 -1
  145. package/daemon/dist/startup.d.ts.map +1 -1
  146. package/daemon/dist/startup.js +21 -11
  147. package/daemon/dist/startup.js.map +1 -1
  148. package/daemon/docs/reference/developing.md +39 -0
  149. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +1 -1
  150. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -1
  151. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -1
  152. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -1
  153. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -1
  154. package/daemon/specs/agents/design/product-designer/agent.yaml +1 -1
  155. package/daemon/specs/agents/development/implementer/agent.yaml +1 -1
  156. package/daemon/specs/agents/development/qa/agent.yaml +1 -1
  157. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +1 -1
  158. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +1 -1
  159. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -1
  160. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
  161. package/daemon/specs/agents/research/analyst/agent.yaml +1 -1
  162. package/daemon/specs/agents/research/synthesizer/agent.yaml +1 -1
  163. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -1
  164. package/daemon/specs/agents/shared/agent.yaml +6 -0
  165. package/daemon/specs/agents/shared/runtime/claude-activity-hooks.json +4 -0
  166. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +1 -0
  167. package/dist/bin-wrapper.d.ts.map +1 -1
  168. package/dist/bin-wrapper.js +7 -0
  169. package/dist/bin-wrapper.js.map +1 -1
  170. package/dist/build-info.js +3 -3
  171. package/dist/commands/agent-image.d.ts.map +1 -1
  172. package/dist/commands/agent-image.js +2 -1
  173. package/dist/commands/agent-image.js.map +1 -1
  174. package/dist/commands/broadcast.d.ts.map +1 -1
  175. package/dist/commands/broadcast.js +37 -2
  176. package/dist/commands/broadcast.js.map +1 -1
  177. package/dist/commands/context.d.ts +2 -7
  178. package/dist/commands/context.d.ts.map +1 -1
  179. package/dist/commands/context.js +391 -213
  180. package/dist/commands/context.js.map +1 -1
  181. package/dist/commands/provider.d.ts +4 -0
  182. package/dist/commands/provider.d.ts.map +1 -0
  183. package/dist/commands/provider.js +218 -0
  184. package/dist/commands/provider.js.map +1 -0
  185. package/dist/commands/ps.d.ts +7 -0
  186. package/dist/commands/ps.d.ts.map +1 -1
  187. package/dist/commands/ps.js +34 -4
  188. package/dist/commands/ps.js.map +1 -1
  189. package/dist/commands/queue.d.ts.map +1 -1
  190. package/dist/commands/queue.js +38 -8
  191. package/dist/commands/queue.js.map +1 -1
  192. package/dist/commands/scope.d.ts.map +1 -1
  193. package/dist/commands/scope.js +48 -4
  194. package/dist/commands/scope.js.map +1 -1
  195. package/dist/commands/send.d.ts.map +1 -1
  196. package/dist/commands/send.js +70 -11
  197. package/dist/commands/send.js.map +1 -1
  198. package/dist/commands/stream.d.ts +1 -0
  199. package/dist/commands/stream.d.ts.map +1 -1
  200. package/dist/commands/stream.js +93 -0
  201. package/dist/commands/stream.js.map +1 -1
  202. package/dist/commands/tui.d.ts +4 -0
  203. package/dist/commands/tui.d.ts.map +1 -0
  204. package/dist/commands/tui.js +29 -0
  205. package/dist/commands/tui.js.map +1 -0
  206. package/dist/commands/walk.d.ts +19 -0
  207. package/dist/commands/walk.d.ts.map +1 -0
  208. package/dist/commands/walk.js +139 -0
  209. package/dist/commands/walk.js.map +1 -0
  210. package/dist/context-resolve.d.ts +14 -0
  211. package/dist/context-resolve.d.ts.map +1 -0
  212. package/dist/context-resolve.js +40 -0
  213. package/dist/context-resolve.js.map +1 -0
  214. package/dist/front-door.d.ts +31 -0
  215. package/dist/front-door.d.ts.map +1 -0
  216. package/dist/front-door.js +114 -0
  217. package/dist/front-door.js.map +1 -0
  218. package/dist/index.d.ts +3 -1
  219. package/dist/index.d.ts.map +1 -1
  220. package/dist/index.js +19 -6
  221. package/dist/index.js.map +1 -1
  222. package/dist/lib/scope/attestation-lineage.d.ts +14 -0
  223. package/dist/lib/scope/attestation-lineage.d.ts.map +1 -0
  224. package/dist/lib/scope/attestation-lineage.js +34 -0
  225. package/dist/lib/scope/attestation-lineage.js.map +1 -0
  226. package/package.json +4 -2
  227. package/tui/dist/daemon-client.d.ts +56 -0
  228. package/tui/dist/daemon-client.d.ts.map +1 -0
  229. package/tui/dist/daemon-client.js +99 -0
  230. package/tui/dist/daemon-client.js.map +1 -0
  231. package/tui/dist/demo-data.d.ts +3 -0
  232. package/tui/dist/demo-data.d.ts.map +1 -0
  233. package/tui/dist/demo-data.js +52 -0
  234. package/tui/dist/demo-data.js.map +1 -0
  235. package/tui/dist/detail.d.ts +34 -0
  236. package/tui/dist/detail.d.ts.map +1 -0
  237. package/tui/dist/detail.js +47 -0
  238. package/tui/dist/detail.js.map +1 -0
  239. package/tui/dist/grammar.d.ts +3 -0
  240. package/tui/dist/grammar.d.ts.map +1 -0
  241. package/tui/dist/grammar.js +66 -0
  242. package/tui/dist/grammar.js.map +1 -0
  243. package/tui/dist/hydrate.d.ts +78 -0
  244. package/tui/dist/hydrate.d.ts.map +1 -0
  245. package/tui/dist/hydrate.js +294 -0
  246. package/tui/dist/hydrate.js.map +1 -0
  247. package/tui/dist/index.d.ts +12 -0
  248. package/tui/dist/index.d.ts.map +1 -0
  249. package/tui/dist/index.js +12 -0
  250. package/tui/dist/index.js.map +1 -0
  251. package/tui/dist/input.d.ts +21 -0
  252. package/tui/dist/input.d.ts.map +1 -0
  253. package/tui/dist/input.js +128 -0
  254. package/tui/dist/input.js.map +1 -0
  255. package/tui/dist/live.d.ts +20 -0
  256. package/tui/dist/live.d.ts.map +1 -0
  257. package/tui/dist/live.js +67 -0
  258. package/tui/dist/live.js.map +1 -0
  259. package/tui/dist/main.d.ts +3 -0
  260. package/tui/dist/main.d.ts.map +1 -0
  261. package/tui/dist/main.js +184 -0
  262. package/tui/dist/main.js.map +1 -0
  263. package/tui/dist/motion.d.ts +13 -0
  264. package/tui/dist/motion.d.ts.map +1 -0
  265. package/tui/dist/motion.js +31 -0
  266. package/tui/dist/motion.js.map +1 -0
  267. package/tui/dist/navigator.d.ts +21 -0
  268. package/tui/dist/navigator.d.ts.map +1 -0
  269. package/tui/dist/navigator.js +168 -0
  270. package/tui/dist/navigator.js.map +1 -0
  271. package/tui/dist/refresh.d.ts +3 -0
  272. package/tui/dist/refresh.d.ts.map +1 -0
  273. package/tui/dist/refresh.js +9 -0
  274. package/tui/dist/refresh.js.map +1 -0
  275. package/tui/dist/render.d.ts +21 -0
  276. package/tui/dist/render.d.ts.map +1 -0
  277. package/tui/dist/render.js +807 -0
  278. package/tui/dist/render.js.map +1 -0
  279. package/tui/dist/sections.d.ts +4 -0
  280. package/tui/dist/sections.d.ts.map +1 -0
  281. package/tui/dist/sections.js +19 -0
  282. package/tui/dist/sections.js.map +1 -0
  283. package/tui/dist/socket-server.d.ts +24 -0
  284. package/tui/dist/socket-server.d.ts.map +1 -0
  285. package/tui/dist/socket-server.js +85 -0
  286. package/tui/dist/socket-server.js.map +1 -0
  287. package/tui/dist/state.d.ts +51 -0
  288. package/tui/dist/state.d.ts.map +1 -0
  289. package/tui/dist/state.js +480 -0
  290. package/tui/dist/state.js.map +1 -0
  291. package/tui/dist/stylize.d.ts +4 -0
  292. package/tui/dist/stylize.d.ts.map +1 -0
  293. package/tui/dist/stylize.js +248 -0
  294. package/tui/dist/stylize.js.map +1 -0
  295. package/tui/dist/theme.d.ts +19 -0
  296. package/tui/dist/theme.d.ts.map +1 -0
  297. package/tui/dist/theme.js +86 -0
  298. package/tui/dist/theme.js.map +1 -0
  299. package/tui/dist/topology/canvas.d.ts +43 -0
  300. package/tui/dist/topology/canvas.d.ts.map +1 -0
  301. package/tui/dist/topology/canvas.js +131 -0
  302. package/tui/dist/topology/canvas.js.map +1 -0
  303. package/tui/dist/topology/fixture.d.ts +4 -0
  304. package/tui/dist/topology/fixture.d.ts.map +1 -0
  305. package/tui/dist/topology/fixture.js +71 -0
  306. package/tui/dist/topology/fixture.js.map +1 -0
  307. package/tui/dist/topology/glyphs.d.ts +21 -0
  308. package/tui/dist/topology/glyphs.d.ts.map +1 -0
  309. package/tui/dist/topology/glyphs.js +49 -0
  310. package/tui/dist/topology/glyphs.js.map +1 -0
  311. package/tui/dist/topology/graph-types.d.ts +39 -0
  312. package/tui/dist/topology/graph-types.d.ts.map +1 -0
  313. package/tui/dist/topology/graph-types.js +2 -0
  314. package/tui/dist/topology/graph-types.js.map +1 -0
  315. package/tui/dist/topology/layout.d.ts +52 -0
  316. package/tui/dist/topology/layout.d.ts.map +1 -0
  317. package/tui/dist/topology/layout.js +118 -0
  318. package/tui/dist/topology/layout.js.map +1 -0
  319. package/tui/dist/topology/render-graph.d.ts +8 -0
  320. package/tui/dist/topology/render-graph.d.ts.map +1 -0
  321. package/tui/dist/topology/render-graph.js +20 -0
  322. package/tui/dist/topology/render-graph.js.map +1 -0
  323. package/tui/dist/topology/runtime-marks.d.ts +53 -0
  324. package/tui/dist/topology/runtime-marks.d.ts.map +1 -0
  325. package/tui/dist/topology/runtime-marks.js +185 -0
  326. package/tui/dist/topology/runtime-marks.js.map +1 -0
  327. package/tui/dist/topology/styles/braille.d.ts +5 -0
  328. package/tui/dist/topology/styles/braille.d.ts.map +1 -0
  329. package/tui/dist/topology/styles/braille.js +84 -0
  330. package/tui/dist/topology/styles/braille.js.map +1 -0
  331. package/tui/dist/topology/styles/hatchet.d.ts +41 -0
  332. package/tui/dist/topology/styles/hatchet.d.ts.map +1 -0
  333. package/tui/dist/topology/styles/hatchet.js +146 -0
  334. package/tui/dist/topology/styles/hatchet.js.map +1 -0
  335. package/tui/dist/types.d.ts +362 -0
  336. package/tui/dist/types.d.ts.map +1 -0
  337. package/tui/dist/types.js +6 -0
  338. package/tui/dist/types.js.map +1 -0
  339. package/ui/dist/assets/{index-DkNi0RT8.js → index-Dv5VaLCN.js} +135 -135
  340. package/ui/dist/index.html +1 -1
  341. package/dist/commands/context-pack.d.ts +0 -4
  342. package/dist/commands/context-pack.d.ts.map +0 -1
  343. package/dist/commands/context-pack.js +0 -357
  344. package/dist/commands/context-pack.js.map +0 -1
@@ -5,6 +5,8 @@ import { claudePostureFlag } from "./yolo-mode.js";
5
5
  import { resolveConcreteHint } from "../domain/runtime-adapter.js";
6
6
  import { assessNativeResumeProbe } from "../domain/native-resume-probe.js";
7
7
  import { mergeManagedBlock } from "../domain/managed-blocks.js";
8
+ import { shellQuote } from "./shell-quote.js";
9
+ import { validateClaudeActivityHookDelivery } from "../domain/claude-activity-hooks.js";
8
10
  const SHELL_COMMANDS = new Set(["bash", "fish", "nu", "sh", "tmux", "zsh"]);
9
11
  // Real Claude Code binary needs 1-3s to write the new fork session-name
10
12
  // file under ~/.claude/sessions/. Poll instead of single-shot lookup.
@@ -25,6 +27,8 @@ export class ClaudeCodeAdapter {
25
27
  stateDir;
26
28
  collectorAssetPath;
27
29
  autoDriveProviderPrompts;
30
+ activityRelayPath;
31
+ claudeHooksManifestPath;
28
32
  constructor(deps) {
29
33
  this.tmux = deps.tmux;
30
34
  this.fs = deps.fsOps;
@@ -33,6 +37,8 @@ export class ClaudeCodeAdapter {
33
37
  this.stateDir = deps.stateDir ?? null;
34
38
  this.collectorAssetPath = deps.collectorAssetPath ?? null;
35
39
  this.autoDriveProviderPrompts = deps.autoDriveProviderPrompts ?? false;
40
+ this.activityRelayPath = deps.activityRelayPath ?? null;
41
+ this.claudeHooksManifestPath = deps.claudeHooksManifestPath ?? null;
36
42
  }
37
43
  async listInstalled(binding) {
38
44
  const results = [];
@@ -66,6 +72,31 @@ export class ClaudeCodeAdapter {
66
72
  failed.push({ effectiveId: entry.effectiveId, error: err.message });
67
73
  }
68
74
  }
75
+ // Activity-hook reconciliation is driven from this ALWAYS-RUN seam (not a
76
+ // per-entry projection): a profile that REMOVES the resource emits no entry,
77
+ // so the strip/disable branch must fire off the plan's ABSENCE — not off an
78
+ // entry — for durable disable to be production-reachable. Exactly one call.
79
+ const activityEntries = plan.entries.filter((e) => e.category === "runtime_resource" && e.resourceType === "claude_activity_hooks");
80
+ let activityOutcome = { changed: false, delivered: false, sourceMissing: false, manifestUnavailable: false, settingsUnparseable: false };
81
+ try {
82
+ activityOutcome = this.reconcileClaudeActivityHooks(binding.cwd, activityEntries.length > 0);
83
+ }
84
+ catch (err) {
85
+ console.error(`[openrig] claude activity-hook reconcile warning: ${err.message}`);
86
+ activityOutcome = { changed: false, delivered: false, sourceMissing: false, manifestUnavailable: false, settingsUnparseable: false };
87
+ }
88
+ // Never claim a resource as PROJECTED when delivery could not happen (missing
89
+ // relay source or a fail-closed malformed settings file): demote to skipped so
90
+ // no false projected claim + no dangling hooks are reported as success.
91
+ if (activityEntries.length > 0 && !activityOutcome.delivered) {
92
+ for (const e of activityEntries) {
93
+ const idx = projected.indexOf(e.effectiveId);
94
+ if (idx >= 0)
95
+ projected.splice(idx, 1);
96
+ if (!skipped.includes(e.effectiveId))
97
+ skipped.push(e.effectiveId);
98
+ }
99
+ }
69
100
  return { projected, skipped, failed };
70
101
  }
71
102
  async deliverStartup(files, binding) {
@@ -323,22 +354,44 @@ export class ClaudeCodeAdapter {
323
354
  const src = nodePath.join(entry.absolutePath, file);
324
355
  const dest = nodePath.join(targetDir, file);
325
356
  const content = this.fs.readFile(src);
326
- if (this.fs.exists(dest) && hashContent(content) === hashContent(this.fs.readFile(dest)))
357
+ // Reconcile mode even when the content write is skipped: a byte-identical dest
358
+ // projected earlier may still carry the wrong (default) mode.
359
+ if (this.fs.exists(dest) && hashContent(content) === hashContent(this.fs.readFile(dest))) {
360
+ this.preserveMode(src, dest);
327
361
  continue;
362
+ }
328
363
  this.fs.mkdirp(nodePath.dirname(dest));
329
364
  this.fs.writeFile(dest, content);
365
+ this.preserveMode(src, dest);
330
366
  }
331
367
  }
332
368
  else {
333
369
  // File-shaped: single file copy (subagents, hooks as YAML files)
334
370
  const content = this.fs.readFile(entry.absolutePath);
335
371
  const destFile = nodePath.join(targetDir, nodePath.basename(entry.absolutePath));
336
- if (this.fs.exists(destFile) && hashContent(content) === hashContent(this.fs.readFile(destFile)))
372
+ if (this.fs.exists(destFile) && hashContent(content) === hashContent(this.fs.readFile(destFile))) {
373
+ this.preserveMode(entry.absolutePath, destFile);
337
374
  return true;
375
+ }
338
376
  this.fs.writeFile(destFile, content);
377
+ this.preserveMode(entry.absolutePath, destFile);
339
378
  }
340
379
  return true;
341
380
  }
381
+ /**
382
+ * Reapply the source file's permission bits to the projected dest. Plain
383
+ * readFile+writeFile (writeFileSync) creates the dest with the process default
384
+ * mode, dropping executable bits on nested plugin helpers (e.g. the
385
+ * claude-compaction-restore/scripts/*.mjs 0755 hooks). No-op when the fs adapter
386
+ * does not expose mode primitives (keeps existing mock-fs callers unaffected).
387
+ */
388
+ preserveMode(src, dest) {
389
+ if (!this.fs.statMode || !this.fs.chmod)
390
+ return;
391
+ const srcMode = this.fs.statMode(src) & 0o777;
392
+ if ((this.fs.statMode(dest) & 0o777) !== srcMode)
393
+ this.fs.chmod(dest, srcMode);
394
+ }
342
395
  pluginAppliesToClaude(entry) {
343
396
  const explicit = entry.pluginType ?? "auto";
344
397
  if (explicit === "claude")
@@ -366,6 +419,11 @@ export class ClaudeCodeAdapter {
366
419
  case "claude_mcp_fragment":
367
420
  this.mergeJsonFragment(entry.absolutePath, nodePath.join(cwd, ".mcp.json"));
368
421
  return true;
422
+ case "claude_activity_hooks":
423
+ // Handled (no generic .claude/extensions copy): the relay asset is
424
+ // delivered + the settings hooks reconciled by reconcileClaudeActivityHooks
425
+ // off the always-run project() seam, not by per-entry projection.
426
+ return true;
369
427
  default:
370
428
  return false;
371
429
  }
@@ -534,6 +592,8 @@ export class ClaudeCodeAdapter {
534
592
  if (!this.stateDir || !this.collectorAssetPath || !binding.cwd)
535
593
  return;
536
594
  const contextDir = nodePath.join(this.stateDir, "context");
595
+ const providerUsageDir = nodePath.join(this.stateDir, "provider-usage");
596
+ this.fs.mkdirp(providerUsageDir);
537
597
  // 1. Copy collector script to project
538
598
  const collectorDest = nodePath.join(binding.cwd, ".openrig", "context-collector.cjs");
539
599
  this.fs.mkdirp(nodePath.dirname(collectorDest));
@@ -542,7 +602,7 @@ export class ClaudeCodeAdapter {
542
602
  const settingsPath = nodePath.join(binding.cwd, ".claude", "settings.local.json");
543
603
  this.fs.mkdirp(nodePath.dirname(settingsPath));
544
604
  const existing = this.readJsonObject(settingsPath);
545
- const collectorCmd = `node ${collectorDest} ${contextDir}`;
605
+ const collectorCmd = `node ${collectorDest} ${contextDir} ${providerUsageDir}`;
546
606
  existing["statusLine"] = {
547
607
  ...(typeof existing["statusLine"] === "object" && existing["statusLine"] !== null ? existing["statusLine"] : {}),
548
608
  type: "command",
@@ -550,6 +610,146 @@ export class ClaudeCodeAdapter {
550
610
  };
551
611
  this.fs.writeFile(settingsPath, JSON.stringify(existing, null, 2));
552
612
  }
613
+ /**
614
+ * Reconcile the OpenRig-managed activity-relay hooks in `.claude/settings.local.json`
615
+ * to the desired `enabled` state, driven ONCE from the always-run `project()` seam.
616
+ *
617
+ * ENABLE (only when the relay SOURCE is readable): deliver `activity-relay.cjs` →
618
+ * `<cwd>/.openrig/hooks/scripts/` (mode preserved, 0755 from the source asset) and upsert
619
+ * the owned command for each relay event DERIVED from the canonical claude.json manifest
620
+ * (compaction hooks excluded). If the source is missing, deliver NOTHING (no dangling
621
+ * commands) and report `sourceMissing` so the caller can surface a warning + not claim
622
+ * projection. DISABLE: strip owned entries and prune emptied containers.
623
+ *
624
+ * Ownership is the EXACT `node <quoted relay path>` command shape, so a stale/changed
625
+ * absolute prefix is replaced (never duplicated) while a user command that merely CONTAINS
626
+ * the path is preserved. Fail-closed: a settings file we cannot parse is left byte-for-byte
627
+ * untouched. Not `mergeJsonFragment` (additive union-by-key can't strip on disable).
628
+ */
629
+ reconcileClaudeActivityHooks(cwd, enabled) {
630
+ const relayDest = nodePath.join(cwd, ".openrig", "hooks", "scripts", "activity-relay.cjs");
631
+ const ownedCmd = `node ${shellQuote(relayDest)}`;
632
+ const settingsPath = nodePath.join(cwd, ".claude", "settings.local.json");
633
+ // PREVALIDATE BEFORE ANY MUTATION using the SHARED delivery validation (same gate
634
+ // preflight uses — one parser, no drift). Enable is deliverable ONLY when BOTH the relay
635
+ // source AND a nonempty canonical event set resolve. If enable is requested but not
636
+ // deliverable (missing relay, or a missing/malformed/zero-relay-event manifest), do
637
+ // NOTHING — no strip, no copy, no write — so existing managed hooks + settings bytes
638
+ // are preserved and the resource is NOT claimed delivered/projected (⇒ warn + skip).
639
+ const delivery = validateClaudeActivityHookDelivery(this.fs, this.activityRelayPath, this.claudeHooksManifestPath);
640
+ const derivedEvents = delivery.events;
641
+ const deliverable = enabled && delivery.deliverable;
642
+ if (enabled && !deliverable) {
643
+ return {
644
+ changed: false, delivered: false,
645
+ sourceMissing: !delivery.relaySourceOk,
646
+ manifestUnavailable: delivery.relaySourceOk && delivery.events.length === 0,
647
+ settingsUnparseable: false,
648
+ };
649
+ }
650
+ const settingsExisted = this.fs.exists(settingsPath);
651
+ // Fail closed: never clobber a settings file we cannot parse — preserve its bytes.
652
+ let settings;
653
+ if (settingsExisted) {
654
+ try {
655
+ settings = this.readJsonObjectStrict(settingsPath);
656
+ }
657
+ catch {
658
+ return { changed: false, delivered: false, sourceMissing: false, manifestUnavailable: false, settingsUnparseable: true };
659
+ }
660
+ }
661
+ else {
662
+ settings = {};
663
+ }
664
+ const hooks = this.readJsonObjectField(settings, "hooks");
665
+ // 1. Strip OpenRig-owned relay entries (EXACT node-command shape) from all events;
666
+ // prune emptied groups + events. User-authored hooks are untouched.
667
+ let changed = false;
668
+ for (const event of Object.keys(hooks)) {
669
+ const groups = Array.isArray(hooks[event]) ? hooks[event] : null;
670
+ if (!groups)
671
+ continue;
672
+ const keptGroups = [];
673
+ for (const group of groups) {
674
+ if (!isPlainObject(group) || !Array.isArray(group["hooks"])) {
675
+ keptGroups.push(group);
676
+ continue;
677
+ }
678
+ const groupHooks = group["hooks"];
679
+ const keptHooks = groupHooks.filter((h) => !isOwnedRelayCommand(hookCommand(h)));
680
+ if (keptHooks.length !== groupHooks.length)
681
+ changed = true;
682
+ if (keptHooks.length === 0)
683
+ continue; // prune emptied group
684
+ keptGroups.push({ ...group, hooks: keptHooks });
685
+ }
686
+ if (keptGroups.length === 0)
687
+ delete hooks[event]; // prune emptied event
688
+ else
689
+ hooks[event] = keptGroups;
690
+ }
691
+ // 2. Deliverable enable: copy the relay asset + upsert the owned entry for each
692
+ // PREVALIDATED relay event (derived from the canonical manifest above).
693
+ if (deliverable) {
694
+ this.fs.mkdirp(nodePath.dirname(relayDest));
695
+ this.fs.copyFile(this.activityRelayPath, relayDest);
696
+ this.preserveMode(this.activityRelayPath, relayDest);
697
+ for (const { event, timeout } of derivedEvents) {
698
+ const groups = Array.isArray(hooks[event]) ? hooks[event] : [];
699
+ const hook = { type: "command", command: ownedCmd };
700
+ if (typeof timeout === "number")
701
+ hook["timeout"] = timeout;
702
+ groups.push({ hooks: [hook] });
703
+ hooks[event] = groups;
704
+ changed = true;
705
+ }
706
+ }
707
+ // 3. Persist only when something changed (never touch an unchanged / never-managed file).
708
+ if (!changed)
709
+ return { changed: false, delivered: deliverable, sourceMissing: false, manifestUnavailable: false, settingsUnparseable: false };
710
+ if (Object.keys(hooks).length > 0)
711
+ settings["hooks"] = hooks;
712
+ else
713
+ delete settings["hooks"];
714
+ this.fs.mkdirp(nodePath.dirname(settingsPath));
715
+ this.fs.writeFile(settingsPath, JSON.stringify(settings, null, 2));
716
+ return { changed: true, delivered: deliverable, sourceMissing: false, manifestUnavailable: false, settingsUnparseable: false };
717
+ }
718
+ }
719
+ // OpenRig-owned relay path suffix. Ownership is the EXACT `node <arg>` command whose single
720
+ // argument ends with this path — a changed prefix still matches (replace, not duplicate); a
721
+ // user command that merely contains the path (echo, or node with extra args) does NOT.
722
+ const OWNED_RELAY_SUFFIX = "/.openrig/hooks/scripts/activity-relay.cjs";
723
+ function hookCommand(hook) {
724
+ return isPlainObject(hook) && typeof hook["command"] === "string" ? hook["command"] : undefined;
725
+ }
726
+ function isOwnedRelayCommand(cmd) {
727
+ if (!cmd)
728
+ return false;
729
+ const m = /^node\s+(.+)$/.exec(cmd.trim());
730
+ if (!m)
731
+ return false;
732
+ const arg = m[1];
733
+ const decoded = unquoteSingleShellToken(arg);
734
+ if (decoded === null)
735
+ return false;
736
+ // Canonical ONE-TOKEN round-trip: the argument must be EXACTLY one shellQuote token — re-encoding
737
+ // the decoded path must reproduce the argument VERBATIM. This is the ownership test's core: the
738
+ // command is `node ${shellQuote(relayDest)}`, so any owned entry re-encodes to itself (including
739
+ // an apostrophe cwd O'Brien via the '"'"' escape). It REJECTS a user command whose multiple quoted
740
+ // args merely concatenate to text ending in the relay suffix (e.g. `node 'x' '<relay>'`), which
741
+ // must never be recognised as owned and deleted.
742
+ if (shellQuote(decoded) !== arg)
743
+ return false;
744
+ return decoded.endsWith(OWNED_RELAY_SUFFIX);
745
+ }
746
+ /** Decode ONE POSIX single-quoted shell token as produced by shellQuote (outer `'…'` with an
747
+ * embedded `'` escaped as `'"'"'`). Returns null when the token is not single-quote wrapped. The
748
+ * caller re-encodes to confirm the token is canonical/single — this decode alone does not. */
749
+ function unquoteSingleShellToken(token) {
750
+ if (token.length < 2 || !token.startsWith("'") || !token.endsWith("'"))
751
+ return null;
752
+ return token.slice(1, -1).split(`'"'"'`).join("'");
553
753
  }
554
754
  function hashContent(content) {
555
755
  return createHash("sha256").update(content).digest("hex");
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-adapter.js","sourceRoot":"","sources":["../../src/adapters/claude-code-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAMnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAehE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE5E,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACnB,OAAO,GAAG,aAAa,CAAC;IACzB,IAAI,CAAc;IAClB,EAAE,CAAqB;IACvB,gBAAgB,CAAe;IAC/B,KAAK,CAAgC;IACrC,QAAQ,CAAgB;IACxB,kBAAkB,CAAgB;IAClC,wBAAwB,CAAU;IAE1C,YAAY,IAQX;QACC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC;QAC1D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,IAAI,KAAK,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAoB;QACtC,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;YACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAoB,EAAE,OAAoB;QACtD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAkD,EAAE,CAAC;QAEjE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBACzD,IAAI,UAAU,EAAE,CAAC;oBACf,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAA4B,EAAE,OAAoB;QACrE,IAAI,CAAC;YAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,uCAAwC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,uEAAuE;QACvE,IAAI,CAAC;YAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACzD,6DAA6D;YAC7D,OAAO,CAAC,KAAK,CAAC,qDAAsD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gBAE5G,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,gBAAgB,CAAC,CAAC,CAAC;wBACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;wBAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBAClE,IAAI,CAAC,MAAM;4BAAE,SAAS,CAAC,2CAA2C;wBAClE,MAAM;oBACR,CAAC;oBACD,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBAC1H,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC1B,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBACnF,MAAM;oBACR,CAAC;oBACD,KAAK,WAAW,CAAC,CAAC,CAAC;wBACjB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;4BACxB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;4BAC1E,IAAI,CAAC,UAAU,CAAC,EAAE;gCAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;4BACxD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;4BAC5E,IAAI,CAAC,YAAY,CAAC,EAAE;gCAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;wBAC9D,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,SAAS,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,OAAoB,EACpB,IAA4G;QAE5G,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2DAA2D,EAAE,CAAC;QAC3F,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8DAA8D,EAAE,CAAC;QAC9F,CAAC;QAED,8FAA8F;QAC9F,wFAAwF;QACxF,gGAAgG;QAChG,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAE7E,6EAA6E;QAC7E,sEAAsE;QACtE,iEAAiE;QACjE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,+BAA+B,IAAI,CAAC,UAAU,CAAC,IAAI,6FAA6F;iBACxJ,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mEAAmE,EAAE,CAAC;YACnG,CAAC;YACD,MAAM,GAAG,GAAG,UAAU,cAAc,aAAa,QAAQ,0BAA0B,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/F,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACtF,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9E,CAAC;YACD,kEAAkE;YAClE,gEAAgE;YAChE,iEAAiE;YACjE,qCAAqC;YACrC,wDAAwD;YACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YAClG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,kGAAkG,kBAAkB,WAAW,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,IAAI,YAAY;iBACnM,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;QACtE,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW;YAC1B,CAAC,CAAC,UAAU,cAAc,aAAa,IAAI,CAAC,WAAW,WAAW,IAAI,CAAC,IAAI,EAAE;YAC7E,CAAC,CAAC,UAAU,cAAc,iBAAiB,kBAAkB,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;QAEtF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACtF,CAAC;QACD,wBAAwB;QACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9E,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,EAAE;gBAAE,OAAO,YAAY,CAAC;YAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;QAC9E,CAAC;QAED,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,kBAAkB,IAAI,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAoB;QACnC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;QACjE,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxF,MAAM,KAAK,GAAG,uBAAuB,CAAC;YACpC,OAAO,EAAE,aAAa;YACtB,WAAW;YACX,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAClE,CAAC;IAED,8FAA8F;IAC9F,sBAAsB,CAAC,OAA6D;QAClF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,wFAAwF;IACxF,sBAAsB,CAAC,OAA6D;QAClF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,wBAAwB;IAEhB,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QAClD,MAAM,QAAQ,GAAG,EAAE,CAAC;QAEpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAChF,MAAM,KAAK,GAAG,uBAAuB,CAAC;gBACpC,OAAO,EAAE,aAAa;gBACtB,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBAC3C,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,uEAAuE;oBAC9E,QAAQ,EAAE,aAAa;iBACxB,CAAC;YACJ,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YACtB,CAAC;YAED,qEAAqE;YACrE,qEAAqE;YACrE,iEAAiE;YACjE,IAAI,KAAK,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;gBAC1C,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,KAAK,CAAC,MAAM;oBACnB,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;iBACxD,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,wBAAwB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;oBACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,0CAA0C,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/F,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,IAAI,OAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,MAAM,UAAU,GAAG,uBAAuB,CAAC;YACzC,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;YAC/C,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,UAAU,CAAC,MAAM;gBACxB,QAAQ,EAAE,oBAAoB;gBAC9B,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aACzD,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,yEAAyE;gBAChF,QAAQ,EAAE,aAAa;aACxB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qEAAqE,EAAE,CAAC;IACrG,CAAC;IAEO,YAAY,CAAC,KAAsB,EAAE,GAAW;QACtD,IAAI,KAAK,CAAC,QAAQ,KAAK,kBAAkB,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,IAAI,KAAK,CAAC,aAAa,KAAK,eAAe,EAAE,CAAC;YAC7E,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QAED,mEAAmE;QACnE,wDAAwD;QACxD,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE3F,IAAI,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;YAC/B,mCAAmC;YACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAAE,SAAS;gBACnG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YACjF,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC9G,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qBAAqB,CAAC,KAAsB;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC;QAC5C,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,QAAQ,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACvC,0EAA0E;QAC1E,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEO,gBAAgB,CAAC,KAAsB,EAAE,GAAW;QAC1D,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAChF,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,oBAAoB;YAClD,KAAK,UAAU,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChE,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAClF,KAAK,kBAAkB,CAAC,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/F,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,KAAsB,EAAE,GAAW;QAC9D,QAAQ,KAAK,CAAC,YAAY,EAAE,CAAC;YAC3B,KAAK,0BAA0B;gBAC7B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC;gBACjG,OAAO,IAAI,CAAC;YACd,KAAK,qBAAqB;gBACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC5E,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,UAAkB,EAAE,UAAkB;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAC,UAAkB,EAAE,OAAe,EAAE,OAAe;QACxE,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,oEAAoE;QACpE,0EAA0E;QAC1E,sDAAsD;QACtD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CACT,kGAAkG,UAAU,GAAG,CAChH,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE;YACvD,eAAe,EAAE,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE;SAC5E,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH;;;;;;OAMG;IACK,KAAK,CAAC,kBAAkB,CAC9B,YAAoB,EACpB,QAAgB,EAChB,OAAe;QAEf,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxB,IAAI,OAAO,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,kBAAkB,CAAC,YAAoB;QAC7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAChG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC;YAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS;gBACtC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA0C,CAAC;oBAC1E,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjD,OAAO,IAAI,CAAC,SAAS,CAAC;oBACxB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,kBAAkB,CAAC,IAAY,EAAE,OAAe;QACtD,OAAO,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEO,yBAAyB,CAAC,OAA6D;QAC7F,yFAAyF;QACzF,kGAAkG;QAClG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,8FAA8F;IAC9F,iGAAiG;IACjG,kGAAkG;IAClG,mGAAmG;IACnG,uFAAuF;IAE/E,uBAAuB,CAAC,GAAkB;QAChD,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAE7D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAClE,YAAY,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;YAC9C,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,wBAAwB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,KAAK,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,kBAAkB,CAAC,GAAW;QACpC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,+EAA+E;QACjF,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC5E,CAAC,CAAC,MAAiC;gBACnC,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,IAAY;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAiC,CAAC;QAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;IACnD,CAAC;IAEO,mBAAmB,CAAC,MAA+B,EAAE,GAAW;QACtE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACzE,CAAC,CAAC,KAAgC;YAClC,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAED,mGAAmG;IAEnG;;;;OAIG;IACK,yBAAyB,CAAC,OAA6D;QAC7F,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO;QACvE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE3D,sCAAsC;QACtC,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;QACtF,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAEzD,+DAA+D;QAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;QAClF,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,QAAQ,aAAa,IAAI,UAAU,EAAE,CAAC;QAC3D,QAAQ,CAAC,YAAY,CAAC,GAAG;YACvB,GAAG,CAAC,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3I,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,YAAY;SACtB,CAAC;QAEF,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;CAEF;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CAAC,IAA6B,EAAE,QAAiC;IACxF,MAAM,MAAM,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,IAAa,EAAE,QAAiB;IACtD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,IAAe,EAAE,QAAmB;IAC3D,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"claude-code-adapter.js","sourceRoot":"","sources":["../../src/adapters/claude-code-adapter.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ export interface CodexAdapterFsOps {
9
9
  exists(path: string): boolean;
10
10
  mkdirp(path: string): void;
11
11
  listFiles?(dirPath: string): string[];
12
+ /** Source file permission bits (for mode-preserving projection). Optional: mode preservation is a no-op if absent. */
13
+ statMode?(path: string): number;
14
+ /** Apply permission bits to a file (for mode-preserving projection). Optional: no-op if absent. */
15
+ chmod?(path: string, mode: number): void;
12
16
  homedir?: string;
13
17
  }
14
18
  /**
@@ -111,6 +115,14 @@ export declare class CodexRuntimeAdapter implements RuntimeAdapter {
111
115
  cwd?: string | null;
112
116
  }): void;
113
117
  private projectEntry;
118
+ /**
119
+ * Reapply the source file's permission bits to the projected dest. Plain
120
+ * readFile+writeFile (writeFileSync) creates the dest with the process default
121
+ * mode, dropping executable bits on nested plugin helpers (e.g. the
122
+ * claude-compaction-restore/scripts/*.mjs 0755 hooks). No-op when the fs adapter
123
+ * does not expose mode primitives (keeps existing mock-fs callers unaffected).
124
+ */
125
+ private preserveMode;
114
126
  private pluginAppliesToCodex;
115
127
  private resolveTargetDir;
116
128
  private applyRuntimeResource;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-runtime-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/codex-runtime-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-runtime-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/codex-runtime-adapter.ts"],"names":[],"mappings":"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"}
@@ -473,21 +473,43 @@ export class CodexRuntimeAdapter {
473
473
  const src = nodePath.join(entry.absolutePath, file);
474
474
  const dest = nodePath.join(targetDir, file);
475
475
  const content = this.fs.readFile(src);
476
- if (this.fs.exists(dest) && hashContent(content) === hashContent(this.fs.readFile(dest)))
476
+ // Reconcile mode even when the content write is skipped: a byte-identical dest
477
+ // projected earlier may still carry the wrong (default) mode.
478
+ if (this.fs.exists(dest) && hashContent(content) === hashContent(this.fs.readFile(dest))) {
479
+ this.preserveMode(src, dest);
477
480
  continue;
481
+ }
478
482
  this.fs.mkdirp(nodePath.dirname(dest));
479
483
  this.fs.writeFile(dest, content);
484
+ this.preserveMode(src, dest);
480
485
  }
481
486
  }
482
487
  else {
483
488
  const content = this.fs.readFile(entry.absolutePath);
484
489
  const destFile = nodePath.join(targetDir, nodePath.basename(entry.absolutePath));
485
- if (this.fs.exists(destFile) && hashContent(content) === hashContent(this.fs.readFile(destFile)))
490
+ if (this.fs.exists(destFile) && hashContent(content) === hashContent(this.fs.readFile(destFile))) {
491
+ this.preserveMode(entry.absolutePath, destFile);
486
492
  return true;
493
+ }
487
494
  this.fs.writeFile(destFile, content);
495
+ this.preserveMode(entry.absolutePath, destFile);
488
496
  }
489
497
  return true;
490
498
  }
499
+ /**
500
+ * Reapply the source file's permission bits to the projected dest. Plain
501
+ * readFile+writeFile (writeFileSync) creates the dest with the process default
502
+ * mode, dropping executable bits on nested plugin helpers (e.g. the
503
+ * claude-compaction-restore/scripts/*.mjs 0755 hooks). No-op when the fs adapter
504
+ * does not expose mode primitives (keeps existing mock-fs callers unaffected).
505
+ */
506
+ preserveMode(src, dest) {
507
+ if (!this.fs.statMode || !this.fs.chmod)
508
+ return;
509
+ const srcMode = this.fs.statMode(src) & 0o777;
510
+ if ((this.fs.statMode(dest) & 0o777) !== srcMode)
511
+ this.fs.chmod(dest, srcMode);
512
+ }
491
513
  pluginAppliesToCodex(entry) {
492
514
  const explicit = entry.pluginType ?? "auto";
493
515
  if (explicit === "codex")