p-dev-harness 0.3.1 → 0.4.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 (1862) hide show
  1. package/README.md +12 -4
  2. package/dist/agents/cursor-provider.d.ts.map +1 -1
  3. package/dist/agents/cursor-provider.js +9 -8
  4. package/dist/agents/cursor-provider.js.map +1 -1
  5. package/dist/agents/index.d.ts +3 -4
  6. package/dist/agents/index.d.ts.map +1 -1
  7. package/dist/agents/index.js +2 -5
  8. package/dist/agents/index.js.map +1 -1
  9. package/dist/agents/types.d.ts +36 -2
  10. package/dist/agents/types.d.ts.map +1 -1
  11. package/dist/artifacts/redact.d.ts +2 -0
  12. package/dist/artifacts/redact.d.ts.map +1 -1
  13. package/dist/artifacts/redact.js +15 -1
  14. package/dist/artifacts/redact.js.map +1 -1
  15. package/dist/artifacts/write-json-out-manifest.d.ts +17 -0
  16. package/dist/artifacts/write-json-out-manifest.d.ts.map +1 -0
  17. package/dist/artifacts/write-json-out-manifest.js +68 -0
  18. package/dist/artifacts/write-json-out-manifest.js.map +1 -0
  19. package/dist/cli/commands/canary-runner-config.d.ts +2 -0
  20. package/dist/cli/commands/canary-runner-config.d.ts.map +1 -0
  21. package/dist/cli/commands/canary-runner-config.js +6 -0
  22. package/dist/cli/commands/canary-runner-config.js.map +1 -0
  23. package/dist/cli/commands/doctor.d.ts.map +1 -1
  24. package/dist/cli/commands/doctor.js +129 -0
  25. package/dist/cli/commands/doctor.js.map +1 -1
  26. package/dist/cli/commands/resolve-route.d.ts.map +1 -1
  27. package/dist/cli/commands/resolve-route.js +5 -0
  28. package/dist/cli/commands/resolve-route.js.map +1 -1
  29. package/dist/cli/commands/run.d.ts +1 -0
  30. package/dist/cli/commands/run.d.ts.map +1 -1
  31. package/dist/cli/commands/run.js +54 -12
  32. package/dist/cli/commands/run.js.map +1 -1
  33. package/dist/cli/commands/sync-managed-runner.d.ts +7 -0
  34. package/dist/cli/commands/sync-managed-runner.d.ts.map +1 -0
  35. package/dist/cli/commands/sync-managed-runner.js +89 -0
  36. package/dist/cli/commands/sync-managed-runner.js.map +1 -0
  37. package/dist/cli/program.d.ts.map +1 -1
  38. package/dist/cli/program.js +27 -0
  39. package/dist/cli/program.js.map +1 -1
  40. package/dist/config/assert-cloud-config-fingerprint.d.ts +10 -0
  41. package/dist/config/assert-cloud-config-fingerprint.d.ts.map +1 -0
  42. package/dist/config/assert-cloud-config-fingerprint.js +26 -0
  43. package/dist/config/assert-cloud-config-fingerprint.js.map +1 -0
  44. package/dist/config/cloud-config-fingerprint.d.ts +26 -0
  45. package/dist/config/cloud-config-fingerprint.d.ts.map +1 -0
  46. package/dist/config/cloud-config-fingerprint.js +64 -0
  47. package/dist/config/cloud-config-fingerprint.js.map +1 -0
  48. package/dist/config/legacy-linear-top-level.d.ts +16 -0
  49. package/dist/config/legacy-linear-top-level.d.ts.map +1 -0
  50. package/dist/config/legacy-linear-top-level.js +42 -0
  51. package/dist/config/legacy-linear-top-level.js.map +1 -0
  52. package/dist/config/linear-association-gate.d.ts +26 -0
  53. package/dist/config/linear-association-gate.d.ts.map +1 -0
  54. package/dist/config/linear-association-gate.js +46 -0
  55. package/dist/config/linear-association-gate.js.map +1 -0
  56. package/dist/config/resolve-linear-team.d.ts +10 -0
  57. package/dist/config/resolve-linear-team.d.ts.map +1 -0
  58. package/dist/config/resolve-linear-team.js +24 -0
  59. package/dist/config/resolve-linear-team.js.map +1 -0
  60. package/dist/config/resolve-linear-workspace.d.ts +83 -0
  61. package/dist/config/resolve-linear-workspace.d.ts.map +1 -0
  62. package/dist/config/resolve-linear-workspace.js +244 -0
  63. package/dist/config/resolve-linear-workspace.js.map +1 -0
  64. package/dist/config/role-models.d.ts +160 -0
  65. package/dist/config/role-models.d.ts.map +1 -0
  66. package/dist/config/role-models.js +31 -0
  67. package/dist/config/role-models.js.map +1 -0
  68. package/dist/config/runner-upgrade-sync-gate.d.ts +10 -0
  69. package/dist/config/runner-upgrade-sync-gate.d.ts.map +1 -0
  70. package/dist/config/runner-upgrade-sync-gate.js +24 -0
  71. package/dist/config/runner-upgrade-sync-gate.js.map +1 -0
  72. package/dist/config/schema.d.ts +266 -0
  73. package/dist/config/schema.d.ts.map +1 -1
  74. package/dist/config/schema.js +14 -0
  75. package/dist/config/schema.js.map +1 -1
  76. package/dist/config/types.d.ts +1 -1
  77. package/dist/config/types.d.ts.map +1 -1
  78. package/dist/config/workspace-root.d.ts +7 -0
  79. package/dist/config/workspace-root.d.ts.map +1 -0
  80. package/dist/config/workspace-root.js +21 -0
  81. package/dist/config/workspace-root.js.map +1 -0
  82. package/dist/cursor/agent-factory.d.ts +8 -0
  83. package/dist/cursor/agent-factory.d.ts.map +1 -1
  84. package/dist/cursor/agent-factory.js +34 -5
  85. package/dist/cursor/agent-factory.js.map +1 -1
  86. package/dist/cursor/builder-resume-errors.d.ts +3 -0
  87. package/dist/cursor/builder-resume-errors.d.ts.map +1 -0
  88. package/dist/cursor/builder-resume-errors.js +32 -0
  89. package/dist/cursor/builder-resume-errors.js.map +1 -0
  90. package/dist/cursor/model.d.ts +18 -22
  91. package/dist/cursor/model.d.ts.map +1 -1
  92. package/dist/cursor/model.js +73 -25
  93. package/dist/cursor/model.js.map +1 -1
  94. package/dist/cursor/run-observer.d.ts +8 -1
  95. package/dist/cursor/run-observer.d.ts.map +1 -1
  96. package/dist/cursor/run-observer.js +9 -1
  97. package/dist/cursor/run-observer.js.map +1 -1
  98. package/dist/github/auth-verification-retry.d.ts +12 -0
  99. package/dist/github/auth-verification-retry.d.ts.map +1 -0
  100. package/dist/github/auth-verification-retry.js +47 -0
  101. package/dist/github/auth-verification-retry.js.map +1 -0
  102. package/dist/github/client.d.ts +53 -4
  103. package/dist/github/client.d.ts.map +1 -1
  104. package/dist/github/client.js +108 -7
  105. package/dist/github/client.js.map +1 -1
  106. package/dist/gui/configure-health.js +2 -2
  107. package/dist/gui/configure-health.js.map +1 -1
  108. package/dist/gui/repo-root.d.ts +3 -0
  109. package/dist/gui/repo-root.d.ts.map +1 -1
  110. package/dist/gui/repo-root.js +16 -1
  111. package/dist/gui/repo-root.js.map +1 -1
  112. package/dist/gui/start-configure-stable.js +6 -2
  113. package/dist/gui/start-configure-stable.js.map +1 -1
  114. package/dist/gui/start-gui.js +7 -3
  115. package/dist/gui/start-gui.js.map +1 -1
  116. package/dist/linear/client.d.ts +4 -0
  117. package/dist/linear/client.d.ts.map +1 -1
  118. package/dist/linear/client.js +7 -0
  119. package/dist/linear/client.js.map +1 -1
  120. package/dist/linear/comments.d.ts +9 -0
  121. package/dist/linear/comments.d.ts.map +1 -1
  122. package/dist/linear/comments.js +34 -0
  123. package/dist/linear/comments.js.map +1 -1
  124. package/dist/linear/issue-query.d.ts +1 -0
  125. package/dist/linear/issue-query.d.ts.map +1 -1
  126. package/dist/linear/issue-query.js +3 -0
  127. package/dist/linear/issue-query.js.map +1 -1
  128. package/dist/linear/markers.d.ts +7 -0
  129. package/dist/linear/markers.d.ts.map +1 -1
  130. package/dist/linear/markers.js +21 -0
  131. package/dist/linear/markers.js.map +1 -1
  132. package/dist/linear/parser.d.ts +2 -1
  133. package/dist/linear/parser.d.ts.map +1 -1
  134. package/dist/linear/parser.js +46 -0
  135. package/dist/linear/parser.js.map +1 -1
  136. package/dist/linear/project-harness-metadata.d.ts +10 -0
  137. package/dist/linear/project-harness-metadata.d.ts.map +1 -0
  138. package/dist/linear/project-harness-metadata.js +109 -0
  139. package/dist/linear/project-harness-metadata.js.map +1 -0
  140. package/dist/linear/project-metadata-sync.d.ts +29 -0
  141. package/dist/linear/project-metadata-sync.d.ts.map +1 -0
  142. package/dist/linear/project-metadata-sync.js +64 -0
  143. package/dist/linear/project-metadata-sync.js.map +1 -0
  144. package/dist/linear/run-status-comment.d.ts +49 -0
  145. package/dist/linear/run-status-comment.d.ts.map +1 -0
  146. package/dist/linear/run-status-comment.js +118 -0
  147. package/dist/linear/run-status-comment.js.map +1 -0
  148. package/dist/linear/writer.d.ts +8 -0
  149. package/dist/linear/writer.d.ts.map +1 -1
  150. package/dist/linear/writer.js +13 -0
  151. package/dist/linear/writer.js.map +1 -1
  152. package/dist/observability/adapters/fake.d.ts +17 -0
  153. package/dist/observability/adapters/fake.d.ts.map +1 -0
  154. package/dist/observability/adapters/fake.js +205 -0
  155. package/dist/observability/adapters/fake.js.map +1 -0
  156. package/dist/observability/adapters/noop.d.ts +5 -0
  157. package/dist/observability/adapters/noop.d.ts.map +1 -0
  158. package/dist/observability/adapters/noop.js +51 -0
  159. package/dist/observability/adapters/noop.js.map +1 -0
  160. package/dist/observability/adapters/posthog.d.ts +12 -0
  161. package/dist/observability/adapters/posthog.d.ts.map +1 -0
  162. package/dist/observability/adapters/posthog.js +142 -0
  163. package/dist/observability/adapters/posthog.js.map +1 -0
  164. package/dist/observability/adapters/sentry.d.ts +12 -0
  165. package/dist/observability/adapters/sentry.d.ts.map +1 -0
  166. package/dist/observability/adapters/sentry.js +217 -0
  167. package/dist/observability/adapters/sentry.js.map +1 -0
  168. package/dist/observability/analytics-schemas.d.ts +59 -0
  169. package/dist/observability/analytics-schemas.d.ts.map +1 -0
  170. package/dist/observability/analytics-schemas.js +119 -0
  171. package/dist/observability/analytics-schemas.js.map +1 -0
  172. package/dist/observability/consent.d.ts +14 -0
  173. package/dist/observability/consent.d.ts.map +1 -0
  174. package/dist/observability/consent.js +35 -0
  175. package/dist/observability/consent.js.map +1 -0
  176. package/dist/observability/constants.d.ts +18 -0
  177. package/dist/observability/constants.d.ts.map +1 -0
  178. package/dist/observability/constants.js +18 -0
  179. package/dist/observability/constants.js.map +1 -0
  180. package/dist/observability/context.d.ts +21 -0
  181. package/dist/observability/context.d.ts.map +1 -0
  182. package/dist/observability/context.js +105 -0
  183. package/dist/observability/context.js.map +1 -0
  184. package/dist/observability/facade-runtime-state.d.ts +17 -0
  185. package/dist/observability/facade-runtime-state.d.ts.map +1 -0
  186. package/dist/observability/facade-runtime-state.js +23 -0
  187. package/dist/observability/facade-runtime-state.js.map +1 -0
  188. package/dist/observability/facade.d.ts +44 -0
  189. package/dist/observability/facade.d.ts.map +1 -0
  190. package/dist/observability/facade.js +432 -0
  191. package/dist/observability/facade.js.map +1 -0
  192. package/dist/observability/fatal-handlers.d.ts +4 -0
  193. package/dist/observability/fatal-handlers.d.ts.map +1 -0
  194. package/dist/observability/fatal-handlers.js +54 -0
  195. package/dist/observability/fatal-handlers.js.map +1 -0
  196. package/dist/observability/identity.d.ts +4 -0
  197. package/dist/observability/identity.d.ts.map +1 -0
  198. package/dist/observability/identity.js +11 -0
  199. package/dist/observability/identity.js.map +1 -0
  200. package/dist/observability/index.d.ts +9 -0
  201. package/dist/observability/index.d.ts.map +1 -0
  202. package/dist/observability/index.js +6 -0
  203. package/dist/observability/index.js.map +1 -0
  204. package/dist/observability/local-state.d.ts +14 -0
  205. package/dist/observability/local-state.d.ts.map +1 -0
  206. package/dist/observability/local-state.js +107 -0
  207. package/dist/observability/local-state.js.map +1 -0
  208. package/dist/observability/package-config.d.ts +11 -0
  209. package/dist/observability/package-config.d.ts.map +1 -0
  210. package/dist/observability/package-config.js +117 -0
  211. package/dist/observability/package-config.js.map +1 -0
  212. package/dist/observability/posthog-dashboard-contract.d.ts +46 -0
  213. package/dist/observability/posthog-dashboard-contract.d.ts.map +1 -0
  214. package/dist/observability/posthog-dashboard-contract.js +200 -0
  215. package/dist/observability/posthog-dashboard-contract.js.map +1 -0
  216. package/dist/observability/privacy-schema.d.ts +13 -0
  217. package/dist/observability/privacy-schema.d.ts.map +1 -0
  218. package/dist/observability/privacy-schema.js +204 -0
  219. package/dist/observability/privacy-schema.js.map +1 -0
  220. package/dist/observability/product-error-messages.d.ts +2 -0
  221. package/dist/observability/product-error-messages.d.ts.map +1 -0
  222. package/dist/observability/product-error-messages.js +15 -0
  223. package/dist/observability/product-error-messages.js.map +1 -0
  224. package/dist/observability/product-errors.d.ts +12 -0
  225. package/dist/observability/product-errors.d.ts.map +1 -0
  226. package/dist/observability/product-errors.js +109 -0
  227. package/dist/observability/product-errors.js.map +1 -0
  228. package/dist/observability/provisioning-analytics.d.ts +12 -0
  229. package/dist/observability/provisioning-analytics.d.ts.map +1 -0
  230. package/dist/observability/provisioning-analytics.js +11 -0
  231. package/dist/observability/provisioning-analytics.js.map +1 -0
  232. package/dist/observability/redaction.d.ts +10 -0
  233. package/dist/observability/redaction.d.ts.map +1 -0
  234. package/dist/observability/redaction.js +72 -0
  235. package/dist/observability/redaction.js.map +1 -0
  236. package/dist/observability/runtime-eligibility.d.ts +6 -0
  237. package/dist/observability/runtime-eligibility.d.ts.map +1 -0
  238. package/dist/observability/runtime-eligibility.js +33 -0
  239. package/dist/observability/runtime-eligibility.js.map +1 -0
  240. package/dist/observability/sentry-outbound-privacy.d.ts +12 -0
  241. package/dist/observability/sentry-outbound-privacy.d.ts.map +1 -0
  242. package/dist/observability/sentry-outbound-privacy.js +168 -0
  243. package/dist/observability/sentry-outbound-privacy.js.map +1 -0
  244. package/dist/observability/session-dedupe.d.ts +8 -0
  245. package/dist/observability/session-dedupe.d.ts.map +1 -0
  246. package/dist/observability/session-dedupe.js +42 -0
  247. package/dist/observability/session-dedupe.js.map +1 -0
  248. package/dist/observability/session-handoff.d.ts +10 -0
  249. package/dist/observability/session-handoff.d.ts.map +1 -0
  250. package/dist/observability/session-handoff.js +25 -0
  251. package/dist/observability/session-handoff.js.map +1 -0
  252. package/dist/observability/transport-lifecycle.d.ts +20 -0
  253. package/dist/observability/transport-lifecycle.d.ts.map +1 -0
  254. package/dist/observability/transport-lifecycle.js +69 -0
  255. package/dist/observability/transport-lifecycle.js.map +1 -0
  256. package/dist/observability/types.d.ts +189 -0
  257. package/dist/observability/types.d.ts.map +1 -0
  258. package/dist/observability/types.js +2 -0
  259. package/dist/observability/types.js.map +1 -0
  260. package/dist/p-dev/cli.d.ts +1 -1
  261. package/dist/p-dev/cli.d.ts.map +1 -1
  262. package/dist/p-dev/cli.js +1 -1
  263. package/dist/p-dev/cli.js.map +1 -1
  264. package/dist/p-dev/git-object-plumbing.d.ts +20 -0
  265. package/dist/p-dev/git-object-plumbing.d.ts.map +1 -1
  266. package/dist/p-dev/git-object-plumbing.js +106 -13
  267. package/dist/p-dev/git-object-plumbing.js.map +1 -1
  268. package/dist/p-dev/launch.d.ts.map +1 -1
  269. package/dist/p-dev/launch.js +77 -15
  270. package/dist/p-dev/launch.js.map +1 -1
  271. package/dist/p-dev/main.js +9 -1
  272. package/dist/p-dev/main.js.map +1 -1
  273. package/dist/p-dev/package-paths.d.ts +12 -0
  274. package/dist/p-dev/package-paths.d.ts.map +1 -1
  275. package/dist/p-dev/package-paths.js +48 -2
  276. package/dist/p-dev/package-paths.js.map +1 -1
  277. package/dist/p-dev/workspace-snapshot-generator.d.ts.map +1 -1
  278. package/dist/p-dev/workspace-snapshot-generator.js +18 -0
  279. package/dist/p-dev/workspace-snapshot-generator.js.map +1 -1
  280. package/dist/p-dev/workspace-snapshot-manifest.d.ts.map +1 -1
  281. package/dist/p-dev/workspace-snapshot-manifest.js +48 -0
  282. package/dist/p-dev/workspace-snapshot-manifest.js.map +1 -1
  283. package/dist/p-dev/workspace-snapshot-types.d.ts +8 -0
  284. package/dist/p-dev/workspace-snapshot-types.d.ts.map +1 -1
  285. package/dist/preview/preview-capability.d.ts +9 -0
  286. package/dist/preview/preview-capability.d.ts.map +1 -0
  287. package/dist/preview/preview-capability.js +15 -0
  288. package/dist/preview/preview-capability.js.map +1 -0
  289. package/dist/product/initialization-state.d.ts +15 -0
  290. package/dist/product/initialization-state.d.ts.map +1 -0
  291. package/dist/product/initialization-state.js +37 -0
  292. package/dist/product/initialization-state.js.map +1 -0
  293. package/dist/product/product-marker.d.ts +77 -0
  294. package/dist/product/product-marker.d.ts.map +1 -0
  295. package/dist/product/product-marker.js +62 -0
  296. package/dist/product/product-marker.js.map +1 -0
  297. package/dist/product/read-product-marker.d.ts +15 -0
  298. package/dist/product/read-product-marker.d.ts.map +1 -0
  299. package/dist/product/read-product-marker.js +28 -0
  300. package/dist/product/read-product-marker.js.map +1 -0
  301. package/dist/prompts/builder.d.ts +10 -1
  302. package/dist/prompts/builder.d.ts.map +1 -1
  303. package/dist/prompts/builder.js +16 -2
  304. package/dist/prompts/builder.js.map +1 -1
  305. package/dist/resolver/errors.d.ts +1 -1
  306. package/dist/resolver/errors.d.ts.map +1 -1
  307. package/dist/resolver/errors.js.map +1 -1
  308. package/dist/resolver/target-repo.d.ts +4 -1
  309. package/dist/resolver/target-repo.d.ts.map +1 -1
  310. package/dist/resolver/target-repo.js +40 -0
  311. package/dist/resolver/target-repo.js.map +1 -1
  312. package/dist/runner/builder-thread-acquire.d.ts +41 -0
  313. package/dist/runner/builder-thread-acquire.d.ts.map +1 -0
  314. package/dist/runner/builder-thread-acquire.js +224 -0
  315. package/dist/runner/builder-thread-acquire.js.map +1 -0
  316. package/dist/runner/builder-thread-evidence.d.ts +13 -0
  317. package/dist/runner/builder-thread-evidence.d.ts.map +1 -0
  318. package/dist/runner/builder-thread-evidence.js +23 -0
  319. package/dist/runner/builder-thread-evidence.js.map +1 -0
  320. package/dist/runner/builder-thread-idempotency.d.ts +17 -0
  321. package/dist/runner/builder-thread-idempotency.d.ts.map +1 -0
  322. package/dist/runner/builder-thread-idempotency.js +12 -0
  323. package/dist/runner/builder-thread-idempotency.js.map +1 -0
  324. package/dist/runner/builder-thread-lineage-errors.d.ts +7 -0
  325. package/dist/runner/builder-thread-lineage-errors.d.ts.map +1 -0
  326. package/dist/runner/builder-thread-lineage-errors.js +11 -0
  327. package/dist/runner/builder-thread-lineage-errors.js.map +1 -0
  328. package/dist/runner/builder-thread-lineage.d.ts +18 -0
  329. package/dist/runner/builder-thread-lineage.d.ts.map +1 -0
  330. package/dist/runner/builder-thread-lineage.js +342 -0
  331. package/dist/runner/builder-thread-lineage.js.map +1 -0
  332. package/dist/runner/builder-thread-types.d.ts +30 -0
  333. package/dist/runner/builder-thread-types.d.ts.map +1 -0
  334. package/dist/runner/builder-thread-types.js +2 -0
  335. package/dist/runner/builder-thread-types.js.map +1 -0
  336. package/dist/runner/delivery-dedup.d.ts +26 -0
  337. package/dist/runner/delivery-dedup.d.ts.map +1 -0
  338. package/dist/runner/delivery-dedup.js +44 -0
  339. package/dist/runner/delivery-dedup.js.map +1 -0
  340. package/dist/runner/failure-finalization.d.ts +34 -0
  341. package/dist/runner/failure-finalization.d.ts.map +1 -0
  342. package/dist/runner/failure-finalization.js +154 -0
  343. package/dist/runner/failure-finalization.js.map +1 -0
  344. package/dist/runner/fixture.d.ts +1 -1
  345. package/dist/runner/fixture.d.ts.map +1 -1
  346. package/dist/runner/fixture.js +3 -0
  347. package/dist/runner/fixture.js.map +1 -1
  348. package/dist/runner/phases/handoff.d.ts.map +1 -1
  349. package/dist/runner/phases/handoff.js +59 -32
  350. package/dist/runner/phases/handoff.js.map +1 -1
  351. package/dist/runner/phases/implementation.d.ts.map +1 -1
  352. package/dist/runner/phases/implementation.js +147 -24
  353. package/dist/runner/phases/implementation.js.map +1 -1
  354. package/dist/runner/phases/integration-repair.d.ts +18 -0
  355. package/dist/runner/phases/integration-repair.d.ts.map +1 -1
  356. package/dist/runner/phases/integration-repair.js +93 -7
  357. package/dist/runner/phases/integration-repair.js.map +1 -1
  358. package/dist/runner/phases/merge.d.ts.map +1 -1
  359. package/dist/runner/phases/merge.js +129 -51
  360. package/dist/runner/phases/merge.js.map +1 -1
  361. package/dist/runner/phases/planning.d.ts.map +1 -1
  362. package/dist/runner/phases/planning.js +46 -8
  363. package/dist/runner/phases/planning.js.map +1 -1
  364. package/dist/runner/phases/production-sync.d.ts.map +1 -1
  365. package/dist/runner/phases/production-sync.js +28 -4
  366. package/dist/runner/phases/production-sync.js.map +1 -1
  367. package/dist/runner/phases/revision.d.ts.map +1 -1
  368. package/dist/runner/phases/revision.js +112 -32
  369. package/dist/runner/phases/revision.js.map +1 -1
  370. package/dist/runner/preflight.d.ts +2 -0
  371. package/dist/runner/preflight.d.ts.map +1 -1
  372. package/dist/runner/preflight.js +112 -3
  373. package/dist/runner/preflight.js.map +1 -1
  374. package/dist/runner/resolve-route.d.ts +1 -0
  375. package/dist/runner/resolve-route.d.ts.map +1 -1
  376. package/dist/runner/resolve-route.js +26 -0
  377. package/dist/runner/resolve-route.js.map +1 -1
  378. package/dist/runner/run-generation.d.ts +2 -0
  379. package/dist/runner/run-generation.d.ts.map +1 -0
  380. package/dist/runner/run-generation.js +19 -0
  381. package/dist/runner/run-generation.js.map +1 -0
  382. package/dist/runner/uninitialized-product-routing.d.ts +24 -0
  383. package/dist/runner/uninitialized-product-routing.d.ts.map +1 -0
  384. package/dist/runner/uninitialized-product-routing.js +70 -0
  385. package/dist/runner/uninitialized-product-routing.js.map +1 -0
  386. package/dist/setup/config-builder.d.ts.map +1 -1
  387. package/dist/setup/config-builder.js +12 -0
  388. package/dist/setup/config-builder.js.map +1 -1
  389. package/dist/setup/control-plane-readiness.d.ts +8 -1
  390. package/dist/setup/control-plane-readiness.d.ts.map +1 -1
  391. package/dist/setup/control-plane-readiness.js +63 -19
  392. package/dist/setup/control-plane-readiness.js.map +1 -1
  393. package/dist/setup/control-plane-setup-state.d.ts +13 -3
  394. package/dist/setup/control-plane-setup-state.d.ts.map +1 -1
  395. package/dist/setup/control-plane-setup-state.js +30 -3
  396. package/dist/setup/control-plane-setup-state.js.map +1 -1
  397. package/dist/setup/control-plane-state-lock.d.ts +12 -0
  398. package/dist/setup/control-plane-state-lock.d.ts.map +1 -0
  399. package/dist/setup/control-plane-state-lock.js +79 -0
  400. package/dist/setup/control-plane-state-lock.js.map +1 -0
  401. package/dist/setup/control-plane-types.d.ts +72 -1
  402. package/dist/setup/control-plane-types.d.ts.map +1 -1
  403. package/dist/setup/first-run-readiness.d.ts +4 -0
  404. package/dist/setup/first-run-readiness.d.ts.map +1 -1
  405. package/dist/setup/first-run-readiness.js +2 -2
  406. package/dist/setup/first-run-readiness.js.map +1 -1
  407. package/dist/setup/git-askpass-credentials.d.ts +19 -0
  408. package/dist/setup/git-askpass-credentials.d.ts.map +1 -0
  409. package/dist/setup/git-askpass-credentials.js +60 -0
  410. package/dist/setup/git-askpass-credentials.js.map +1 -0
  411. package/dist/setup/github-dispatch-token.d.ts +4 -0
  412. package/dist/setup/github-dispatch-token.d.ts.map +1 -1
  413. package/dist/setup/github-dispatch-token.js +23 -3
  414. package/dist/setup/github-dispatch-token.js.map +1 -1
  415. package/dist/setup/github-remote-provider.d.ts +44 -0
  416. package/dist/setup/github-remote-provider.d.ts.map +1 -1
  417. package/dist/setup/github-remote-provider.js +22 -2
  418. package/dist/setup/github-remote-provider.js.map +1 -1
  419. package/dist/setup/github-remote-setup-live.d.ts +30 -1
  420. package/dist/setup/github-remote-setup-live.d.ts.map +1 -1
  421. package/dist/setup/github-remote-setup-live.js +68 -11
  422. package/dist/setup/github-remote-setup-live.js.map +1 -1
  423. package/dist/setup/github-repository-name.d.ts +15 -0
  424. package/dist/setup/github-repository-name.d.ts.map +1 -0
  425. package/dist/setup/github-repository-name.js +54 -0
  426. package/dist/setup/github-repository-name.js.map +1 -0
  427. package/dist/setup/github-target-repository-provider-live.d.ts +35 -0
  428. package/dist/setup/github-target-repository-provider-live.d.ts.map +1 -0
  429. package/dist/setup/github-target-repository-provider-live.js +236 -0
  430. package/dist/setup/github-target-repository-provider-live.js.map +1 -0
  431. package/dist/setup/github-target-repository-provider-mock.d.ts +47 -0
  432. package/dist/setup/github-target-repository-provider-mock.d.ts.map +1 -0
  433. package/dist/setup/github-target-repository-provider-mock.js +189 -0
  434. package/dist/setup/github-target-repository-provider-mock.js.map +1 -0
  435. package/dist/setup/github-target-repository-provider.d.ts +44 -0
  436. package/dist/setup/github-target-repository-provider.d.ts.map +1 -0
  437. package/dist/setup/github-target-repository-provider.js +7 -0
  438. package/dist/setup/github-target-repository-provider.js.map +1 -0
  439. package/dist/setup/github-workflow-permissions.d.ts +1 -1
  440. package/dist/setup/github-workflow-permissions.d.ts.map +1 -1
  441. package/dist/setup/github-workflow-permissions.js +1 -1
  442. package/dist/setup/github-workflow-permissions.js.map +1 -1
  443. package/dist/setup/gui-view-model.d.ts +5 -0
  444. package/dist/setup/gui-view-model.d.ts.map +1 -1
  445. package/dist/setup/gui-view-model.js +5 -0
  446. package/dist/setup/gui-view-model.js.map +1 -1
  447. package/dist/setup/harness-dispatch-repo.d.ts +16 -2
  448. package/dist/setup/harness-dispatch-repo.d.ts.map +1 -1
  449. package/dist/setup/harness-dispatch-repo.js +113 -22
  450. package/dist/setup/harness-dispatch-repo.js.map +1 -1
  451. package/dist/setup/harness-managed-repo-marker.d.ts +1 -0
  452. package/dist/setup/harness-managed-repo-marker.d.ts.map +1 -1
  453. package/dist/setup/harness-managed-repo-marker.js +18 -0
  454. package/dist/setup/harness-managed-repo-marker.js.map +1 -1
  455. package/dist/setup/harness-provisioning-last-run.d.ts +27 -0
  456. package/dist/setup/harness-provisioning-last-run.d.ts.map +1 -0
  457. package/dist/setup/harness-provisioning-last-run.js +94 -0
  458. package/dist/setup/harness-provisioning-last-run.js.map +1 -0
  459. package/dist/setup/harness-provisioning-pending-state.d.ts +1 -1
  460. package/dist/setup/harness-provisioning-pending-state.d.ts.map +1 -1
  461. package/dist/setup/harness-provisioning-pending-state.js.map +1 -1
  462. package/dist/setup/harness-provisioning-progress.d.ts +58 -0
  463. package/dist/setup/harness-provisioning-progress.d.ts.map +1 -0
  464. package/dist/setup/harness-provisioning-progress.js +134 -0
  465. package/dist/setup/harness-provisioning-progress.js.map +1 -0
  466. package/dist/setup/harness-repo-provisioning.d.ts +11 -0
  467. package/dist/setup/harness-repo-provisioning.d.ts.map +1 -1
  468. package/dist/setup/harness-repo-provisioning.js +98 -6
  469. package/dist/setup/harness-repo-provisioning.js.map +1 -1
  470. package/dist/setup/harness-snapshot-git-transport.d.ts +92 -0
  471. package/dist/setup/harness-snapshot-git-transport.d.ts.map +1 -0
  472. package/dist/setup/harness-snapshot-git-transport.js +544 -0
  473. package/dist/setup/harness-snapshot-git-transport.js.map +1 -0
  474. package/dist/setup/harness-snapshot-provisioning-helpers.d.ts +1 -1
  475. package/dist/setup/harness-snapshot-provisioning-helpers.d.ts.map +1 -1
  476. package/dist/setup/harness-snapshot-provisioning-helpers.js.map +1 -1
  477. package/dist/setup/harness-snapshot-provisioning.d.ts +12 -1
  478. package/dist/setup/harness-snapshot-provisioning.d.ts.map +1 -1
  479. package/dist/setup/harness-snapshot-provisioning.js +298 -73
  480. package/dist/setup/harness-snapshot-provisioning.js.map +1 -1
  481. package/dist/setup/harness-step-readiness-server.d.ts +11 -0
  482. package/dist/setup/harness-step-readiness-server.d.ts.map +1 -0
  483. package/dist/setup/harness-step-readiness-server.js +24 -0
  484. package/dist/setup/harness-step-readiness-server.js.map +1 -0
  485. package/dist/setup/harness-step-readiness.d.ts +21 -0
  486. package/dist/setup/harness-step-readiness.d.ts.map +1 -0
  487. package/dist/setup/harness-step-readiness.js +40 -0
  488. package/dist/setup/harness-step-readiness.js.map +1 -0
  489. package/dist/setup/harness-workspace-snapshot-loader.d.ts +6 -1
  490. package/dist/setup/harness-workspace-snapshot-loader.d.ts.map +1 -1
  491. package/dist/setup/harness-workspace-snapshot-loader.js +45 -12
  492. package/dist/setup/harness-workspace-snapshot-loader.js.map +1 -1
  493. package/dist/setup/initial-setup-lifecycle.d.ts +51 -0
  494. package/dist/setup/initial-setup-lifecycle.d.ts.map +1 -0
  495. package/dist/setup/initial-setup-lifecycle.js +93 -0
  496. package/dist/setup/initial-setup-lifecycle.js.map +1 -0
  497. package/dist/setup/linear-category-labels.d.ts +2 -0
  498. package/dist/setup/linear-category-labels.d.ts.map +1 -0
  499. package/dist/setup/linear-category-labels.js +19 -0
  500. package/dist/setup/linear-category-labels.js.map +1 -0
  501. package/dist/setup/linear-setup-apply.d.ts +1 -0
  502. package/dist/setup/linear-setup-apply.d.ts.map +1 -1
  503. package/dist/setup/linear-setup-apply.js +67 -16
  504. package/dist/setup/linear-setup-apply.js.map +1 -1
  505. package/dist/setup/linear-setup-client.d.ts +24 -0
  506. package/dist/setup/linear-setup-client.d.ts.map +1 -1
  507. package/dist/setup/linear-setup-client.js +61 -0
  508. package/dist/setup/linear-setup-client.js.map +1 -1
  509. package/dist/setup/linear-setup-plan.d.ts +22 -1
  510. package/dist/setup/linear-setup-plan.d.ts.map +1 -1
  511. package/dist/setup/linear-setup-plan.js +69 -6
  512. package/dist/setup/linear-setup-plan.js.map +1 -1
  513. package/dist/setup/linear-setup-progress.d.ts +30 -0
  514. package/dist/setup/linear-setup-progress.d.ts.map +1 -0
  515. package/dist/setup/linear-setup-progress.js +71 -0
  516. package/dist/setup/linear-setup-progress.js.map +1 -0
  517. package/dist/setup/linear-status-contract.d.ts +2 -1
  518. package/dist/setup/linear-status-contract.d.ts.map +1 -1
  519. package/dist/setup/linear-status-contract.js +26 -67
  520. package/dist/setup/linear-status-contract.js.map +1 -1
  521. package/dist/setup/linear-workflow-status-repair.d.ts +36 -0
  522. package/dist/setup/linear-workflow-status-repair.d.ts.map +1 -0
  523. package/dist/setup/linear-workflow-status-repair.js +187 -0
  524. package/dist/setup/linear-workflow-status-repair.js.map +1 -0
  525. package/dist/setup/linear-workspace-apply.d.ts +25 -0
  526. package/dist/setup/linear-workspace-apply.d.ts.map +1 -0
  527. package/dist/setup/linear-workspace-apply.js +212 -0
  528. package/dist/setup/linear-workspace-apply.js.map +1 -0
  529. package/dist/setup/linear-workspace-drift.d.ts +2 -0
  530. package/dist/setup/linear-workspace-drift.d.ts.map +1 -0
  531. package/dist/setup/linear-workspace-drift.js +2 -0
  532. package/dist/setup/linear-workspace-drift.js.map +1 -0
  533. package/dist/setup/linear-workspace-migration.d.ts +43 -0
  534. package/dist/setup/linear-workspace-migration.d.ts.map +1 -0
  535. package/dist/setup/linear-workspace-migration.js +212 -0
  536. package/dist/setup/linear-workspace-migration.js.map +1 -0
  537. package/dist/setup/linear-workspace-plan.d.ts +92 -0
  538. package/dist/setup/linear-workspace-plan.d.ts.map +1 -0
  539. package/dist/setup/linear-workspace-plan.js +283 -0
  540. package/dist/setup/linear-workspace-plan.js.map +1 -0
  541. package/dist/setup/local-readiness-checks.d.ts +17 -0
  542. package/dist/setup/local-readiness-checks.d.ts.map +1 -1
  543. package/dist/setup/local-readiness-checks.js +86 -23
  544. package/dist/setup/local-readiness-checks.js.map +1 -1
  545. package/dist/setup/mock-target-workflow-finalization.d.ts.map +1 -1
  546. package/dist/setup/mock-target-workflow-finalization.js +27 -4
  547. package/dist/setup/mock-target-workflow-finalization.js.map +1 -1
  548. package/dist/setup/packaged-default-route.d.ts +15 -0
  549. package/dist/setup/packaged-default-route.d.ts.map +1 -0
  550. package/dist/setup/packaged-default-route.js +17 -0
  551. package/dist/setup/packaged-default-route.js.map +1 -0
  552. package/dist/setup/release-sync-managed-runner.d.ts +61 -0
  553. package/dist/setup/release-sync-managed-runner.d.ts.map +1 -0
  554. package/dist/setup/release-sync-managed-runner.js +364 -0
  555. package/dist/setup/release-sync-managed-runner.js.map +1 -0
  556. package/dist/setup/remote-apply-actions.d.ts.map +1 -1
  557. package/dist/setup/remote-apply-actions.js +23 -0
  558. package/dist/setup/remote-apply-actions.js.map +1 -1
  559. package/dist/setup/runner-upgrade-canary-dispatch.d.ts +19 -0
  560. package/dist/setup/runner-upgrade-canary-dispatch.d.ts.map +1 -0
  561. package/dist/setup/runner-upgrade-canary-dispatch.js +38 -0
  562. package/dist/setup/runner-upgrade-canary-dispatch.js.map +1 -0
  563. package/dist/setup/runner-upgrade-canary.d.ts +23 -0
  564. package/dist/setup/runner-upgrade-canary.d.ts.map +1 -0
  565. package/dist/setup/runner-upgrade-canary.js +146 -0
  566. package/dist/setup/runner-upgrade-canary.js.map +1 -0
  567. package/dist/setup/runner-upgrade-evidence.d.ts +14 -0
  568. package/dist/setup/runner-upgrade-evidence.d.ts.map +1 -0
  569. package/dist/setup/runner-upgrade-evidence.js +9 -0
  570. package/dist/setup/runner-upgrade-evidence.js.map +1 -0
  571. package/dist/setup/runner-upgrade-pending-state.d.ts +30 -0
  572. package/dist/setup/runner-upgrade-pending-state.d.ts.map +1 -0
  573. package/dist/setup/runner-upgrade-pending-state.js +75 -0
  574. package/dist/setup/runner-upgrade-pending-state.js.map +1 -0
  575. package/dist/setup/runner-upgrade-progress.d.ts +38 -0
  576. package/dist/setup/runner-upgrade-progress.d.ts.map +1 -0
  577. package/dist/setup/runner-upgrade-progress.js +95 -0
  578. package/dist/setup/runner-upgrade-progress.js.map +1 -0
  579. package/dist/setup/runner-upgrade-provider-live.d.ts +5 -0
  580. package/dist/setup/runner-upgrade-provider-live.d.ts.map +1 -0
  581. package/dist/setup/runner-upgrade-provider-live.js +338 -0
  582. package/dist/setup/runner-upgrade-provider-live.js.map +1 -0
  583. package/dist/setup/runner-upgrade-provider.d.ts +231 -0
  584. package/dist/setup/runner-upgrade-provider.d.ts.map +1 -0
  585. package/dist/setup/runner-upgrade-provider.js +466 -0
  586. package/dist/setup/runner-upgrade-provider.js.map +1 -0
  587. package/dist/setup/runner-upgrade-status-cache.d.ts +13 -0
  588. package/dist/setup/runner-upgrade-status-cache.d.ts.map +1 -0
  589. package/dist/setup/runner-upgrade-status-cache.js +39 -0
  590. package/dist/setup/runner-upgrade-status-cache.js.map +1 -0
  591. package/dist/setup/runner-upgrade-three-way.d.ts +28 -0
  592. package/dist/setup/runner-upgrade-three-way.d.ts.map +1 -0
  593. package/dist/setup/runner-upgrade-three-way.js +102 -0
  594. package/dist/setup/runner-upgrade-three-way.js.map +1 -0
  595. package/dist/setup/runner-upgrade-timeouts.d.ts +72 -0
  596. package/dist/setup/runner-upgrade-timeouts.d.ts.map +1 -0
  597. package/dist/setup/runner-upgrade-timeouts.js +261 -0
  598. package/dist/setup/runner-upgrade-timeouts.js.map +1 -0
  599. package/dist/setup/runner-upgrade-types.d.ts +84 -0
  600. package/dist/setup/runner-upgrade-types.d.ts.map +1 -0
  601. package/dist/setup/runner-upgrade-types.js +64 -0
  602. package/dist/setup/runner-upgrade-types.js.map +1 -0
  603. package/dist/setup/runner-upgrade-worker.d.ts +17 -0
  604. package/dist/setup/runner-upgrade-worker.d.ts.map +1 -0
  605. package/dist/setup/runner-upgrade-worker.js +115 -0
  606. package/dist/setup/runner-upgrade-worker.js.map +1 -0
  607. package/dist/setup/runner-upgrade.d.ts +57 -0
  608. package/dist/setup/runner-upgrade.d.ts.map +1 -0
  609. package/dist/setup/runner-upgrade.js +1311 -0
  610. package/dist/setup/runner-upgrade.js.map +1 -0
  611. package/dist/setup/service-verification.d.ts +18 -1
  612. package/dist/setup/service-verification.d.ts.map +1 -1
  613. package/dist/setup/service-verification.js +110 -19
  614. package/dist/setup/service-verification.js.map +1 -1
  615. package/dist/setup/settings-config-patch.d.ts +69 -0
  616. package/dist/setup/settings-config-patch.d.ts.map +1 -0
  617. package/dist/setup/settings-config-patch.js +312 -0
  618. package/dist/setup/settings-config-patch.js.map +1 -0
  619. package/dist/setup/setup-state.d.ts +1 -0
  620. package/dist/setup/setup-state.d.ts.map +1 -1
  621. package/dist/setup/setup-state.js +11 -1
  622. package/dist/setup/setup-state.js.map +1 -1
  623. package/dist/setup/step6-automatic-control-state.d.ts +21 -0
  624. package/dist/setup/step6-automatic-control-state.d.ts.map +1 -0
  625. package/dist/setup/step6-automatic-control-state.js +28 -0
  626. package/dist/setup/step6-automatic-control-state.js.map +1 -0
  627. package/dist/setup/sync-harness-config-cloud.d.ts +23 -0
  628. package/dist/setup/sync-harness-config-cloud.d.ts.map +1 -0
  629. package/dist/setup/sync-harness-config-cloud.js +91 -0
  630. package/dist/setup/sync-harness-config-cloud.js.map +1 -0
  631. package/dist/setup/target-repo-provisioning-pending-state.d.ts +42 -0
  632. package/dist/setup/target-repo-provisioning-pending-state.d.ts.map +1 -0
  633. package/dist/setup/target-repo-provisioning-pending-state.js +95 -0
  634. package/dist/setup/target-repo-provisioning-pending-state.js.map +1 -0
  635. package/dist/setup/target-repo-provisioning.d.ts +67 -0
  636. package/dist/setup/target-repo-provisioning.d.ts.map +1 -0
  637. package/dist/setup/target-repo-provisioning.js +473 -0
  638. package/dist/setup/target-repo-provisioning.js.map +1 -0
  639. package/dist/setup/target-workflow-finalization-progress.d.ts +43 -0
  640. package/dist/setup/target-workflow-finalization-progress.d.ts.map +1 -0
  641. package/dist/setup/target-workflow-finalization-progress.js +83 -0
  642. package/dist/setup/target-workflow-finalization-progress.js.map +1 -0
  643. package/dist/setup/target-workflow-finalization-types.d.ts +21 -1
  644. package/dist/setup/target-workflow-finalization-types.d.ts.map +1 -1
  645. package/dist/setup/target-workflow-finalization-types.js +75 -0
  646. package/dist/setup/target-workflow-finalization-types.js.map +1 -1
  647. package/dist/setup/target-workflow-finalization.d.ts.map +1 -1
  648. package/dist/setup/target-workflow-finalization.js +618 -15
  649. package/dist/setup/target-workflow-finalization.js.map +1 -1
  650. package/dist/setup/target-workflow-setup.d.ts.map +1 -1
  651. package/dist/setup/target-workflow-setup.js +2 -0
  652. package/dist/setup/target-workflow-setup.js.map +1 -1
  653. package/dist/setup/test-only-runner-upgrade-provider.d.ts +11 -0
  654. package/dist/setup/test-only-runner-upgrade-provider.d.ts.map +1 -0
  655. package/dist/setup/test-only-runner-upgrade-provider.js +37 -0
  656. package/dist/setup/test-only-runner-upgrade-provider.js.map +1 -0
  657. package/dist/setup/test-only-target-repo-provisioning-provider.d.ts +7 -0
  658. package/dist/setup/test-only-target-repo-provisioning-provider.d.ts.map +1 -0
  659. package/dist/setup/test-only-target-repo-provisioning-provider.js +33 -0
  660. package/dist/setup/test-only-target-repo-provisioning-provider.js.map +1 -0
  661. package/dist/setup/vercel-bridge-artifact.d.ts +7 -0
  662. package/dist/setup/vercel-bridge-artifact.d.ts.map +1 -0
  663. package/dist/setup/vercel-bridge-artifact.js +164 -0
  664. package/dist/setup/vercel-bridge-artifact.js.map +1 -0
  665. package/dist/setup/vercel-bridge-deploy.d.ts +42 -0
  666. package/dist/setup/vercel-bridge-deploy.d.ts.map +1 -0
  667. package/dist/setup/vercel-bridge-deploy.js +138 -0
  668. package/dist/setup/vercel-bridge-deploy.js.map +1 -0
  669. package/dist/setup/vercel-bridge-diagnostics.js +1 -1
  670. package/dist/setup/vercel-bridge-diagnostics.js.map +1 -1
  671. package/dist/setup/vercel-bridge-options.d.ts +2 -0
  672. package/dist/setup/vercel-bridge-options.d.ts.map +1 -1
  673. package/dist/setup/vercel-bridge-options.js +2 -0
  674. package/dist/setup/vercel-bridge-options.js.map +1 -1
  675. package/dist/setup/vercel-bridge-orchestration-summary.d.ts +13 -0
  676. package/dist/setup/vercel-bridge-orchestration-summary.d.ts.map +1 -0
  677. package/dist/setup/vercel-bridge-orchestration-summary.js +22 -0
  678. package/dist/setup/vercel-bridge-orchestration-summary.js.map +1 -0
  679. package/dist/setup/vercel-bridge-project-marker.d.ts +5 -0
  680. package/dist/setup/vercel-bridge-project-marker.d.ts.map +1 -0
  681. package/dist/setup/vercel-bridge-project-marker.js +6 -0
  682. package/dist/setup/vercel-bridge-project-marker.js.map +1 -0
  683. package/dist/setup/vercel-bridge-readiness.d.ts +1 -0
  684. package/dist/setup/vercel-bridge-readiness.d.ts.map +1 -1
  685. package/dist/setup/vercel-bridge-readiness.js +1 -1
  686. package/dist/setup/vercel-bridge-readiness.js.map +1 -1
  687. package/dist/setup/vercel-bridge-redeploy-normalize.d.ts +18 -0
  688. package/dist/setup/vercel-bridge-redeploy-normalize.d.ts.map +1 -0
  689. package/dist/setup/vercel-bridge-redeploy-normalize.js +175 -0
  690. package/dist/setup/vercel-bridge-redeploy-normalize.js.map +1 -0
  691. package/dist/setup/vercel-bridge-redeploy-poll.d.ts +7 -1
  692. package/dist/setup/vercel-bridge-redeploy-poll.d.ts.map +1 -1
  693. package/dist/setup/vercel-bridge-redeploy-poll.js +329 -166
  694. package/dist/setup/vercel-bridge-redeploy-poll.js.map +1 -1
  695. package/dist/setup/vercel-bridge-redeploy-state.d.ts.map +1 -1
  696. package/dist/setup/vercel-bridge-redeploy-state.js +3 -0
  697. package/dist/setup/vercel-bridge-redeploy-state.js.map +1 -1
  698. package/dist/setup/vercel-bridge-structured-log.d.ts +5 -0
  699. package/dist/setup/vercel-bridge-structured-log.d.ts.map +1 -1
  700. package/dist/setup/vercel-bridge-structured-log.js.map +1 -1
  701. package/dist/setup/vercel-project-name.d.ts +7 -0
  702. package/dist/setup/vercel-project-name.d.ts.map +1 -0
  703. package/dist/setup/vercel-project-name.js +26 -0
  704. package/dist/setup/vercel-project-name.js.map +1 -0
  705. package/dist/setup/vercel-setup-apply.d.ts +7 -2
  706. package/dist/setup/vercel-setup-apply.d.ts.map +1 -1
  707. package/dist/setup/vercel-setup-apply.js +315 -38
  708. package/dist/setup/vercel-setup-apply.js.map +1 -1
  709. package/dist/setup/vercel-setup-client.d.ts +26 -1
  710. package/dist/setup/vercel-setup-client.d.ts.map +1 -1
  711. package/dist/setup/vercel-setup-client.js +50 -1
  712. package/dist/setup/vercel-setup-client.js.map +1 -1
  713. package/dist/setup/vercel-setup-plan.d.ts +5 -0
  714. package/dist/setup/vercel-setup-plan.d.ts.map +1 -1
  715. package/dist/setup/vercel-setup-plan.js +65 -13
  716. package/dist/setup/vercel-setup-plan.js.map +1 -1
  717. package/dist/setup/vercel-setup-summary.d.ts +3 -0
  718. package/dist/setup/vercel-setup-summary.d.ts.map +1 -1
  719. package/dist/setup/vercel-setup-summary.js +4 -0
  720. package/dist/setup/vercel-setup-summary.js.map +1 -1
  721. package/dist/setup/workflow-config-snapshot.d.ts +8 -0
  722. package/dist/setup/workflow-config-snapshot.d.ts.map +1 -0
  723. package/dist/setup/workflow-config-snapshot.js +13 -0
  724. package/dist/setup/workflow-config-snapshot.js.map +1 -0
  725. package/dist/setup/workflow-install-branch-recovery.d.ts +116 -0
  726. package/dist/setup/workflow-install-branch-recovery.d.ts.map +1 -0
  727. package/dist/setup/workflow-install-branch-recovery.js +385 -0
  728. package/dist/setup/workflow-install-branch-recovery.js.map +1 -0
  729. package/dist/setup/workflow-install-merge-errors.d.ts +5 -2
  730. package/dist/setup/workflow-install-merge-errors.d.ts.map +1 -1
  731. package/dist/setup/workflow-install-merge-errors.js +51 -17
  732. package/dist/setup/workflow-install-merge-errors.js.map +1 -1
  733. package/dist/setup/workflow-install-merge-gate.d.ts +10 -0
  734. package/dist/setup/workflow-install-merge-gate.d.ts.map +1 -0
  735. package/dist/setup/workflow-install-merge-gate.js +21 -0
  736. package/dist/setup/workflow-install-merge-gate.js.map +1 -0
  737. package/dist/setup/workflow-model-save-queue.d.ts +16 -0
  738. package/dist/setup/workflow-model-save-queue.d.ts.map +1 -0
  739. package/dist/setup/workflow-model-save-queue.js +174 -0
  740. package/dist/setup/workflow-model-save-queue.js.map +1 -0
  741. package/dist/setup/workflow-model-sync-lock.d.ts +12 -0
  742. package/dist/setup/workflow-model-sync-lock.d.ts.map +1 -0
  743. package/dist/setup/workflow-model-sync-lock.js +79 -0
  744. package/dist/setup/workflow-model-sync-lock.js.map +1 -0
  745. package/dist/setup/workflow-model-sync.d.ts +34 -0
  746. package/dist/setup/workflow-model-sync.d.ts.map +1 -0
  747. package/dist/setup/workflow-model-sync.js +163 -0
  748. package/dist/setup/workflow-model-sync.js.map +1 -0
  749. package/dist/setup/workflow-models-sync-evidence.d.ts +12 -0
  750. package/dist/setup/workflow-models-sync-evidence.d.ts.map +1 -0
  751. package/dist/setup/workflow-models-sync-evidence.js +15 -0
  752. package/dist/setup/workflow-models-sync-evidence.js.map +1 -0
  753. package/dist/types/parsed-issue.d.ts +8 -0
  754. package/dist/types/parsed-issue.d.ts.map +1 -1
  755. package/dist/types/run.d.ts +18 -3
  756. package/dist/types/run.d.ts.map +1 -1
  757. package/dist/validate/issue.d.ts +5 -0
  758. package/dist/validate/issue.d.ts.map +1 -1
  759. package/dist/validate/issue.js +23 -3
  760. package/dist/validate/issue.js.map +1 -1
  761. package/dist/validate/types.d.ts +3 -0
  762. package/dist/validate/types.d.ts.map +1 -1
  763. package/dist/webhook/dispatch-statuses.d.ts +1 -1
  764. package/dist/webhook/dispatch-statuses.d.ts.map +1 -1
  765. package/dist/webhook/dispatch-statuses.js +4 -13
  766. package/dist/webhook/dispatch-statuses.js.map +1 -1
  767. package/dist/webhook/filter.d.ts +5 -2
  768. package/dist/webhook/filter.d.ts.map +1 -1
  769. package/dist/webhook/filter.js +15 -1
  770. package/dist/webhook/filter.js.map +1 -1
  771. package/dist/webhook/handle-linear-webhook.d.ts.map +1 -1
  772. package/dist/webhook/handle-linear-webhook.js +15 -1
  773. package/dist/webhook/handle-linear-webhook.js.map +1 -1
  774. package/dist/webhook/parse-linear-issue-event.d.ts +6 -0
  775. package/dist/webhook/parse-linear-issue-event.d.ts.map +1 -1
  776. package/dist/webhook/parse-linear-issue-event.js +2 -0
  777. package/dist/webhook/parse-linear-issue-event.js.map +1 -1
  778. package/dist/webhook/types.d.ts +3 -1
  779. package/dist/webhook/types.d.ts.map +1 -1
  780. package/dist/workflow/canonical-product-development-workflow.d.ts +106 -0
  781. package/dist/workflow/canonical-product-development-workflow.d.ts.map +1 -0
  782. package/dist/workflow/canonical-product-development-workflow.js +425 -0
  783. package/dist/workflow/canonical-product-development-workflow.js.map +1 -0
  784. package/dist/workflow/canonical-workflow-gate.d.ts +33 -0
  785. package/dist/workflow/canonical-workflow-gate.d.ts.map +1 -0
  786. package/dist/workflow/canonical-workflow-gate.js +164 -0
  787. package/dist/workflow/canonical-workflow-gate.js.map +1 -0
  788. package/dist/workflow/canonical-workflow-validation.d.ts +44 -0
  789. package/dist/workflow/canonical-workflow-validation.d.ts.map +1 -0
  790. package/dist/workflow/canonical-workflow-validation.js +193 -0
  791. package/dist/workflow/canonical-workflow-validation.js.map +1 -0
  792. package/dist/workflow/finalize-harness-run.d.ts +2 -0
  793. package/dist/workflow/finalize-harness-run.d.ts.map +1 -0
  794. package/dist/workflow/finalize-harness-run.js +62 -0
  795. package/dist/workflow/finalize-harness-run.js.map +1 -0
  796. package/dist/workflow/preflight-canonical.d.ts +11 -0
  797. package/dist/workflow/preflight-canonical.d.ts.map +1 -0
  798. package/dist/workflow/preflight-canonical.js +20 -0
  799. package/dist/workflow/preflight-canonical.js.map +1 -0
  800. package/dist/workflow/write-fallback-manifest.d.ts +2 -0
  801. package/dist/workflow/write-fallback-manifest.d.ts.map +1 -0
  802. package/dist/workflow/write-fallback-manifest.js +30 -0
  803. package/dist/workflow/write-fallback-manifest.js.map +1 -0
  804. package/dist/workflow-page/bootstrap.d.ts +21 -0
  805. package/dist/workflow-page/bootstrap.d.ts.map +1 -0
  806. package/dist/workflow-page/bootstrap.js +185 -0
  807. package/dist/workflow-page/bootstrap.js.map +1 -0
  808. package/dist/workflow-page/catalog-validation.d.ts +33 -0
  809. package/dist/workflow-page/catalog-validation.d.ts.map +1 -0
  810. package/dist/workflow-page/catalog-validation.js +105 -0
  811. package/dist/workflow-page/catalog-validation.js.map +1 -0
  812. package/dist/workflow-page/constants.d.ts +7 -0
  813. package/dist/workflow-page/constants.d.ts.map +1 -0
  814. package/dist/workflow-page/constants.js +18 -0
  815. package/dist/workflow-page/constants.js.map +1 -0
  816. package/dist/workflow-page/current-workflow.d.ts +18 -0
  817. package/dist/workflow-page/current-workflow.d.ts.map +1 -0
  818. package/dist/workflow-page/current-workflow.js +142 -0
  819. package/dist/workflow-page/current-workflow.js.map +1 -0
  820. package/dist/workflow-page/fingerprint.d.ts +3 -0
  821. package/dist/workflow-page/fingerprint.d.ts.map +1 -0
  822. package/dist/workflow-page/fingerprint.js +8 -0
  823. package/dist/workflow-page/fingerprint.js.map +1 -0
  824. package/dist/workflow-page/fixture-definition.d.ts +13 -0
  825. package/dist/workflow-page/fixture-definition.d.ts.map +1 -0
  826. package/dist/workflow-page/fixture-definition.js +2 -0
  827. package/dist/workflow-page/fixture-definition.js.map +1 -0
  828. package/dist/workflow-page/fixture-role-models.d.ts +19 -0
  829. package/dist/workflow-page/fixture-role-models.d.ts.map +1 -0
  830. package/dist/workflow-page/fixture-role-models.js +32 -0
  831. package/dist/workflow-page/fixture-role-models.js.map +1 -0
  832. package/dist/workflow-page/fixtures/basic-current-workflow.d.ts +5 -0
  833. package/dist/workflow-page/fixtures/basic-current-workflow.d.ts.map +1 -0
  834. package/dist/workflow-page/fixtures/basic-current-workflow.js +36 -0
  835. package/dist/workflow-page/fixtures/basic-current-workflow.js.map +1 -0
  836. package/dist/workflow-page/fixtures/branching-pr-review.d.ts +3 -0
  837. package/dist/workflow-page/fixtures/branching-pr-review.d.ts.map +1 -0
  838. package/dist/workflow-page/fixtures/branching-pr-review.js +10 -0
  839. package/dist/workflow-page/fixtures/branching-pr-review.js.map +1 -0
  840. package/dist/workflow-page/fixtures/canonical-violations.d.ts +6 -0
  841. package/dist/workflow-page/fixtures/canonical-violations.d.ts.map +1 -0
  842. package/dist/workflow-page/fixtures/canonical-violations.js +19 -0
  843. package/dist/workflow-page/fixtures/canonical-violations.js.map +1 -0
  844. package/dist/workflow-page/fixtures/credential-errors.d.ts +3 -0
  845. package/dist/workflow-page/fixtures/credential-errors.d.ts.map +1 -0
  846. package/dist/workflow-page/fixtures/credential-errors.js +12 -0
  847. package/dist/workflow-page/fixtures/credential-errors.js.map +1 -0
  848. package/dist/workflow-page/fixtures/empty-linear-statuses.d.ts +3 -0
  849. package/dist/workflow-page/fixtures/empty-linear-statuses.d.ts.map +1 -0
  850. package/dist/workflow-page/fixtures/empty-linear-statuses.js +9 -0
  851. package/dist/workflow-page/fixtures/empty-linear-statuses.js.map +1 -0
  852. package/dist/workflow-page/fixtures/hundred-node-performance.d.ts +3 -0
  853. package/dist/workflow-page/fixtures/hundred-node-performance.d.ts.map +1 -0
  854. package/dist/workflow-page/fixtures/hundred-node-performance.js +21 -0
  855. package/dist/workflow-page/fixtures/hundred-node-performance.js.map +1 -0
  856. package/dist/workflow-page/fixtures/index.d.ts +6 -0
  857. package/dist/workflow-page/fixtures/index.d.ts.map +1 -0
  858. package/dist/workflow-page/fixtures/index.js +24 -0
  859. package/dist/workflow-page/fixtures/index.js.map +1 -0
  860. package/dist/workflow-page/fixtures/model-catalog-snapshot.d.ts +10 -0
  861. package/dist/workflow-page/fixtures/model-catalog-snapshot.d.ts.map +1 -0
  862. package/dist/workflow-page/fixtures/model-catalog-snapshot.js +29 -0
  863. package/dist/workflow-page/fixtures/model-catalog-snapshot.js.map +1 -0
  864. package/dist/workflow-page/fixtures/workflow-scopes.d.ts +4 -0
  865. package/dist/workflow-page/fixtures/workflow-scopes.d.ts.map +1 -0
  866. package/dist/workflow-page/fixtures/workflow-scopes.js +16 -0
  867. package/dist/workflow-page/fixtures/workflow-scopes.js.map +1 -0
  868. package/dist/workflow-page/linear-status-source.d.ts +15 -0
  869. package/dist/workflow-page/linear-status-source.d.ts.map +1 -0
  870. package/dist/workflow-page/linear-status-source.js +44 -0
  871. package/dist/workflow-page/linear-status-source.js.map +1 -0
  872. package/dist/workflow-page/model-catalog-lookup.d.ts +3 -0
  873. package/dist/workflow-page/model-catalog-lookup.d.ts.map +1 -0
  874. package/dist/workflow-page/model-catalog-lookup.js +4 -0
  875. package/dist/workflow-page/model-catalog-lookup.js.map +1 -0
  876. package/dist/workflow-page/model-catalog-utils.d.ts +19 -0
  877. package/dist/workflow-page/model-catalog-utils.d.ts.map +1 -0
  878. package/dist/workflow-page/model-catalog-utils.js +46 -0
  879. package/dist/workflow-page/model-catalog-utils.js.map +1 -0
  880. package/dist/workflow-page/model-catalog.d.ts +12 -0
  881. package/dist/workflow-page/model-catalog.d.ts.map +1 -0
  882. package/dist/workflow-page/model-catalog.js +40 -0
  883. package/dist/workflow-page/model-catalog.js.map +1 -0
  884. package/dist/workflow-page/scope-branches.d.ts +11 -0
  885. package/dist/workflow-page/scope-branches.d.ts.map +1 -0
  886. package/dist/workflow-page/scope-branches.js +18 -0
  887. package/dist/workflow-page/scope-branches.js.map +1 -0
  888. package/dist/workflow-page/source-context.d.ts +13 -0
  889. package/dist/workflow-page/source-context.d.ts.map +1 -0
  890. package/dist/workflow-page/source-context.js +61 -0
  891. package/dist/workflow-page/source-context.js.map +1 -0
  892. package/dist/workflow-page/types.d.ts +108 -0
  893. package/dist/workflow-page/types.d.ts.map +1 -0
  894. package/dist/workflow-page/types.js +2 -0
  895. package/dist/workflow-page/types.js.map +1 -0
  896. package/dist/workflow-page/workflow-scopes.d.ts +16 -0
  897. package/dist/workflow-page/workflow-scopes.d.ts.map +1 -0
  898. package/dist/workflow-page/workflow-scopes.js +55 -0
  899. package/dist/workflow-page/workflow-scopes.js.map +1 -0
  900. package/gui/.next/BUILD_ID +1 -1
  901. package/gui/.next/app-build-manifest.json +376 -115
  902. package/gui/.next/app-path-routes-manifest.json +44 -15
  903. package/gui/.next/build-manifest.json +12 -12
  904. package/gui/.next/next-minimal-server.js.nft.json +1 -1
  905. package/gui/.next/next-server.js.nft.json +1 -1
  906. package/gui/.next/prerender-manifest.json +0 -24
  907. package/gui/.next/required-server-files.json +4 -3
  908. package/gui/.next/routes-manifest.json +54 -0
  909. package/gui/.next/server/app/_not-found/page.js +2 -2
  910. package/gui/.next/server/app/_not-found/page.js.nft.json +1 -1
  911. package/gui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  912. package/gui/.next/server/app/_not-found.html +1 -1
  913. package/gui/.next/server/app/_not-found.rsc +3 -3
  914. package/gui/.next/server/app/api/observability/event/route.js +1 -0
  915. package/gui/.next/server/app/api/observability/event/route.js.nft.json +1 -0
  916. package/gui/.next/server/app/api/observability/event/route_client-reference-manifest.js +1 -0
  917. package/gui/.next/server/app/api/observability/preferences/route.js +1 -0
  918. package/gui/.next/server/app/api/observability/preferences/route.js.nft.json +1 -0
  919. package/gui/.next/server/app/api/observability/preferences/route_client-reference-manifest.js +1 -0
  920. package/gui/.next/server/app/api/operations/bootstrap/route.js +1 -0
  921. package/gui/.next/server/app/api/operations/bootstrap/route.js.nft.json +1 -0
  922. package/gui/.next/server/app/api/operations/bootstrap/route_client-reference-manifest.js +1 -0
  923. package/gui/.next/server/app/api/operations/draft/route.js +1 -0
  924. package/gui/.next/server/app/api/operations/draft/route.js.nft.json +1 -0
  925. package/gui/.next/server/app/api/operations/draft/route_client-reference-manifest.js +1 -0
  926. package/gui/.next/server/app/api/settings/apply-config-patch/route.js +8 -0
  927. package/gui/.next/server/app/api/settings/apply-config-patch/route.js.nft.json +1 -0
  928. package/gui/.next/server/app/api/settings/apply-config-patch/route_client-reference-manifest.js +1 -0
  929. package/gui/.next/server/app/api/settings/preview-config-patch/route.js +8 -0
  930. package/gui/.next/server/app/api/settings/preview-config-patch/route.js.nft.json +1 -0
  931. package/gui/.next/server/app/api/settings/preview-config-patch/route_client-reference-manifest.js +1 -0
  932. package/gui/.next/server/app/api/setup/apply-connect-services/route.js +1 -1
  933. package/gui/.next/server/app/api/setup/apply-connect-services/route.js.nft.json +1 -1
  934. package/gui/.next/server/app/api/setup/apply-connect-services/route_client-reference-manifest.js +1 -1
  935. package/gui/.next/server/app/api/setup/apply-harness-repo-provisioning/route.js +1 -1
  936. package/gui/.next/server/app/api/setup/apply-harness-repo-provisioning/route.js.nft.json +1 -1
  937. package/gui/.next/server/app/api/setup/apply-harness-repo-provisioning/route_client-reference-manifest.js +1 -1
  938. package/gui/.next/server/app/api/setup/apply-harness-secrets/route.js +1 -1
  939. package/gui/.next/server/app/api/setup/apply-harness-secrets/route.js.nft.json +1 -1
  940. package/gui/.next/server/app/api/setup/apply-harness-secrets/route_client-reference-manifest.js +1 -1
  941. package/gui/.next/server/app/api/setup/apply-linear-setup/route.js +1 -1
  942. package/gui/.next/server/app/api/setup/apply-linear-setup/route.js.nft.json +1 -1
  943. package/gui/.next/server/app/api/setup/apply-linear-setup/route_client-reference-manifest.js +1 -1
  944. package/gui/.next/server/app/api/setup/apply-linear-workspace/route.js +1 -0
  945. package/gui/.next/server/app/api/setup/apply-linear-workspace/route.js.nft.json +1 -0
  946. package/gui/.next/server/app/api/setup/apply-linear-workspace/route_client-reference-manifest.js +1 -0
  947. package/gui/.next/server/app/api/setup/apply-local-files/route.js +1 -1
  948. package/gui/.next/server/app/api/setup/apply-local-files/route.js.nft.json +1 -1
  949. package/gui/.next/server/app/api/setup/apply-local-files/route_client-reference-manifest.js +1 -1
  950. package/gui/.next/server/app/api/setup/apply-runner-upgrade/route.js +1 -0
  951. package/gui/.next/server/app/api/setup/apply-runner-upgrade/route.js.nft.json +1 -0
  952. package/gui/.next/server/app/api/setup/apply-runner-upgrade/route_client-reference-manifest.js +1 -0
  953. package/gui/.next/server/app/api/setup/apply-target-repo-provisioning/route.js +1 -0
  954. package/gui/.next/server/app/api/setup/apply-target-repo-provisioning/route.js.nft.json +1 -0
  955. package/gui/.next/server/app/api/setup/apply-target-repo-provisioning/route_client-reference-manifest.js +1 -0
  956. package/gui/.next/server/app/api/setup/apply-target-workflow/route.js +1 -1
  957. package/gui/.next/server/app/api/setup/apply-target-workflow/route.js.nft.json +1 -1
  958. package/gui/.next/server/app/api/setup/apply-target-workflow/route_client-reference-manifest.js +1 -1
  959. package/gui/.next/server/app/api/setup/apply-vercel-bridge/route.js +1 -1
  960. package/gui/.next/server/app/api/setup/apply-vercel-bridge/route.js.nft.json +1 -1
  961. package/gui/.next/server/app/api/setup/apply-vercel-bridge/route_client-reference-manifest.js +1 -1
  962. package/gui/.next/server/app/api/setup/complete-initial-setup/route.js +1 -0
  963. package/gui/.next/server/app/api/setup/complete-initial-setup/route.js.nft.json +1 -0
  964. package/gui/.next/server/app/api/setup/complete-initial-setup/route_client-reference-manifest.js +1 -0
  965. package/gui/.next/server/app/api/setup/finalize-target-workflow/route.js +1 -1
  966. package/gui/.next/server/app/api/setup/finalize-target-workflow/route.js.nft.json +1 -1
  967. package/gui/.next/server/app/api/setup/finalize-target-workflow/route_client-reference-manifest.js +1 -1
  968. package/gui/.next/server/app/api/setup/harness-provisioning-progress/route.js +1 -0
  969. package/gui/.next/server/app/api/setup/harness-provisioning-progress/route.js.nft.json +1 -0
  970. package/gui/.next/server/app/api/setup/harness-provisioning-progress/route_client-reference-manifest.js +1 -0
  971. package/gui/.next/server/app/api/setup/harness-provisioning-summary/route.js +1 -1
  972. package/gui/.next/server/app/api/setup/harness-provisioning-summary/route.js.nft.json +1 -1
  973. package/gui/.next/server/app/api/setup/harness-provisioning-summary/route_client-reference-manifest.js +1 -1
  974. package/gui/.next/server/app/api/setup/linear-options/route.js +1 -1
  975. package/gui/.next/server/app/api/setup/linear-options/route.js.nft.json +1 -1
  976. package/gui/.next/server/app/api/setup/linear-options/route_client-reference-manifest.js +1 -1
  977. package/gui/.next/server/app/api/setup/linear-setup-progress/route.js +1 -0
  978. package/gui/.next/server/app/api/setup/linear-setup-progress/route.js.nft.json +1 -0
  979. package/gui/.next/server/app/api/setup/linear-setup-progress/route_client-reference-manifest.js +1 -0
  980. package/gui/.next/server/app/api/setup/linear-summary/route.js +1 -1
  981. package/gui/.next/server/app/api/setup/linear-summary/route.js.nft.json +1 -1
  982. package/gui/.next/server/app/api/setup/linear-summary/route_client-reference-manifest.js +1 -1
  983. package/gui/.next/server/app/api/setup/linear-workspace-editor-state/route.js +1 -0
  984. package/gui/.next/server/app/api/setup/linear-workspace-editor-state/route.js.nft.json +1 -0
  985. package/gui/.next/server/app/api/setup/linear-workspace-editor-state/route_client-reference-manifest.js +1 -0
  986. package/gui/.next/server/app/api/setup/local-readiness/route.js +3 -1
  987. package/gui/.next/server/app/api/setup/local-readiness/route.js.nft.json +1 -1
  988. package/gui/.next/server/app/api/setup/local-readiness/route_client-reference-manifest.js +1 -1
  989. package/gui/.next/server/app/api/setup/manual-harness-secret-values/route.js +1 -1
  990. package/gui/.next/server/app/api/setup/manual-harness-secret-values/route.js.nft.json +1 -1
  991. package/gui/.next/server/app/api/setup/manual-harness-secret-values/route_client-reference-manifest.js +1 -1
  992. package/gui/.next/server/app/api/setup/preview-connect-services/route.js +1 -1
  993. package/gui/.next/server/app/api/setup/preview-connect-services/route.js.nft.json +1 -1
  994. package/gui/.next/server/app/api/setup/preview-connect-services/route_client-reference-manifest.js +1 -1
  995. package/gui/.next/server/app/api/setup/preview-harness-repo-provisioning/route.js +1 -1
  996. package/gui/.next/server/app/api/setup/preview-harness-repo-provisioning/route.js.nft.json +1 -1
  997. package/gui/.next/server/app/api/setup/preview-harness-repo-provisioning/route_client-reference-manifest.js +1 -1
  998. package/gui/.next/server/app/api/setup/preview-harness-secrets/route.js +1 -1
  999. package/gui/.next/server/app/api/setup/preview-harness-secrets/route.js.nft.json +1 -1
  1000. package/gui/.next/server/app/api/setup/preview-harness-secrets/route_client-reference-manifest.js +1 -1
  1001. package/gui/.next/server/app/api/setup/preview-linear-setup/route.js +1 -1
  1002. package/gui/.next/server/app/api/setup/preview-linear-setup/route.js.nft.json +1 -1
  1003. package/gui/.next/server/app/api/setup/preview-linear-setup/route_client-reference-manifest.js +1 -1
  1004. package/gui/.next/server/app/api/setup/preview-linear-workspace/route.js +1 -0
  1005. package/gui/.next/server/app/api/setup/preview-linear-workspace/route.js.nft.json +1 -0
  1006. package/gui/.next/server/app/api/setup/preview-linear-workspace/route_client-reference-manifest.js +1 -0
  1007. package/gui/.next/server/app/api/setup/preview-local-files/route.js +1 -1
  1008. package/gui/.next/server/app/api/setup/preview-local-files/route.js.nft.json +1 -1
  1009. package/gui/.next/server/app/api/setup/preview-local-files/route_client-reference-manifest.js +1 -1
  1010. package/gui/.next/server/app/api/setup/preview-runner-upgrade/route.js +1 -0
  1011. package/gui/.next/server/app/api/setup/preview-runner-upgrade/route.js.nft.json +1 -0
  1012. package/gui/.next/server/app/api/setup/preview-runner-upgrade/route_client-reference-manifest.js +1 -0
  1013. package/gui/.next/server/app/api/setup/preview-target-repo-provisioning/route.js +1 -0
  1014. package/gui/.next/server/app/api/setup/preview-target-repo-provisioning/route.js.nft.json +1 -0
  1015. package/gui/.next/server/app/api/setup/preview-target-repo-provisioning/route_client-reference-manifest.js +1 -0
  1016. package/gui/.next/server/app/api/setup/preview-target-workflow/route.js +1 -1
  1017. package/gui/.next/server/app/api/setup/preview-target-workflow/route.js.nft.json +1 -1
  1018. package/gui/.next/server/app/api/setup/preview-target-workflow/route_client-reference-manifest.js +1 -1
  1019. package/gui/.next/server/app/api/setup/preview-vercel-bridge/route.js +1 -1
  1020. package/gui/.next/server/app/api/setup/preview-vercel-bridge/route.js.nft.json +1 -1
  1021. package/gui/.next/server/app/api/setup/preview-vercel-bridge/route_client-reference-manifest.js +1 -1
  1022. package/gui/.next/server/app/api/setup/remote-summary/route.js +1 -1
  1023. package/gui/.next/server/app/api/setup/remote-summary/route.js.nft.json +1 -1
  1024. package/gui/.next/server/app/api/setup/remote-summary/route_client-reference-manifest.js +1 -1
  1025. package/gui/.next/server/app/api/setup/runner-upgrade-progress/route.js +1 -0
  1026. package/gui/.next/server/app/api/setup/runner-upgrade-progress/route.js.nft.json +1 -0
  1027. package/gui/.next/server/app/api/setup/runner-upgrade-progress/route_client-reference-manifest.js +1 -0
  1028. package/gui/.next/server/app/api/setup/runner-upgrade-status/route.js +1 -0
  1029. package/gui/.next/server/app/api/setup/runner-upgrade-status/route.js.nft.json +1 -0
  1030. package/gui/.next/server/app/api/setup/runner-upgrade-status/route_client-reference-manifest.js +1 -0
  1031. package/gui/.next/server/app/api/setup/summary/route.js +1 -1
  1032. package/gui/.next/server/app/api/setup/summary/route.js.nft.json +1 -1
  1033. package/gui/.next/server/app/api/setup/summary/route_client-reference-manifest.js +1 -1
  1034. package/gui/.next/server/app/api/setup/vercel-bridge-options/route.js +1 -1
  1035. package/gui/.next/server/app/api/setup/vercel-bridge-options/route.js.nft.json +1 -1
  1036. package/gui/.next/server/app/api/setup/vercel-bridge-options/route_client-reference-manifest.js +1 -1
  1037. package/gui/.next/server/app/api/setup/vercel-bridge-redeploy-status/route.js +1 -1
  1038. package/gui/.next/server/app/api/setup/vercel-bridge-redeploy-status/route.js.nft.json +1 -1
  1039. package/gui/.next/server/app/api/setup/vercel-bridge-redeploy-status/route_client-reference-manifest.js +1 -1
  1040. package/gui/.next/server/app/api/setup/vercel-summary/route.js +1 -1
  1041. package/gui/.next/server/app/api/setup/vercel-summary/route.js.nft.json +1 -1
  1042. package/gui/.next/server/app/api/setup/vercel-summary/route_client-reference-manifest.js +1 -1
  1043. package/gui/.next/server/app/api/setup/verify-harness-repo/route.js +1 -1
  1044. package/gui/.next/server/app/api/setup/verify-harness-repo/route.js.nft.json +1 -1
  1045. package/gui/.next/server/app/api/setup/verify-harness-repo/route_client-reference-manifest.js +1 -1
  1046. package/gui/.next/server/app/api/setup/verify-service/route.js +1 -1
  1047. package/gui/.next/server/app/api/setup/verify-service/route.js.nft.json +1 -1
  1048. package/gui/.next/server/app/api/setup/verify-service/route_client-reference-manifest.js +1 -1
  1049. package/gui/.next/server/app/api/setup/verify-target-repo/route.js +1 -1
  1050. package/gui/.next/server/app/api/setup/verify-target-repo/route.js.nft.json +1 -1
  1051. package/gui/.next/server/app/api/setup/verify-target-repo/route_client-reference-manifest.js +1 -1
  1052. package/gui/.next/server/app/api/workflow/bootstrap/route.js +1 -0
  1053. package/gui/.next/server/app/api/workflow/bootstrap/route.js.nft.json +1 -0
  1054. package/gui/.next/server/app/api/workflow/bootstrap/route_client-reference-manifest.js +1 -0
  1055. package/gui/.next/server/app/api/workflow/models/route.js +1 -0
  1056. package/gui/.next/server/app/api/workflow/models/route.js.nft.json +1 -0
  1057. package/gui/.next/server/app/api/workflow/models/route_client-reference-manifest.js +1 -0
  1058. package/gui/.next/server/app/operations/page.js +2 -0
  1059. package/gui/.next/server/app/operations/page.js.nft.json +1 -0
  1060. package/gui/.next/server/app/operations/page_client-reference-manifest.js +1 -0
  1061. package/gui/.next/server/app/page.js +3 -2
  1062. package/gui/.next/server/app/page.js.nft.json +1 -1
  1063. package/gui/.next/server/app/page_client-reference-manifest.js +1 -1
  1064. package/gui/.next/server/app/settings/(console)/connections/page.js +2 -0
  1065. package/gui/.next/server/app/settings/(console)/connections/page.js.nft.json +1 -0
  1066. package/gui/.next/server/app/settings/(console)/connections/page_client-reference-manifest.js +1 -0
  1067. package/gui/.next/server/app/settings/(console)/data-sharing/page.js +2 -0
  1068. package/gui/.next/server/app/settings/(console)/data-sharing/page.js.nft.json +1 -0
  1069. package/gui/.next/server/app/settings/(console)/data-sharing/page_client-reference-manifest.js +1 -0
  1070. package/gui/.next/server/app/settings/(console)/deployments/page.js +2 -0
  1071. package/gui/.next/server/app/settings/(console)/deployments/page.js.nft.json +1 -0
  1072. package/gui/.next/server/app/settings/(console)/deployments/page_client-reference-manifest.js +1 -0
  1073. package/gui/.next/server/app/settings/(console)/linear/page.js +10 -0
  1074. package/gui/.next/server/app/settings/(console)/linear/page.js.nft.json +1 -0
  1075. package/gui/.next/server/app/settings/(console)/linear/page_client-reference-manifest.js +1 -0
  1076. package/gui/.next/server/app/settings/(console)/models/page.js +2 -0
  1077. package/gui/.next/server/app/settings/(console)/models/page.js.nft.json +1 -0
  1078. package/gui/.next/server/app/settings/(console)/models/page_client-reference-manifest.js +1 -0
  1079. package/gui/.next/server/app/settings/(console)/page.js +2 -0
  1080. package/gui/.next/server/app/settings/(console)/page.js.nft.json +1 -0
  1081. package/gui/.next/server/app/settings/(console)/page_client-reference-manifest.js +1 -0
  1082. package/gui/.next/server/app/settings/(console)/repositories/page.js +6 -0
  1083. package/gui/.next/server/app/settings/(console)/repositories/page.js.nft.json +1 -0
  1084. package/gui/.next/server/app/settings/(console)/repositories/page_client-reference-manifest.js +1 -0
  1085. package/gui/.next/server/app/settings/configure/page.js +4 -4
  1086. package/gui/.next/server/app/settings/configure/page.js.nft.json +1 -1
  1087. package/gui/.next/server/app/settings/configure/page_client-reference-manifest.js +1 -1
  1088. package/gui/.next/server/app/workflow/page.js +2 -0
  1089. package/gui/.next/server/app/workflow/page.js.nft.json +1 -0
  1090. package/gui/.next/server/app/workflow/page_client-reference-manifest.js +1 -0
  1091. package/gui/.next/server/app-paths-manifest.json +44 -15
  1092. package/gui/.next/server/chunks/105.js +2 -0
  1093. package/gui/.next/server/chunks/1304.js +200 -0
  1094. package/gui/.next/server/chunks/1536.js +1 -0
  1095. package/gui/.next/server/chunks/1948.js +59 -0
  1096. package/gui/.next/server/chunks/2470.js +3 -0
  1097. package/gui/.next/server/chunks/2581.js +2 -0
  1098. package/gui/.next/server/chunks/383.js +1 -1
  1099. package/gui/.next/server/chunks/521.js +1 -0
  1100. package/gui/.next/server/chunks/553.js +1 -0
  1101. package/gui/.next/server/chunks/5827.js +1 -0
  1102. package/gui/.next/server/chunks/6408.js +1 -0
  1103. package/gui/.next/server/chunks/641.js +1 -0
  1104. package/gui/.next/server/chunks/6482.js +1 -0
  1105. package/gui/.next/server/chunks/6801.js +1 -0
  1106. package/gui/.next/server/chunks/6890.js +1 -0
  1107. package/gui/.next/server/chunks/7201.js +1 -0
  1108. package/gui/.next/server/chunks/7221.js +1 -0
  1109. package/gui/.next/server/chunks/{332.js → 7332.js} +1 -1
  1110. package/gui/.next/server/chunks/7527.js +1 -0
  1111. package/gui/.next/server/chunks/8312.js +1 -0
  1112. package/gui/.next/server/chunks/8476.js +8 -0
  1113. package/gui/.next/server/chunks/8764.js +16 -0
  1114. package/gui/.next/server/chunks/8819.js +22 -0
  1115. package/gui/.next/server/chunks/8825.js +1 -0
  1116. package/gui/.next/server/chunks/9148.js +1 -0
  1117. package/gui/.next/server/chunks/9454.js +1 -0
  1118. package/gui/.next/server/instrumentation.js +1 -0
  1119. package/gui/.next/server/instrumentation.js.nft.json +1 -0
  1120. package/gui/.next/server/middleware-build-manifest.js +1 -1
  1121. package/gui/.next/server/pages/404.html +1 -1
  1122. package/gui/.next/server/pages/500.html +1 -1
  1123. package/gui/.next/server/pages/_document.js +1 -1
  1124. package/gui/.next/server/pages/_document.js.nft.json +1 -1
  1125. package/gui/.next/server/pages/_error.js +2 -2
  1126. package/gui/.next/server/pages/_error.js.nft.json +1 -1
  1127. package/gui/.next/server/pages-manifest.json +1 -1
  1128. package/gui/.next/server/webpack-runtime.js +1 -1
  1129. package/gui/.next/static/chunks/3800-379a4b854a7eb1dc.js +1 -0
  1130. package/gui/.next/static/chunks/464-7503c96bb839c213.js +1 -0
  1131. package/gui/.next/static/chunks/5567-672d065d2668f1ea.js +1 -0
  1132. package/gui/.next/static/chunks/6240-d3f8028539091853.js +1 -0
  1133. package/gui/.next/static/chunks/7420-cb03f2f94db611c4.js +1 -0
  1134. package/gui/.next/static/chunks/8002-528c2e589bc54111.js +1 -0
  1135. package/gui/.next/static/chunks/9188-540635591aa2baf5.js +1 -0
  1136. package/gui/.next/static/chunks/9289-00509b3e0c520cce.js +1 -0
  1137. package/gui/.next/static/chunks/9576-6d94e3d152f876e7.js +1 -0
  1138. package/gui/.next/static/chunks/app/_not-found/page-89865576110e31f0.js +1 -0
  1139. package/gui/.next/static/chunks/app/api/observability/event/route-08ffe80f6f4603f6.js +1 -0
  1140. package/gui/.next/static/chunks/app/api/observability/preferences/route-08ffe80f6f4603f6.js +1 -0
  1141. package/gui/.next/static/chunks/app/api/operations/bootstrap/route-08ffe80f6f4603f6.js +1 -0
  1142. package/gui/.next/static/chunks/app/api/operations/draft/route-08ffe80f6f4603f6.js +1 -0
  1143. package/gui/.next/static/chunks/app/api/settings/apply-config-patch/route-08ffe80f6f4603f6.js +1 -0
  1144. package/gui/.next/static/chunks/app/api/settings/preview-config-patch/route-08ffe80f6f4603f6.js +1 -0
  1145. package/gui/.next/static/chunks/app/api/setup/apply-connect-services/route-08ffe80f6f4603f6.js +1 -0
  1146. package/gui/.next/static/chunks/app/api/setup/apply-harness-repo-provisioning/route-08ffe80f6f4603f6.js +1 -0
  1147. package/gui/.next/static/chunks/app/api/setup/apply-harness-secrets/route-08ffe80f6f4603f6.js +1 -0
  1148. package/gui/.next/static/chunks/app/api/setup/apply-linear-setup/route-08ffe80f6f4603f6.js +1 -0
  1149. package/gui/.next/static/chunks/app/api/setup/apply-linear-workspace/route-08ffe80f6f4603f6.js +1 -0
  1150. package/gui/.next/static/chunks/app/api/setup/apply-local-files/route-08ffe80f6f4603f6.js +1 -0
  1151. package/gui/.next/static/chunks/app/api/setup/apply-runner-upgrade/route-08ffe80f6f4603f6.js +1 -0
  1152. package/gui/.next/static/chunks/app/api/setup/apply-target-repo-provisioning/route-08ffe80f6f4603f6.js +1 -0
  1153. package/gui/.next/static/chunks/app/api/setup/apply-target-workflow/route-08ffe80f6f4603f6.js +1 -0
  1154. package/gui/.next/static/chunks/app/api/setup/apply-vercel-bridge/route-08ffe80f6f4603f6.js +1 -0
  1155. package/gui/.next/static/chunks/app/api/setup/complete-initial-setup/route-08ffe80f6f4603f6.js +1 -0
  1156. package/gui/.next/static/chunks/app/api/setup/finalize-target-workflow/route-08ffe80f6f4603f6.js +1 -0
  1157. package/gui/.next/static/chunks/app/api/setup/harness-provisioning-progress/route-08ffe80f6f4603f6.js +1 -0
  1158. package/gui/.next/static/chunks/app/api/setup/harness-provisioning-summary/route-08ffe80f6f4603f6.js +1 -0
  1159. package/gui/.next/static/chunks/app/api/setup/linear-options/route-08ffe80f6f4603f6.js +1 -0
  1160. package/gui/.next/static/chunks/app/api/setup/linear-setup-progress/route-08ffe80f6f4603f6.js +1 -0
  1161. package/gui/.next/static/chunks/app/api/setup/linear-summary/route-08ffe80f6f4603f6.js +1 -0
  1162. package/gui/.next/static/chunks/app/api/setup/linear-workspace-editor-state/route-08ffe80f6f4603f6.js +1 -0
  1163. package/gui/.next/static/chunks/app/api/setup/local-readiness/route-08ffe80f6f4603f6.js +1 -0
  1164. package/gui/.next/static/chunks/app/api/setup/manual-harness-secret-values/route-08ffe80f6f4603f6.js +1 -0
  1165. package/gui/.next/static/chunks/app/api/setup/preview-connect-services/route-08ffe80f6f4603f6.js +1 -0
  1166. package/gui/.next/static/chunks/app/api/setup/preview-harness-repo-provisioning/route-08ffe80f6f4603f6.js +1 -0
  1167. package/gui/.next/static/chunks/app/api/setup/preview-harness-secrets/route-08ffe80f6f4603f6.js +1 -0
  1168. package/gui/.next/static/chunks/app/api/setup/preview-linear-setup/route-08ffe80f6f4603f6.js +1 -0
  1169. package/gui/.next/static/chunks/app/api/setup/preview-linear-workspace/route-08ffe80f6f4603f6.js +1 -0
  1170. package/gui/.next/static/chunks/app/api/setup/preview-local-files/route-08ffe80f6f4603f6.js +1 -0
  1171. package/gui/.next/static/chunks/app/api/setup/preview-runner-upgrade/route-08ffe80f6f4603f6.js +1 -0
  1172. package/gui/.next/static/chunks/app/api/setup/preview-target-repo-provisioning/route-08ffe80f6f4603f6.js +1 -0
  1173. package/gui/.next/static/chunks/app/api/setup/preview-target-workflow/route-08ffe80f6f4603f6.js +1 -0
  1174. package/gui/.next/static/chunks/app/api/setup/preview-vercel-bridge/route-08ffe80f6f4603f6.js +1 -0
  1175. package/gui/.next/static/chunks/app/api/setup/remote-summary/route-08ffe80f6f4603f6.js +1 -0
  1176. package/gui/.next/static/chunks/app/api/setup/runner-upgrade-progress/route-08ffe80f6f4603f6.js +1 -0
  1177. package/gui/.next/static/chunks/app/api/setup/runner-upgrade-status/route-08ffe80f6f4603f6.js +1 -0
  1178. package/gui/.next/static/chunks/app/api/setup/summary/route-08ffe80f6f4603f6.js +1 -0
  1179. package/gui/.next/static/chunks/app/api/setup/vercel-bridge-options/route-08ffe80f6f4603f6.js +1 -0
  1180. package/gui/.next/static/chunks/app/api/setup/vercel-bridge-redeploy-status/route-08ffe80f6f4603f6.js +1 -0
  1181. package/gui/.next/static/chunks/app/api/setup/vercel-summary/route-08ffe80f6f4603f6.js +1 -0
  1182. package/gui/.next/static/chunks/app/api/setup/verify-harness-repo/route-08ffe80f6f4603f6.js +1 -0
  1183. package/gui/.next/static/chunks/app/api/setup/verify-service/route-08ffe80f6f4603f6.js +1 -0
  1184. package/gui/.next/static/chunks/app/api/setup/verify-target-repo/route-08ffe80f6f4603f6.js +1 -0
  1185. package/gui/.next/static/chunks/app/api/workflow/bootstrap/route-08ffe80f6f4603f6.js +1 -0
  1186. package/gui/.next/static/chunks/app/api/workflow/models/route-08ffe80f6f4603f6.js +1 -0
  1187. package/gui/.next/static/chunks/app/layout-ec756afb9686f579.js +1 -0
  1188. package/gui/.next/static/chunks/app/operations/page-08ffe80f6f4603f6.js +1 -0
  1189. package/gui/.next/static/chunks/app/page-08ffe80f6f4603f6.js +1 -0
  1190. package/gui/.next/static/chunks/app/settings/(console)/connections/page-95847d89fc70089a.js +1 -0
  1191. package/gui/.next/static/chunks/app/settings/(console)/data-sharing/page-3e0d8fe941c7334e.js +1 -0
  1192. package/gui/.next/static/chunks/app/settings/(console)/deployments/page-e3aaff205f09b567.js +1 -0
  1193. package/gui/.next/static/chunks/app/settings/(console)/layout-74ce539ae02dc765.js +1 -0
  1194. package/gui/.next/static/chunks/app/settings/(console)/linear/page-0a1e73b5ec66af90.js +1 -0
  1195. package/gui/.next/static/chunks/app/settings/(console)/models/page-336406c2905983c9.js +1 -0
  1196. package/gui/.next/static/chunks/app/settings/(console)/page-08ffe80f6f4603f6.js +1 -0
  1197. package/gui/.next/static/chunks/app/settings/(console)/repositories/page-b1f7159c7771b16a.js +1 -0
  1198. package/gui/.next/static/chunks/app/settings/configure/loading-5f1e73b910fbd9da.js +1 -0
  1199. package/gui/.next/static/chunks/app/settings/configure/page-54b7572655b9f60f.js +1 -0
  1200. package/gui/.next/static/chunks/app/workflow/page-8087b342a6ece93c.js +1 -0
  1201. package/gui/.next/static/chunks/framework-dc88dc15d5e043e1.js +1 -0
  1202. package/gui/.next/static/chunks/main-5b390d9aaa7199a5.js +1 -0
  1203. package/gui/.next/static/chunks/main-app-7fbf1b54aaed0242.js +1 -0
  1204. package/gui/.next/static/chunks/pages/{_app-2e239ff05bfdf6d6.js → _app-50fa07b56b2d29ac.js} +1 -1
  1205. package/gui/.next/static/chunks/pages/_error-fed8688bdd23f211.js +1 -0
  1206. package/gui/.next/static/chunks/{webpack-1e50074b7e886e1b.js → webpack-b27d2f88ec3d35a4.js} +1 -1
  1207. package/gui/.next/static/css/b7b323a34ac09e0b.css +3 -0
  1208. package/gui/.next/static/wM7YWpWgyTcGc7H5h1u7U/_buildManifest.js +1 -0
  1209. package/gui/.next/trace +6 -4
  1210. package/gui/.next/types/app/api/observability/event/route.ts +347 -0
  1211. package/gui/.next/types/app/api/observability/preferences/route.ts +347 -0
  1212. package/gui/.next/types/app/api/operations/bootstrap/route.ts +347 -0
  1213. package/gui/.next/types/app/api/operations/draft/route.ts +347 -0
  1214. package/gui/.next/types/app/api/settings/apply-config-patch/route.ts +347 -0
  1215. package/gui/.next/types/app/api/settings/preview-config-patch/route.ts +347 -0
  1216. package/gui/.next/types/app/api/setup/apply-linear-workspace/route.ts +347 -0
  1217. package/gui/.next/types/app/api/setup/apply-runner-upgrade/route.ts +347 -0
  1218. package/gui/.next/types/app/api/setup/apply-target-repo-provisioning/route.ts +347 -0
  1219. package/gui/.next/types/app/api/setup/complete-initial-setup/route.ts +347 -0
  1220. package/gui/.next/types/app/api/setup/harness-provisioning-progress/route.ts +347 -0
  1221. package/gui/.next/types/app/api/setup/linear-setup-progress/route.ts +347 -0
  1222. package/gui/.next/types/app/api/setup/linear-workspace-editor-state/route.ts +347 -0
  1223. package/gui/.next/types/app/api/setup/preview-linear-workspace/route.ts +347 -0
  1224. package/gui/.next/types/app/api/setup/preview-runner-upgrade/route.ts +347 -0
  1225. package/gui/.next/types/app/api/setup/preview-target-repo-provisioning/route.ts +347 -0
  1226. package/gui/.next/types/app/api/setup/runner-upgrade-progress/route.ts +347 -0
  1227. package/gui/.next/types/app/api/setup/runner-upgrade-status/route.ts +347 -0
  1228. package/gui/.next/types/app/api/workflow/bootstrap/route.ts +347 -0
  1229. package/gui/.next/types/app/api/workflow/models/route.ts +347 -0
  1230. package/gui/.next/types/app/operations/page.ts +84 -0
  1231. package/gui/.next/types/app/settings/(console)/connections/page.ts +84 -0
  1232. package/gui/.next/types/app/settings/(console)/data-sharing/page.ts +84 -0
  1233. package/gui/.next/types/app/settings/(console)/deployments/page.ts +84 -0
  1234. package/gui/.next/types/app/settings/(console)/layout.ts +84 -0
  1235. package/gui/.next/types/app/settings/(console)/linear/page.ts +84 -0
  1236. package/gui/.next/types/app/settings/(console)/models/page.ts +84 -0
  1237. package/gui/.next/types/app/settings/(console)/page.ts +84 -0
  1238. package/gui/.next/types/app/settings/(console)/repositories/page.ts +84 -0
  1239. package/gui/.next/types/app/workflow/page.ts +84 -0
  1240. package/gui/.next/types/routes.d.ts +33 -3
  1241. package/gui/.next/types/validator.ts +270 -0
  1242. package/observability.public.json +6 -0
  1243. package/package.json +5 -1
  1244. package/templates/.harness/config.example.json +1 -0
  1245. package/workspace-snapshot/files/.agents/skills/implementation/SKILL.md +4 -0
  1246. package/workspace-snapshot/files/.agents/skills/issue-intake/SKILL.md +13 -1
  1247. package/workspace-snapshot/files/.agents/skills/planner/SKILL.md +10 -0
  1248. package/workspace-snapshot/files/.github/workflows/harness-auto-runner.yml +38 -11
  1249. package/workspace-snapshot/files/.github/workflows/p-dev-runner-config-canary.yml +24 -0
  1250. package/workspace-snapshot/files/.harness/config.example.json +1 -0
  1251. package/workspace-snapshot/files/AGENTS.md +13 -2
  1252. package/workspace-snapshot/files/ARCHITECTURE.md +23 -6
  1253. package/workspace-snapshot/files/CHANGELOG.md +50 -5
  1254. package/workspace-snapshot/files/README.md +10 -4
  1255. package/workspace-snapshot/files/ROADMAP.md +10 -1
  1256. package/workspace-snapshot/files/apps/gui/app/api/observability/event/route.ts +36 -0
  1257. package/workspace-snapshot/files/apps/gui/app/api/observability/preferences/route.ts +88 -0
  1258. package/workspace-snapshot/files/apps/gui/app/api/operations/bootstrap/route.ts +8 -0
  1259. package/workspace-snapshot/files/apps/gui/app/api/operations/draft/route.ts +15 -0
  1260. package/workspace-snapshot/files/apps/gui/app/api/settings/apply-config-patch/route.ts +52 -0
  1261. package/workspace-snapshot/files/apps/gui/app/api/settings/preview-config-patch/route.ts +40 -0
  1262. package/workspace-snapshot/files/apps/gui/app/api/setup/apply-harness-repo-provisioning/route.ts +6 -5
  1263. package/workspace-snapshot/files/apps/gui/app/api/setup/apply-linear-workspace/route.ts +23 -0
  1264. package/workspace-snapshot/files/apps/gui/app/api/setup/apply-runner-upgrade/route.ts +33 -0
  1265. package/workspace-snapshot/files/apps/gui/app/api/setup/apply-target-repo-provisioning/route.ts +38 -0
  1266. package/workspace-snapshot/files/apps/gui/app/api/setup/apply-vercel-bridge/route.ts +7 -1
  1267. package/workspace-snapshot/files/apps/gui/app/api/setup/complete-initial-setup/route.ts +49 -0
  1268. package/workspace-snapshot/files/apps/gui/app/api/setup/harness-provisioning-progress/route.ts +21 -0
  1269. package/workspace-snapshot/files/apps/gui/app/api/setup/linear-setup-progress/route.ts +17 -0
  1270. package/workspace-snapshot/files/apps/gui/app/api/setup/linear-workspace-editor-state/route.ts +17 -0
  1271. package/workspace-snapshot/files/apps/gui/app/api/setup/local-readiness/route.ts +52 -13
  1272. package/workspace-snapshot/files/apps/gui/app/api/setup/preview-linear-workspace/route.ts +22 -0
  1273. package/workspace-snapshot/files/apps/gui/app/api/setup/preview-runner-upgrade/route.ts +17 -0
  1274. package/workspace-snapshot/files/apps/gui/app/api/setup/preview-target-repo-provisioning/route.ts +34 -0
  1275. package/workspace-snapshot/files/apps/gui/app/api/setup/runner-upgrade-progress/route.ts +17 -0
  1276. package/workspace-snapshot/files/apps/gui/app/api/setup/runner-upgrade-status/route.ts +72 -0
  1277. package/workspace-snapshot/files/apps/gui/app/api/setup/verify-service/route.ts +2 -2
  1278. package/workspace-snapshot/files/apps/gui/app/api/setup/verify-target-repo/route.ts +9 -2
  1279. package/workspace-snapshot/files/apps/gui/app/api/workflow/bootstrap/route.ts +24 -0
  1280. package/workspace-snapshot/files/apps/gui/app/api/workflow/models/route.ts +86 -0
  1281. package/workspace-snapshot/files/apps/gui/app/operations/page.tsx +23 -0
  1282. package/workspace-snapshot/files/apps/gui/app/page.tsx +8 -2
  1283. package/workspace-snapshot/files/apps/gui/app/settings/(console)/connections/page.tsx +27 -0
  1284. package/workspace-snapshot/files/apps/gui/app/settings/(console)/data-sharing/page.tsx +25 -0
  1285. package/workspace-snapshot/files/apps/gui/app/settings/(console)/deployments/page.tsx +28 -0
  1286. package/workspace-snapshot/files/apps/gui/app/settings/(console)/layout.tsx +45 -0
  1287. package/workspace-snapshot/files/apps/gui/app/settings/(console)/linear/page.tsx +20 -0
  1288. package/workspace-snapshot/files/apps/gui/app/settings/(console)/models/page.tsx +14 -0
  1289. package/workspace-snapshot/files/apps/gui/app/settings/(console)/page.tsx +7 -0
  1290. package/workspace-snapshot/files/apps/gui/app/settings/(console)/repositories/page.tsx +29 -0
  1291. package/workspace-snapshot/files/apps/gui/app/settings/configure/loading.tsx +25 -0
  1292. package/workspace-snapshot/files/apps/gui/app/settings/configure/page.tsx +76 -7
  1293. package/workspace-snapshot/files/apps/gui/app/workflow/page.tsx +24 -0
  1294. package/workspace-snapshot/files/apps/gui/components/custom/app-shell.tsx +26 -32
  1295. package/workspace-snapshot/files/apps/gui/components/custom/application-header.tsx +64 -0
  1296. package/workspace-snapshot/files/apps/gui/components/custom/configure-experience.tsx +347 -85
  1297. package/workspace-snapshot/files/apps/gui/components/custom/configure-page-content.tsx +15 -0
  1298. package/workspace-snapshot/files/apps/gui/components/custom/configure-workflow.tsx +675 -112
  1299. package/workspace-snapshot/files/apps/gui/components/custom/data-sharing-preferences.tsx +159 -0
  1300. package/workspace-snapshot/files/apps/gui/components/custom/environment-config-form.tsx +31 -13
  1301. package/workspace-snapshot/files/apps/gui/components/custom/guided-cloud-secrets-card.tsx +99 -46
  1302. package/workspace-snapshot/files/apps/gui/components/custom/guided-linear-workspace-card.tsx +974 -148
  1303. package/workspace-snapshot/files/apps/gui/components/custom/guided-local-readiness-card.tsx +153 -35
  1304. package/workspace-snapshot/files/apps/gui/components/custom/guided-operation-panel.tsx +102 -0
  1305. package/workspace-snapshot/files/apps/gui/components/custom/guided-progress-check.tsx +37 -0
  1306. package/workspace-snapshot/files/apps/gui/components/custom/guided-setup-progress.tsx +114 -0
  1307. package/workspace-snapshot/files/apps/gui/components/custom/guided-step-success-panel.tsx +50 -0
  1308. package/workspace-snapshot/files/apps/gui/components/custom/guided-step-transition.tsx +81 -27
  1309. package/workspace-snapshot/files/apps/gui/components/custom/guided-target-workflow-card.tsx +267 -60
  1310. package/workspace-snapshot/files/apps/gui/components/custom/guided-vercel-bridge-card.tsx +341 -179
  1311. package/workspace-snapshot/files/apps/gui/components/custom/observability-settings-card.tsx +23 -0
  1312. package/workspace-snapshot/files/apps/gui/components/custom/remote-action-confirmation.tsx +13 -11
  1313. package/workspace-snapshot/files/apps/gui/components/custom/review-workflow-changes-disclosure.tsx +59 -0
  1314. package/workspace-snapshot/files/apps/gui/components/custom/settings-menu.tsx +109 -0
  1315. package/workspace-snapshot/files/apps/gui/components/custom/setup-checklist.tsx +47 -29
  1316. package/workspace-snapshot/files/apps/gui/components/custom/target-repo-config-form.tsx +22 -2
  1317. package/workspace-snapshot/files/apps/gui/components/custom/target-repo-create-connect.tsx +419 -0
  1318. package/workspace-snapshot/files/apps/gui/components/custom/target-workflow-pr-card.tsx +105 -43
  1319. package/workspace-snapshot/files/apps/gui/components/custom/theme-toggle.tsx +3 -11
  1320. package/workspace-snapshot/files/apps/gui/components/custom/vercel-bridge-orchestration-status.tsx +65 -0
  1321. package/workspace-snapshot/files/apps/gui/components/custom/workflow-install-pending-panel.tsx +125 -53
  1322. package/workspace-snapshot/files/apps/gui/components/settings/editors/connections-settings-editor.tsx +261 -0
  1323. package/workspace-snapshot/files/apps/gui/components/settings/editors/deployments-settings-editor.tsx +397 -0
  1324. package/workspace-snapshot/files/apps/gui/components/settings/editors/linear-settings-editor.tsx +512 -0
  1325. package/workspace-snapshot/files/apps/gui/components/settings/editors/repositories-settings-editor.tsx +749 -0
  1326. package/workspace-snapshot/files/apps/gui/components/settings/editors/runner-upgrade-settings-card.tsx +533 -0
  1327. package/workspace-snapshot/files/apps/gui/components/settings/settings-models-client.tsx +102 -0
  1328. package/workspace-snapshot/files/apps/gui/components/settings/settings-mutation-panel.tsx +125 -0
  1329. package/workspace-snapshot/files/apps/gui/components/settings/settings-shell.tsx +46 -0
  1330. package/workspace-snapshot/files/apps/gui/components/ui/dropdown-menu.tsx +257 -0
  1331. package/workspace-snapshot/files/apps/gui/components/ui/guided-select.tsx +22 -0
  1332. package/workspace-snapshot/files/apps/gui/components/workflow/workflow-cards-section.tsx +206 -0
  1333. package/workspace-snapshot/files/apps/gui/components/workflow/workflow-health-panel.tsx +43 -0
  1334. package/workspace-snapshot/files/apps/gui/components/workflow/workflow-model-control.tsx +111 -0
  1335. package/workspace-snapshot/files/apps/gui/components/workflow/workflow-page-client.tsx +161 -0
  1336. package/workspace-snapshot/files/apps/gui/components/workflow/workflow-scope-selector.tsx +41 -0
  1337. package/workspace-snapshot/files/apps/gui/instrumentation.ts +136 -0
  1338. package/workspace-snapshot/files/apps/gui/lib/configure-navigation-timing.ts +53 -0
  1339. package/workspace-snapshot/files/apps/gui/lib/constants/form.ts +5 -0
  1340. package/workspace-snapshot/files/apps/gui/lib/constants/layout.ts +10 -3
  1341. package/workspace-snapshot/files/apps/gui/lib/guided-setup.ts +222 -0
  1342. package/workspace-snapshot/files/apps/gui/lib/linear-association-draft.ts +93 -0
  1343. package/workspace-snapshot/files/apps/gui/lib/local-readiness-visual-queue.ts +61 -0
  1344. package/workspace-snapshot/files/apps/gui/lib/observability-client.ts +21 -0
  1345. package/workspace-snapshot/files/apps/gui/lib/observability-preferences.ts +19 -0
  1346. package/workspace-snapshot/files/apps/gui/lib/observability-request-guard.ts +136 -0
  1347. package/workspace-snapshot/files/apps/gui/lib/observability-route.ts +75 -0
  1348. package/workspace-snapshot/files/apps/gui/lib/settings/load-harness-config-summary.ts +20 -0
  1349. package/workspace-snapshot/files/apps/gui/lib/settings/load-repositories-overview.ts +37 -0
  1350. package/workspace-snapshot/files/apps/gui/lib/settings/load-settings-editor-data.ts +51 -0
  1351. package/workspace-snapshot/files/apps/gui/lib/settings/load-target-repo-overview-fields.ts +124 -0
  1352. package/workspace-snapshot/files/apps/gui/lib/settings/runner-upgrade-feature-flag.ts +9 -0
  1353. package/workspace-snapshot/files/apps/gui/lib/settings/runner-upgrade-ssr.ts +13 -0
  1354. package/workspace-snapshot/files/apps/gui/lib/settings/runner-upgrade-ui-gates.ts +87 -0
  1355. package/workspace-snapshot/files/apps/gui/lib/settings/settings-mutation.ts +49 -0
  1356. package/workspace-snapshot/files/apps/gui/lib/settings/settings-navigation.ts +10 -0
  1357. package/workspace-snapshot/files/apps/gui/lib/settings/settings-setup-client.ts +312 -0
  1358. package/workspace-snapshot/files/apps/gui/lib/setup-server.ts +608 -17
  1359. package/workspace-snapshot/files/apps/gui/lib/use-theme-toggle.ts +26 -0
  1360. package/workspace-snapshot/files/apps/gui/lib/vercel-bridge-polling-ui.ts +88 -1
  1361. package/workspace-snapshot/files/apps/gui/lib/verification-state.ts +97 -1
  1362. package/workspace-snapshot/files/apps/gui/lib/workflow/api-client.ts +84 -0
  1363. package/workspace-snapshot/files/apps/gui/lib/workflow/use-model-autosave.ts +90 -0
  1364. package/workspace-snapshot/files/apps/gui/lib/workflow/use-workflow-model-save.ts +265 -0
  1365. package/workspace-snapshot/files/apps/gui/lib/workflow/workflow-health.ts +53 -0
  1366. package/workspace-snapshot/files/apps/gui/lib/workflow/workflow-ownership.ts +47 -0
  1367. package/workspace-snapshot/files/apps/gui/lib/workflow/workflow-status-content.ts +149 -0
  1368. package/workspace-snapshot/files/apps/gui/lib/workflow/workflow-violation-messages.ts +49 -0
  1369. package/workspace-snapshot/files/apps/gui/lib/workflow-server.ts +307 -0
  1370. package/workspace-snapshot/files/apps/gui/next.config.ts +8 -3
  1371. package/workspace-snapshot/files/docs/architecture/canonical-product-development-workflow.md +70 -0
  1372. package/workspace-snapshot/files/docs/architecture/linear-automation-state-machine.md +26 -10
  1373. package/workspace-snapshot/files/docs/design/product-development-harness-gui.md +0 -1
  1374. package/workspace-snapshot/files/docs/getting-started.md +2 -2
  1375. package/workspace-snapshot/files/docs/gui-local.md +3 -3
  1376. package/workspace-snapshot/files/docs/gui-remote-setup.md +2 -2
  1377. package/workspace-snapshot/files/docs/issue-intake.md +12 -0
  1378. package/workspace-snapshot/files/docs/observability-and-privacy.md +247 -0
  1379. package/workspace-snapshot/files/docs/operator-config.md +16 -1
  1380. package/workspace-snapshot/files/docs/p-dev.md +43 -9
  1381. package/workspace-snapshot/files/docs/releases/release-process.md +135 -7
  1382. package/workspace-snapshot/files/docs/releases/v0.3.1.md +42 -6
  1383. package/workspace-snapshot/files/docs/releases/v0.4.0.md +93 -0
  1384. package/workspace-snapshot/files/docs/security.md +8 -0
  1385. package/workspace-snapshot/files/docs/settings-console.md +44 -0
  1386. package/workspace-snapshot/files/harness.config.schema.json +114 -0
  1387. package/workspace-snapshot/files/package-lock.json +1881 -95
  1388. package/workspace-snapshot/files/package.json +10 -2
  1389. package/workspace-snapshot/files/packages/p-dev/README.md +12 -4
  1390. package/workspace-snapshot/files/packages/p-dev/observability.public.json +6 -0
  1391. package/workspace-snapshot/files/packages/p-dev/package.json +5 -1
  1392. package/workspace-snapshot/files/prompts/issue-intake-chatgpt.md +4 -0
  1393. package/workspace-snapshot/files/scripts/configure-browser-matrix.config.ts +40 -0
  1394. package/workspace-snapshot/files/scripts/configure-browser-matrix.spec.ts +294 -0
  1395. package/workspace-snapshot/files/scripts/configure-step4-harness-readiness.config.ts +118 -0
  1396. package/workspace-snapshot/files/scripts/configure-step4-harness-readiness.spec.ts +80 -0
  1397. package/workspace-snapshot/files/scripts/prepare-configure-browser-workspace.ts +138 -0
  1398. package/workspace-snapshot/files/scripts/prepare-p-dev-package.ts +9 -0
  1399. package/workspace-snapshot/files/scripts/workflow-browser-matrix.config.ts +27 -0
  1400. package/workspace-snapshot/files/scripts/workflow-browser-matrix.spec.ts +151 -0
  1401. package/workspace-snapshot/files/src/agents/cursor-provider.ts +12 -14
  1402. package/workspace-snapshot/files/src/agents/index.ts +8 -12
  1403. package/workspace-snapshot/files/src/agents/types.ts +40 -4
  1404. package/workspace-snapshot/files/src/artifacts/redact.ts +18 -2
  1405. package/workspace-snapshot/files/src/artifacts/write-json-out-manifest.ts +90 -0
  1406. package/workspace-snapshot/files/src/cli/commands/canary-runner-config.ts +6 -0
  1407. package/workspace-snapshot/files/src/cli/commands/doctor.ts +148 -0
  1408. package/workspace-snapshot/files/src/cli/commands/resolve-route.ts +5 -0
  1409. package/workspace-snapshot/files/src/cli/commands/run.ts +65 -17
  1410. package/workspace-snapshot/files/src/cli/commands/sync-managed-runner.ts +126 -0
  1411. package/workspace-snapshot/files/src/cli/program.ts +47 -0
  1412. package/workspace-snapshot/files/src/config/assert-cloud-config-fingerprint.ts +36 -0
  1413. package/workspace-snapshot/files/src/config/cloud-config-fingerprint.ts +90 -0
  1414. package/workspace-snapshot/files/src/config/legacy-linear-top-level.ts +69 -0
  1415. package/workspace-snapshot/files/src/config/linear-association-gate.ts +80 -0
  1416. package/workspace-snapshot/files/src/config/resolve-linear-team.ts +41 -0
  1417. package/workspace-snapshot/files/src/config/resolve-linear-workspace.ts +391 -0
  1418. package/workspace-snapshot/files/src/config/role-models.ts +39 -0
  1419. package/workspace-snapshot/files/src/config/runner-upgrade-sync-gate.ts +26 -0
  1420. package/workspace-snapshot/files/src/config/schema.ts +17 -0
  1421. package/workspace-snapshot/files/src/config/types.ts +5 -1
  1422. package/workspace-snapshot/files/src/config/workspace-root.ts +28 -0
  1423. package/workspace-snapshot/files/src/cursor/agent-factory.ts +51 -5
  1424. package/workspace-snapshot/files/src/cursor/builder-resume-errors.ts +41 -0
  1425. package/workspace-snapshot/files/src/cursor/model.ts +106 -25
  1426. package/workspace-snapshot/files/src/cursor/run-observer.ts +15 -2
  1427. package/workspace-snapshot/files/src/github/auth-verification-retry.ts +63 -0
  1428. package/workspace-snapshot/files/src/github/client.ts +204 -5
  1429. package/workspace-snapshot/files/src/gui/configure-health.ts +2 -2
  1430. package/workspace-snapshot/files/src/gui/repo-root.ts +20 -1
  1431. package/workspace-snapshot/files/src/gui/start-configure-stable.ts +6 -2
  1432. package/workspace-snapshot/files/src/gui/start-gui.ts +8 -3
  1433. package/workspace-snapshot/files/src/linear/client.ts +10 -0
  1434. package/workspace-snapshot/files/src/linear/comments.ts +52 -0
  1435. package/workspace-snapshot/files/src/linear/issue-query.ts +4 -0
  1436. package/workspace-snapshot/files/src/linear/markers.ts +28 -0
  1437. package/workspace-snapshot/files/src/linear/parser.ts +61 -1
  1438. package/workspace-snapshot/files/src/linear/project-harness-metadata.ts +147 -0
  1439. package/workspace-snapshot/files/src/linear/project-metadata-sync.ts +115 -0
  1440. package/workspace-snapshot/files/src/linear/run-status-comment.ts +197 -0
  1441. package/workspace-snapshot/files/src/linear/writer.ts +25 -0
  1442. package/workspace-snapshot/files/src/observability/adapters/fake.ts +267 -0
  1443. package/workspace-snapshot/files/src/observability/adapters/noop.ts +62 -0
  1444. package/workspace-snapshot/files/src/observability/adapters/posthog.ts +165 -0
  1445. package/workspace-snapshot/files/src/observability/adapters/sentry.ts +276 -0
  1446. package/workspace-snapshot/files/src/observability/analytics-schemas.ts +150 -0
  1447. package/workspace-snapshot/files/src/observability/consent.ts +70 -0
  1448. package/workspace-snapshot/files/src/observability/constants.ts +25 -0
  1449. package/workspace-snapshot/files/src/observability/context.ts +152 -0
  1450. package/workspace-snapshot/files/src/observability/facade-runtime-state.ts +47 -0
  1451. package/workspace-snapshot/files/src/observability/facade.ts +628 -0
  1452. package/workspace-snapshot/files/src/observability/fatal-handlers.ts +60 -0
  1453. package/workspace-snapshot/files/src/observability/identity.ts +13 -0
  1454. package/workspace-snapshot/files/src/observability/index.ts +47 -0
  1455. package/workspace-snapshot/files/src/observability/local-state.ts +142 -0
  1456. package/workspace-snapshot/files/src/observability/package-config.ts +180 -0
  1457. package/workspace-snapshot/files/src/observability/posthog-dashboard-contract.ts +277 -0
  1458. package/workspace-snapshot/files/src/observability/privacy-schema.ts +229 -0
  1459. package/workspace-snapshot/files/src/observability/product-error-messages.ts +19 -0
  1460. package/workspace-snapshot/files/src/observability/product-errors.ts +139 -0
  1461. package/workspace-snapshot/files/src/observability/provisioning-analytics.ts +28 -0
  1462. package/workspace-snapshot/files/src/observability/redaction.ts +85 -0
  1463. package/workspace-snapshot/files/src/observability/runtime-eligibility.ts +50 -0
  1464. package/workspace-snapshot/files/src/observability/sentry-outbound-privacy.ts +216 -0
  1465. package/workspace-snapshot/files/src/observability/session-dedupe.ts +73 -0
  1466. package/workspace-snapshot/files/src/observability/session-handoff.ts +47 -0
  1467. package/workspace-snapshot/files/src/observability/transport-lifecycle.ts +93 -0
  1468. package/workspace-snapshot/files/src/observability/types.ts +265 -0
  1469. package/workspace-snapshot/files/src/p-dev/cli.ts +1 -1
  1470. package/workspace-snapshot/files/src/p-dev/git-object-plumbing.ts +139 -14
  1471. package/workspace-snapshot/files/src/p-dev/launch.ts +93 -14
  1472. package/workspace-snapshot/files/src/p-dev/main.ts +12 -1
  1473. package/workspace-snapshot/files/src/p-dev/package-paths.ts +72 -2
  1474. package/workspace-snapshot/files/src/p-dev/workspace-snapshot-generator.ts +21 -0
  1475. package/workspace-snapshot/files/src/p-dev/workspace-snapshot-manifest.ts +53 -0
  1476. package/workspace-snapshot/files/src/p-dev/workspace-snapshot-types.ts +8 -0
  1477. package/workspace-snapshot/files/src/preview/preview-capability.ts +21 -0
  1478. package/workspace-snapshot/files/src/product/initialization-state.ts +65 -0
  1479. package/workspace-snapshot/files/src/product/product-marker.ts +76 -0
  1480. package/workspace-snapshot/files/src/product/read-product-marker.ts +63 -0
  1481. package/workspace-snapshot/files/src/prompts/builder.ts +31 -1
  1482. package/workspace-snapshot/files/src/prompts/implementation.md +6 -0
  1483. package/workspace-snapshot/files/src/prompts/integration-repair.md +6 -0
  1484. package/workspace-snapshot/files/src/prompts/planning.md +8 -0
  1485. package/workspace-snapshot/files/src/prompts/revision.md +7 -0
  1486. package/workspace-snapshot/files/src/resolver/errors.ts +3 -1
  1487. package/workspace-snapshot/files/src/resolver/target-repo.ts +60 -1
  1488. package/workspace-snapshot/files/src/runner/builder-thread-acquire.ts +321 -0
  1489. package/workspace-snapshot/files/src/runner/builder-thread-evidence.ts +40 -0
  1490. package/workspace-snapshot/files/src/runner/builder-thread-idempotency.ts +27 -0
  1491. package/workspace-snapshot/files/src/runner/builder-thread-lineage-errors.ts +23 -0
  1492. package/workspace-snapshot/files/src/runner/builder-thread-lineage.ts +555 -0
  1493. package/workspace-snapshot/files/src/runner/builder-thread-types.ts +41 -0
  1494. package/workspace-snapshot/files/src/runner/delivery-dedup.ts +78 -0
  1495. package/workspace-snapshot/files/src/runner/failure-finalization.ts +234 -0
  1496. package/workspace-snapshot/files/src/runner/fixture.ts +6 -1
  1497. package/workspace-snapshot/files/src/runner/phases/handoff.ts +74 -46
  1498. package/workspace-snapshot/files/src/runner/phases/implementation.ts +174 -28
  1499. package/workspace-snapshot/files/src/runner/phases/integration-repair.ts +123 -7
  1500. package/workspace-snapshot/files/src/runner/phases/merge.ts +145 -67
  1501. package/workspace-snapshot/files/src/runner/phases/planning.ts +50 -7
  1502. package/workspace-snapshot/files/src/runner/phases/production-sync.ts +37 -4
  1503. package/workspace-snapshot/files/src/runner/phases/revision.ts +130 -44
  1504. package/workspace-snapshot/files/src/runner/preflight.ts +134 -7
  1505. package/workspace-snapshot/files/src/runner/resolve-route.ts +29 -0
  1506. package/workspace-snapshot/files/src/runner/run-generation.ts +21 -0
  1507. package/workspace-snapshot/files/src/runner/uninitialized-product-routing.ts +121 -0
  1508. package/workspace-snapshot/files/src/setup/config-builder.ts +14 -0
  1509. package/workspace-snapshot/files/src/setup/control-plane-readiness.ts +92 -18
  1510. package/workspace-snapshot/files/src/setup/control-plane-setup-state.ts +61 -5
  1511. package/workspace-snapshot/files/src/setup/control-plane-state-lock.ts +103 -0
  1512. package/workspace-snapshot/files/src/setup/control-plane-types.ts +100 -1
  1513. package/workspace-snapshot/files/src/setup/first-run-readiness.ts +9 -2
  1514. package/workspace-snapshot/files/src/setup/git-askpass-credentials.ts +80 -0
  1515. package/workspace-snapshot/files/src/setup/github-dispatch-token.ts +34 -3
  1516. package/workspace-snapshot/files/src/setup/github-remote-provider.ts +78 -2
  1517. package/workspace-snapshot/files/src/setup/github-remote-setup-live.ts +113 -11
  1518. package/workspace-snapshot/files/src/setup/github-repository-name.ts +63 -0
  1519. package/workspace-snapshot/files/src/setup/github-target-repository-provider-live.ts +323 -0
  1520. package/workspace-snapshot/files/src/setup/github-target-repository-provider-mock.ts +284 -0
  1521. package/workspace-snapshot/files/src/setup/github-target-repository-provider.ts +86 -0
  1522. package/workspace-snapshot/files/src/setup/github-workflow-permissions.ts +2 -1
  1523. package/workspace-snapshot/files/src/setup/gui-view-model.ts +10 -0
  1524. package/workspace-snapshot/files/src/setup/harness-dispatch-repo.ts +157 -25
  1525. package/workspace-snapshot/files/src/setup/harness-managed-repo-marker.ts +24 -0
  1526. package/workspace-snapshot/files/src/setup/harness-provisioning-last-run.ts +152 -0
  1527. package/workspace-snapshot/files/src/setup/harness-provisioning-pending-state.ts +3 -0
  1528. package/workspace-snapshot/files/src/setup/harness-provisioning-progress.ts +213 -0
  1529. package/workspace-snapshot/files/src/setup/harness-repo-provisioning.ts +135 -6
  1530. package/workspace-snapshot/files/src/setup/harness-snapshot-git-transport.ts +846 -0
  1531. package/workspace-snapshot/files/src/setup/harness-snapshot-provisioning-helpers.ts +4 -1
  1532. package/workspace-snapshot/files/src/setup/harness-snapshot-provisioning.ts +352 -81
  1533. package/workspace-snapshot/files/src/setup/harness-step-readiness-server.ts +39 -0
  1534. package/workspace-snapshot/files/src/setup/harness-step-readiness.ts +72 -0
  1535. package/workspace-snapshot/files/src/setup/harness-workspace-snapshot-loader.ts +59 -12
  1536. package/workspace-snapshot/files/src/setup/initial-setup-lifecycle.ts +181 -0
  1537. package/workspace-snapshot/files/src/setup/linear-category-labels.ts +18 -0
  1538. package/workspace-snapshot/files/src/setup/linear-setup-apply.ts +97 -17
  1539. package/workspace-snapshot/files/src/setup/linear-setup-client.ts +96 -0
  1540. package/workspace-snapshot/files/src/setup/linear-setup-plan.ts +105 -11
  1541. package/workspace-snapshot/files/src/setup/linear-setup-progress.ts +113 -0
  1542. package/workspace-snapshot/files/src/setup/linear-status-contract.ts +36 -77
  1543. package/workspace-snapshot/files/src/setup/linear-workflow-status-repair.ts +278 -0
  1544. package/workspace-snapshot/files/src/setup/linear-workspace-apply.ts +309 -0
  1545. package/workspace-snapshot/files/src/setup/linear-workspace-drift.ts +4 -0
  1546. package/workspace-snapshot/files/src/setup/linear-workspace-migration.ts +314 -0
  1547. package/workspace-snapshot/files/src/setup/linear-workspace-plan.ts +407 -0
  1548. package/workspace-snapshot/files/src/setup/local-readiness-checks.ts +163 -31
  1549. package/workspace-snapshot/files/src/setup/mock-target-workflow-finalization.ts +30 -4
  1550. package/workspace-snapshot/files/src/setup/packaged-default-route.ts +29 -0
  1551. package/workspace-snapshot/files/src/setup/release-sync-managed-runner.ts +604 -0
  1552. package/workspace-snapshot/files/src/setup/remote-apply-actions.ts +33 -0
  1553. package/workspace-snapshot/files/src/setup/runner-upgrade-canary-dispatch.ts +69 -0
  1554. package/workspace-snapshot/files/src/setup/runner-upgrade-canary.ts +213 -0
  1555. package/workspace-snapshot/files/src/setup/runner-upgrade-evidence.ts +30 -0
  1556. package/workspace-snapshot/files/src/setup/runner-upgrade-pending-state.ts +116 -0
  1557. package/workspace-snapshot/files/src/setup/runner-upgrade-progress.ts +150 -0
  1558. package/workspace-snapshot/files/src/setup/runner-upgrade-provider-live.ts +520 -0
  1559. package/workspace-snapshot/files/src/setup/runner-upgrade-provider.ts +852 -0
  1560. package/workspace-snapshot/files/src/setup/runner-upgrade-status-cache.ts +61 -0
  1561. package/workspace-snapshot/files/src/setup/runner-upgrade-three-way.ts +162 -0
  1562. package/workspace-snapshot/files/src/setup/runner-upgrade-timeouts.ts +386 -0
  1563. package/workspace-snapshot/files/src/setup/runner-upgrade-types.ts +176 -0
  1564. package/workspace-snapshot/files/src/setup/runner-upgrade-worker.ts +149 -0
  1565. package/workspace-snapshot/files/src/setup/runner-upgrade.ts +1926 -0
  1566. package/workspace-snapshot/files/src/setup/service-verification.ts +160 -20
  1567. package/workspace-snapshot/files/src/setup/settings-config-patch.ts +461 -0
  1568. package/workspace-snapshot/files/src/setup/setup-state.ts +12 -1
  1569. package/workspace-snapshot/files/src/setup/step6-automatic-control-state.ts +59 -0
  1570. package/workspace-snapshot/files/src/setup/sync-harness-config-cloud.ts +128 -0
  1571. package/workspace-snapshot/files/src/setup/target-repo-provisioning-pending-state.ts +160 -0
  1572. package/workspace-snapshot/files/src/setup/target-repo-provisioning.ts +704 -0
  1573. package/workspace-snapshot/files/src/setup/target-workflow-finalization-progress.ts +166 -0
  1574. package/workspace-snapshot/files/src/setup/target-workflow-finalization-types.ts +128 -1
  1575. package/workspace-snapshot/files/src/setup/target-workflow-finalization.ts +806 -15
  1576. package/workspace-snapshot/files/src/setup/target-workflow-setup.ts +2 -0
  1577. package/workspace-snapshot/files/src/setup/test-only-runner-upgrade-provider.ts +51 -0
  1578. package/workspace-snapshot/files/src/setup/test-only-target-repo-provisioning-provider.ts +47 -0
  1579. package/workspace-snapshot/files/src/setup/vercel-bridge-artifact.ts +174 -0
  1580. package/workspace-snapshot/files/src/setup/vercel-bridge-deploy.ts +217 -0
  1581. package/workspace-snapshot/files/src/setup/vercel-bridge-diagnostics.ts +1 -1
  1582. package/workspace-snapshot/files/src/setup/vercel-bridge-options.ts +4 -0
  1583. package/workspace-snapshot/files/src/setup/vercel-bridge-orchestration-summary.ts +46 -0
  1584. package/workspace-snapshot/files/src/setup/vercel-bridge-project-marker.ts +8 -0
  1585. package/workspace-snapshot/files/src/setup/vercel-bridge-readiness.ts +2 -1
  1586. package/workspace-snapshot/files/src/setup/vercel-bridge-redeploy-normalize.ts +244 -0
  1587. package/workspace-snapshot/files/src/setup/vercel-bridge-redeploy-poll.ts +406 -190
  1588. package/workspace-snapshot/files/src/setup/vercel-bridge-redeploy-state.ts +3 -0
  1589. package/workspace-snapshot/files/src/setup/vercel-bridge-structured-log.ts +5 -0
  1590. package/workspace-snapshot/files/src/setup/vercel-project-name.ts +38 -0
  1591. package/workspace-snapshot/files/src/setup/vercel-setup-apply.ts +386 -40
  1592. package/workspace-snapshot/files/src/setup/vercel-setup-client.ts +97 -3
  1593. package/workspace-snapshot/files/src/setup/vercel-setup-plan.ts +84 -14
  1594. package/workspace-snapshot/files/src/setup/vercel-setup-summary.ts +10 -0
  1595. package/workspace-snapshot/files/src/setup/workflow-config-snapshot.ts +22 -0
  1596. package/workspace-snapshot/files/src/setup/workflow-install-branch-recovery.ts +660 -0
  1597. package/workspace-snapshot/files/src/setup/workflow-install-merge-errors.ts +70 -20
  1598. package/workspace-snapshot/files/src/setup/workflow-install-merge-gate.ts +25 -0
  1599. package/workspace-snapshot/files/src/setup/workflow-model-save-queue.ts +251 -0
  1600. package/workspace-snapshot/files/src/setup/workflow-model-sync-lock.ts +103 -0
  1601. package/workspace-snapshot/files/src/setup/workflow-model-sync.ts +259 -0
  1602. package/workspace-snapshot/files/src/setup/workflow-models-sync-evidence.ts +34 -0
  1603. package/workspace-snapshot/files/src/types/parsed-issue.ts +9 -0
  1604. package/workspace-snapshot/files/src/types/run.ts +44 -1
  1605. package/workspace-snapshot/files/src/validate/issue.ts +52 -6
  1606. package/workspace-snapshot/files/src/validate/types.ts +3 -0
  1607. package/workspace-snapshot/files/src/webhook/dispatch-statuses.ts +8 -16
  1608. package/workspace-snapshot/files/src/webhook/filter.ts +24 -1
  1609. package/workspace-snapshot/files/src/webhook/handle-linear-webhook.ts +15 -1
  1610. package/workspace-snapshot/files/src/webhook/parse-linear-issue-event.ts +4 -0
  1611. package/workspace-snapshot/files/src/webhook/types.ts +4 -1
  1612. package/workspace-snapshot/files/src/workflow/canonical-product-development-workflow.ts +584 -0
  1613. package/workspace-snapshot/files/src/workflow/canonical-workflow-gate.ts +255 -0
  1614. package/workspace-snapshot/files/src/workflow/canonical-workflow-validation.ts +297 -0
  1615. package/workspace-snapshot/files/src/workflow/finalize-harness-run.ts +83 -0
  1616. package/workspace-snapshot/files/src/workflow/preflight-canonical.ts +40 -0
  1617. package/workspace-snapshot/files/src/workflow/write-fallback-manifest.ts +39 -0
  1618. package/workspace-snapshot/files/src/workflow-page/bootstrap.ts +277 -0
  1619. package/workspace-snapshot/files/src/workflow-page/catalog-validation.ts +158 -0
  1620. package/workspace-snapshot/files/src/workflow-page/constants.ts +22 -0
  1621. package/workspace-snapshot/files/src/workflow-page/current-workflow.ts +225 -0
  1622. package/workspace-snapshot/files/src/workflow-page/fingerprint.ts +9 -0
  1623. package/workspace-snapshot/files/src/workflow-page/fixture-definition.ts +16 -0
  1624. package/workspace-snapshot/files/src/workflow-page/fixture-role-models.ts +50 -0
  1625. package/workspace-snapshot/files/src/workflow-page/fixtures/basic-current-workflow.ts +39 -0
  1626. package/workspace-snapshot/files/src/workflow-page/fixtures/branching-pr-review.ts +11 -0
  1627. package/workspace-snapshot/files/src/workflow-page/fixtures/canonical-violations.ts +50 -0
  1628. package/workspace-snapshot/files/src/workflow-page/fixtures/credential-errors.ts +13 -0
  1629. package/workspace-snapshot/files/src/workflow-page/fixtures/empty-linear-statuses.ts +10 -0
  1630. package/workspace-snapshot/files/src/workflow-page/fixtures/hundred-node-performance.ts +23 -0
  1631. package/workspace-snapshot/files/src/workflow-page/fixtures/index.ts +37 -0
  1632. package/workspace-snapshot/files/src/workflow-page/fixtures/model-catalog-snapshot.ts +34 -0
  1633. package/workspace-snapshot/files/src/workflow-page/fixtures/workflow-scopes.ts +18 -0
  1634. package/workspace-snapshot/files/src/workflow-page/linear-status-source.ts +65 -0
  1635. package/workspace-snapshot/files/src/workflow-page/model-catalog-lookup.ts +8 -0
  1636. package/workspace-snapshot/files/src/workflow-page/model-catalog-utils.ts +83 -0
  1637. package/workspace-snapshot/files/src/workflow-page/model-catalog.ts +60 -0
  1638. package/workspace-snapshot/files/src/workflow-page/scope-branches.ts +27 -0
  1639. package/workspace-snapshot/files/src/workflow-page/source-context.ts +91 -0
  1640. package/workspace-snapshot/files/src/workflow-page/types.ts +134 -0
  1641. package/workspace-snapshot/files/src/workflow-page/workflow-scopes.ts +73 -0
  1642. package/workspace-snapshot/files/tests/agents/cursor-provider.test.ts +41 -29
  1643. package/workspace-snapshot/files/tests/artifacts/redact.test.ts +11 -0
  1644. package/workspace-snapshot/files/tests/cli/json-out-manifest.test.ts +96 -0
  1645. package/workspace-snapshot/files/tests/config/cloud-config-fingerprint.test.ts +62 -0
  1646. package/workspace-snapshot/files/tests/config/legacy-linear-top-level.test.ts +86 -0
  1647. package/workspace-snapshot/files/tests/config/onboarding-cloud-runner-contract.test.ts +139 -0
  1648. package/workspace-snapshot/files/tests/config/resolve-linear-workspace.test.ts +314 -0
  1649. package/workspace-snapshot/files/tests/config/role-models.test.ts +35 -0
  1650. package/workspace-snapshot/files/tests/cursor/agent-factory.test.ts +124 -0
  1651. package/workspace-snapshot/files/tests/cursor/role-models.test.ts +52 -0
  1652. package/workspace-snapshot/files/tests/cursor/run-observer.test.ts +36 -0
  1653. package/workspace-snapshot/files/tests/fixtures/workflows/harness-auto-runner-with-production-sync.yml +36 -11
  1654. package/workspace-snapshot/files/tests/github/auth-verification-retry.test.ts +141 -0
  1655. package/workspace-snapshot/files/tests/gui/app-shell-settings-menu.test.ts +115 -0
  1656. package/workspace-snapshot/files/tests/gui/configure-fix-loop.test.ts +50 -37
  1657. package/workspace-snapshot/files/tests/gui/configure-navigation-contract.test.ts +107 -0
  1658. package/workspace-snapshot/files/tests/gui/configure-target-repo-create.test.ts +103 -0
  1659. package/workspace-snapshot/files/tests/gui/configure-workflow-readiness.test.ts +117 -0
  1660. package/workspace-snapshot/files/tests/gui/data-sharing-preferences.test.ts +43 -0
  1661. package/workspace-snapshot/files/tests/gui/design-system.test.ts +65 -5
  1662. package/workspace-snapshot/files/tests/gui/guided-linear-workspace-card.test.ts +168 -0
  1663. package/workspace-snapshot/files/tests/gui/guided-operation-ux.test.ts +100 -0
  1664. package/workspace-snapshot/files/tests/gui/guided-setup-progress.test.ts +267 -0
  1665. package/workspace-snapshot/files/tests/gui/guided-setup.test.ts +60 -0
  1666. package/workspace-snapshot/files/tests/gui/guided-target-workflow-polling.test.ts +38 -0
  1667. package/workspace-snapshot/files/tests/gui/linear-association-draft.test.ts +93 -0
  1668. package/workspace-snapshot/files/tests/gui/local-readiness-stream.test.ts +154 -0
  1669. package/workspace-snapshot/files/tests/gui/local-readiness-visual-queue.test.ts +69 -0
  1670. package/workspace-snapshot/files/tests/gui/local-readiness-workspace.test.ts +299 -0
  1671. package/workspace-snapshot/files/tests/gui/m6-configure-boundaries.test.ts +177 -35
  1672. package/workspace-snapshot/files/tests/gui/observability-preferences-route.test.ts +343 -0
  1673. package/workspace-snapshot/files/tests/gui/observability-request-guard.test.ts +177 -0
  1674. package/workspace-snapshot/files/tests/gui/packaged-harness-cloud-secrets-routes.test.ts +16 -0
  1675. package/workspace-snapshot/files/tests/gui/packaged-runner-upgrade-routes.test.ts +532 -0
  1676. package/workspace-snapshot/files/tests/gui/packaged-target-repo-provisioning-routes.test.ts +108 -0
  1677. package/workspace-snapshot/files/tests/gui/repo-root.test.ts +55 -0
  1678. package/workspace-snapshot/files/tests/gui/runner-upgrade-settings-card.test.ts +97 -0
  1679. package/workspace-snapshot/files/tests/gui/settings-cursor.test.ts +39 -0
  1680. package/workspace-snapshot/files/tests/gui/settings-deployments-autoload.test.ts +57 -0
  1681. package/workspace-snapshot/files/tests/gui/settings-mutation-editors.test.ts +154 -0
  1682. package/workspace-snapshot/files/tests/gui/settings-navigation.test.ts +95 -0
  1683. package/workspace-snapshot/files/tests/gui/settings-repositories-page.test.ts +54 -0
  1684. package/workspace-snapshot/files/tests/gui/step7-settings-polish.test.ts +180 -0
  1685. package/workspace-snapshot/files/tests/gui/target-workflow-pr-card.test.ts +68 -0
  1686. package/workspace-snapshot/files/tests/gui/vercel-bridge-polling-ui.test.ts +50 -1
  1687. package/workspace-snapshot/files/tests/gui/verification-state.test.ts +45 -0
  1688. package/workspace-snapshot/files/tests/gui/workflow-bootstrap-route.test.ts +78 -0
  1689. package/workspace-snapshot/files/tests/gui/workflow-model-autosave.test.ts +36 -0
  1690. package/workspace-snapshot/files/tests/gui/workflow-source-ui.test.ts +22 -0
  1691. package/workspace-snapshot/files/tests/gui/workflow-violation-messages.test.ts +39 -0
  1692. package/workspace-snapshot/files/tests/gui/workflow-workspace.test.ts +188 -0
  1693. package/workspace-snapshot/files/tests/linear/markers.test.ts +29 -0
  1694. package/workspace-snapshot/files/tests/linear/run-status-comment.test.ts +143 -0
  1695. package/workspace-snapshot/files/tests/observability/analytics-schemas.test.ts +74 -0
  1696. package/workspace-snapshot/files/tests/observability/context.test.ts +132 -0
  1697. package/workspace-snapshot/files/tests/observability/fatal-process.test.ts +106 -0
  1698. package/workspace-snapshot/files/tests/observability/foundation.test.ts +229 -0
  1699. package/workspace-snapshot/files/tests/observability/instrumentation-dev-startup.test.ts +79 -0
  1700. package/workspace-snapshot/files/tests/observability/lifecycle.test.ts +348 -0
  1701. package/workspace-snapshot/files/tests/observability/package-config.test.ts +66 -0
  1702. package/workspace-snapshot/files/tests/observability/packaged-config.test.ts +47 -0
  1703. package/workspace-snapshot/files/tests/observability/posthog-dashboard-contract.test.ts +133 -0
  1704. package/workspace-snapshot/files/tests/observability/posthog-envelope.test.ts +167 -0
  1705. package/workspace-snapshot/files/tests/observability/posthog-shutdown.test.ts +68 -0
  1706. package/workspace-snapshot/files/tests/observability/privacy-schema.test.ts +83 -0
  1707. package/workspace-snapshot/files/tests/observability/provisioning-analytics.test.ts +54 -0
  1708. package/workspace-snapshot/files/tests/observability/public-config-enablement.test.ts +48 -0
  1709. package/workspace-snapshot/files/tests/observability/sentry-envelope.test.ts +289 -0
  1710. package/workspace-snapshot/files/tests/observability/sentry-outbound-privacy.test.ts +141 -0
  1711. package/workspace-snapshot/files/tests/observability/sentry-privacy-assertions.ts +52 -0
  1712. package/workspace-snapshot/files/tests/observability/sentry-server-only.test.ts +68 -0
  1713. package/workspace-snapshot/files/tests/observability/sentry-transport.test.ts +88 -0
  1714. package/workspace-snapshot/files/tests/observability/session-dedupe.test.ts +117 -0
  1715. package/workspace-snapshot/files/tests/observability/snapshot-exclusion.test.ts +9 -0
  1716. package/workspace-snapshot/files/tests/p-dev/cli.test.ts +2 -2
  1717. package/workspace-snapshot/files/tests/p-dev/git-object-plumbing.test.ts +49 -0
  1718. package/workspace-snapshot/files/tests/p-dev/installed-tarball-gui.test.ts +475 -0
  1719. package/workspace-snapshot/files/tests/p-dev/installed-tarball-loopback.test.ts +986 -0
  1720. package/workspace-snapshot/files/tests/p-dev/installed-tarball-snapshot-provisioning.test.ts +361 -0
  1721. package/workspace-snapshot/files/tests/p-dev/launch.test.ts +55 -3
  1722. package/workspace-snapshot/files/tests/p-dev/package-manifest.test.ts +3 -1
  1723. package/workspace-snapshot/files/tests/p-dev/package-packed-artifact.test.ts +115 -10
  1724. package/workspace-snapshot/files/tests/p-dev/package-paths.test.ts +51 -0
  1725. package/workspace-snapshot/files/tests/p-dev/package-version.test.ts +1 -1
  1726. package/workspace-snapshot/files/tests/p-dev/packaged-workspace-setup.test.ts +1 -1
  1727. package/workspace-snapshot/files/tests/p-dev/workspace-snapshot-policy.test.ts +6 -0
  1728. package/workspace-snapshot/files/tests/product/initialization-state.test.ts +78 -0
  1729. package/workspace-snapshot/files/tests/product/read-product-marker.test.ts +46 -0
  1730. package/workspace-snapshot/files/tests/prompts/builder.test.ts +1 -0
  1731. package/workspace-snapshot/files/tests/prompts/implementation-builder.test.ts +1 -0
  1732. package/workspace-snapshot/files/tests/prompts/issue-intake-chatgpt.test.ts +1 -0
  1733. package/workspace-snapshot/files/tests/resolver/target-repo.test.ts +66 -0
  1734. package/workspace-snapshot/files/tests/runner/builder-thread-acquire.test.ts +288 -0
  1735. package/workspace-snapshot/files/tests/runner/builder-thread-idempotency.test.ts +42 -0
  1736. package/workspace-snapshot/files/tests/runner/builder-thread-lineage.test.ts +206 -0
  1737. package/workspace-snapshot/files/tests/runner/delivery-dedup.test.ts +53 -0
  1738. package/workspace-snapshot/files/tests/runner/failure-finalization-runner-upgrade.test.ts +112 -0
  1739. package/workspace-snapshot/files/tests/runner/failure-finalization.test.ts +203 -0
  1740. package/workspace-snapshot/files/tests/runner/handoff.test.ts +66 -0
  1741. package/workspace-snapshot/files/tests/runner/idempotency-handoff.test.ts +1 -0
  1742. package/workspace-snapshot/files/tests/runner/idempotency-implementation.test.ts +1 -0
  1743. package/workspace-snapshot/files/tests/runner/idempotency-revision.test.ts +1 -0
  1744. package/workspace-snapshot/files/tests/runner/idempotency.test.ts +1 -0
  1745. package/workspace-snapshot/files/tests/runner/implementation.test.ts +24 -5
  1746. package/workspace-snapshot/files/tests/runner/integration-repair.test.ts +21 -6
  1747. package/workspace-snapshot/files/tests/runner/merge-linear-metadata.test.ts +90 -0
  1748. package/workspace-snapshot/files/tests/runner/merge.test.ts +79 -0
  1749. package/workspace-snapshot/files/tests/runner/planning.test.ts +9 -0
  1750. package/workspace-snapshot/files/tests/runner/preflight-canonical.test.ts +73 -0
  1751. package/workspace-snapshot/files/tests/runner/preflight-fail-closed.integration.test.ts +418 -0
  1752. package/workspace-snapshot/files/tests/runner/preview-capability.test.ts +46 -0
  1753. package/workspace-snapshot/files/tests/runner/resolve-route.test.ts +6 -0
  1754. package/workspace-snapshot/files/tests/runner/revision.test.ts +117 -9
  1755. package/workspace-snapshot/files/tests/runner/uninitialized-product-routing.test.ts +120 -0
  1756. package/workspace-snapshot/files/tests/setup/control-plane-readiness.test.ts +86 -0
  1757. package/workspace-snapshot/files/tests/setup/control-plane-state-lock.test.ts +67 -0
  1758. package/workspace-snapshot/files/tests/setup/first-run-readiness.test.ts +134 -2
  1759. package/workspace-snapshot/files/tests/setup/github-dispatch-token.test.ts +49 -1
  1760. package/workspace-snapshot/files/tests/setup/github-repository-name.test.ts +28 -0
  1761. package/workspace-snapshot/files/tests/setup/gui-remote-storage.test.ts +0 -2
  1762. package/workspace-snapshot/files/tests/setup/harness-dispatch-repo.test.ts +292 -3
  1763. package/workspace-snapshot/files/tests/setup/harness-snapshot-bulk-fixture.ts +72 -0
  1764. package/workspace-snapshot/files/tests/setup/harness-snapshot-bulk-installed.test.ts +93 -0
  1765. package/workspace-snapshot/files/tests/setup/harness-snapshot-git-transport.test.ts +518 -0
  1766. package/workspace-snapshot/files/tests/setup/harness-step-readiness.test.ts +145 -0
  1767. package/workspace-snapshot/files/tests/setup/harness-workspace-snapshot-loader.test.ts +142 -0
  1768. package/workspace-snapshot/files/tests/setup/initial-setup-lifecycle.test.ts +220 -0
  1769. package/workspace-snapshot/files/tests/setup/linear-setup-apply.test.ts +7 -4
  1770. package/workspace-snapshot/files/tests/setup/linear-setup-plan.test.ts +46 -3
  1771. package/workspace-snapshot/files/tests/setup/linear-workflow-status-repair.test.ts +314 -0
  1772. package/workspace-snapshot/files/tests/setup/linear-workspace-migration.test.ts +173 -0
  1773. package/workspace-snapshot/files/tests/setup/linear-workspace-plan.test.ts +247 -0
  1774. package/workspace-snapshot/files/tests/setup/local-apply-actions.test.ts +13 -0
  1775. package/workspace-snapshot/files/tests/setup/local-readiness-checks.test.ts +25 -1
  1776. package/workspace-snapshot/files/tests/setup/mock-canonical-preflight.ts +14 -0
  1777. package/workspace-snapshot/files/tests/setup/packaged-default-route.test.ts +85 -0
  1778. package/workspace-snapshot/files/tests/setup/release-sync-managed-runner.test.ts +385 -0
  1779. package/workspace-snapshot/files/tests/setup/runner-upgrade-canary.test.ts +201 -0
  1780. package/workspace-snapshot/files/tests/setup/runner-upgrade-three-way.test.ts +226 -0
  1781. package/workspace-snapshot/files/tests/setup/runner-upgrade.test.ts +702 -0
  1782. package/workspace-snapshot/files/tests/setup/service-verification.test.ts +197 -18
  1783. package/workspace-snapshot/files/tests/setup/settings-config-patch.test.ts +280 -0
  1784. package/workspace-snapshot/files/tests/setup/setup-state.test.ts +47 -0
  1785. package/workspace-snapshot/files/tests/setup/step6-automatic-apply-outcome.test.ts +1 -0
  1786. package/workspace-snapshot/files/tests/setup/step6-automatic-control-state.test.ts +73 -0
  1787. package/workspace-snapshot/files/tests/setup/target-repo-provisioning.test.ts +307 -0
  1788. package/workspace-snapshot/files/tests/setup/target-workflow-finalization-progress.test.ts +71 -0
  1789. package/workspace-snapshot/files/tests/setup/target-workflow-finalization-step-github.test.ts +240 -0
  1790. package/workspace-snapshot/files/tests/setup/vercel-bridge-redeploy-normalize.test.ts +106 -0
  1791. package/workspace-snapshot/files/tests/setup/vercel-bridge-redeploy-poll.test.ts +78 -4
  1792. package/workspace-snapshot/files/tests/setup/vercel-setup-apply.test.ts +278 -3
  1793. package/workspace-snapshot/files/tests/setup/vercel-setup-client.test.ts +76 -0
  1794. package/workspace-snapshot/files/tests/setup/vercel-setup-plan.test.ts +58 -0
  1795. package/workspace-snapshot/files/tests/setup/workflow-install-branch-recovery-commit.test.ts +144 -0
  1796. package/workspace-snapshot/files/tests/setup/workflow-install-branch-recovery.test.ts +133 -0
  1797. package/workspace-snapshot/files/tests/setup/workflow-install-merge-errors.test.ts +66 -1
  1798. package/workspace-snapshot/files/tests/setup/workflow-install-merge-gate.test.ts +58 -0
  1799. package/workspace-snapshot/files/tests/setup/workflow-model-save-queue.test.ts +139 -0
  1800. package/workspace-snapshot/files/tests/setup/workflow-model-sync.test.ts +141 -0
  1801. package/workspace-snapshot/files/tests/validate-issue/uninitialized-product.test.ts +108 -0
  1802. package/workspace-snapshot/files/tests/webhook/filter.test.ts +55 -0
  1803. package/workspace-snapshot/files/tests/webhook/harness-auto-runner-workflow.test.ts +7 -0
  1804. package/workspace-snapshot/files/tests/workflow/canonical-product-development-workflow.test.ts +193 -0
  1805. package/workspace-snapshot/files/tests/workflow/canonical-workflow-validation.test.ts +202 -0
  1806. package/workspace-snapshot/files/tests/workflow/workflow-shell-safety.test.ts +5 -2
  1807. package/workspace-snapshot/files/vitest.config.ts +5 -0
  1808. package/workspace-snapshot/manifest.json +3604 -836
  1809. package/workspace-snapshot/object-pack/snapshot-2735d42c938e514f27a9b2aaf5fa2fcc68019075.idx +0 -0
  1810. package/workspace-snapshot/object-pack/snapshot-2735d42c938e514f27a9b2aaf5fa2fcc68019075.pack +0 -0
  1811. package/gui/.next/server/app/index.html +0 -1
  1812. package/gui/.next/server/app/index.meta +0 -9
  1813. package/gui/.next/server/app/index.rsc +0 -18
  1814. package/gui/.next/server/chunks/200.js +0 -1
  1815. package/gui/.next/server/chunks/477.js +0 -16
  1816. package/gui/.next/server/chunks/585.js +0 -1
  1817. package/gui/.next/server/chunks/647.js +0 -82
  1818. package/gui/.next/server/chunks/711.js +0 -1
  1819. package/gui/.next/server/chunks/900.js +0 -1
  1820. package/gui/.next/server/chunks/901.js +0 -22
  1821. package/gui/.next/static/ZGJuemeaiW4yT7CTlmjdG/_buildManifest.js +0 -1
  1822. package/gui/.next/static/chunks/661-5fc9351358e2f084.js +0 -1
  1823. package/gui/.next/static/chunks/app/_not-found/page-f15332c94524c284.js +0 -1
  1824. package/gui/.next/static/chunks/app/api/setup/apply-connect-services/route-979ec1702bd9938a.js +0 -1
  1825. package/gui/.next/static/chunks/app/api/setup/apply-harness-repo-provisioning/route-979ec1702bd9938a.js +0 -1
  1826. package/gui/.next/static/chunks/app/api/setup/apply-harness-secrets/route-979ec1702bd9938a.js +0 -1
  1827. package/gui/.next/static/chunks/app/api/setup/apply-linear-setup/route-979ec1702bd9938a.js +0 -1
  1828. package/gui/.next/static/chunks/app/api/setup/apply-local-files/route-979ec1702bd9938a.js +0 -1
  1829. package/gui/.next/static/chunks/app/api/setup/apply-target-workflow/route-979ec1702bd9938a.js +0 -1
  1830. package/gui/.next/static/chunks/app/api/setup/apply-vercel-bridge/route-979ec1702bd9938a.js +0 -1
  1831. package/gui/.next/static/chunks/app/api/setup/finalize-target-workflow/route-979ec1702bd9938a.js +0 -1
  1832. package/gui/.next/static/chunks/app/api/setup/harness-provisioning-summary/route-979ec1702bd9938a.js +0 -1
  1833. package/gui/.next/static/chunks/app/api/setup/linear-options/route-979ec1702bd9938a.js +0 -1
  1834. package/gui/.next/static/chunks/app/api/setup/linear-summary/route-979ec1702bd9938a.js +0 -1
  1835. package/gui/.next/static/chunks/app/api/setup/local-readiness/route-979ec1702bd9938a.js +0 -1
  1836. package/gui/.next/static/chunks/app/api/setup/manual-harness-secret-values/route-979ec1702bd9938a.js +0 -1
  1837. package/gui/.next/static/chunks/app/api/setup/preview-connect-services/route-979ec1702bd9938a.js +0 -1
  1838. package/gui/.next/static/chunks/app/api/setup/preview-harness-repo-provisioning/route-979ec1702bd9938a.js +0 -1
  1839. package/gui/.next/static/chunks/app/api/setup/preview-harness-secrets/route-979ec1702bd9938a.js +0 -1
  1840. package/gui/.next/static/chunks/app/api/setup/preview-linear-setup/route-979ec1702bd9938a.js +0 -1
  1841. package/gui/.next/static/chunks/app/api/setup/preview-local-files/route-979ec1702bd9938a.js +0 -1
  1842. package/gui/.next/static/chunks/app/api/setup/preview-target-workflow/route-979ec1702bd9938a.js +0 -1
  1843. package/gui/.next/static/chunks/app/api/setup/preview-vercel-bridge/route-979ec1702bd9938a.js +0 -1
  1844. package/gui/.next/static/chunks/app/api/setup/remote-summary/route-979ec1702bd9938a.js +0 -1
  1845. package/gui/.next/static/chunks/app/api/setup/summary/route-979ec1702bd9938a.js +0 -1
  1846. package/gui/.next/static/chunks/app/api/setup/vercel-bridge-options/route-979ec1702bd9938a.js +0 -1
  1847. package/gui/.next/static/chunks/app/api/setup/vercel-bridge-redeploy-status/route-979ec1702bd9938a.js +0 -1
  1848. package/gui/.next/static/chunks/app/api/setup/vercel-summary/route-979ec1702bd9938a.js +0 -1
  1849. package/gui/.next/static/chunks/app/api/setup/verify-harness-repo/route-979ec1702bd9938a.js +0 -1
  1850. package/gui/.next/static/chunks/app/api/setup/verify-service/route-979ec1702bd9938a.js +0 -1
  1851. package/gui/.next/static/chunks/app/api/setup/verify-target-repo/route-979ec1702bd9938a.js +0 -1
  1852. package/gui/.next/static/chunks/app/layout-10445a363bff6a38.js +0 -1
  1853. package/gui/.next/static/chunks/app/page-979ec1702bd9938a.js +0 -1
  1854. package/gui/.next/static/chunks/app/settings/configure/page-25b2288ace2949a1.js +0 -1
  1855. package/gui/.next/static/chunks/framework-7318ce553e854ad6.js +0 -1
  1856. package/gui/.next/static/chunks/main-app-732547e2b1a794b6.js +0 -1
  1857. package/gui/.next/static/chunks/main-f7a784f5852cbbd1.js +0 -1
  1858. package/gui/.next/static/chunks/pages/_error-bda15e7831eec981.js +0 -1
  1859. package/gui/.next/static/css/781f3c93b6d7425a.css +0 -3
  1860. package/workspace-snapshot/files/apps/gui/components/custom/setup-dashboard.tsx +0 -124
  1861. package/workspace-snapshot/files/apps/gui/components/custom/setup-readonly-sections.tsx +0 -210
  1862. /package/gui/.next/static/{ZGJuemeaiW4yT7CTlmjdG → wM7YWpWgyTcGc7H5h1u7U}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5567],{2462:(e,t,a)=>{a.d(t,{l:()=>i});var r=a(4568),n=a(7620),o=a(826),s=a(7401);let i=n.forwardRef((e,t)=>{let{className:a,children:n,...i}=e;return(0,r.jsx)("select",{className:(0,o.cn)(s.P.guidedSelect,a),ref:t,...i,children:n})});i.displayName="GuidedSelect"},6289:(e,t,a)=>{a.d(t,{NK:()=>n,_u:()=>r});let r=[{key:"backlog",name:"Backlog",category:"backlog",role:"transitional",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"human-gate",suggestedPosition:{x:0,y:0},graphGroup:"intake"},{key:"ready-for-planning",name:"Ready for Planning",category:"unstarted",role:"dispatch-trigger",creatable:!0,systemManaged:!1,automationTrigger:!0,actorRole:"planner-agent",agentPhaseKey:"planning",inProgressStatusKey:"planning",suggestedPosition:{x:280,y:0},graphGroup:"planning"},{key:"planning",name:"Planning",category:"started",role:"transitional",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"planner-agent",agentPhaseKey:"planning",suggestedPosition:{x:560,y:0},graphGroup:"planning"},{key:"ready-for-build",name:"Ready for Build",category:"unstarted",role:"dispatch-trigger",creatable:!0,systemManaged:!1,automationTrigger:!0,actorRole:"implementation-agent",agentPhaseKey:"implementation",inProgressStatusKey:"building",suggestedPosition:{x:840,y:0},graphGroup:"build"},{key:"building",name:"Building",category:"started",role:"transitional",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"implementation-agent",agentPhaseKey:"implementation",suggestedPosition:{x:1120,y:0},graphGroup:"build"},{key:"pr-open",name:"PR Open",category:"started",role:"dispatch-trigger",creatable:!0,systemManaged:!1,automationTrigger:!0,actorRole:"handoff-runner",suggestedPosition:{x:1400,y:0},graphGroup:"build"},{key:"pm-review",name:"PM Review",category:"started",role:"human-gate",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"human-gate",suggestedPosition:{x:1680,y:0},graphGroup:"review"},{key:"engineering-review",name:"Engineering Review",category:"started",role:"human-gate",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"human-gate",suggestedPosition:{x:1960,y:0},graphGroup:"review"},{key:"needs-revision",name:"Needs Revision",category:"unstarted",role:"dispatch-trigger",creatable:!0,systemManaged:!1,automationTrigger:!0,actorRole:"revision-agent",agentPhaseKey:"revision",inProgressStatusKey:"revising",suggestedPosition:{x:1680,y:200},graphGroup:"review"},{key:"revising",name:"Revising",category:"started",role:"transitional",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"revision-agent",agentPhaseKey:"revision",suggestedPosition:{x:1400,y:200},graphGroup:"review"},{key:"ready-to-merge",name:"Ready to Merge",category:"started",role:"dispatch-trigger",creatable:!0,systemManaged:!1,automationTrigger:!0,actorRole:"merge-runner",inProgressStatusKey:"merging",suggestedPosition:{x:2240,y:0},graphGroup:"merge"},{key:"merging",name:"Merging",category:"started",role:"transitional",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"merge-runner",suggestedPosition:{x:2520,y:0},graphGroup:"merge"},{key:"merged-to-dev",name:"Merged to Dev",category:"completed",role:"transitional",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"production-sync-runner",suggestedPosition:{x:2800,y:0},graphGroup:"merge"},{key:"merged-deployed",name:"Merged / Deployed",category:"completed",role:"transitional",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"none",suggestedPosition:{x:3080,y:0},graphGroup:"merge"},{key:"blocked",name:"Blocked",category:"started",role:"terminal",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"none",suggestedPosition:{x:1120,y:400},graphGroup:"terminal"},{key:"canceled",name:"Canceled",category:"canceled",role:"terminal",creatable:!0,systemManaged:!1,automationTrigger:!1,actorRole:"none",suggestedPosition:{x:1400,y:400},graphGroup:"terminal"},{key:"duplicate",name:"Duplicate",category:"duplicate",role:"system-managed",creatable:!1,systemManaged:!0,automationTrigger:!1,actorRole:"none",suggestedPosition:{x:1680,y:400},graphGroup:"terminal"}];function n(e){return r.find(t=>t.key===e)}},6309:(e,t,a)=>{a.d(t,{L:()=>r});function r(e){switch(e){case"unstarted":return"Unstarted";case"started":return"Started";case"backlog":return"Backlog";case"completed":return"Completed";case"canceled":return"Canceled";case"duplicate":return"Duplicate";default:return e}}},7366:(e,t,a)=>{a.d(t,{SettingsMenu:()=>b});var r=a(4568),n=a(9664),o=a.n(n),s=a(7541),i=a(7620),g=a(2116),d=a(2568),l=a(1115),c=a(6845),u=a(7693),m=a(826);function p(e){let{...t}=e;return(0,r.jsx)(u.bL,{"data-slot":"dropdown-menu",...t})}function y(e){let{...t}=e;return(0,r.jsx)(u.l9,{"data-slot":"dropdown-menu-trigger",...t})}function h(e){let{className:t,sideOffset:a=4,...n}=e;return(0,r.jsx)(u.ZL,{children:(0,r.jsx)(u.UC,{"data-slot":"dropdown-menu-content",sideOffset:a,className:(0,m.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...n})})}function v(e){let{className:t,inset:a,variant:n="default",...o}=e;return(0,r.jsx)(u.q7,{"data-slot":"dropdown-menu-item","data-inset":a,"data-variant":n,className:(0,m.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...o})}function f(e){let{className:t,...a}=e;return(0,r.jsx)(u.wv,{"data-slot":"dropdown-menu-separator",className:(0,m.cn)("bg-border -mx-1 my-1 h-px",t),...a})}var x=a(4560);function b(e){let{settingsHref:t="/settings",isSettingsActive:a=!1,workflowHref:n="/workflow",isWorkflowActive:u=!1,showProductNavigation:m=!0}=e,{mounted:b,isDark:k,toggleTheme:P}=function(){let{resolvedTheme:e,setTheme:t}=(0,x.D)(),[a,r]=(0,i.useState)(!1);(0,i.useEffect)(()=>{r(!0)},[]);let n="dark"===e;return{mounted:a,isDark:n,toggleTheme:function(){t(n?"light":"dark")},setTheme:t}}(),w=(0,s.useRouter)(),R=(0,i.useRef)(new Set),M=(0,i.useCallback)(e=>{R.current.has(e)||(R.current.add(e),w.prefetch(e))},[w]),j=(0,i.useCallback)(e=>{e&&m&&(M(t),M(n))},[M,t,m,n]);return(0,r.jsxs)(p,{onOpenChange:j,children:[(0,r.jsx)(y,{asChild:!0,children:(0,r.jsxs)(c.$,{variant:"outline",size:"sm",className:"cursor-pointer gap-1.5",children:["Settings",(0,r.jsx)(g.A,{className:"size-4"})]})}),(0,r.jsxs)(h,{align:"end",className:"w-48",children:[(0,r.jsxs)(v,{onSelect:e=>{e.preventDefault(),P()},children:[b&&k?(0,r.jsx)(d.A,{className:"size-4"}):(0,r.jsx)(l.A,{className:"size-4"}),(0,r.jsx)("span",{children:b&&k?"Light mode":"Dark mode"})]}),m?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f,{}),(0,r.jsx)(v,{asChild:!0,children:(0,r.jsx)(o(),{href:n,"aria-current":u?"page":void 0,onMouseEnter:()=>M(n),onFocus:()=>M(n),children:"Workflow"})}),(0,r.jsx)(v,{asChild:!0,children:(0,r.jsx)(o(),{href:t,"aria-current":a?"page":void 0,onMouseEnter:()=>M(t),onFocus:()=>M(t),children:"Settings"})})]}):null]})]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6240],{4715:(e,t,r)=>{r.d(t,{T:()=>a});var i=r(4568),l=r(7620),o=r(826);let a=l.forwardRef((e,t)=>{let{className:r,...l}=e;return(0,i.jsx)("textarea",{className:(0,o.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...l})});a.displayName="Textarea"},6240:(e,t,r)=>{r.d(t,{A:()=>h});var i=r(4568),l=r(7620),o=r(7431),a=r(6845),s=r(1598),n=r(2779),c=r(2462),d=r(8049),p=r(4715),u=r(5102),m=r(5716);function h(e){var t;let{mode:r,onModeChange:h,githubOwner:f,githubOwnerLoading:x=!1,onRepoCreated:g,onInvalidatePreview:v,connectContent:y}=e,[j,w]=(0,l.useState)(""),[b,N]=(0,l.useState)(""),[C,I]=(0,l.useState)("private"),[S,k]=(0,l.useState)(null),[P,R]=(0,l.useState)(!1),[E,A]=(0,l.useState)(!1),[F,H]=(0,l.useState)(null),[G,T]=(0,l.useState)(null),[J,W]=(0,l.useState)(null),[O,U]=(0,l.useState)(null),[D,L]=(0,l.useState)(null),_=null!==S&&P,$=null!=(t=null==f?void 0:f.trim())?t:"",B=(0,l.useCallback)(()=>{k(null),R(!1),A(!1),W(null),U(null)},[]);(0,l.useEffect)(()=>{B(),v()},[j,b,C,B,v]);let M=(0,l.useCallback)(()=>({owner:$,name:j.trim(),description:b.trim()||void 0,visibility:C,...(null==S?void 0:S.operationId)?{operationId:S.operationId}:{},...(null==S?void 0:S.creationActionId)?{creationActionId:S.creationActionId}:{},...(null==S?void 0:S.createdAt)?{createdAt:S.createdAt}:{}}),[b,$,null==S?void 0:S.creationActionId,null==S?void 0:S.createdAt,null==S?void 0:S.operationId,j,C]),V=(0,l.useCallback)(async()=>{let e=await fetch("/api/setup/preview-target-repo-provisioning",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(M())}),t=await e.json();if(!e.ok){var r;throw Error(null!=(r=t.error)?r:"Repository preview failed")}return k(t),R(!0),t},[M]),q=(0,l.useCallback)(async()=>{H("preview"),T(null),W(null),A(!1),U(null);try{await V()}catch(e){k(null),R(!1),W(e instanceof Error?e.message:"Repository preview failed")}finally{H(null)}},[V]),z=(0,l.useCallback)(async()=>{if(E&&$&&j.trim()){H("apply"),T(null);try{var e,t,r;let i=_&&S?S:await V();if("preview-ready"!==i.state&&"preview-stale"!==i.state)throw Error(null!=(e=i.message)?e:"Repository preview is not ready.");let l=await fetch("/api/setup/apply-target-repo-provisioning",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({owner:$,name:j.trim(),description:b.trim()||void 0,visibility:C,operationId:i.operationId,creationActionId:i.creationActionId,createdAt:i.createdAt,fingerprint:i.fingerprint,confirmed:!0})}),o=await l.json();if(!l.ok)throw Error(null!=(t=o.error)?t:"Repository creation failed");if(U(o),"verified-complete"!==o.state)throw Error(null!=(r=o.message)?r:"Repository creation did not complete.");if(!o.repositoryUrl||!o.repositoryFullName)throw Error("Repository creation finished without a repository URL.");let a={repositoryUrl:o.repositoryUrl,repositoryFullName:o.repositoryFullName,resultingTargetRepoConfigId:i.resultingTargetRepoConfigId||"target-".concat(j.trim())};L(a),B(),g(a)}catch(e){T(e instanceof Error?e.message:"Repository creation failed")}finally{H(null)}}},[E,b,B,g,$,S,_,j,V,C]),K=_&&(null==S?void 0:S.state)==="preview-ready",Q=!!$&&!!j.trim()&&null===F&&!x,X=K&&E&&null===F&&!!$&&!!j.trim();return(0,i.jsxs)("div",{className:"space-y-6",children:[(0,i.jsxs)("div",{className:o.PI.fieldStack,children:[(0,i.jsx)(d.J,{htmlFor:"target-repo-selection-mode",children:"Target repository"}),(0,i.jsxs)(c.l,{id:"target-repo-selection-mode",value:r,onChange:e=>{h(e.target.value),B()},children:[(0,i.jsx)("option",{value:"create",children:"Create new product repository"}),(0,i.jsx)("option",{value:"connect",children:"Connect existing repository"})]}),(0,i.jsx)("p",{className:o.PI.secretHint,children:"Create provisions a technology-neutral GitHub repository with `main`, `dev`, `README.md`, and `.p-dev/product.json`. Connect uses an existing repo URL you verify in the next step."})]}),"create"===r?(0,i.jsxs)("div",{className:"space-y-4 rounded-lg border border-border bg-card p-4",children:[(0,i.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,i.jsx)("p",{className:"text-sm font-medium",children:"Create new product"}),D?(0,i.jsx)(u.W,{label:"Repository created",variant:"success"}):(0,i.jsx)(u.W,{label:"Not created yet",variant:"secondary"})]}),(0,i.jsxs)("div",{className:o.PI.fieldGrid,children:[(0,i.jsxs)("div",{className:o.PI.fieldStack,children:[(0,i.jsx)(d.J,{htmlFor:"target-repo-owner",children:"GitHub owner"}),(0,i.jsx)(n.p,{id:"target-repo-owner",value:$,readOnly:!0,placeholder:x?"Loading GitHub account…":"Connect GitHub in Step 1"}),(0,i.jsx)("p",{className:o.PI.secretHint,children:"New repositories are created under the authenticated GitHub user from Step 1."})]}),(0,i.jsxs)("div",{className:o.PI.fieldStack,children:[(0,i.jsx)(d.J,{htmlFor:"target-repo-name",children:"Repository name"}),(0,i.jsx)(n.p,{id:"target-repo-name",value:j,onChange:e=>w(e.target.value),placeholder:"my-product",autoComplete:"off"})]}),(0,i.jsxs)("div",{className:o.PI.fieldStack,children:[(0,i.jsx)(d.J,{htmlFor:"target-repo-visibility",children:"Visibility"}),(0,i.jsxs)(c.l,{id:"target-repo-visibility",value:C,onChange:e=>I(e.target.value),children:[(0,i.jsx)("option",{value:"private",children:"Private"}),(0,i.jsx)("option",{value:"public",children:"Public"})]})]})]}),(0,i.jsxs)("div",{className:o.PI.fieldStack,children:[(0,i.jsx)(d.J,{htmlFor:"target-repo-description",children:"Description (optional)"}),(0,i.jsx)(p.T,{id:"target-repo-description",value:b,onChange:e=>N(e.target.value),rows:3,placeholder:"Short product description for the new GitHub repository."})]}),_&&S?(0,i.jsxs)("div",{className:"space-y-2 rounded-md border border-border bg-muted/20 p-3 text-sm",children:[(0,i.jsx)("p",{className:"font-medium",children:"Repository preview"}),(0,i.jsx)("p",{className:"text-muted-foreground",children:S.message}),S.actionsWillPerform.length>0?(0,i.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-muted-foreground",children:S.actionsWillPerform.map(e=>(0,i.jsx)("li",{children:e},e))}):null,S.actionsWillNotPerform.length>0?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{className:"font-medium",children:"Will not perform"}),(0,i.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-muted-foreground",children:S.actionsWillNotPerform.map(e=>(0,i.jsx)("li",{children:e},e))})]}):null,S.connectExistingHint?(0,i.jsxs)("p",{className:"text-muted-foreground",children:["Existing repository hint: ",S.connectExistingHint]}):null]}):null,J?(0,i.jsx)(m.r,{message:J,failed:!0}):null,(0,i.jsxs)("div",{className:o.PI.confirmationBox,children:[(0,i.jsx)("p",{className:"text-sm font-medium",children:"Confirm repository creation"}),(0,i.jsxs)("ul",{className:"list-disc space-y-1 pl-5 text-sm text-muted-foreground",children:[(0,i.jsx)("li",{children:"Creates a new GitHub repository with generic bootstrap files only."}),(0,i.jsx)("li",{children:"Does not write local `.harness/config.local.json` or `.env.local` until you preview and confirm local setup files separately."}),(0,i.jsx)("li",{children:"Does not install stack-specific CI or application deployment configuration."})]}),(0,i.jsxs)("div",{className:"flex items-start gap-3",children:[(0,i.jsx)(s.S,{id:"confirm-target-repo-create",checked:E,disabled:!K,onChange:e=>A(e.target.checked)}),(0,i.jsx)(d.J,{htmlFor:"confirm-target-repo-create",className:"text-sm leading-snug",children:"I reviewed the repository preview and want to create this GitHub repository."})]}),K?null:(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:"Generate a repository preview before confirming creation."})]}),(0,i.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,i.jsx)(a.$,{type:"button",variant:"outline",onClick:()=>void q(),disabled:!Q,children:"preview"===F?"Generating preview…":"Preview repository creation"}),(0,i.jsx)(a.$,{type:"button",onClick:()=>void z(),disabled:!X,children:"apply"===F?"Creating repository…":"Create repository"})]}),G?(0,i.jsx)(m.r,{message:G,failed:!0}):null,(null==O?void 0:O.state)==="verified-complete"&&D?(0,i.jsx)(m.r,{message:"".concat(O.message," Local harness config is not written until you preview and confirm local setup files below.")}):null]}):y]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7420],{1115:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(2068).A)("moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]])},2068:(e,t,n)=>{n.d(t,{A:()=>u});var r=n(7620);let o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)},i=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((e,t,n)=>!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim()};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,r.forwardRef)((e,t)=>{let{color:n="currentColor",size:o=24,strokeWidth:a=2,absoluteStrokeWidth:u,className:s="",children:c,iconNode:d,...f}=e;return(0,r.createElement)("svg",{ref:t,...l,width:o,height:o,stroke:n,strokeWidth:u?24*Number(a)/Number(o):a,className:i("lucide",s),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0})(f)&&{"aria-hidden":"true"},...f},[...d.map(e=>{let[t,n]=e;return(0,r.createElement)(t,n)}),...Array.isArray(c)?c:[c]])}),u=(e,t)=>{let n=(0,r.forwardRef)((n,l)=>{let{className:u,...s}=n;return(0,r.createElement)(a,{ref:l,iconNode:t,className:i("lucide-".concat(o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),u),...s})});return n.displayName=o(e),n}},2116:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(2068).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},2568:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(2068).A)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},4560:(e,t,n)=>{n.d(t,{D:()=>s,N:()=>c});var r=n(7620),o=(e,t,n,r,o,i,l,a)=>{let u=document.documentElement,s=["light","dark"];function c(t){var n;(Array.isArray(e)?e:[e]).forEach(e=>{let n="class"===e,r=n&&i?o.map(e=>i[e]||e):o;n?(u.classList.remove(...r),u.classList.add(i&&i[t]?i[t]:t)):u.setAttribute(e,t)}),n=t,a&&s.includes(n)&&(u.style.colorScheme=n)}if(r)c(r);else try{let e=localStorage.getItem(t)||n,r=l&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(r)}catch(e){}},i=["light","dark"],l="(prefers-color-scheme: dark)",a=r.createContext(void 0),u={setTheme:e=>{},themes:[]},s=()=>{var e;return null!=(e=r.useContext(a))?e:u},c=e=>r.useContext(a)?r.createElement(r.Fragment,null,e.children):r.createElement(f,{...e}),d=["light","dark"],f=e=>{let{forcedTheme:t,disableTransitionOnChange:n=!1,enableSystem:o=!0,enableColorScheme:u=!0,storageKey:s="theme",themes:c=d,defaultTheme:f=o?"system":"light",attribute:g="data-theme",value:y,children:w,nonce:b,scriptProps:x}=e,[E,R]=r.useState(()=>h(s,f)),[C,S]=r.useState(()=>"system"===E?v():E),A=y?Object.values(y):c,k=r.useCallback(e=>{let t=e;if(!t)return;"system"===e&&o&&(t=v());let r=y?y[t]:t,l=n?m(b):null,a=document.documentElement,s=e=>{"class"===e?(a.classList.remove(...A),r&&a.classList.add(r)):e.startsWith("data-")&&(r?a.setAttribute(e,r):a.removeAttribute(e))};if(Array.isArray(g)?g.forEach(s):s(g),u){let e=i.includes(f)?f:null,n=i.includes(t)?t:e;a.style.colorScheme=n}null==l||l()},[b]),M=r.useCallback(e=>{let t="function"==typeof e?e(E):e;R(t);try{localStorage.setItem(s,t)}catch(e){}},[E]),T=r.useCallback(e=>{S(v(e)),"system"===E&&o&&!t&&k("system")},[E,t]);r.useEffect(()=>{let e=window.matchMedia(l);return e.addListener(T),T(e),()=>e.removeListener(T)},[T]),r.useEffect(()=>{let e=e=>{e.key===s&&(e.newValue?R(e.newValue):M(f))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[M]),r.useEffect(()=>{k(null!=t?t:E)},[t,E]);let L=r.useMemo(()=>({theme:E,setTheme:M,forcedTheme:t,resolvedTheme:"system"===E?C:E,themes:o?[...c,"system"]:c,systemTheme:o?C:void 0}),[E,M,t,C,o,c]);return r.createElement(a.Provider,{value:L},r.createElement(p,{forcedTheme:t,storageKey:s,attribute:g,enableSystem:o,enableColorScheme:u,defaultTheme:f,value:y,themes:c,nonce:b,scriptProps:x}),w)},p=r.memo(e=>{let{forcedTheme:t,storageKey:n,attribute:i,enableSystem:l,enableColorScheme:a,defaultTheme:u,value:s,themes:c,nonce:d,scriptProps:f}=e,p=JSON.stringify([i,n,u,t,c,s,l,a]).slice(1,-1);return r.createElement("script",{...f,suppressHydrationWarning:!0,nonce:"",dangerouslySetInnerHTML:{__html:"(".concat(o.toString(),")(").concat(p,")")}})}),h=(e,t)=>{let n;try{n=localStorage.getItem(e)||void 0}catch(e){}return n||t},m=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},v=e=>(e||(e=window.matchMedia(l)),e.matches?"dark":"light")},7541:(e,t,n)=>{var r=n(3041);n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}})},7693:(e,t,n)=>{let r;n.d(t,{UC:()=>rH,q7:()=>rU,ZL:()=>rB,bL:()=>rz,wv:()=>rV,l9:()=>rK});var o,i,l,a,u=n(7620),s=n.t(u,2);function c(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r||!r.defaultPrevented)return t?.(r)}}"undefined"!=typeof window&&window.document&&window.document.createElement;var d=n(1715),f=n(4568);function p(e,t=[]){let n=[],r=()=>{let t=n.map(e=>u.createContext(e));return function(n){let r=n?.[e]||t;return u.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return r.scopeName=e,[function(t,r){let o=u.createContext(r);o.displayName=t+"Context";let i=n.length;n=[...n,r];let l=t=>{let{scope:n,children:r,...l}=t,a=n?.[e]?.[i]||o,s=u.useMemo(()=>l,Object.values(l));return(0,f.jsx)(a.Provider,{value:s,children:r})};return l.displayName=t+"Provider",[l,function(n,l,a={}){let{optional:s=!1}=a,c=l?.[e]?.[i]||o,d=u.useContext(c);if(d)return d;if(void 0!==r)return r;if(!s)throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return u.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}(r,...t)]}var h=globalThis?.document?u.useLayoutEffect:()=>{},m=s[" useInsertionEffect ".trim().toString()]||h;function v({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,i,l]=function({defaultProp:e,onChange:t}){let[n,r]=u.useState(e),o=u.useRef(n),i=u.useRef(t);return m(()=>{i.current=t},[t]),u.useEffect(()=>{o.current!==n&&(i.current?.(n),o.current=n)},[n,o]),[n,r,i]}({defaultProp:t,onChange:n}),a=void 0!==e,s=a?e:o;{let t=u.useRef(void 0!==e);u.useEffect(()=>{let e=t.current;if(e!==a){let t=a?"controlled":"uncontrolled";console.warn(`${r} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=a},[a,r])}return[s,u.useCallback(t=>{if(a){let n="function"==typeof t?t(e):t;n!==e&&l.current?.(n)}else i(t)},[a,e,i,l])]}Symbol("RADIX:SYNC_STATE");var g=n(7509),y=n(6118),w=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let n=(0,y.TL)(`Primitive.${t}`),r=u.forwardRef((e,r)=>{let{asChild:o,...i}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,f.jsx)(o?n:t,{...i,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function b(e,t){e&&g.flushSync(()=>e.dispatchEvent(t))}function x(e,t,n){if(!t.has(e))throw TypeError("attempted to "+n+" private field on non-instance");return t.get(e)}function E(e,t){var n=x(e,t,"get");return n.get?n.get.call(e):n.value}function R(e,t,n){var r=x(e,t,"set");if(r.set)r.set.call(e,n);else{if(!r.writable)throw TypeError("attempted to set read only private field");r.value=n}return n}function C(e){let t=e+"CollectionProvider",[n,r]=p(t),[o,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),l=e=>{let{scope:t,children:n}=e,r=u.useRef(null),i=u.useRef(new Map).current;return(0,f.jsx)(o,{scope:t,itemMap:i,collectionRef:r,children:n})};l.displayName=t;let a=e+"CollectionSlot",s=(0,y.TL)(a),c=u.forwardRef((e,t)=>{let{scope:n,children:r}=e,o=i(a,n),l=(0,d.s)(t,o.collectionRef);return(0,f.jsx)(s,{ref:l,children:r})});c.displayName=a;let h=e+"CollectionItemSlot",m="data-radix-collection-item",v=(0,y.TL)(h),g=u.forwardRef((e,t)=>{let{scope:n,children:r,...o}=e,l=u.useRef(null),a=(0,d.s)(t,l),s=i(h,n);return u.useEffect(()=>(s.itemMap.set(l,{ref:l,...o}),()=>void s.itemMap.delete(l))),(0,f.jsx)(v,{...{[m]:""},ref:a,children:r})});return g.displayName=h,[{Provider:l,Slot:c,ItemSlot:g},function(t){let n=i(e+"CollectionConsumer",t);return u.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll("[".concat(m,"]")));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])},r]}var S=new WeakMap;function A(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);let n=function(e,t){let n=e.length,r=k(t),o=r>=0?r:n+r;return o<0||o>=n?-1:o}(e,t);return -1===n?void 0:e[n]}function k(e){return e!=e||0===e?0:Math.trunc(e)}i=new WeakMap,class e extends Map{set(e,t){return S.get(this)&&(this.has(e)?E(this,i)[E(this,i).indexOf(e)]=e:E(this,i).push(e)),super.set(e,t),this}insert(e,t,n){let r,o=this.has(t),l=E(this,i).length,a=k(e),u=a>=0?a:l+a,s=u<0||u>=l?-1:u;if(s===this.size||o&&s===this.size-1||-1===s)return this.set(t,n),this;let c=this.size+ +!o;a<0&&u++;let d=[...E(this,i)],f=!1;for(let e=u;e<c;e++)if(u===e){let i=d[e];d[e]===t&&(i=d[e+1]),o&&this.delete(t),r=this.get(i),this.set(t,n)}else{f||d[e-1]!==t||(f=!0);let n=d[f?e:e-1],o=r;r=this.get(n),this.delete(n),this.set(n,o)}return this}with(t,n,r){let o=new e(this);return o.insert(t,n,r),o}before(e){let t=E(this,i).indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=E(this,i).indexOf(e);return -1===r?this:this.insert(r,t,n)}after(e){let t=E(this,i).indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,n){let r=E(this,i).indexOf(e);return -1===r?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return R(this,i,[]),super.clear()}delete(e){let t=super.delete(e);return t&&E(this,i).splice(E(this,i).indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=A(E(this,i),e);if(void 0!==t)return this.get(t)}entryAt(e){let t=A(E(this,i),e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return E(this,i).indexOf(e)}keyAt(e){return A(E(this,i),e)}from(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(-1===n)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return -1}filter(t,n){let r=[],o=0;for(let e of this)Reflect.apply(t,n,[e,o,this])&&r.push(e),o++;return new e(r)}map(t,n){let r=[],o=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,o,this])]),o++;return new e(r)}reduce(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];let[r,o]=t,i=0,l=null!=o?o:this.at(0);for(let e of this)l=0===i&&1===t.length?e:Reflect.apply(r,this,[l,e,i,this]),i++;return l}reduceRight(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];let[r,o]=t,i=null!=o?o:this.at(-1);for(let e=this.size-1;e>=0;e--){let n=this.at(e);i=e===this.size-1&&1===t.length?n:Reflect.apply(r,this,[i,n,e,this])}return i}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];let o=[...this.entries()];return o.splice(...n),new e(o)}slice(t,n){let r=new e,o=this.size-1;if(void 0===t)return r;t<0&&(t+=this.size),void 0!==n&&n>0&&(o=n-1);for(let e=t;e<=o;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}constructor(e){super(e),function(e,t,n){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,n)}(this,i,{writable:!0,value:void 0}),R(this,i,[...super.keys()]),S.set(this,!0)}};var M=u.createContext(void 0);function T(e){let t=u.useContext(M);return e||t||"ltr"}function L(e){let t=u.useRef(e);return u.useEffect(()=>{t.current=e}),u.useMemo(()=>(...e)=>t.current?.(...e),[])}var O="dismissableLayer.update",P=u.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),N=u.forwardRef((e,t)=>{var n,r;let{disableOutsidePointerEvents:o=!1,deferPointerDownOutside:i=!1,onEscapeKeyDown:a,onPointerDownOutside:s,onFocusOutside:p,onInteractOutside:h,onDismiss:m,...v}=e,g=u.useContext(P),[y,b]=u.useState(null),x=null!=(r=null==y?void 0:y.ownerDocument)?r:null==(n=globalThis)?void 0:n.document,[,E]=u.useState({}),R=(0,d.s)(t,b),C=Array.from(g.layers),[S]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),A=S?C.indexOf(S):-1,k=y?C.indexOf(y):-1,M=g.layersWithOutsidePointerEventsDisabled.size>0,T=k>=A,N=u.useRef(!1),_=function(e,t){var n;let{ownerDocument:r=null==(n=globalThis)?void 0:n.document,deferPointerDownOutside:o=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:l,shouldHandlePointerDownOutside:a=D}=t,s=L(e),c=u.useRef(!1),d=u.useRef(!1),f=u.useRef(new Map),p=u.useRef(()=>{});return u.useEffect(()=>{function e(){d.current=!1,i.current=!1,f.current.clear()}function t(e){if(!d.current)return;let t=e.target;t instanceof Node&&[...l].some(e=>e.contains(t))||f.current.set(e.type,!0),"click"===e.type&&window.setTimeout(()=>{d.current&&p.current()},0)}function n(e){d.current&&f.current.set(e.type,!1)}let u=t=>{if(t.target&&!c.current){let n=function(){r.removeEventListener("click",p.current);let t=Array.from(f.current.values()).some(Boolean);e(),t||I("dismissableLayer.pointerDownOutside",s,l,{discrete:!0})};if(!a(t.target)){r.removeEventListener("click",p.current),e(),c.current=!1;return}let l={originalEvent:t};d.current=!0,i.current=o&&0===t.button,f.current.clear(),o&&0===t.button?(r.removeEventListener("click",p.current),p.current=n,r.addEventListener("click",p.current,{once:!0})):n()}else r.removeEventListener("click",p.current),e();c.current=!1},h=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(let e of h)r.addEventListener(e,t,!0),r.addEventListener(e,n);let m=window.setTimeout(()=>{r.addEventListener("pointerdown",u)},0);return()=>{for(let e of(window.clearTimeout(m),r.removeEventListener("pointerdown",u),r.removeEventListener("click",p.current),h))r.removeEventListener(e,t,!0),r.removeEventListener(e,n)}},[r,s,o,i,l,a]),{onPointerDownCapture:()=>c.current=!0}}(e=>{null==s||s(e),null==h||h(e),e.defaultPrevented||null==m||m()},{ownerDocument:x,deferPointerDownOutside:i,isDeferredPointerDownOutsideRef:N,dismissableSurfaces:g.dismissableSurfaces,shouldHandlePointerDownOutside:u.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...g.branches].some(t=>t.contains(e));return T&&!t},[g.branches,T])}),F=function(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null==(t=globalThis)?void 0:t.document,r=L(e),o=u.useRef(!1);return u.useEffect(()=>{let e=e=>{e.target&&!o.current&&I("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return n.addEventListener("focusin",e),()=>n.removeEventListener("focusin",e)},[n,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}(e=>{if(i&&N.current)return;let t=e.target;![...g.branches].some(e=>e.contains(t))&&(null==p||p(e),null==h||h(e),e.defaultPrevented||null==m||m())},x),W=!!y&&k===C.length-1,z=L(e=>{"Escape"===e.key&&(null==a||a(e),!e.defaultPrevented&&m&&(e.preventDefault(),m()))});return u.useEffect(()=>{if(W)return x.addEventListener("keydown",z,{capture:!0}),()=>x.removeEventListener("keydown",z,{capture:!0})},[x,W,z]),u.useEffect(()=>{if(y)return o&&(0===g.layersWithOutsidePointerEventsDisabled.size&&(l=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),g.layersWithOutsidePointerEventsDisabled.add(y)),g.layers.add(y),j(),()=>{o&&(g.layersWithOutsidePointerEventsDisabled.delete(y),0===g.layersWithOutsidePointerEventsDisabled.size&&(x.body.style.pointerEvents=l))}},[y,x,o,g]),u.useEffect(()=>()=>{y&&(g.layers.delete(y),g.layersWithOutsidePointerEventsDisabled.delete(y),j())},[y,g]),u.useEffect(()=>{let e=()=>E({});return document.addEventListener(O,e),()=>document.removeEventListener(O,e)},[]),(0,f.jsx)(w.div,{...v,ref:R,style:{pointerEvents:M?T?"auto":"none":void 0,...e.style},onFocusCapture:c(e.onFocusCapture,F.onFocusCapture),onBlurCapture:c(e.onBlurCapture,F.onBlurCapture),onPointerDownCapture:c(e.onPointerDownCapture,_.onPointerDownCapture)})});N.displayName="DismissableLayer",u.forwardRef((e,t)=>{let n=u.useContext(P),r=u.useRef(null),o=(0,d.s)(t,r);return u.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,f.jsx)(w.div,{...e,ref:o})}).displayName="DismissableLayerBranch";var D=()=>!0;function j(){let e=new CustomEvent(O);document.dispatchEvent(e)}function I(e,t,n,r){let{discrete:o}=r,i=n.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),o?b(i,l):i.dispatchEvent(l)}var _=0,F=null;function W(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var z="focusScope.autoFocusOnMount",K="focusScope.autoFocusOnUnmount",B={bubbles:!1,cancelable:!0},H=u.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:i,...l}=e,[a,s]=u.useState(null),c=L(o),p=L(i),h=u.useRef(null),m=(0,d.s)(t,s),v=u.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;u.useEffect(()=>{if(r){let e=function(e){if(v.paused||!a)return;let t=e.target;a.contains(t)?h.current=t:$(h.current,{select:!0})},t=function(e){if(v.paused||!a)return;let t=e.relatedTarget;null!==t&&(a.contains(t)||$(h.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let n=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&$(a)});return a&&n.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),n.disconnect()}}},[r,a,v.paused]),u.useEffect(()=>{if(a){X.add(v);let e=document.activeElement;if(!a.contains(e)){let t=new CustomEvent(z,B);a.addEventListener(z,c),a.dispatchEvent(t),t.defaultPrevented||(function(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=document.activeElement;for(let r of e)if($(r,{select:t}),document.activeElement!==n)return}(U(a).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&$(a))}return()=>{a.removeEventListener(z,c),setTimeout(()=>{let t=new CustomEvent(K,B);a.addEventListener(K,p),a.dispatchEvent(t),t.defaultPrevented||$(null!=e?e:document.body,{select:!0}),a.removeEventListener(K,p),X.remove(v)},0)}}},[a,c,p,v]);let g=u.useCallback(e=>{if(!n&&!r||v.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,o=document.activeElement;if(t&&o){let t=e.currentTarget,[r,i]=function(e){let t=U(e);return[V(t,e),V(t.reverse(),e)]}(t);r&&i?e.shiftKey||o!==i?e.shiftKey&&o===r&&(e.preventDefault(),n&&$(i,{select:!0})):(e.preventDefault(),n&&$(r,{select:!0})):o===t&&e.preventDefault()}},[n,r,v.paused]);return(0,f.jsx)(w.div,{tabIndex:-1,...l,ref:m,onKeyDown:g})});function U(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function V(e,t){let n="function"==typeof t.checkVisibility&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):function(e,t){let{upTo:n}=t;if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===n||e!==n);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t})))return r}function $(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e&&e.focus){var n;let r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&(n=e)instanceof HTMLInputElement&&"select"in n&&t&&e.select()}}H.displayName="FocusScope";var X=function(){let e=[];return{add(t){let n=e[0];t!==n&&(null==n||n.pause()),(e=G(e,t)).unshift(t)},remove(t){var n;null==(n=(e=G(e,t))[0])||n.resume()}}}();function G(e,t){let n=[...e],r=n.indexOf(t);return -1!==r&&n.splice(r,1),n}var Y=s[" useId ".trim().toString()]||(()=>void 0),Z=0;function q(e){let[t,n]=u.useState(Y());return h(()=>{e||n(e=>e??String(Z++))},[e]),e||(t?`radix-${t}`:"")}let J=["top","right","bottom","left"],Q=Math.min,ee=Math.max,et=Math.round,en=Math.floor,er=e=>({x:e,y:e}),eo={left:"right",right:"left",bottom:"top",top:"bottom"};function ei(e,t){return"function"==typeof e?e(t):e}function el(e){return e.split("-")[0]}function ea(e){return e.split("-")[1]}function eu(e){return"x"===e?"y":"x"}function es(e){return"y"===e?"height":"width"}function ec(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function ed(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let ef=["left","right"],ep=["right","left"],eh=["top","bottom"],em=["bottom","top"];function ev(e){let t=el(e);return eo[t]+e.slice(t.length)}function eg(e){var t,n,r,o;return"number"!=typeof e?{top:null!=(t=e.top)?t:0,right:null!=(n=e.right)?n:0,bottom:null!=(r=e.bottom)?r:0,left:null!=(o=e.left)?o:0}:{top:e,right:e,bottom:e,left:e}}function ey(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function ew(e,t,n){let r,{reference:o,floating:i}=e,l=ec(t),a=eu(ec(t)),u=es(a),s=el(t),c=o.x+o.width/2-i.width/2,d=o.y+o.height/2-i.height/2,f=o[u]/2-i[u]/2;switch(s){case"top":r={x:c,y:o.y-i.height};break;case"bottom":r={x:c,y:o.y+o.height};break;case"right":r={x:o.x+o.width,y:d};break;case"left":r={x:o.x-i.width,y:d};break;default:r={x:o.x,y:o.y}}let p=ea(t);return p&&(r[a]+=f*("end"===p?1:-1)*(n&&"y"===l?-1:1)),r}async function eb(e,t){var n;void 0===t&&(t={});let{x:r,y:o,platform:i,rects:l,elements:a,strategy:u}=e,{boundary:s="clippingAncestors",rootBoundary:c="viewport",elementContext:d="floating",altBoundary:f=!1,padding:p=0}=ei(t,e),h=eg(p),m=a[f?"floating"===d?"reference":"floating":d],v=ey(await i.getClippingRect({element:null==(n=await (null==i.isElement?void 0:i.isElement(m)))||n?m:m.contextElement||await (null==i.getDocumentElement?void 0:i.getDocumentElement(a.floating)),boundary:s,rootBoundary:c,strategy:u})),g="floating"===d?{x:r,y:o,width:l.floating.width,height:l.floating.height}:l.reference,y=await (null==i.getOffsetParent?void 0:i.getOffsetParent(a.floating)),w=await (null==i.isElement?void 0:i.isElement(y))&&await (null==i.getScale?void 0:i.getScale(y))||{x:1,y:1},b=ey(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:g,offsetParent:y,strategy:u}):g);return{top:(v.top-b.top+h.top)/w.y,bottom:(b.bottom-v.bottom+h.bottom)/w.y,left:(v.left-b.left+h.left)/w.x,right:(b.right-v.right+h.right)/w.x}}let ex=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:l}=n,a=l.detectOverflow?l:{...l,detectOverflow:eb},u=await (null==l.isRTL?void 0:l.isRTL(t)),s=await l.getElementRects({reference:e,floating:t,strategy:o}),{x:c,y:d}=ew(s,r,u),f=r,p=0,h={};for(let n=0;n<i.length;n++){let m=i[n];if(!m)continue;let{name:v,fn:g}=m,{x:y,y:w,data:b,reset:x}=await g({x:c,y:d,initialPlacement:r,placement:f,strategy:o,middlewareData:h,rects:s,platform:a,elements:{reference:e,floating:t}});c=null!=y?y:c,d=null!=w?w:d,h[v]={...h[v],...b},x&&p<50&&(p++,"object"==typeof x&&(x.placement&&(f=x.placement),x.rects&&(s=!0===x.rects?await l.getElementRects({reference:e,floating:t,strategy:o}):x.rects),{x:c,y:d}=ew(s,f,u)),n=-1)}return{x:c,y:d,placement:f,strategy:o,middlewareData:h}};function eE(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function eR(e){return J.some(t=>e[t]>=0)}let eC=new Set(["left","top"]);async function eS(e,t){let{placement:n,platform:r,elements:o}=e,i=await (null==r.isRTL?void 0:r.isRTL(o.floating)),l=el(n),a=ea(n),u="y"===ec(n),s=eC.has(l)?-1:1,c=i&&u?-1:1,d=ei(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:h}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return a&&"number"==typeof h&&(p="end"===a?-1*h:h),u?{x:p*c,y:f*s}:{x:f*s,y:p*c}}function eA(){return"undefined"!=typeof window}function ek(e){return eL(e)?(e.nodeName||"").toLowerCase():"#document"}function eM(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function eT(e){var t;return null==(t=(eL(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function eL(e){return!!eA()&&(e instanceof Node||e instanceof eM(e).Node)}function eO(e){return!!eA()&&(e instanceof Element||e instanceof eM(e).Element)}function eP(e){return!!eA()&&(e instanceof HTMLElement||e instanceof eM(e).HTMLElement)}function eN(e){return!!eA()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof eM(e).ShadowRoot)}function eD(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=eB(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&"inline"!==o&&"contents"!==o}function ej(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let eI=/transform|translate|scale|rotate|perspective|filter/,e_=/paint|layout|strict|content/,eF=e=>!!e&&"none"!==e;function eW(e){let t=eO(e)?eB(e):e;return eF(t.transform)||eF(t.translate)||eF(t.scale)||eF(t.rotate)||eF(t.perspective)||!ez()&&(eF(t.backdropFilter)||eF(t.filter))||eI.test(t.willChange||"")||e_.test(t.contain||"")}function ez(){return null==r&&(r="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),r}function eK(e){return/^(html|body|#document)$/.test(ek(e))}function eB(e){return eM(e).getComputedStyle(e)}function eH(e){return eO(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function eU(e){if("html"===ek(e))return e;let t=e.assignedSlot||e.parentNode||eN(e)&&e.host||eT(e);return eN(t)?t.host:t}function eV(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let o=function e(t){let n=eU(t);return eK(n)?(t.ownerDocument||t).body:eP(n)&&eD(n)?n:e(n)}(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),l=eM(o);if(!i)return t.concat(o,eV(o,[],n));{let e=e$(l);return t.concat(l,l.visualViewport||[],eD(o)?o:[],e&&n?eV(e):[])}}function e$(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function eX(e){let t=eB(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=eP(e),i=o?e.offsetWidth:n,l=o?e.offsetHeight:r,a=et(n)!==i||et(r)!==l;return a&&(n=i,r=l),{width:n,height:r,$:a}}function eG(e){return eO(e)?e:e.contextElement}function eY(e){let t=eG(e);if(!eP(t))return er(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:i}=eX(t),l=(i?et(n.width):n.width)/r,a=(i?et(n.height):n.height)/o;return l&&Number.isFinite(l)||(l=1),a&&Number.isFinite(a)||(a=1),{x:l,y:a}}let eZ=er(0);function eq(e){let t=eM(e);return ez()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:eZ}function eJ(e,t,n,r){var o;void 0===t&&(t=!1),void 0===n&&(n=!1);let i=e.getBoundingClientRect(),l=eG(e),a=er(1);t&&(r?eO(r)&&(a=eY(r)):a=eY(e));let u=(void 0===(o=n)&&(o=!1),r&&o&&r===eM(l))?eq(l):er(0),s=(i.left+u.x)/a.x,c=(i.top+u.y)/a.y,d=i.width/a.x,f=i.height/a.y;if(l&&r){let e=eM(l),t=eO(r)?eM(r):r,n=e,o=e$(n);for(;o&&t!==n;){let e=eY(o),t=o.getBoundingClientRect(),r=eB(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,l=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;s*=e.x,c*=e.y,d*=e.x,f*=e.y,s+=i,c+=l,o=e$(n=eM(o))}}return ey({width:d,height:f,x:s,y:c})}function eQ(e,t){let n=eH(e).scrollLeft;return t?t.left+n:eJ(eT(e)).left+n}function e0(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-eQ(e,n),y:n.top+t.scrollTop}}function e1(e,t,n){let r;if("viewport"===t||"layoutViewport"===t)r=function(e,t,n){void 0===n&&(n="viewport");let r="layoutViewport"===n,o=eM(e),i=eT(e),l=o.visualViewport,a=i.clientWidth,u=i.clientHeight,s=0,c=0;if(l){let e=!ez()||"fixed"===t;r?e||(s=-l.offsetLeft,c=-l.offsetTop):(a=l.width,u=l.height,e&&(s=l.offsetLeft,c=l.offsetTop))}if(0>=eQ(i)){let e=i.ownerDocument,t=e.body,n=getComputedStyle(t),r="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(i.clientWidth-t.clientWidth-r),l="stable both-edges"===getComputedStyle(i).scrollbarGutter?o/2:o;l<=25&&(a-=l)}return{width:a,height:u,x:s,y:c}}(e,n,t);else if("document"===t)r=function(e){let t=eH(e),n=e.ownerDocument.body,r=ee(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),o=ee(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),i=-t.scrollLeft+eQ(e),l=-t.scrollTop;return"rtl"===eB(n).direction&&(i+=ee(e.clientWidth,n.clientWidth)-r),{width:r,height:o,x:i,y:l}}(eT(e));else if(eO(t))r=function(e,t){let n=eJ(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=eY(e),l=e.clientWidth*i.x,a=e.clientHeight*i.y;return{width:l,height:a,x:o*i.x,y:r*i.y}}(t,n);else{let n=eq(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ey(r)}function e2(e){return"static"===eB(e).position}function e6(e,t){if(!eP(e)||"fixed"===eB(e).position)return null;if(t)return t(e);let n=e.offsetParent;return eT(e)===n&&(n=n.ownerDocument.body),n}function e4(e,t){var n;let r=eM(e);if(ej(e))return r;if(!eP(e)){let t=eU(e);for(;t&&!eK(t);){if(eO(t)&&!e2(t))return t;t=eU(t)}return r}let o=e6(e,t);for(;o&&(n=o,/^(table|td|th)$/.test(ek(n)))&&e2(o);)o=e6(o,t);return o&&eK(o)&&e2(o)&&!eW(o)?r:o||function(e){let t=eU(e);for(;eP(t)&&!eK(t);){if(eW(t))return t;if(ej(t))break;t=eU(t)}return null}(e)||r}let e5=async function(e){let t=this.getOffsetParent||e4,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=eP(t),o=eT(t),i="fixed"===n,l=eJ(e,!0,i,t),a={scrollLeft:0,scrollTop:0},u=er(0);if((r||!i)&&(("body"!==ek(t)||eD(o))&&(a=eH(t)),r)){let e=eJ(t,!0,i,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}!r&&o&&(u.x=eQ(o));let s=!o||r||i?er(0):e0(o,a);return{x:l.left+a.scrollLeft-u.x-s.x,y:l.top+a.scrollTop-u.y-s.y,width:l.width,height:l.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},e9={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,i="fixed"===o,l=eT(r),a=!!t&&ej(t.floating);if(r===l||a&&i)return n;let u={scrollLeft:0,scrollTop:0},s=er(1),c=er(0),d=eP(r);if((d||!i)&&(("body"!==ek(r)||eD(l))&&(u=eH(r)),d)){let e=eJ(r);s=eY(r),c.x=e.x+r.clientLeft,c.y=e.y+r.clientTop}let f=!l||d||i?er(0):e0(l,u);return{width:n.width*s.x,height:n.height*s.y,x:n.x*s.x-u.scrollLeft*s.x+c.x+f.x,y:n.y*s.y-u.scrollTop*s.y+c.y+f.y}},getDocumentElement:eT,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[..."clippingAncestors"===n?ej(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=eV(e,[],!1).filter(e=>eO(e)&&"body"!==ek(e)),o=null,i="fixed"===eB(e).position,l=i?eU(e):e;for(;eO(l)&&!eK(l);){let e=eB(l),t=eW(l),n=o?o.position:i?"fixed":"";t||"fixed"!==n&&("absolute"!==n||"static"!==e.position)?o=e:r=r.filter(e=>e!==l),l=eU(l)}return t.set(e,r),r}(t,this._c):[].concat(n),r],l=e1(t,i[0],o),a=l.top,u=l.right,s=l.bottom,c=l.left;for(let e=1;e<i.length;e++){let n=e1(t,i[e],o);a=ee(n.top,a),u=Q(n.right,u),s=Q(n.bottom,s),c=ee(n.left,c)}return{width:u-c,height:s-a,x:c,y:a}},getOffsetParent:e4,getElementRects:e5,getClientRects:function(e){return e.getClientRects?Array.from(e.getClientRects()):[]},getDimensions:function(e){let{width:t,height:n}=eX(e);return{width:t,height:n}},getScale:eY,isElement:eO,isRTL:function(e){return"rtl"===eB(e).direction}};function e3(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let e7=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:i,platform:l,elements:a,middlewareData:u}=t,{element:s,padding:c=0}=ei(e,t)||{};if(null==s)return{};let d=eg(c),f={x:n,y:r},p=eu(ec(o)),h=es(p),m=await l.getDimensions(s),v="y"===p,g=v?"clientHeight":"clientWidth",y=i.reference[h]+i.reference[p]-f[p]-i.floating[h],w=f[p]-i.reference[p],b=await (null==l.getOffsetParent?void 0:l.getOffsetParent(s)),x=b?b[g]:0;x&&await (null==l.isElement?void 0:l.isElement(b))||(x=a.floating[g]||i.floating[h]);let E=x/2-m[h]/2-1,R=Q(d[v?"top":"left"],E),C=Q(d[v?"bottom":"right"],E),S=x-m[h]-C,A=x/2-m[h]/2+(y/2-w/2),k=ee(R,Q(A,S)),M=!u.arrow&&null!=ea(o)&&A!==k&&i.reference[h]/2-(A<R?R:C)-m[h]/2<0,T=M?A<R?A-R:A-S:0;return{[p]:f[p]+T,data:{[p]:k,centerOffset:A-k-T,...M&&{alignmentOffset:T}},reset:M}}});var e8="undefined"!=typeof document?u.useLayoutEffect:function(){};function te(e,t){let n,r,o;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!te(e[r],t[r]))return!1;return!0}if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){let n=o[r];if(("_owner"!==n||!e.$$typeof)&&!te(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function tt(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function tn(e,t){let n=tt(e);return Math.round(t*n)/n}function tr(e){let t=u.useRef(e);return e8(()=>{t.current=e}),t}var to=u.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...i}=e;return(0,f.jsx)(w.svg,{...i,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,f.jsx)("polygon",{points:"0,0 30,0 15,10"})})});to.displayName="Arrow";var ti="Popper",[tl,ta]=p(ti),[tu,ts]=tl(ti),tc=e=>{let{__scopePopper:t,children:n}=e,[r,o]=u.useState(null),[i,l]=u.useState(void 0);return(0,f.jsx)(tu,{scope:t,anchor:r,onAnchorChange:o,placementState:i,setPlacementState:l,children:n})};tc.displayName=ti;var td="PopperAnchor",tf=u.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,i=ts(td,n),l=u.useRef(null),a=i.onAnchorChange,s=u.useCallback(e=>{l.current=e,e&&a(e)},[a]),c=(0,d.s)(t,s),p=u.useRef(null);u.useEffect(()=>{if(!r)return;let e=p.current;p.current=r.current,e!==p.current&&a(p.current)});let h=i.placementState&&tE(i.placementState),m=null==h?void 0:h[0],v=null==h?void 0:h[1];return r?null:(0,f.jsx)(w.div,{"data-radix-popper-side":m,"data-radix-popper-align":v,...o,ref:c})});tf.displayName=td;var tp="PopperContent",[th,tm]=tl(tp),tv=u.forwardRef((e,t)=>{var n,r,o,i,l,a,s,c;let{__scopePopper:p,side:m="bottom",sideOffset:v=0,align:y="center",alignOffset:b=0,arrowPadding:x=0,avoidCollisions:E=!0,collisionBoundary:R=[],collisionPadding:C=0,sticky:S="partial",hideWhenDetached:A=!1,updatePositionStrategy:k="optimized",onPlaced:M,...T}=e,O=ts(tp,p),[P,N]=u.useState(null),D=(0,d.s)(t,N),[j,I]=u.useState(null),_=function(e){let[t,n]=u.useState(void 0);return h(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,o;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,o=t.blockSize}else r=e.offsetWidth,o=e.offsetHeight;n({width:r,height:o})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),t}(j),F=null!=(s=null==_?void 0:_.width)?s:0,W=null!=(c=null==_?void 0:_.height)?c:0,z="number"==typeof C?C:{top:0,right:0,bottom:0,left:0,...C},K=Array.isArray(R)?R:[R],B=K.length>0,H={padding:z,boundary:K.filter(tb),altBoundary:B},{refs:U,floatingStyles:V,placement:$,isPositioned:X,middlewareData:G}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:i,floating:l}={},transform:a=!0,whileElementsMounted:s,open:c}=e,[d,f]=u.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,h]=u.useState(r);te(p,r)||h(r);let[m,v]=u.useState(null),[y,w]=u.useState(null),b=u.useCallback(e=>{e!==C.current&&(C.current=e,v(e))},[]),x=u.useCallback(e=>{e!==S.current&&(S.current=e,w(e))},[]),E=i||m,R=l||y,C=u.useRef(null),S=u.useRef(null),A=u.useRef(d),k=null!=s,M=tr(s),T=tr(o),L=tr(c),O=u.useCallback(()=>{if(!C.current||!S.current)return;let e={placement:t,strategy:n,middleware:p};T.current&&(e.platform=T.current),((e,t,n)=>{let r=new Map,o=null!=n?n:{},i={...e9,...o.platform,_c:r};return ex(e,t,{...o,platform:i})})(C.current,S.current,e).then(e=>{let t={...e,isPositioned:!1!==L.current};P.current&&!te(A.current,t)&&(A.current=t,g.flushSync(()=>{f(t)}))})},[p,t,n,T,L]);e8(()=>{!1===c&&A.current.isPositioned&&(A.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[c]);let P=u.useRef(!1);e8(()=>(P.current=!0,()=>{P.current=!1}),[]),e8(()=>{if(E&&(C.current=E),R&&(S.current=R),E&&R){if(M.current)return M.current(E,R,O);O()}},[E,R,O,M,k]);let N=u.useMemo(()=>({reference:C,floating:S,setReference:b,setFloating:x}),[b,x]),D=u.useMemo(()=>({reference:E,floating:R}),[E,R]),j=u.useMemo(()=>{let e={position:n,left:0,top:0};if(!D.floating)return e;let t=tn(D.floating,d.x),r=tn(D.floating,d.y);return a?{...e,transform:"translate("+t+"px, "+r+"px)",...tt(D.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,a,D.floating,d.x,d.y]);return u.useMemo(()=>({...d,update:O,refs:N,elements:D,floatingStyles:j}),[d,O,N,D,j])}({strategy:"fixed",placement:m+("center"!==y?"-"+y:""),whileElementsMounted:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e,t,n,r){let o;void 0===r&&(r={});let{ancestorScroll:i=!0,ancestorResize:l=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:u="function"==typeof IntersectionObserver,animationFrame:s=!1}=r,c=eG(e),d=i||l?[...c?eV(c):[],...t?eV(t):[]]:[];d.forEach(e=>{i&&e.addEventListener("scroll",n),l&&e.addEventListener("resize",n)});let f=c&&u?function(e,t,n){let r,o=null,i=eT(e);function l(){var e;clearTimeout(r),null==(e=o)||e.disconnect(),o=null}function a(n,u){void 0===n&&(n=!1),void 0===u&&(u=1),l();let s=e.getBoundingClientRect(),{left:c,top:d,width:f,height:p}=s;if(n||t(),!f||!p)return;let h=en(d),m=en(i.clientWidth-(c+f)),v={rootMargin:-h+"px "+-m+"px "+-en(i.clientHeight-(d+p))+"px "+-en(c)+"px",threshold:ee(0,Q(1,u))||1},g=!0;function y(t){let n=t[0].intersectionRatio;if(!e3(s,e.getBoundingClientRect()))return a();if(n!==u){if(!g)return a();n?a(!1,n):r=setTimeout(()=>{a(!1,1e-7)},1e3)}g=!1}try{o=new IntersectionObserver(y,{...v,root:i.ownerDocument})}catch(e){o=new IntersectionObserver(y,v)}o.observe(e)}let u=eM(e),s=()=>a(n);return u.addEventListener("resize",s),a(!0),()=>{u.removeEventListener("resize",s),l()}}(c,n,l):null,p=-1,h=null;a&&(h=new ResizeObserver(e=>{let[r]=e;r&&r.target===c&&h&&t&&(h.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=h)||e.observe(t)})),n()}),c&&!s&&h.observe(c),t&&h.observe(t));let m=s?eJ(e):null;return s&&function t(){let r=eJ(e);m&&!e3(m,r)&&n(),m=r,o=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{i&&e.removeEventListener("scroll",n),l&&e.removeEventListener("resize",n)}),null==f||f(),null==(e=h)||e.disconnect(),h=null,s&&cancelAnimationFrame(o)}}(...t,{animationFrame:"always"===k})},elements:{reference:O.anchor},middleware:[((e,t)=>{let n=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:i,placement:l,middlewareData:a}=t,u=await eS(t,e);return l===(null==(n=a.offset)?void 0:n.placement)&&null!=(r=a.arrow)&&r.alignmentOffset?{}:{x:o+u.x,y:i+u.y,data:{...u,placement:l}}}}}(e);return{name:n.name,fn:n.fn,options:[e,t]}})({mainAxis:v+W,alignmentAxis:b}),E&&((e,t)=>{let n=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:i}=t,{mainAxis:l=!0,crossAxis:a=!1,limiter:u={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...s}=ei(e,t),c={x:n,y:r},d=await i.detectOverflow(t,s),f=ec(o),p=eu(f),h=c[p],m=c[f],v=(e,t)=>ee(t+d["y"===e?"top":"left"],Q(t,t-d["y"===e?"bottom":"right"]));l&&(h=v(p,h)),a&&(m=v(f,m));let g=u.fn({...t,[p]:h,[f]:m});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:l,[f]:a}}}}}}(e);return{name:n.name,fn:n.fn,options:[e,t]}})({mainAxis:!0,crossAxis:!1,limiter:"partial"===S?((e,t)=>({fn:function(e){return void 0===e&&(e={}),{options:e,fn(t){var n,r,o,i;let{x:l,y:a,placement:u,rects:s,middlewareData:c}=t,{offset:d=0,mainAxis:f=!0,crossAxis:p=!0}=ei(e,t),h={x:l,y:a},m=ec(u),v=eu(m),g=h[v],y=h[m],w=ei(d,t),b="number"==typeof w?{mainAxis:w,crossAxis:0}:{mainAxis:null!=(n=w.mainAxis)?n:0,crossAxis:null!=(r=w.crossAxis)?r:0};if(f){let e="y"===v?"height":"width",t=s.reference[v]-s.floating[e]+b.mainAxis,n=s.reference[v]+s.reference[e]-b.mainAxis;g<t?g=t:g>n&&(g=n)}if(p){let e="y"===v?"width":"height",t=eC.has(el(u)),n=s.reference[m]-s.floating[e]+(t&&(null==(o=c.offset)?void 0:o[m])||0)+(t?0:b.crossAxis),r=s.reference[m]+s.reference[e]+(t?0:(null==(i=c.offset)?void 0:i[m])||0)-(t?b.crossAxis:0);y<n?y=n:y>r&&(y=r)}return{[v]:g,[m]:y}}}}(e).fn,options:[e,t]}))():void 0,...H}),E&&((e,t)=>{let n=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r,o,i,l;let{placement:a,middlewareData:u,rects:s,initialPlacement:c,platform:d,elements:f}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:m,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:y=!0,...w}=ei(e,t);if(null!=(n=u.arrow)&&n.alignmentOffset)return{};let b=el(a),x=ec(c),E=el(c)===c,R=await (null==d.isRTL?void 0:d.isRTL(f.floating)),C=m||(E||!y?[ev(c)]:function(e){let t=ev(e);return[ed(e),t,ed(t)]}(c)),S="none"!==g;!m&&S&&C.push(...function(e,t,n,r){let o=ea(e),i=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?ep:ef;return t?ef:ep;case"left":case"right":return t?eh:em;default:return[]}}(el(e),"start"===n,r);return o&&(i=i.map(e=>e+"-"+o),t&&(i=i.concat(i.map(ed)))),i}(c,y,g,R));let A=[c,...C],k=await d.detectOverflow(t,w),M=[],T=(null==(r=u.flip)?void 0:r.overflows)||[];if(p&&M.push(k[b]),h){let e=function(e,t,n){void 0===n&&(n=!1);let r=ea(e),o=eu(ec(e)),i=es(o),l="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[i]>t.floating[i]&&(l=ev(l)),[l,ev(l)]}(a,s,R);M.push(k[e[0]],k[e[1]])}if(T=[...T,{placement:a,overflows:M}],!M.every(e=>e<=0)){let e=((null==(o=u.flip)?void 0:o.index)||0)+1,t=A[e];if(t&&("alignment"!==h||x===ec(t)||T.every(e=>ec(e.placement)!==x||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=null==(i=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:i.placement;if(!n)switch(v){case"bestFit":{let e=null==(l=T.filter(e=>{if(S){let t=ec(e.placement);return t===x||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:l[0];e&&(n=e);break}case"initialPlacement":n=c}if(a!==n)return{reset:{placement:n}}}return{}}}}(e);return{name:n.name,fn:n.fn,options:[e,t]}})({...H}),((e,t)=>{let n=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){let n,r,{placement:o,rects:i,platform:l,elements:a}=t,{apply:u=()=>{},...s}=ei(e,t),c=await l.detectOverflow(t,s),d=el(o),f=ea(o),p="y"===ec(o),{width:h,height:m}=i.floating;"top"===d||"bottom"===d?(n=d,r=f===(await (null==l.isRTL?void 0:l.isRTL(a.floating))?"start":"end")?"left":"right"):(r=d,n="end"===f?"top":"bottom");let v=m-c.top-c.bottom,g=h-c.left-c.right,y=Q(m-c[n],v),w=Q(h-c[r],g),b=t.middlewareData.shift,x=!b,E=y,R=w;null!=b&&b.enabled.x&&(R=g),null!=b&&b.enabled.y&&(E=v),x&&!f&&(p?R=h-2*ee(c.left,c.right):E=m-2*ee(c.top,c.bottom)),await u({...t,availableWidth:R,availableHeight:E});let C=await l.getDimensions(a.floating);return h!==C.width||m!==C.height?{reset:{rects:!0}}:{}}}}(e);return{name:n.name,fn:n.fn,options:[e,t]}})({...H,apply:e=>{let{elements:t,rects:n,availableWidth:r,availableHeight:o}=e,{width:i,height:l}=n.reference,a=t.floating.style;a.setProperty("--radix-popper-available-width","".concat(r,"px")),a.setProperty("--radix-popper-available-height","".concat(o,"px")),a.setProperty("--radix-popper-anchor-width","".concat(i,"px")),a.setProperty("--radix-popper-anchor-height","".concat(l,"px"))}}),j&&((e,t)=>{let n=(e=>({name:"arrow",options:e,fn(t){let{element:n,padding:r}="function"==typeof e?e(t):e;return n&&({}).hasOwnProperty.call(n,"current")?null!=n.current?e7({element:n.current,padding:r}).fn(t):{}:n?e7({element:n,padding:r}).fn(t):{}}}))(e);return{name:n.name,fn:n.fn,options:[e,t]}})({element:j,padding:x}),tx({arrowWidth:F,arrowHeight:W}),A&&((e,t)=>{let n=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...i}=ei(e,t);switch(o){case"referenceHidden":{let e=eE(await r.detectOverflow(t,{...i,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:eR(e)}}}case"escaped":{let e=eE(await r.detectOverflow(t,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:eR(e)}}}default:return{}}}}}(e);return{name:n.name,fn:n.fn,options:[e,t]}})({strategy:"referenceHidden",...H,boundary:B?H.boundary:void 0})]}),Y=O.setPlacementState;h(()=>(Y($),()=>{Y(void 0)}),[$,Y]);let[Z,q]=tE($),J=L(M);h(()=>{X&&(null==J||J())},[X,J]);let et=null==(n=G.arrow)?void 0:n.x,er=null==(r=G.arrow)?void 0:r.y,eo=(null==(o=G.arrow)?void 0:o.centerOffset)!==0,[eg,ey]=u.useState();return h(()=>{P&&ey(window.getComputedStyle(P).zIndex)},[P]),(0,f.jsx)("div",{ref:U.setFloating,"data-radix-popper-content-wrapper":"",style:{...V,transform:X?V.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:eg,"--radix-popper-transform-origin":[null==(i=G.transformOrigin)?void 0:i.x,null==(l=G.transformOrigin)?void 0:l.y].join(" "),...(null==(a=G.hide)?void 0:a.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,f.jsx)(th,{scope:p,placedSide:Z,placedAlign:q,onArrowChange:I,arrowX:et,arrowY:er,shouldHideArrow:eo,children:(0,f.jsx)(w.div,{"data-side":Z,"data-align":q,...T,ref:D,style:{...T.style,animation:X?void 0:"none"}})})})});tv.displayName=tp;var tg="PopperArrow",ty={top:"bottom",right:"left",bottom:"top",left:"right"},tw=u.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,o=tm(tg,n),i=ty[o.placedSide];return(0,f.jsx)("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:(0,f.jsx)(to,{...r,ref:t,style:{...r.style,display:"block"}})})});function tb(e){return null!==e}tw.displayName=tg;var tx=e=>({name:"transformOrigin",options:e,fn(t){var n,r,o,i,l;let{placement:a,rects:u,middlewareData:s}=t,c=(null==(n=s.arrow)?void 0:n.centerOffset)!==0,d=c?0:e.arrowWidth,f=c?0:e.arrowHeight,[p,h]=tE(a),m={start:"0%",center:"50%",end:"100%"}[h],v=(null!=(i=null==(r=s.arrow)?void 0:r.x)?i:0)+d/2,g=(null!=(l=null==(o=s.arrow)?void 0:o.y)?l:0)+f/2,y="",w="";return"bottom"===p?(y=c?m:"".concat(v,"px"),w="".concat(-f,"px")):"top"===p?(y=c?m:"".concat(v,"px"),w="".concat(u.floating.height+f,"px")):"right"===p?(y="".concat(-f,"px"),w=c?m:"".concat(g,"px")):"left"===p&&(y="".concat(u.floating.width+f,"px"),w=c?m:"".concat(g,"px")),{data:{x:y,y:w}}}});function tE(e){let[t,n="center"]=e.split("-");return[t,n]}var tR=u.forwardRef((e,t)=>{var n,r;let{container:o,...i}=e,[l,a]=u.useState(!1);h(()=>a(!0),[]);let s=o||l&&(null==(r=globalThis)||null==(n=r.document)?void 0:n.body);return s?g.createPortal((0,f.jsx)(w.div,{...i,ref:t}),s):null});tR.displayName="Portal";var tC=e=>{let{present:t,children:n}=e,r=function(e){var t,n;let[r,o]=u.useState(),i=u.useRef(null),l=u.useRef(e),a=u.useRef("none"),s=u.useRef(void 0),[c,d]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},u.useReducer((e,t)=>{let r=n[e][t];return null!=r?r:e},t));return u.useEffect(()=>{if("mounted"===c){var e;a.current=null!=(e=s.current)?e:tA(i.current),s.current=void 0}else a.current="none"},[c]),h(()=>{let t=i.current,n=l.current;if(n!==e){let r=a.current,o=tA(t);e?(s.current=o,d("MOUNT")):"none"===o||(null==t?void 0:t.display)==="none"?d("UNMOUNT"):n&&r!==o?d("ANIMATION_OUT"):d("UNMOUNT"),l.current=e}},[e,d]),h(()=>{if(r){var e;let t,n=null!=(e=r.ownerDocument.defaultView)?e:window,o=e=>{let o=tA(i.current).includes(CSS.escape(e.animationName));if(e.target===r&&o&&(d("ANIMATION_END"),!l.current)){let e=r.style.animationFillMode;r.style.animationFillMode="forwards",t=n.setTimeout(()=>{"forwards"===r.style.animationFillMode&&(r.style.animationFillMode=e)})}},u=e=>{e.target===r&&(a.current=tA(i.current))};return r.addEventListener("animationstart",u),r.addEventListener("animationcancel",o),r.addEventListener("animationend",o),()=>{n.clearTimeout(t),r.removeEventListener("animationstart",u),r.removeEventListener("animationcancel",o),r.removeEventListener("animationend",o)}}d("ANIMATION_END")},[r,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:u.useCallback(e=>{if(e){let t=getComputedStyle(e);i.current=t,s.current=tA(t)}else i.current=null;o(e)},[])}}(t),o="function"==typeof n?n({present:r.isPresent}):u.Children.only(n),i=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];let r=u.useRef(t);return r.current=t,u.useCallback(e=>{let t=r.current,n=!1,o=t.map(t=>{let r=tS(t,e);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let e=0;e<o.length;e++){let n=o[e];"function"==typeof n?n():tS(t[e],null)}}},[])}(r.ref,function(e){var t,n;let r=null==(t=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:t.get,o=r&&"isReactWarning"in r&&r.isReactWarning;return o?e.ref:(o=(r=null==(n=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:n.get)&&"isReactWarning"in r&&r.isReactWarning)?e.props.ref:e.props.ref||e.ref}(o));return"function"==typeof n||r.isPresent?u.cloneElement(o,{ref:i}):null};function tS(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function tA(e){return(null==e?void 0:e.animationName)||"none"}tC.displayName="Presence";var tk=!1,tM=s[" useSyncExternalStore ".trim().toString()];function tT(){return()=>{}}var tL="function"==typeof tM?function(){return tM(tT,()=>!0,()=>!1)}:function(){let[e,t]=u.useState(tk);return u.useEffect(()=>{tk||(tk=!0,t(!0))},[]),e},tO="rovingFocusGroup.onEntryFocus",tP={bubbles:!1,cancelable:!0},tN="RovingFocusGroup",[tD,tj,tI]=C(tN),[t_,tF]=p(tN,[tI]),[tW,tz]=t_(tN),tK=u.forwardRef((e,t)=>(0,f.jsx)(tD.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(tD.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(tB,{...e,ref:t})})}));tK.displayName=tN;var tB=u.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:i,currentTabStopId:l,defaultCurrentTabStopId:a,onCurrentTabStopIdChange:s,onEntryFocus:p,preventScrollOnEntryFocus:h=!1,...m}=e,g=u.useRef(null),y=(0,d.s)(t,g),b=T(i),[x,E]=v({prop:l,defaultProp:null!=a?a:null,onChange:s,caller:tN}),[R,C]=u.useState(!1),S=L(p),A=tj(n),k=u.useRef(!1),[M,O]=u.useState(0);return u.useEffect(()=>{let e=g.current;if(e)return e.addEventListener(tO,S),()=>e.removeEventListener(tO,S)},[S]),(0,f.jsx)(tW,{scope:n,orientation:r,dir:b,loop:o,currentTabStopId:x,onItemFocus:u.useCallback(e=>E(e),[E]),onItemShiftTab:u.useCallback(()=>C(!0),[]),onFocusableItemAdd:u.useCallback(()=>O(e=>e+1),[]),onFocusableItemRemove:u.useCallback(()=>O(e=>e-1),[]),children:(0,f.jsx)(w.div,{tabIndex:R||0===M?-1:0,"data-orientation":r,...m,ref:y,style:{outline:"none",...e.style},onMouseDown:c(e.onMouseDown,()=>{k.current=!0}),onFocus:c(e.onFocus,e=>{let t=!k.current;if(e.target===e.currentTarget&&t&&!R){let t=new CustomEvent(tO,tP);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=A().filter(e=>e.focusable);t$([e.find(e=>e.active),e.find(e=>e.id===x),...e].filter(Boolean).map(e=>e.ref.current),h)}}k.current=!1}),onBlur:c(e.onBlur,()=>C(!1))})})}),tH="RovingFocusGroupItem",tU=u.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:i,children:l,...a}=e,s=q(),d=i||s,p=tz(tH,n),m=p.currentTabStopId===d,v=tj(n),{onFocusableItemAdd:g,onFocusableItemRemove:y,currentTabStopId:b}=p,x=tL();return h(()=>{if(x&&r)return g(),()=>y()},[x,r,g,y]),u.useEffect(()=>{if(!x&&r)return g(),()=>y()},[x,r,g,y]),(0,f.jsx)(tD.ItemSlot,{scope:n,id:d,focusable:r,active:o,children:(0,f.jsx)(w.span,{tabIndex:m?0:-1,"data-orientation":p.orientation,...a,ref:t,onMouseDown:c(e.onMouseDown,e=>{r?p.onItemFocus(d):e.preventDefault()}),onFocus:c(e.onFocus,()=>p.onItemFocus(d)),onKeyDown:c(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void p.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,n){var r;let o=(r=e.key,"rtl"!==n?r:"ArrowLeft"===r?"ArrowRight":"ArrowRight"===r?"ArrowLeft":r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return tV[o]}(e,p.orientation,p.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)n.reverse();else if("prev"===t||"next"===t){"prev"===t&&n.reverse();let r=n.indexOf(e.currentTarget);n=p.loop?function(e,t){return e.map((n,r)=>e[(t+r)%e.length])}(n,r+1):n.slice(r+1)}setTimeout(()=>t$(n))}}),children:"function"==typeof l?l({isCurrentTabStop:m,hasTabStop:null!=b}):l})})});tU.displayName=tH;var tV={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function t$(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}var tX=new WeakMap,tG=new WeakMap,tY={},tZ=0,tq=function(e){return e&&(e.host||tq(e.parentNode))},tJ=function(e,t,n,r){var o=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var n=tq(e);return n&&t.contains(n)?n:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});tY[n]||(tY[n]=new WeakMap);var i=tY[n],l=[],a=new Set,u=new Set(o),s=function(e){!e||a.has(e)||(a.add(e),s(e.parentNode))};o.forEach(s);var c=function(e){!e||u.has(e)||Array.prototype.forEach.call(e.children,function(e){if(a.has(e))c(e);else try{var t=e.getAttribute(r),o=null!==t&&"false"!==t,u=(tX.get(e)||0)+1,s=(i.get(e)||0)+1;tX.set(e,u),i.set(e,s),l.push(e),1===u&&o&&tG.set(e,!0),1===s&&e.setAttribute(n,"true"),o||e.setAttribute(r,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return c(t),a.clear(),tZ++,function(){l.forEach(function(e){var t=tX.get(e)-1,o=i.get(e)-1;tX.set(e,t),i.set(e,o),t||(tG.has(e)||e.removeAttribute(r),tG.delete(e)),o||e.removeAttribute(n)}),--tZ||(tX=new WeakMap,tX=new WeakMap,tG=new WeakMap,tY={})}},tQ=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||("undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),tJ(r,o,n,"aria-hidden")):function(){return null}},t0=function(){return(t0=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function t1(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}Object.create;Object.create;var t2=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),t6="width-before-scroll-bar";function t4(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var t5="undefined"!=typeof window?u.useLayoutEffect:u.useEffect,t9=new WeakMap;function t3(e){return e}var t7=function(e){void 0===e&&(e={});var t,n,r,o=(void 0===t&&(t=t3),n=[],r=!1,{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:null},useMedium:function(e){var o=t(e,r);return n.push(o),function(){n=n.filter(function(e){return e!==o})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var o=n;n=[],o.forEach(e),t=n}var i=function(){var n=t;t=[],n.forEach(e)},l=function(){return Promise.resolve().then(i)};l(),n={push:function(e){t.push(e),l()},filter:function(e){return t=t.filter(e),n}}}});return o.options=t0({async:!0,ssr:!1},e),o}(),t8=function(){},ne=u.forwardRef(function(e,t){var n,r,o,i,l=u.useRef(null),a=u.useState({onScrollCapture:t8,onWheelCapture:t8,onTouchMoveCapture:t8}),s=a[0],c=a[1],d=e.forwardProps,f=e.children,p=e.className,h=e.removeScrollBar,m=e.enabled,v=e.shards,g=e.sideCar,y=e.noRelative,w=e.noIsolation,b=e.inert,x=e.allowPinchZoom,E=e.as,R=e.gapMode,C=t1(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=(n=[l,t],r=function(e){return n.forEach(function(t){return t4(t,e)})},(o=(0,u.useState)(function(){return{value:null,callback:r,facade:{get current(){return o.value},set current(value){var e=o.value;e!==value&&(o.value=value,o.callback(value,e))}}}})[0]).callback=r,i=o.facade,t5(function(){var e=t9.get(i);if(e){var t=new Set(e),r=new Set(n),o=i.current;t.forEach(function(e){r.has(e)||t4(e,null)}),r.forEach(function(e){t.has(e)||t4(e,o)})}t9.set(i,n)},[n]),i),A=t0(t0({},C),s);return u.createElement(u.Fragment,null,m&&u.createElement(g,{sideCar:t7,removeScrollBar:h,shards:v,noRelative:y,noIsolation:w,inert:b,setCallbacks:c,allowPinchZoom:!!x,lockRef:l,gapMode:R}),d?u.cloneElement(u.Children.only(f),t0(t0({},A),{ref:S})):u.createElement(void 0===E?"div":E,t0({},A,{className:p,ref:S}),f))});ne.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},ne.classNames={fullWidth:t6,zeroRight:t2};var nt=function(e){var t=e.sideCar,n=t1(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error("Sidecar medium not found");return u.createElement(r,t0({},n))};nt.isSideCarExport=!0;var nn=function(){var e=0,t=null;return{add:function(r){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=a||n.nc;return t&&e.setAttribute("nonce",t),e}())){var o,i;(o=t).styleSheet?o.styleSheet.cssText=r:o.appendChild(document.createTextNode(r)),i=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(i)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},nr=function(){var e=nn();return function(t,n){u.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},no=function(){var e=nr();return function(t){return e(t.styles,t.dynamic),null}},ni={left:0,top:0,right:0,gap:0},nl=function(e){return parseInt(e||"",10)||0},na=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[nl(n),nl(r),nl(o)]},nu=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return ni;var t=na(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},ns=no(),nc="data-scroll-locked",nd=function(e,t,n,r){var o=e.left,i=e.top,l=e.right,a=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(a,"px ").concat(r,";\n }\n body[").concat(nc,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(i,"px;\n padding-right: ").concat(l,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(a,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(a,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(t2," {\n right: ").concat(a,"px ").concat(r,";\n }\n \n .").concat(t6," {\n margin-right: ").concat(a,"px ").concat(r,";\n }\n \n .").concat(t2," .").concat(t2," {\n right: 0 ").concat(r,";\n }\n \n .").concat(t6," .").concat(t6," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(nc,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(a,"px;\n }\n")},nf=function(){var e=parseInt(document.body.getAttribute(nc)||"0",10);return isFinite(e)?e:0},np=function(){u.useEffect(function(){return document.body.setAttribute(nc,(nf()+1).toString()),function(){var e=nf()-1;e<=0?document.body.removeAttribute(nc):document.body.setAttribute(nc,e.toString())}},[])},nh=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=void 0===r?"margin":r;np();var i=u.useMemo(function(){return nu(o)},[o]);return u.createElement(ns,{styles:nd(i,!t,o,n?"":"!important")})},nm=!1;if("undefined"!=typeof window)try{var nv=Object.defineProperty({},"passive",{get:function(){return nm=!0,!0}});window.addEventListener("test",nv,nv),window.removeEventListener("test",nv,nv)}catch(e){nm=!1}var ng=!!nm&&{passive:!1},ny=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&(n.overflowY!==n.overflowX||"TEXTAREA"===e.tagName||"visible"!==n[t])},nw=function(e,t){var n=t.ownerDocument,r=t;do{if("undefined"!=typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),nb(e,r)){var o=nx(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},nb=function(e,t){return"v"===e?ny(t,"overflowY"):ny(t,"overflowX")},nx=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},nE=function(e,t,n,r,o){var i,l=(i=window.getComputedStyle(t).direction,"h"===e&&"rtl"===i?-1:1),a=l*r,u=n.target,s=t.contains(u),c=!1,d=a>0,f=0,p=0;do{if(!u)break;var h=nx(e,u),m=h[0],v=h[1]-h[2]-l*m;(m||v)&&nb(e,u)&&(f+=v,p+=m);var g=u.parentNode;u=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!s&&u!==document.body||s&&(t.contains(u)||t===u));return d&&(o&&1>Math.abs(f)||!o&&a>f)?c=!0:!d&&(o&&1>Math.abs(p)||!o&&-a>p)&&(c=!0),c},nR=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},nC=function(e){return[e.deltaX,e.deltaY]},nS=function(e){return e&&"current"in e?e.current:e},nA=0,nk=[];let nM=(o=function(e){var t=u.useRef([]),n=u.useRef([0,0]),r=u.useRef(),o=u.useState(nA++)[0],i=u.useState(no)[0],l=u.useRef(e);u.useEffect(function(){l.current=e},[e]),u.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=(function(e,t,n){if(n||2==arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(nS),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var a=u.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!l.current.allowPinchZoom;var o,i=nR(e),a=n.current,u="deltaX"in e?e.deltaX:a[0]-i[0],s="deltaY"in e?e.deltaY:a[1]-i[1],c=e.target,d=Math.abs(u)>Math.abs(s)?"h":"v";if("touches"in e&&"h"===d&&"range"===c.type)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===c||p.contains(c)))return!1;var h=nw(d,c);if(!h)return!0;if(h?o=d:(o="v"===d?"h":"v",h=nw(d,c)),!h)return!1;if(!r.current&&"changedTouches"in e&&(u||s)&&(r.current=o),!o)return!0;var m=r.current||o;return nE(m,t,e,"h"===m?u:s,!0)},[]),s=u.useCallback(function(e){if(nk.length&&nk[nk.length-1]===i){var n="deltaY"in e?nC(e):nR(e),r=t.current.filter(function(t){var r;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(r=t.delta,r[0]===n[0]&&r[1]===n[1])})[0];if(r&&r.should){e.cancelable&&e.preventDefault();return}if(!r){var o=(l.current.shards||[]).map(nS).filter(Boolean).filter(function(t){return t.contains(e.target)});(o.length>0?a(e,o[0]):!l.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=u.useCallback(function(e,n,r,o){var i={name:e,delta:n,target:r,should:o,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(r)};t.current.push(i),setTimeout(function(){t.current=t.current.filter(function(e){return e!==i})},1)},[]),d=u.useCallback(function(e){n.current=nR(e),r.current=void 0},[]),f=u.useCallback(function(t){c(t.type,nC(t),t.target,a(t,e.lockRef.current))},[]),p=u.useCallback(function(t){c(t.type,nR(t),t.target,a(t,e.lockRef.current))},[]);u.useEffect(function(){return nk.push(i),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",s,ng),document.addEventListener("touchmove",s,ng),document.addEventListener("touchstart",d,ng),function(){nk=nk.filter(function(e){return e!==i}),document.removeEventListener("wheel",s,ng),document.removeEventListener("touchmove",s,ng),document.removeEventListener("touchstart",d,ng)}},[]);var h=e.removeScrollBar,m=e.inert;return u.createElement(u.Fragment,null,m?u.createElement(i,{styles:"\n .block-interactivity-".concat(o," {pointer-events: none;}\n .allow-interactivity-").concat(o," {pointer-events: all;}\n")}):null,h?u.createElement(nh,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},t7.useMedium(o),nt);var nT=u.forwardRef(function(e,t){return u.createElement(ne,t0({},e,{ref:t,sideCar:nM}))});nT.classNames=ne.classNames;var nL=["Enter"," "],nO=["ArrowUp","PageDown","End"],nP=["ArrowDown","PageUp","Home",...nO],nN={ltr:[...nL,"ArrowRight"],rtl:[...nL,"ArrowLeft"]},nD={ltr:["ArrowLeft"],rtl:["ArrowRight"]},nj="Menu",[nI,n_,nF]=C(nj),[nW,nz]=p(nj,[nF,ta,tF]),nK=ta(),nB=tF(),[nH,nU]=nW(nj),[nV,n$]=nW(nj),nX=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:o,onOpenChange:i,modal:l=!0}=e,a=nK(t),[s,c]=u.useState(null),d=u.useRef(!1),p=L(i),h=T(o);return u.useEffect(()=>{let e=()=>{d.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),u.useEffect(()=>{if(!n)return;let e=()=>p(!1);return window.addEventListener("blur",e),()=>window.removeEventListener("blur",e)},[n,p]),(0,f.jsx)(tc,{...a,children:(0,f.jsx)(nH,{scope:t,open:n,onOpenChange:p,content:s,onContentChange:c,children:(0,f.jsx)(nV,{scope:t,onClose:u.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:d,dir:h,modal:l,children:r})})})};nX.displayName=nj;var nG=u.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=nK(n);return(0,f.jsx)(tf,{...o,...r,ref:t})});nG.displayName="MenuAnchor";var nY="MenuPortal",[nZ,nq]=nW(nY,{forceMount:void 0}),nJ=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:o}=e,i=nU(nY,t);return(0,f.jsx)(nZ,{scope:t,forceMount:n,children:(0,f.jsx)(tC,{present:n||i.open,children:(0,f.jsx)(tR,{asChild:!0,container:o,children:r})})})};nJ.displayName=nY;var nQ="MenuContent",[n0,n1]=nW(nQ),n2=u.forwardRef((e,t)=>{let n=nq(nQ,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,i=nU(nQ,e.__scopeMenu),l=n$(nQ,e.__scopeMenu);return(0,f.jsx)(nI.Provider,{scope:e.__scopeMenu,children:(0,f.jsx)(tC,{present:r||i.open,children:(0,f.jsx)(nI.Slot,{scope:e.__scopeMenu,children:l.modal?(0,f.jsx)(n6,{...o,ref:t}):(0,f.jsx)(n4,{...o,ref:t})})})})}),n6=u.forwardRef((e,t)=>{let n=nU(nQ,e.__scopeMenu),r=u.useRef(null),o=(0,d.s)(t,r);return u.useEffect(()=>{let e=r.current;if(e)return tQ(e)},[]),(0,f.jsx)(n9,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:c(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),n4=u.forwardRef((e,t)=>{let n=nU(nQ,e.__scopeMenu);return(0,f.jsx)(n9,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),n5=(0,y.TL)("MenuContent.ScrollLock"),n9=u.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:l,disableOutsidePointerEvents:a,onEntryFocus:s,onEscapeKeyDown:p,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:v,onDismiss:g,disableOutsideScroll:y,...w}=e,b=nU(nQ,n),x=n$(nQ,n),E=nK(n),R=nB(n),C=n_(n),[S,A]=u.useState(null),k=u.useRef(null),M=(0,d.s)(t,k,b.onContentChange),T=u.useRef(0),L=u.useRef(""),O=u.useRef(0),P=u.useRef(null),D=u.useRef("right"),j=u.useRef(0),I=y?nT:u.Fragment;u.useEffect(()=>()=>window.clearTimeout(T.current),[]),u.useEffect(()=>{F||(F={start:W(),end:W()});let{start:e,end:t}=F;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),_++,()=>{1===_&&(null==F||F.start.remove(),null==F||F.end.remove(),F=null),_=Math.max(0,_-1)}},[]);let z=u.useCallback(e=>{var t,n;return D.current===(null==(t=P.current)?void 0:t.side)&&function(e,t){return!!t&&function(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],u=l.x,s=l.y,c=a.x,d=a.y;s>r!=d>r&&n<(c-u)*(r-s)/(d-s)+u&&(o=!o)}return o}({x:e.clientX,y:e.clientY},t)}(e,null==(n=P.current)?void 0:n.area)},[]);return(0,f.jsx)(n0,{scope:n,searchRef:L,onItemEnter:u.useCallback(e=>{z(e)&&e.preventDefault()},[z]),onItemLeave:u.useCallback(e=>{var t;z(e)||(null==(t=k.current)||t.focus(),A(null))},[z]),onTriggerLeave:u.useCallback(e=>{z(e)&&e.preventDefault()},[z]),pointerGraceTimerRef:O,onPointerGraceIntentChange:u.useCallback(e=>{P.current=e},[]),children:(0,f.jsx)(I,{...y?{as:n5,allowPinchZoom:!0}:void 0,children:(0,f.jsx)(H,{asChild:!0,trapped:o,onMountAutoFocus:c(i,e=>{var t;e.preventDefault(),null==(t=k.current)||t.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:(0,f.jsx)(N,{asChild:!0,disableOutsidePointerEvents:a,onEscapeKeyDown:p,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:v,onDismiss:g,children:(0,f.jsx)(tK,{asChild:!0,...R,dir:x.dir,orientation:"vertical",loop:r,currentTabStopId:S,onCurrentTabStopIdChange:A,onEntryFocus:c(s,e=>{x.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,f.jsx)(tv,{role:"menu","aria-orientation":"vertical","data-state":rE(b.open),"data-radix-menu-content":"",dir:x.dir,...E,...w,ref:M,style:{outline:"none",...w.style},onKeyDown:c(w.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!n&&r&&(e=>{var t,n;let r=L.current+e,o=C().filter(e=>!e.disabled),i=document.activeElement,l=null==(t=o.find(e=>e.ref.current===i))?void 0:t.textValue,a=function(e,t,n){var r;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,l=(r=Math.max(i,0),e.map((t,n)=>e[(r+n)%e.length]));1===o.length&&(l=l.filter(e=>e!==n));let a=l.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return a!==n?a:void 0}(o.map(e=>e.textValue),r,l),u=null==(n=o.find(e=>e.textValue===a))?void 0:n.ref.current;!function e(t){L.current=t,window.clearTimeout(T.current),""!==t&&(T.current=window.setTimeout(()=>e(""),1e3))}(r),u&&setTimeout(()=>u.focus())})(e.key));let o=k.current;if(e.target!==o||!nP.includes(e.key))return;e.preventDefault();let i=C().filter(e=>!e.disabled).map(e=>e.ref.current);nO.includes(e.key)&&i.reverse(),function(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}(i)}),onBlur:c(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(T.current),L.current="")}),onPointerMove:c(e.onPointerMove,rS(e=>{let t=e.target,n=j.current!==e.clientX;e.currentTarget.contains(t)&&n&&(D.current=e.clientX>j.current?"right":"left",j.current=e.clientX)}))})})})})})})});n2.displayName=nQ;var n3=u.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,f.jsx)(w.div,{role:"group",...r,ref:t})});n3.displayName="MenuGroup";var n7=u.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,f.jsx)(w.div,{...r,ref:t})});n7.displayName="MenuLabel";var n8="MenuItem",re="menu.itemSelect",rt=u.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...o}=e,i=u.useRef(null),l=n$(n8,e.__scopeMenu),a=n1(n8,e.__scopeMenu),s=(0,d.s)(t,i),p=u.useRef(!1);return(0,f.jsx)(rn,{...o,ref:s,disabled:n,onClick:c(e.onClick,()=>{let e=i.current;if(!n&&e){let t=new CustomEvent(re,{bubbles:!0,cancelable:!0});e.addEventListener(re,e=>null==r?void 0:r(e),{once:!0}),b(e,t),t.defaultPrevented?p.current=!1:l.onClose()}}),onPointerDown:t=>{var n;null==(n=e.onPointerDown)||n.call(e,t),p.current=!0},onPointerUp:c(e.onPointerUp,e=>{var t;p.current||null==(t=e.currentTarget)||t.click()}),onKeyDown:c(e.onKeyDown,e=>{!n&&e.target===e.currentTarget&&(""===a.searchRef.current||" "!==e.key)&&nL.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});rt.displayName=n8;var rn=u.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:o,...i}=e,l=n1(n8,n),a=nB(n),s=u.useRef(null),p=(0,d.s)(t,s),[h,m]=u.useState(!1),[v,g]=u.useState("");return u.useEffect(()=>{let e=s.current;if(e){var t;g((null!=(t=e.textContent)?t:"").trim())}},[i.children]),(0,f.jsx)(nI.ItemSlot,{scope:n,disabled:r,textValue:null!=o?o:v,children:(0,f.jsx)(tU,{asChild:!0,...a,focusable:!r,children:(0,f.jsx)(w.div,{role:"menuitem","data-highlighted":h?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:p,onPointerMove:c(e.onPointerMove,rS(e=>{r?l.onItemLeave(e):(l.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:c(e.onPointerLeave,rS(e=>l.onItemLeave(e))),onFocus:c(e.onFocus,()=>m(!0)),onBlur:c(e.onBlur,()=>m(!1))})})})}),rr=u.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...o}=e;return(0,f.jsx)(rd,{scope:e.__scopeMenu,checked:n,children:(0,f.jsx)(rt,{role:"menuitemcheckbox","aria-checked":rR(n)?"mixed":n,...o,ref:t,"data-state":rC(n),onSelect:c(o.onSelect,()=>null==r?void 0:r(!!rR(n)||!n),{checkForDefaultPrevented:!1})})})});rr.displayName="MenuCheckboxItem";var ro="MenuRadioGroup",[ri,rl]=nW(ro,{value:void 0,onValueChange:()=>{}}),ra=u.forwardRef((e,t)=>{let{value:n,onValueChange:r,...o}=e,i=L(r);return(0,f.jsx)(ri,{scope:e.__scopeMenu,value:n,onValueChange:i,children:(0,f.jsx)(n3,{...o,ref:t})})});ra.displayName=ro;var ru="MenuRadioItem",rs=u.forwardRef((e,t)=>{let{value:n,...r}=e,o=rl(ru,e.__scopeMenu),i=n===o.value;return(0,f.jsx)(rd,{scope:e.__scopeMenu,checked:i,children:(0,f.jsx)(rt,{role:"menuitemradio","aria-checked":i,...r,ref:t,"data-state":rC(i),onSelect:c(r.onSelect,()=>{var e;return null==(e=o.onValueChange)?void 0:e.call(o,n)},{checkForDefaultPrevented:!1})})})});rs.displayName=ru;var rc="MenuItemIndicator",[rd,rf]=nW(rc,{checked:!1}),rp=u.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...o}=e,i=rf(rc,n);return(0,f.jsx)(tC,{present:r||rR(i.checked)||!0===i.checked,children:(0,f.jsx)(w.span,{...o,ref:t,"data-state":rC(i.checked)})})});rp.displayName=rc;var rh=u.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,f.jsx)(w.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});rh.displayName="MenuSeparator";var rm=u.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,o=nK(n);return(0,f.jsx)(tw,{...o,...r,ref:t})});rm.displayName="MenuArrow";var[rv,rg]=nW("MenuSub"),ry="MenuSubTrigger",rw=u.forwardRef((e,t)=>{let n=nU(ry,e.__scopeMenu),r=n$(ry,e.__scopeMenu),o=rg(ry,e.__scopeMenu),i=n1(ry,e.__scopeMenu),l=u.useRef(null),{pointerGraceTimerRef:a,onPointerGraceIntentChange:s}=i,p={__scopeMenu:e.__scopeMenu},h=u.useCallback(()=>{l.current&&window.clearTimeout(l.current),l.current=null},[]);u.useEffect(()=>h,[h]),u.useEffect(()=>{let e=a.current;return()=>{window.clearTimeout(e),s(null)}},[a,s]);let m=(0,d.s)(t,o.onTriggerChange);return(0,f.jsx)(nG,{asChild:!0,...p,children:(0,f.jsx)(rn,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.open?o.contentId:void 0,"data-state":rE(n.open),...e,ref:m,onClick:t=>{var r;null==(r=e.onClick)||r.call(e,t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:c(e.onPointerMove,rS(t=>{i.onItemEnter(t),!t.defaultPrevented&&(e.disabled||n.open||l.current||(i.onPointerGraceIntentChange(null),l.current=window.setTimeout(()=>{n.onOpenChange(!0),h()},100)))})),onPointerLeave:c(e.onPointerLeave,rS(e=>{var t,r;h();let o=null==(t=n.content)?void 0:t.getBoundingClientRect();if(o){let t=null==(r=n.content)?void 0:r.dataset.side,l="right"===t,u=o[l?"left":"right"],s=o[l?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+(l?-5:5),y:e.clientY},{x:u,y:o.top},{x:s,y:o.top},{x:s,y:o.bottom},{x:u,y:o.bottom}],side:t}),window.clearTimeout(a.current),a.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:c(e.onKeyDown,t=>{if(!e.disabled&&t.target===t.currentTarget&&(""===i.searchRef.current||" "!==t.key)&&nN[r.dir].includes(t.key)){var o;n.onOpenChange(!0),null==(o=n.content)||o.focus(),t.preventDefault()}})})})});rw.displayName=ry;var rb="MenuSubContent",rx=u.forwardRef((e,t)=>{let n=nq(nQ,e.__scopeMenu),{forceMount:r=n.forceMount,align:o="start",...i}=e,l=nU(nQ,e.__scopeMenu),a=n$(nQ,e.__scopeMenu),s=rg(rb,e.__scopeMenu),p=u.useRef(null),h=(0,d.s)(t,p);return(0,f.jsx)(nI.Provider,{scope:e.__scopeMenu,children:(0,f.jsx)(tC,{present:r||l.open,children:(0,f.jsx)(nI.Slot,{scope:e.__scopeMenu,children:(0,f.jsx)(n9,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:h,align:o,side:"rtl"===a.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{var t;a.isUsingKeyboardRef.current&&(null==(t=p.current)||t.focus()),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:c(e.onFocusOutside,e=>{e.target!==s.trigger&&l.onOpenChange(!1)}),onEscapeKeyDown:c(e.onEscapeKeyDown,e=>{a.onClose(),e.preventDefault()}),onKeyDown:c(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=nD[a.dir].includes(e.key);if(t&&n){var r;l.onOpenChange(!1),null==(r=s.trigger)||r.focus(),e.preventDefault()}})})})})})});function rE(e){return e?"open":"closed"}function rR(e){return"indeterminate"===e}function rC(e){return rR(e)?"indeterminate":e?"checked":"unchecked"}function rS(e){return t=>"mouse"===t.pointerType?e(t):void 0}rx.displayName=rb;var rA="DropdownMenu",[rk,rM]=p(rA,[nz]),rT=nz(),[rL,rO]=rk(rA),rP=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:o,defaultOpen:i,onOpenChange:l,modal:a=!0}=e,s=rT(t),c=u.useRef(null),[d,p]=v({prop:o,defaultProp:null!=i&&i,onChange:l,caller:rA});return(0,f.jsx)(rL,{scope:t,triggerId:q(),triggerRef:c,contentId:q(),open:d,onOpenChange:p,onOpenToggle:u.useCallback(()=>p(e=>!e),[p]),modal:a,children:(0,f.jsx)(nX,{...s,open:d,onOpenChange:p,dir:r,modal:a,children:n})})};rP.displayName=rA;var rN="DropdownMenuTrigger",rD=u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,i=rO(rN,n),l=rT(n),a=(0,d.s)(t,i.triggerRef);return(0,f.jsx)(nG,{asChild:!0,...l,children:(0,f.jsx)(w.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:a,onPointerDown:c(e.onPointerDown,e=>{!r&&0===e.button&&!1===e.ctrlKey&&(i.onOpenToggle(),i.open||e.preventDefault())}),onKeyDown:c(e.onKeyDown,e=>{!r&&(["Enter"," "].includes(e.key)&&i.onOpenToggle(),"ArrowDown"===e.key&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});rD.displayName=rN;var rj=e=>{let{__scopeDropdownMenu:t,...n}=e,r=rT(t);return(0,f.jsx)(nJ,{...r,...n})};rj.displayName="DropdownMenuPortal";var rI="DropdownMenuContent",r_=u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rO(rI,n),i=rT(n),l=u.useRef(!1);return(0,f.jsx)(n2,{id:o.contentId,"aria-labelledby":o.triggerId,...i,...r,ref:t,onCloseAutoFocus:c(e.onCloseAutoFocus,e=>{var t;l.current||null==(t=o.triggerRef.current)||t.focus(),l.current=!1,e.preventDefault()}),onInteractOutside:c(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;(!o.modal||r)&&(l.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});r_.displayName=rI,u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(n3,{...o,...r,ref:t})}).displayName="DropdownMenuGroup",u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(n7,{...o,...r,ref:t})}).displayName="DropdownMenuLabel";var rF=u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(rt,{...o,...r,ref:t})});rF.displayName="DropdownMenuItem",u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(rr,{...o,...r,ref:t})}).displayName="DropdownMenuCheckboxItem",u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(ra,{...o,...r,ref:t})}).displayName="DropdownMenuRadioGroup",u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(rs,{...o,...r,ref:t})}).displayName="DropdownMenuRadioItem",u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(rp,{...o,...r,ref:t})}).displayName="DropdownMenuItemIndicator";var rW=u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(rh,{...o,...r,ref:t})});rW.displayName="DropdownMenuSeparator",u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(rm,{...o,...r,ref:t})}).displayName="DropdownMenuArrow",u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(rw,{...o,...r,ref:t})}).displayName="DropdownMenuSubTrigger",u.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,o=rT(n);return(0,f.jsx)(rx,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent";var rz=rP,rK=rD,rB=rj,rH=r_,rU=rF,rV=rW}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8002],{306:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return g},defaultHead:function(){return c}});let n=r(4931),i=r(6632),o=r(4568),l=i._(r(7620)),a=n._(r(2479)),u=r(550),s=r(9892),d=r(7245);function c(e){void 0===e&&(e=!1);let t=[(0,o.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(560);let p=["name","httpEquiv","charSet","itemProp"];function m(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(c(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return i=>{let o=!0,l=!1;if(i.key&&"number"!=typeof i.key&&i.key.indexOf("$")>0){l=!0;let t=i.key.slice(i.key.indexOf("$")+1);e.has(t)?o=!1:e.add(t)}switch(i.type){case"title":case"base":t.has(i.type)?o=!1:t.add(i.type);break;case"meta":for(let e=0,t=p.length;e<t;e++){let t=p[e];if(i.props.hasOwnProperty(t))if("charSet"===t)r.has(t)?o=!1:r.add(t);else{let e=i.props[t],r=n[t]||new Set;("name"!==t||!l)&&r.has(e)?o=!1:(r.add(e),n[t]=r)}}}return o}}()).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let g=function(e){let{children:t}=e,r=(0,l.useContext)(u.AmpStateContext),n=(0,l.useContext)(s.HeadManagerContext);return(0,o.jsx)(a.default,{reduceComponentsToState:m,headManager:n,inAmpMode:(0,d.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},489:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return _}});let n=r(4931),i=r(6632),o=r(4568),l=i._(r(7620)),a=n._(r(7509)),u=n._(r(306)),s=r(6145),d=r(7222),c=r(7765);r(560);let f=r(2640),p=n._(r(6675)),m=r(7424),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,i,o,l){let a=null==e?void 0:e.src;e&&e["data-loaded-src"]!==a&&(e["data-loaded-src"]=a,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}}))}function b(e){return l.use?{fetchPriority:e}:{fetchpriority:e}}let v=(0,l.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:i,height:a,width:u,decoding:s,className:d,style:c,fetchPriority:f,placeholder:p,loading:g,unoptimized:v,fill:y,onLoadRef:_,onLoadingCompleteRef:w,setBlurComplete:O,setShowAltText:j,sizesInput:P,onLoad:S,onError:x,...C}=e,E=(0,l.useCallback)(e=>{e&&(x&&(e.src=e.src),e.complete&&h(e,p,_,w,O,v,P))},[r,p,_,w,O,x,v,P]),z=(0,m.useMergedRef)(t,E);return(0,o.jsx)("img",{...C,...b(f),loading:g,width:u,height:a,decoding:s,"data-nimg":y?"fill":"1",className:d,style:c,sizes:i,srcSet:n,src:r,ref:z,onLoad:e=>{h(e.currentTarget,p,_,w,O,v,P)},onError:e=>{j(!0),"empty"!==p&&O(!0),x&&x(e)}})});function y(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...b(r.fetchPriority)};return t&&a.default.preload?(a.default.preload(r.src,n),null):(0,o.jsx)(u.default,{children:(0,o.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...n},"__nimg-"+r.src+r.srcSet+r.sizes)})}let _=(0,l.forwardRef)((e,t)=>{let r=(0,l.useContext)(f.RouterContext),n=(0,l.useContext)(c.ImageConfigContext),i=(0,l.useMemo)(()=>{var e;let t=g||n||d.imageConfigDefault,r=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),i=t.deviceSizes.sort((e,t)=>e-t),o=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:r,deviceSizes:i,qualities:o}},[n]),{onLoad:a,onLoadingComplete:u}=e,m=(0,l.useRef)(a);(0,l.useEffect)(()=>{m.current=a},[a]);let h=(0,l.useRef)(u);(0,l.useEffect)(()=>{h.current=u},[u]);let[b,_]=(0,l.useState)(!1),[w,O]=(0,l.useState)(!1),{props:j,meta:P}=(0,s.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:b,showAltText:w});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(v,{...j,unoptimized:P.unoptimized,placeholder:P.placeholder,fill:P.fill,onLoadRef:m,onLoadingCompleteRef:h,setBlurComplete:_,setShowAltText:O,sizesInput:e.sizes,ref:t}),P.priority?(0,o.jsx)(y,{isAppRouter:!r,imgAttributes:j}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},550:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(4931)._(r(7620)).default.createContext({})},2479:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(7620),i=n.useLayoutEffect,o=n.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function l(){if(t&&t.mountedInstances){let i=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(i,e))}}return i(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),i(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),o(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},2536:(e,t,r)=>{r.d(t,{default:()=>i.a});var n=r(4895),i=r.n(n)},2539:(e,t,r)=>{r.d(t,{k5:()=>d});var n=r(7620),i={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},o=n.createContext&&n.createContext(i),l=["attr","size","title"];function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){var n,i,o;n=e,i=t,o=r[t],(i=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(i))in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function d(e){return t=>n.createElement(c,a({attr:s({},e.attr)},t),function e(t){return t&&t.map((t,r)=>n.createElement(t.tag,s({key:r},t.attr),e(t.child)))}(e.child))}function c(e){var t=t=>{var r,i=e.attr,o=e.size,u=e.title,d=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(e,l),c=o||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),n.createElement("svg",a({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,i,d,{className:r,style:s(s({color:e.color||t.color},t.style),e.style),height:c,width:c,xmlns:"http://www.w3.org/2000/svg"}),u&&n.createElement("title",null,u),e.children)};return void 0!==o?n.createElement(o.Consumer,null,e=>t(e)):t(i)}},2640:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(4931)._(r(7620)).default.createContext(null)},4895:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return u},getImageProps:function(){return a}});let n=r(4931),i=r(6145),o=r(489),l=n._(r(6675));function a(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let u=o.Image},5354:(e,t)=>{function r(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:i,blurDataURL:o,objectFit:l}=e,a=n?40*n:t,u=i?40*i:r,s=a&&u?"viewBox='0 0 "+a+" "+u+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+s+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(s?"none":"contain"===l?"xMidYMid":"cover"===l?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+o+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},6145:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return u}}),r(560);let n=r(5354),i=r(7222),o=["-moz-initial","fill","none","scale-down",void 0];function l(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u(e,t){var r,u;let s,d,c,{src:f,sizes:p,unoptimized:m=!1,priority:g=!1,loading:h,className:b,quality:v,width:y,height:_,fill:w=!1,style:O,overrideSrc:j,onLoad:P,onLoadingComplete:S,placeholder:x="empty",blurDataURL:C,fetchPriority:E,decoding:z="async",layout:R,objectFit:M,objectPosition:k,lazyBoundary:I,lazyRoot:D,...N}=e,{imgConf:A,showAltText:T,blurComplete:F,defaultLoader:L}=t,U=A||i.imageConfigDefault;if("allSizes"in U)s=U;else{let e=[...U.deviceSizes,...U.imageSizes].sort((e,t)=>e-t),t=U.deviceSizes.sort((e,t)=>e-t),n=null==(r=U.qualities)?void 0:r.sort((e,t)=>e-t);s={...U,allSizes:e,deviceSizes:t,qualities:n}}if(void 0===L)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let B=N.loader||L;delete N.loader,delete N.srcSet;let G="__next_img_default"in B;if(G){if("custom"===s.loader)throw Object.defineProperty(Error('Image with src "'+f+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=B;B=t=>{let{config:r,...n}=t;return e(n)}}if(R){"fill"===R&&(w=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[R];e&&(O={...O,...e});let t={responsive:"100vw",fill:"100vw"}[R];t&&!p&&(p=t)}let q="",W=a(y),V=a(_);if((u=f)&&"object"==typeof u&&(l(u)||void 0!==u.src)){let e=l(f)?f.default:f;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(d=e.blurWidth,c=e.blurHeight,C=C||e.blurDataURL,q=e.src,!w)if(W||V){if(W&&!V){let t=W/e.width;V=Math.round(e.height*t)}else if(!W&&V){let t=V/e.height;W=Math.round(e.width*t)}}else W=e.width,V=e.height}let H=!g&&("lazy"===h||void 0===h);(!(f="string"==typeof f?f:q)||f.startsWith("data:")||f.startsWith("blob:"))&&(m=!0,H=!1),s.unoptimized&&(m=!0),G&&!s.dangerouslyAllowSVG&&f.split("?",1)[0].endsWith(".svg")&&(m=!0);let X=a(v),$=Object.assign(w?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:M,objectPosition:k}:{},T?{}:{color:"transparent"},O),J=F||"empty"===x?null:"blur"===x?'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:W,heightInt:V,blurWidth:d,blurHeight:c,blurDataURL:C||"",objectFit:$.objectFit})+'")':'url("'+x+'")',Y=o.includes($.objectFit)?"fill"===$.objectFit?"100% 100%":"cover":$.objectFit,K=J?{backgroundSize:Y,backgroundPosition:$.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:J}:{},Q=function(e){let{config:t,src:r,unoptimized:n,width:i,quality:o,sizes:l,loader:a}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:u,kind:s}=function(e,t,r){let{deviceSizes:n,allSizes:i}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:i.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:i,kind:"w"}}return"number"!=typeof t?{widths:n,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>i.find(t=>t>=e)||i[i.length-1]))],kind:"x"}}(t,i,l),d=u.length-1;return{sizes:l||"w"!==s?l:"100vw",srcSet:u.map((e,n)=>a({config:t,src:r,quality:o,width:e})+" "+("w"===s?e:n+1)+s).join(", "),src:a({config:t,src:r,quality:o,width:u[d]})}}({config:s,src:f,unoptimized:m,width:W,quality:X,sizes:p,loader:B});return{props:{...N,loading:H?"lazy":h,fetchPriority:E,width:W,height:V,decoding:z,className:b,style:{...$,...K},sizes:Q.sizes,srcSet:Q.srcSet,src:j||Q.src},meta:{unoptimized:m,priority:g,placeholder:x,fill:w}}}},6675:(e,t)=>{function r(e){var t;let{config:r,src:n,width:i,quality:o}=e,l=o||(null==(t=r.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75)<Math.abs(e-75)?t:e))||75;return r.path+"?url="+encodeURIComponent(n)+"&w="+i+"&q="+l+(n.startsWith("/_next/static/media/"),"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}}),r.__next_img_default=!0;let n=r},7222:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},7245:(e,t)=>{function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},7765:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return o}});let n=r(4931)._(r(7620)),i=r(7222),o=n.default.createContext(i.imageConfigDefault)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9188],{826:(e,t,r)=>{r.d(t,{cn:()=>s});var n=r(2902),a=r(3714);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.QP)((0,n.$)(t))}},997:(e,t,r)=>{r.d(t,{I:()=>l});var n=r(4568),a=r(7431),s=r(1598),i=r(8049);let o={"remote-secret-write":{advanced:{title:"Confirm harness repo Actions secret writes",bullets:["Writes encrypted GitHub Actions secrets to the harness dispatch repo only.","HARNESS_CONFIG_JSON_B64 is generated server-side from local config.","Secret values are never returned in previews, results, or errors.","No target repo branches, PRs, Linear writes, or harness phases will run."],label:"I reviewed the harness secret preview and want to write these Actions secrets."},guided:{title:"Confirm cloud secrets write",bullets:["This writes encrypted GitHub Actions secrets to the harness repo.","Preflight runs automatically before apply when you skip preview.","It does not run the harness, create branches, open PRs, or change your target app.","Secret values are never shown in previews, results, or errors."],label:"I understand this will create or update encrypted GitHub Actions secrets in the harness repo."}},"vercel-bridge-write":{advanced:{title:"Confirm Vercel deployment settings",bullets:["May save the selected Vercel account/team and project for this harness.","May configure required application-preview or deployment settings.","Verifies the resulting Vercel connection after apply.","PDev does not delete the Vercel project or production deployment unless that deletion is explicitly supported and separately confirmed."],label:"I understand PDev will save the selected Vercel team and project, configure required deployment settings, and verify the connection. PDev will not delete the Vercel project or production deployment unless separately confirmed."},guided:{title:"Confirm Vercel settings write",bullets:["This may create or update Vercel production environment variables and configure the Linear webhook bridge.","It does not run the harness, create branches, open PRs, or change your target app.","Secret values are never shown in previews, results, or errors."],label:"I understand this will write Vercel environment variables and configure the Linear webhook bridge."}},"remote-repo-write":{advanced:{title:"Confirm target workflow branch and PR install",bullets:["Creates or updates an install branch and opens or reuses a PR.","Never writes directly to the target repo production or main branch.","No harness repo secret writes, Linear writes, or harness phases will run."],label:"I reviewed the workflow preview and want to create or update the install PR."},guided:{title:"Confirm workflow install PR",bullets:["This may create or update an install branch and open or reuse a PR.","Preflight runs automatically before apply when you skip preview.","It does not merge the PR, write directly to main/production, run the harness, or write Linear."],label:"I understand this will create or update the workflow install PR in the target repo."}},"linear-write":{advanced:{title:"Confirm Linear workspace writes",bullets:["May create or repair required workflow statuses for the selected teams.","Saves team and project connections and updates required Linear project metadata.","Detaching a project may remove only the PDev-managed metadata block when no associations remain.","PDev will not delete Linear teams, projects, issues, or statuses."],label:"I understand PDev will create or repair the required workflow statuses for the selected teams, save these team and project connections, and update the Linear project metadata required by the harness. PDev will not delete Linear teams, projects, issues, or statuses."},guided:{title:"Confirm Linear workspace setup",bullets:["This may create missing Linear workflow statuses or workspace resources.","It does not run harness automation or modify your target app repo."],label:"I understand this will apply Linear workspace setup changes."}}};function l(e){let{scope:t,confirmed:r,disabled:l=!1,disabledReason:c,variant:d="advanced",onConfirmedChange:p}=e,u=o[t][d];return(0,n.jsxs)("div",{className:a.PI.confirmationBox,children:[(0,n.jsx)("p",{className:"text-sm font-medium",children:u.title}),(0,n.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-sm text-muted-foreground",children:u.bullets.map(e=>(0,n.jsx)("li",{children:e},e))}),(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(s.S,{id:"confirm-".concat(t),checked:r,disabled:l,onChange:e=>p(e.target.checked)}),(0,n.jsx)(i.J,{htmlFor:"confirm-".concat(t),className:"text-sm leading-snug",children:u.label})]}),l&&c?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:c}):null]})}},1598:(e,t,r)=>{r.d(t,{S:()=>i});var n=r(4568),a=r(7620),s=r(826);let i=a.forwardRef((e,t)=>{let{className:r,type:a="checkbox",...i}=e;return(0,n.jsx)("input",{type:a,className:(0,s.cn)("h-4 w-4 shrink-0 cursor-pointer rounded border border-input accent-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...i})});i.displayName="Checkbox"},1784:(e,t,r)=>{r.d(t,{S:()=>l,Z:()=>o});var n=r(4568),a=r(1342),s=r(826);let i="size-4 shrink-0 text-muted-foreground";function o(e){let{serviceKey:t,className:r}=e,o=(0,s.cn)(i,r);switch(t){case"LINEAR_API_KEY":return(0,n.jsx)(a.iU0,{className:o,"aria-hidden":"true"});case"CURSOR_API_KEY":return(0,n.jsx)(a.biF,{className:o,"aria-hidden":"true"});case"GITHUB_TOKEN":return(0,n.jsx)(a.SrF,{className:o,"aria-hidden":"true"});case"VERCEL_TOKEN":return(0,n.jsx)(a.ogR,{className:o,"aria-hidden":"true"})}}function l(e){let{className:t}=e;return(0,n.jsx)(a.SrF,{className:(0,s.cn)(i,t),"aria-hidden":"true"})}},1980:(e,t,r)=>{r.d(t,{A:()=>v,INITIAL_SERVICE_VERIFICATION:()=>b});var n=r(4568),a=r(7431),s=r(2779),i=r(8049),o=r(6845),l=r(5102),c=r(1784),d=r(5716),p=r(5750);let u="https://github.com/settings/tokens",h=[{id:"repo",description:"read and write repository contents, including private target repos and harness repo secrets"},{id:"workflow",description:"update GitHub Actions workflow files when the harness opens workflow install PRs"}];var m=r(2536);let f={generateNewToken:"/setup/github-token/github-pat-generate-new-token.png",generateClassic:"/setup/github-token/github-pat-generate-classic.png",verifyEmail:"/setup/github-token/github-pat-verify-email.png"};function g(e){let{src:t,alt:r}=e;return(0,n.jsx)("div",{className:"overflow-hidden rounded-md border border-border bg-muted/20",children:(0,n.jsx)(m.default,{src:t,alt:r,width:640,height:360,className:"h-auto w-full max-w-sm",sizes:"(max-width: 640px) 100vw, 320px"})})}function y(){return(0,n.jsxs)("details",{className:"rounded-md border border-border/80 bg-muted/10 p-3",children:[(0,n.jsx)("summary",{className:"cursor-pointer text-sm text-muted-foreground hover:text-foreground",children:"How do I get a GitHub token?"}),(0,n.jsxs)("ol",{className:"mt-3 list-decimal space-y-4 pl-5 text-sm text-muted-foreground",children:[(0,n.jsxs)("li",{className:"space-y-1",children:[(0,n.jsxs)("p",{children:["Go to"," ",(0,n.jsx)("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"text-foreground underline underline-offset-2",children:u}),"."]}),(0,n.jsxs)("p",{className:a.PI.secretHint,children:["Open ",(0,n.jsx)("strong",{className:"font-medium text-foreground",children:"Personal access tokens"})," ","and choose the ",(0,n.jsx)("strong",{className:"font-medium text-foreground",children:"Tokens (classic)"})," ","tab if GitHub shows both classic and fine-grained options."]})]}),(0,n.jsxs)("li",{className:"space-y-2",children:[(0,n.jsxs)("p",{children:["Click ",(0,n.jsx)("strong",{className:"font-medium text-foreground",children:"Generate new token"}),"."]}),(0,n.jsx)(g,{src:f.generateNewToken,alt:"GitHub Personal access tokens page with Generate new token button"})]}),(0,n.jsxs)("li",{className:"space-y-2",children:[(0,n.jsxs)("p",{children:["Choose"," ",(0,n.jsx)("strong",{className:"font-medium text-foreground",children:"Generate new token (classic)"}),"."]}),(0,n.jsx)("p",{className:a.PI.secretHint,children:"Use classic for the guided happy path. Fine-grained tokens can work, but they require repo-specific permissions and are better for advanced setup."}),(0,n.jsx)(g,{src:f.generateClassic,alt:"GitHub dropdown showing Generate new token classic for general use"})]}),(0,n.jsxs)("li",{className:"space-y-2",children:[(0,n.jsx)("p",{children:"If GitHub asks you to verify your email, complete that step before continuing."}),(0,n.jsx)(g,{src:f.verifyEmail,alt:"GitHub email verification prompt with Verify via email button"})]}),(0,n.jsxs)("li",{children:["Give the token a clear name, for example"," ",(0,n.jsx)("strong",{className:"font-medium text-foreground",children:"Product Development Harness"}),"."]}),(0,n.jsxs)("li",{className:"space-y-1",children:[(0,n.jsx)("p",{children:"Select these scopes:"}),(0,n.jsx)("ul",{className:"list-disc space-y-1 pl-5",children:h.map(e=>(0,n.jsxs)("li",{children:[(0,n.jsx)("strong",{className:"font-medium text-foreground",children:e.id})," — ",e.description]},e.id))})]}),(0,n.jsxs)("li",{children:["Click ",(0,n.jsx)("strong",{className:"font-medium text-foreground",children:"Generate token"})," ","at the bottom of the page."]}),(0,n.jsxs)("li",{className:"space-y-1",children:[(0,n.jsx)("p",{children:"Copy the token immediately and store it somewhere safe. GitHub only shows it once."}),(0,n.jsx)("p",{className:a.PI.secretHint,children:"Paste the copied token into the field above, then click Verify."})]})]}),(0,n.jsxs)("div",{className:"mt-4 rounded-md border border-dashed border-border/80 bg-background/50 p-3 text-xs text-muted-foreground",children:[(0,n.jsx)("p",{className:"font-medium text-foreground",children:"Advanced option"}),(0,n.jsx)("p",{className:"mt-1",children:"Fine-grained tokens can also work if they have access to each target repo and include Contents write plus Workflows write permissions. Use this only if you want repo-specific access control."})]})]})}let b={LINEAR_API_KEY:{state:"unchecked"},CURSOR_API_KEY:{state:"unchecked"},GITHUB_TOKEN:{state:"unchecked"},VERCEL_TOKEN:{state:"unchecked"}},x=[{key:"LINEAR_API_KEY",id:"linear-api-key",displayName:"Linear",valueKey:"linearApiKey",helperText:"Lets the harness read and update Linear issues.",inputLabel:"Copy an existing Linear API key or create a new one, then paste it here."},{key:"CURSOR_API_KEY",id:"cursor-api-key",displayName:"Cursor",valueKey:"cursorApiKey",helperText:"Used to spin up Cursor agents that do the planning and development work.",inputLabel:"Copy an existing Cursor API key or create a new one, then paste it here."},{key:"GITHUB_TOKEN",id:"github-token",displayName:"GitHub",valueKey:"githubToken",helperText:"Use a classic GitHub personal access token with repo and workflow access. This lets the harness check your repos, save encrypted setup secrets, and open workflow install PRs later.",inputLabel:"Copy an existing GitHub personal access token or create a new one, then paste it here."},{key:"VERCEL_TOKEN",id:"vercel-token",displayName:"Vercel",valueKey:"vercelToken",helperText:"Used to configure the PDev automation bridge hosted on Vercel (not target-app preview deployment).",inputLabel:"Copy an existing Vercel token or create a new one, then paste it here."}];function v(e){let{values:t,presence:r,highlightDispatchRepo:o=!1,variant:l="advanced",verification:c=b,verifyingKey:d=null,onChange:p,onVerifyService:u,onServiceBlur:h}=e,m=e=>{p({...t,...e})};return"guided-services"===l?(0,n.jsx)("div",{className:"space-y-4",children:x.map(e=>(0,n.jsx)(w,{id:e.id,serviceKey:e.key,displayName:e.displayName,helperText:e.helperText,inputLabel:e.inputLabel,present:r[e.key],value:t[e.valueKey],verification:c[e.key],verifying:d===e.key,onChange:t=>m({[e.valueKey]:t}),onVerify:u?()=>u(e.key):void 0,onBlur:h?()=>h(e.key):void 0},e.key))}):(0,n.jsxs)("div",{className:a.PI.fieldGrid,children:[(0,n.jsxs)("div",{className:a.PI.fieldStack,children:[(0,n.jsx)(i.J,{htmlFor:"harness-config-path",children:"HARNESS_CONFIG_PATH"}),(0,n.jsx)(s.p,{id:"harness-config-path",value:t.harnessConfigPath,onChange:e=>m({harnessConfigPath:e.target.value}),autoComplete:"off"}),(0,n.jsx)("p",{className:a.PI.secretHint,children:"Recommended: .harness/config.local.json"})]}),(0,n.jsxs)("div",{className:a.PI.fieldStack,children:[(0,n.jsx)(i.J,{htmlFor:"github-dispatch-repository",children:"GITHUB_DISPATCH_REPOSITORY"}),(0,n.jsx)(s.p,{id:"github-dispatch-repository",value:t.githubDispatchRepository,onChange:e=>m({githubDispatchRepository:e.target.value}),autoComplete:"off",className:o?"border-destructive/60":void 0}),(0,n.jsxs)("p",{className:a.PI.secretHint,children:["Harness repo used for remote setup checks and Actions secret writes.",o?" This value still points at an old disposable smoke-test repo.":" Defaults to git remote origin when unset."]})]}),x.map(e=>(0,n.jsx)(k,{id:e.id,label:e.key,present:r[e.key],value:t[e.valueKey],onChange:t=>m({[e.valueKey]:t})},e.key))]})}function w(e){var t;let{id:r,serviceKey:u,displayName:h,helperText:m,inputLabel:f,present:g,value:b,verification:x,verifying:v,onChange:w,onVerify:k,onBlur:j}=e,N=(0,p.SZ)(g,x,b),T=function(e){switch(e){case"checking":return{label:"Checking",variant:"secondary"};case"connected":return{label:"Connected",variant:"success"};case"failed":return{label:"Failed",variant:"destructive"};default:return{label:"Not connected yet",variant:"secondary"}}}(N),P=(t={present:g,state:N}).present&&"connected"===t.state?{label:"Saved locally and connected",variant:"success"}:t.present?{label:"Saved locally",variant:"secondary"}:null,S=b.trim(),C="connected"===x.state&&(S?(0,p.Mz)(x,S):g),I="failed"===x.state&&(S?(0,p.DR)(x,S):g),O=C&&!!x.message,E=I&&!!x.message,R=v||C||!S&&!g;return(0,n.jsxs)("div",{className:"rounded-lg border border-border bg-card p-4 space-y-3",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,n.jsx)("div",{className:"space-y-1",children:(0,n.jsxs)("p",{className:"inline-flex items-center gap-2 text-sm font-medium",children:[(0,n.jsx)(c.Z,{serviceKey:u}),(0,n.jsx)("span",{children:h})]})}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[P?(0,n.jsx)(l.W,{label:P.label,variant:P.variant}):null,P&&"connected"===N?null:(0,n.jsx)(l.W,{label:T.label,variant:T.variant})]})]}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:m}),(0,n.jsxs)("div",{className:a.PI.fieldStack,children:[(0,n.jsx)(i.J,{htmlFor:r,children:null!=f?f:u}),(0,n.jsx)(s.p,{id:r,type:"password",value:b,onChange:e=>w(e.target.value),onBlur:j,placeholder:g?"Leave blank to keep existing value":"Enter value",autoComplete:"off"})]}),"GITHUB_TOKEN"===u?(0,n.jsx)(y,{}):null,(0,n.jsxs)("div",{className:"flex flex-col items-start gap-2",children:[O?(0,n.jsx)(d.r,{message:x.message}):E?(0,n.jsx)(d.r,{message:x.message,failed:!0}):g&&"unchecked"===x.state&&!S?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"A key is already saved in `.env.local`. Verify it if you want to confirm it still works."}):null,x.limitation&&(C||I)?(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:x.limitation}):null,k?(0,n.jsx)(o.$,{type:"button",variant:"outline",size:"sm",onClick:k,disabled:R,children:v?"Verifying and saving…":C?"Verified":"Verify and save"}):null]})]})}function k(e){let{id:t,label:r,present:o,value:c,helperText:d,onChange:p}=e;return(0,n.jsxs)("div",{className:a.PI.fieldStack,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(i.J,{htmlFor:t,children:r}),(0,n.jsx)(l.W,{label:o?"Set":"Not configured yet",variant:o?"success":"secondary"})]}),(0,n.jsx)(s.p,{id:t,type:"password",value:c,onChange:e=>p(e.target.value),placeholder:o?"Leave blank to keep existing value":"Enter value",autoComplete:"off"}),d?(0,n.jsx)("p",{className:a.PI.secretHint,children:d}):o?(0,n.jsx)("p",{className:a.PI.secretHint,children:"Existing values are never shown. Leave blank to preserve a set key."}):null]})}},2700:(e,t,r)=>{r.d(t,{BT:()=>s,Lq:()=>a,Os:()=>b,PA:()=>o,VK:()=>p,XC:()=>d,ZS:()=>u,_Z:()=>x,b:()=>c,bY:()=>g,fY:()=>y,h8:()=>f,l3:()=>i,mD:()=>v,sJ:()=>m,xD:()=>l});var n=r(8277);async function a(e){let t=await fetch("/api/setup/preview-connect-services",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return(0,n.V)(t,"POST /api/setup/preview-connect-services")}async function s(e){let t=await fetch("/api/setup/apply-connect-services",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({env:e.env,confirmed:!0,fingerprint:e.fingerprint})});return(0,n.V)(t,"POST /api/setup/apply-connect-services")}async function i(e){let t=await fetch("/api/setup/verify-service",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return(0,n.V)(t,"POST /api/setup/verify-service")}async function o(e){let t=await fetch("/api/setup/preview-linear-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return(0,n.V)(t,"POST /api/setup/preview-linear-setup")}async function l(e){let t=await fetch("/api/setup/apply-linear-workspace",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:e.plan,confirmed:!0,fingerprint:e.fingerprint})});return(0,n.V)(t,"POST /api/setup/apply-linear-workspace")}async function c(e){let t=await fetch("/api/setup/preview-linear-workspace",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return(0,n.V)(t,"POST /api/setup/preview-linear-workspace")}async function d(e){let t=await fetch("/api/setup/apply-linear-setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:e.plan,confirmed:!0,fingerprint:e.fingerprint})});return(0,n.V)(t,"POST /api/setup/apply-linear-setup")}async function p(e){let t=await fetch("/api/setup/preview-vercel-bridge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return(0,n.V)(t,"POST /api/setup/preview-vercel-bridge")}async function u(e){let t=await fetch("/api/setup/apply-vercel-bridge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:e.plan,confirmed:!0,fingerprint:e.fingerprint})});return(0,n.V)(t,"POST /api/setup/apply-vercel-bridge")}let h=null;function m(){h&&(h.abort(),h=null)}async function f(e){m();let t=new AbortController;h=t,(null==e?void 0:e.signal)&&(e.signal.aborted?t.abort():e.signal.addEventListener("abort",()=>{t.abort()},{once:!0}));try{let e=await fetch("/api/setup/runner-upgrade-status",{signal:t.signal});return await (0,n.V)(e,"GET /api/setup/runner-upgrade-status")}finally{h===t&&(h=null)}}async function g(){let e=await fetch("/api/setup/preview-runner-upgrade",{method:"POST",headers:{"Content-Type":"application/json"}});return(0,n.V)(e,"POST /api/setup/preview-runner-upgrade")}async function y(e){let t=await fetch("/api/setup/apply-runner-upgrade",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({confirmed:!0,previewFingerprint:e.previewFingerprint,resume:!0===e.resume})}),r=await t.text();if(202!==t.status){let e="Setup request failed: POST /api/setup/apply-runner-upgrade returned HTTP ".concat(t.status);try{let t=JSON.parse(r);t.error&&(e=t.error)}catch(e){}throw Error(e)}if(!r.trim())throw Error("Setup request failed: POST /api/setup/apply-runner-upgrade returned an empty response body");return JSON.parse(r)}async function b(){let e=await fetch("/api/setup/runner-upgrade-progress");return(0,n.V)(e,"GET /api/setup/runner-upgrade-progress").then(e=>e.progress)}async function x(e){let t=await fetch("/api/settings/preview-config-patch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({patch:e.patch,verifyBranches:e.verifyBranches,requireDistinctBranches:e.requireDistinctBranches})});return(0,n.V)(t,"POST /api/settings/preview-config-patch")}async function v(e){let t=await fetch("/api/settings/apply-config-patch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({patch:e.patch,expectedConfigFingerprint:e.expectedConfigFingerprint,confirmed:!0,verifyBranches:e.verifyBranches,requireDistinctBranches:e.requireDistinctBranches})});return(0,n.V)(t,"POST /api/settings/apply-config-patch")}},2779:(e,t,r)=>{r.d(t,{p:()=>i});var n=r(4568),a=r(7620),s=r(826);let i=a.forwardRef((e,t)=>{let{className:r,type:a,...i}=e;return(0,n.jsx)("input",{type:a,className:(0,s.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...i})});i.displayName="Input"},3081:(e,t,r)=>{r.d(t,{NJ:()=>a,rs:()=>n});let n={page:"mx-auto w-full max-w-5xl",shell:"min-h-screen bg-background",header:"sticky top-0 z-50 border-b border-border bg-background",headerInner:"mx-auto flex w-full max-w-7xl items-center justify-between gap-4 px-4 py-3 sm:px-6",main:"mx-auto w-full max-w-7xl px-4 py-8 md:px-6 md:py-10",configureContent:"mx-auto w-full max-w-3xl",sectionStack:"flex flex-col gap-6",cardGrid:"grid grid-cols-1 gap-4 md:grid-cols-2"},a=n.main},5102:(e,t,r)=>{r.d(t,{W:()=>l});var n=r(4568);r(7620);var a=r(4616),s=r(826);let i=(0,a.F)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",outline:"text-foreground",success:"border-transparent bg-emerald-100 text-emerald-800 dark:bg-emerald-950 dark:text-emerald-200",warning:"border-transparent bg-amber-100 text-amber-800 dark:bg-amber-950 dark:text-amber-200",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:r,...a}=e;return(0,n.jsx)("div",{className:(0,s.cn)(i({variant:r}),t),...a})}function l(e){let{label:t,variant:r="secondary",className:a}=e;return(0,n.jsx)(o,{variant:r,className:(0,s.cn)(a),children:t})}},5716:(e,t,r)=>{r.d(t,{r:()=>i});var n=r(4568),a=r(4653),s=r(826);function i(e){let{message:t,failed:r=!1,className:i}=e;return(0,n.jsxs)("p",{className:(0,s.cn)("flex items-center gap-2 text-sm",r?"text-destructive":"text-muted-foreground",i),children:[r?null:(0,n.jsx)(a.A7C,{className:"size-4 shrink-0 text-green-600","aria-hidden":"true"}),(0,n.jsx)("span",{children:t})]})}},5750:(e,t,r)=>{r.d(t,{DR:()=>c,FE:()=>s,Kj:()=>f,Mz:()=>l,SZ:()=>d,TW:()=>p,YQ:()=>h,ai:()=>g,ar:()=>o,bE:()=>u,bv:()=>i,mD:()=>m});var n=r(1980);let a=["LINEAR_API_KEY","CURSOR_API_KEY","GITHUB_TOKEN","VERCEL_TOKEN"];function s(e){return a.reduce((t,r)=>{let n=e[r];return"connected"===n.status?t[r]={state:"connected",message:n.message,limitation:n.limitation,label:n.label}:"failed"===n.status?t[r]={state:"failed",message:n.message,limitation:n.limitation,label:n.label}:t[r]={state:"unchecked",message:n.message,limitation:n.limitation,label:n.label},t},{...n.INITIAL_SERVICE_VERIFICATION})}function i(e){return Object.fromEntries(a.map(t=>[t,e[t]?{status:"connected",message:"Saved credential configured."}:{status:"missing"}]))}function o(e){let t=e.trim(),r=0;for(let e=0;e<t.length;e++)r=(r<<5)-r+t.charCodeAt(e)|0;return"fp:".concat(r,":").concat(t.length)}function l(e,t){return"connected"===e.state&&!!t.trim()&&e.verifiedValueFingerprint===o(t)}function c(e,t){return"failed"===e.state&&!!t.trim()&&e.attemptedValueFingerprint===o(t)}function d(e,t,r){if("checking"===t.state)return"checking";let n=r.trim();return"connected"===t.state?n?l(t,n)?"connected":"unchecked":e?"connected":"unchecked":"failed"===t.state?n?c(t,n)?"failed":"unchecked":e?"failed":"unchecked":"unchecked"}function p(e){let t=e.typedToken.trim();return t?{tokenForRequest:t,source:"typed",fingerprint:o(t)}:e.hasSavedToken?{source:"saved",fingerprint:"saved-local"}:null}function u(e,t,r){return!!r&&!!function(e,t){if(!e||"connected"!==e.state)return!1;let r=t.trim();return!!r&&e.verifiedTargetRepo===r}(e,t)&&(null==e?void 0:e.verifiedGithubTokenFingerprint)===r}function h(e,t,r){if(!r||!e||"failed"!==e.state)return!1;let n=t.trim();return!!n&&e.attemptedTargetRepo===n&&e.attemptedGithubTokenFingerprint===r}function m(e){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"guided-repo-".concat(e)}function f(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return(e.repos.length>0?e.repos:[{id:"",targetRepo:""}]).map((e,r)=>({...e,rowId:m(t+r)}))}function g(e){return e.map(e=>{let{rowId:t,...r}=e;return r})}},6845:(e,t,r)=>{r.d(t,{$:()=>c});var n=r(4568),a=r(7620),s=r(6118),i=r(4616),o=r(826);let l=(0,i.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8"}},defaultVariants:{variant:"default",size:"default"}}),c=a.forwardRef((e,t)=>{let{className:r,variant:a,size:i,asChild:c=!1,...d}=e,p=c?s.DX:"button";return(0,n.jsx)(p,{className:(0,o.cn)(l({variant:a,size:i,className:r})),ref:t,...d})});c.displayName="Button"},7401:(e,t,r)=>{r.d(t,{P:()=>n});let n={fieldStack:"space-y-2",fieldGrid:"grid grid-cols-1 gap-4 md:grid-cols-2",actions:"flex flex-wrap items-center gap-3",confirmationBox:"rounded-md border border-border bg-muted/20 p-4 space-y-3",secretHint:"text-xs text-muted-foreground",guidedSelect:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50"}},7431:(e,t,r)=>{r.d(t,{PI:()=>i.P,rs:()=>n.rs,xp:()=>s,Es:()=>a});var n=r(3081);let a={section:"space-y-6",card:"p-6",cardHeader:"space-y-1.5 pb-4",list:"space-y-3",inline:"flex flex-wrap items-center gap-2",stackSm:"space-y-2"},s={pageTitle:"text-2xl font-semibold tracking-tight md:text-3xl",pageDescription:"text-sm text-muted-foreground md:text-base",sectionTitle:"text-lg font-semibold tracking-tight md:text-xl",sectionDescription:"text-sm text-muted-foreground",twoColumnGrid:"grid grid-cols-1 gap-4 md:grid-cols-2",previewPanel:"overflow-x-auto rounded-md border border-border bg-muted/40 p-4 text-xs md:text-sm"};var i=r(7401)},8049:(e,t,r)=>{r.d(t,{J:()=>i});var n=r(4568),a=r(7620),s=r(826);let i=a.forwardRef((e,t)=>{let{className:r,...a}=e;return(0,n.jsx)("label",{ref:t,className:(0,s.cn)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",r),...a})});i.displayName="Label"},8277:(e,t,r)=>{r.d(t,{V:()=>n});async function n(e,t){let r=await e.text();if(!r.trim())throw Error("Setup request failed: ".concat(t," returned HTTP ").concat(e.status," with an empty response body"));try{return JSON.parse(r)}catch(r){throw Error("Setup request failed: ".concat(t," returned HTTP ").concat(e.status," with an invalid JSON body"))}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9289],{2902:(e,r,o)=>{o.d(r,{$:()=>t});function t(){for(var e,r,o=0,t="",l=arguments.length;o<l;o++)(e=arguments[o])&&(r=function e(r){var o,t,l="";if("string"==typeof r||"number"==typeof r)l+=r;else if("object"==typeof r)if(Array.isArray(r)){var s=r.length;for(o=0;o<s;o++)r[o]&&(t=e(r[o]))&&(l&&(l+=" "),l+=t)}else for(t in r)r[t]&&(l&&(l+=" "),l+=t);return l}(e))&&(t&&(t+=" "),t+=r);return t}},3714:(e,r,o)=>{o.d(r,{QP:()=>eb});let t=(e=new Map,r=null,o)=>({nextPart:e,validators:r,classGroupId:o}),l=[],s=(e,r,o)=>{if(0==e.length-r)return o.classGroupId;let t=e[r],l=o.nextPart.get(t);if(l){let o=s(e,r+1,l);if(o)return o}let a=o.validators;if(null===a)return;let n=0===r?e.join("-"):e.slice(r).join("-"),i=a.length;for(let e=0;e<i;e++){let r=a[e];if(r.validator(n))return r.classGroupId}},a=(e,r)=>{let o=t();for(let t in e)n(e[t],o,t,r);return o},n=(e,r,o,t)=>{let l=e.length;for(let s=0;s<l;s++)i(e[s],r,o,t)},i=(e,r,o,t)=>"string"==typeof e?void d(e,r,o):"function"==typeof e?void c(e,r,o,t):void m(e,r,o,t),d=(e,r,o)=>{(""===e?r:p(r,e)).classGroupId=o},c=(e,r,o,t)=>{if(b(e))return void n(e(t),r,o,t);null===r.validators&&(r.validators=[]),r.validators.push({classGroupId:o,validator:e})},m=(e,r,o,t)=>{let l=Object.entries(e),s=l.length;for(let e=0;e<s;e++){let[s,a]=l[e];n(a,p(r,s),o,t)}},p=(e,r)=>{let o=e,l=r.split("-"),s=l.length;for(let e=0;e<s;e++){let r=l[e],s=o.nextPart.get(r);s||(s=t(),o.nextPart.set(r,s)),o=s}return o},b=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,u=[],f=(e,r,o,t,l)=>({modifiers:e,hasImportantModifier:r,baseClassName:o,maybePostfixModifierPosition:t,isExternal:l}),g=/\s+/,h=e=>{let r;if("string"==typeof e)return e;let o="";for(let t=0;t<e.length;t++)e[t]&&(r=h(e[t]))&&(o&&(o+=" "),o+=r);return o},k=[],x=e=>{let r=r=>r[e]||k;return r.isThemeGetter=!0,r},w=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,v=/^\((?:(\w[\w-]*):)?(.+)\)$/i,y=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,z=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,j=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,G=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,C=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,N=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,W=e=>y.test(e),I=e=>!!e&&!Number.isNaN(Number(e)),O=e=>!!e&&Number.isInteger(Number(e)),$=e=>e.endsWith("%")&&I(e.slice(0,-1)),M=e=>z.test(e),S=()=>!0,_=e=>j.test(e)&&!G.test(e),P=()=>!1,T=e=>C.test(e),A=e=>N.test(e),E=e=>!Q(e)&&!U(e),L=e=>e.startsWith("@container")&&("/"===e[10]&&void 0!==e[11]||"s"===e[11]&&void 0!==e[16]&&e.startsWith("-size/",10)||"n"===e[11]&&void 0!==e[18]&&e.startsWith("-normal/",10)),q=e=>et(e,en,P),Q=e=>w.test(e),B=e=>et(e,ei,_),D=e=>et(e,ed,I),F=e=>et(e,em,S),H=e=>et(e,ec,P),J=e=>et(e,es,P),K=e=>et(e,ea,A),R=e=>et(e,ep,T),U=e=>v.test(e),V=e=>el(e,ei),X=e=>el(e,ec),Y=e=>el(e,es),Z=e=>el(e,en),ee=e=>el(e,ea),er=e=>el(e,ep,!0),eo=e=>el(e,em,!0),et=(e,r,o)=>{let t=w.exec(e);return!!t&&(t[1]?r(t[1]):o(t[2]))},el=(e,r,o=!1)=>{let t=v.exec(e);return!!t&&(t[1]?r(t[1]):o)},es=e=>"position"===e||"percentage"===e,ea=e=>"image"===e||"url"===e,en=e=>"length"===e||"size"===e||"bg-size"===e,ei=e=>"length"===e,ed=e=>"number"===e,ec=e=>"family-name"===e,em=e=>"number"===e||"weight"===e,ep=e=>"shadow"===e;Symbol.toStringTag;let eb=((e,...r)=>{let o,t,n,i,d=e=>{let r=t(e);if(r)return r;let l=((e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:l,sortModifiers:s,postfixLookupClassGroupIds:a}=r,n=[],i=e.trim().split(g),d="";for(let e=i.length-1;e>=0;e-=1){let r,c=i[e],{isExternal:m,modifiers:p,hasImportantModifier:b,baseClassName:u,maybePostfixModifierPosition:f}=o(c);if(m){d=c+(d.length>0?" "+d:d);continue}let g=!!f;if(g){let e=(r=t(u.substring(0,f)))&&a[r]?t(u):void 0;e&&e!==r&&(r=e,g=!1)}else r=t(u);if(!r){if(!g||!(r=t(u))){d=c+(d.length>0?" "+d:d);continue}g=!1}let h=0===p.length?"":1===p.length?p[0]:s(p).join(":"),k=b?h+"!":h,x=k+r;if(n.indexOf(x)>-1)continue;n.push(x);let w=l(r,g);for(let e=0;e<w.length;++e){let r=w[e];n.push(k+r)}d=c+(d.length>0?" "+d:d)}return d})(e,o);return n(e,l),l};return i=c=>(t=(o=(e=>({cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,o=Object.create(null),t=Object.create(null),l=(l,s)=>{o[l]=s,++r>e&&(r=0,t=o,o=Object.create(null))};return{get(e){let r=o[e];return void 0!==r?r:void 0!==(r=t[e])?(l(e,r),r):void 0},set(e,r){e in o?o[e]=r:l(e,r)}}})(e.cacheSize),parseClassName:(e=>{let{prefix:r,experimentalParseClassName:o}=e,t=e=>{let r,o=[],t=0,l=0,s=0,a=e.length;for(let n=0;n<a;n++){let a=e[n];if(0===t&&0===l){if(":"===a){o.push(e.slice(s,n)),s=n+1;continue}if("/"===a){r=n;continue}}"["===a?t++:"]"===a?t--:"("===a?l++:")"===a&&l--}let n=0===o.length?e:e.slice(s),i=n,d=!1;return n.endsWith("!")?(i=n.slice(0,-1),d=!0):n.startsWith("!")&&(i=n.slice(1),d=!0),f(o,d,i,r&&r>s?r-s:void 0)};if(r){let e=r+":",o=t;t=r=>r.startsWith(e)?o(r.slice(e.length)):f(u,!1,r,void 0,!0)}if(o){let e=t;t=r=>o({className:r,parseClassName:e})}return t})(e),sortModifiers:(e=>{let r=new Map;return e.orderSensitiveModifiers.forEach((e,o)=>{r.set(e,1e6+o)}),e=>{let o=[],t=[];for(let l=0;l<e.length;l++){let s=e[l],a="["===s[0],n=r.has(s);a||n?(t.length>0&&(t.sort(),o.push(...t),t=[]),o.push(s)):t.push(s)}return t.length>0&&(t.sort(),o.push(...t)),o}})(e),postfixLookupClassGroupIds:(e=>{let r=Object.create(null),o=e.postfixLookupClassGroups;if(o)for(let e=0;e<o.length;e++)r[o[e]]=!0;return r})(e),...(e=>{let r=(e=>{let{theme:r,classGroups:o}=e;return a(o,r)})(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]"))return(e=>-1===e.slice(1,-1).indexOf(":")?void 0:(()=>{let r=e.slice(1,-1),o=r.indexOf(":"),t=r.slice(0,o);return t?"arbitrary.."+t:void 0})())(e);let o=e.split("-"),t=+(""===o[0]&&o.length>1);return s(o,t,r)},getConflictingClassGroupIds:(e,r)=>{if(r){let r=t[e],s=o[e];return r?s?((e,r)=>{let o=Array(e.length+r.length);for(let r=0;r<e.length;r++)o[r]=e[r];for(let t=0;t<r.length;t++)o[e.length+t]=r[t];return o})(s,r):r:s||l}return o[e]||l}}})(e)}))(r.reduce((e,r)=>r(e),e()))).cache.get,n=o.cache.set,i=d,d(c)),(...e)=>i(((...e)=>{let r,o,t=0,l="";for(;t<e.length;)(r=e[t++])&&(o=h(r))&&(l&&(l+=" "),l+=o);return l})(...e))})(()=>{let e=x("color"),r=x("font"),o=x("text"),t=x("font-weight"),l=x("tracking"),s=x("leading"),a=x("breakpoint"),n=x("container"),i=x("spacing"),d=x("radius"),c=x("shadow"),m=x("inset-shadow"),p=x("text-shadow"),b=x("drop-shadow"),u=x("blur"),f=x("perspective"),g=x("aspect"),h=x("ease"),k=x("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],y=()=>[...v(),U,Q],z=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],G=()=>[U,Q,i],C=()=>[W,"full","auto",...G()],N=()=>[O,"none","subgrid",U,Q],_=()=>["auto",{span:["full",O,U,Q]},O,U,Q],P=()=>[O,"auto",U,Q],T=()=>["auto","min","max","fr",U,Q],A=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],et=()=>["start","end","center","stretch","center-safe","end-safe"],el=()=>["auto",...G()],es=()=>[W,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...G()],ea=()=>[W,"screen","full","dvw","lvw","svw","min","max","fit",...G()],en=()=>[W,"screen","full","lh","dvh","lvh","svh","min","max","fit",...G()],ei=()=>[e,U,Q],ed=()=>[...v(),Y,J,{position:[U,Q]}],ec=()=>["no-repeat",{repeat:["","x","y","space","round"]}],em=()=>["auto","cover","contain",Z,q,{size:[U,Q]}],ep=()=>[$,V,B],eb=()=>["","none","full",d,U,Q],eu=()=>["",I,V,B],ef=()=>["solid","dashed","dotted","double"],eg=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eh=()=>[I,$,Y,J],ek=()=>["","none",u,U,Q],ex=()=>["none",I,U,Q],ew=()=>["none",I,U,Q],ev=()=>[I,U,Q],ey=()=>[W,"full",...G()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[M],breakpoint:[M],color:[S],container:[M],"drop-shadow":[M],ease:["in","out","in-out"],font:[E],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[M],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[M],shadow:[M],spacing:["px",I],text:[M],"text-shadow":[M],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",W,Q,U,g]}],container:["container"],"container-type":[{"@container":["","normal","size",U,Q]}],"container-named":[L],columns:[{columns:[I,Q,U,n]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:y()}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{"inset-s":C(),start:C()}],end:[{"inset-e":C(),end:C()}],"inset-bs":[{"inset-bs":C()}],"inset-be":[{"inset-be":C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:["visible","invisible","collapse"],z:[{z:[O,"auto",U,Q]}],basis:[{basis:[W,"full","auto",n,...G()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[I,W,"auto","initial","none",Q]}],grow:[{grow:["",I,U,Q]}],shrink:[{shrink:["",I,U,Q]}],order:[{order:[O,"first","last","none",U,Q]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:_()}],"col-start":[{"col-start":P()}],"col-end":[{"col-end":P()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:_()}],"row-start":[{"row-start":P()}],"row-end":[{"row-end":P()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":T()}],"auto-rows":[{"auto-rows":T()}],gap:[{gap:G()}],"gap-x":[{"gap-x":G()}],"gap-y":[{"gap-y":G()}],"justify-content":[{justify:[...A(),"normal"]}],"justify-items":[{"justify-items":[...et(),"normal"]}],"justify-self":[{"justify-self":["auto",...et()]}],"align-content":[{content:["normal",...A()]}],"align-items":[{items:[...et(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...et(),{baseline:["","last"]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...et(),"baseline"]}],"place-self":[{"place-self":["auto",...et()]}],p:[{p:G()}],px:[{px:G()}],py:[{py:G()}],ps:[{ps:G()}],pe:[{pe:G()}],pbs:[{pbs:G()}],pbe:[{pbe:G()}],pt:[{pt:G()}],pr:[{pr:G()}],pb:[{pb:G()}],pl:[{pl:G()}],m:[{m:el()}],mx:[{mx:el()}],my:[{my:el()}],ms:[{ms:el()}],me:[{me:el()}],mbs:[{mbs:el()}],mbe:[{mbe:el()}],mt:[{mt:el()}],mr:[{mr:el()}],mb:[{mb:el()}],ml:[{ml:el()}],"space-x":[{"space-x":G()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":G()}],"space-y-reverse":["space-y-reverse"],size:[{size:es()}],"inline-size":[{inline:["auto",...ea()]}],"min-inline-size":[{"min-inline":["auto",...ea()]}],"max-inline-size":[{"max-inline":["none",...ea()]}],"block-size":[{block:["auto",...en()]}],"min-block-size":[{"min-block":["auto",...en()]}],"max-block-size":[{"max-block":["none",...en()]}],w:[{w:[n,"screen",...es()]}],"min-w":[{"min-w":[n,"screen","none",...es()]}],"max-w":[{"max-w":[n,"screen","none","prose",{screen:[a]},...es()]}],h:[{h:["screen","lh",...es()]}],"min-h":[{"min-h":["screen","lh","none",...es()]}],"max-h":[{"max-h":["screen","lh",...es()]}],"font-size":[{text:["base",o,V,B]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,eo,F]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",$,Q]}],"font-family":[{font:[X,H,r]}],"font-features":[{"font-features":[Q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,U,Q]}],"line-clamp":[{"line-clamp":[I,"none",U,D]}],leading:[{leading:[s,...G()]}],"list-image":[{"list-image":["none",U,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",U,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:ei()}],"text-color":[{text:ei()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ef(),"wavy"]}],"text-decoration-thickness":[{decoration:[I,"from-font","auto",U,B]}],"text-decoration-color":[{decoration:ei()}],"underline-offset":[{"underline-offset":[I,"auto",U,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:G()}],"tab-size":[{tab:[O,U,Q]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",U,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",U,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ed()}],"bg-repeat":[{bg:ec()}],"bg-size":[{bg:em()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},O,U,Q],radial:["",U,Q],conic:[O,U,Q]},ee,K]}],"bg-color":[{bg:ei()}],"gradient-from-pos":[{from:ep()}],"gradient-via-pos":[{via:ep()}],"gradient-to-pos":[{to:ep()}],"gradient-from":[{from:ei()}],"gradient-via":[{via:ei()}],"gradient-to":[{to:ei()}],rounded:[{rounded:eb()}],"rounded-s":[{"rounded-s":eb()}],"rounded-e":[{"rounded-e":eb()}],"rounded-t":[{"rounded-t":eb()}],"rounded-r":[{"rounded-r":eb()}],"rounded-b":[{"rounded-b":eb()}],"rounded-l":[{"rounded-l":eb()}],"rounded-ss":[{"rounded-ss":eb()}],"rounded-se":[{"rounded-se":eb()}],"rounded-ee":[{"rounded-ee":eb()}],"rounded-es":[{"rounded-es":eb()}],"rounded-tl":[{"rounded-tl":eb()}],"rounded-tr":[{"rounded-tr":eb()}],"rounded-br":[{"rounded-br":eb()}],"rounded-bl":[{"rounded-bl":eb()}],"border-w":[{border:eu()}],"border-w-x":[{"border-x":eu()}],"border-w-y":[{"border-y":eu()}],"border-w-s":[{"border-s":eu()}],"border-w-e":[{"border-e":eu()}],"border-w-bs":[{"border-bs":eu()}],"border-w-be":[{"border-be":eu()}],"border-w-t":[{"border-t":eu()}],"border-w-r":[{"border-r":eu()}],"border-w-b":[{"border-b":eu()}],"border-w-l":[{"border-l":eu()}],"divide-x":[{"divide-x":eu()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":eu()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ef(),"hidden","none"]}],"divide-style":[{divide:[...ef(),"hidden","none"]}],"border-color":[{border:ei()}],"border-color-x":[{"border-x":ei()}],"border-color-y":[{"border-y":ei()}],"border-color-s":[{"border-s":ei()}],"border-color-e":[{"border-e":ei()}],"border-color-bs":[{"border-bs":ei()}],"border-color-be":[{"border-be":ei()}],"border-color-t":[{"border-t":ei()}],"border-color-r":[{"border-r":ei()}],"border-color-b":[{"border-b":ei()}],"border-color-l":[{"border-l":ei()}],"divide-color":[{divide:ei()}],"outline-style":[{outline:[...ef(),"none","hidden"]}],"outline-offset":[{"outline-offset":[I,U,Q]}],"outline-w":[{outline:["",I,V,B]}],"outline-color":[{outline:ei()}],shadow:[{shadow:["","none",c,er,R]}],"shadow-color":[{shadow:ei()}],"inset-shadow":[{"inset-shadow":["none",m,er,R]}],"inset-shadow-color":[{"inset-shadow":ei()}],"ring-w":[{ring:eu()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:ei()}],"ring-offset-w":[{"ring-offset":[I,B]}],"ring-offset-color":[{"ring-offset":ei()}],"inset-ring-w":[{"inset-ring":eu()}],"inset-ring-color":[{"inset-ring":ei()}],"text-shadow":[{"text-shadow":["none",p,er,R]}],"text-shadow-color":[{"text-shadow":ei()}],opacity:[{opacity:[I,U,Q]}],"mix-blend":[{"mix-blend":[...eg(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eg()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[I]}],"mask-image-linear-from-pos":[{"mask-linear-from":eh()}],"mask-image-linear-to-pos":[{"mask-linear-to":eh()}],"mask-image-linear-from-color":[{"mask-linear-from":ei()}],"mask-image-linear-to-color":[{"mask-linear-to":ei()}],"mask-image-t-from-pos":[{"mask-t-from":eh()}],"mask-image-t-to-pos":[{"mask-t-to":eh()}],"mask-image-t-from-color":[{"mask-t-from":ei()}],"mask-image-t-to-color":[{"mask-t-to":ei()}],"mask-image-r-from-pos":[{"mask-r-from":eh()}],"mask-image-r-to-pos":[{"mask-r-to":eh()}],"mask-image-r-from-color":[{"mask-r-from":ei()}],"mask-image-r-to-color":[{"mask-r-to":ei()}],"mask-image-b-from-pos":[{"mask-b-from":eh()}],"mask-image-b-to-pos":[{"mask-b-to":eh()}],"mask-image-b-from-color":[{"mask-b-from":ei()}],"mask-image-b-to-color":[{"mask-b-to":ei()}],"mask-image-l-from-pos":[{"mask-l-from":eh()}],"mask-image-l-to-pos":[{"mask-l-to":eh()}],"mask-image-l-from-color":[{"mask-l-from":ei()}],"mask-image-l-to-color":[{"mask-l-to":ei()}],"mask-image-x-from-pos":[{"mask-x-from":eh()}],"mask-image-x-to-pos":[{"mask-x-to":eh()}],"mask-image-x-from-color":[{"mask-x-from":ei()}],"mask-image-x-to-color":[{"mask-x-to":ei()}],"mask-image-y-from-pos":[{"mask-y-from":eh()}],"mask-image-y-to-pos":[{"mask-y-to":eh()}],"mask-image-y-from-color":[{"mask-y-from":ei()}],"mask-image-y-to-color":[{"mask-y-to":ei()}],"mask-image-radial":[{"mask-radial":[U,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":eh()}],"mask-image-radial-to-pos":[{"mask-radial-to":eh()}],"mask-image-radial-from-color":[{"mask-radial-from":ei()}],"mask-image-radial-to-color":[{"mask-radial-to":ei()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[I]}],"mask-image-conic-from-pos":[{"mask-conic-from":eh()}],"mask-image-conic-to-pos":[{"mask-conic-to":eh()}],"mask-image-conic-from-color":[{"mask-conic-from":ei()}],"mask-image-conic-to-color":[{"mask-conic-to":ei()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ed()}],"mask-repeat":[{mask:ec()}],"mask-size":[{mask:em()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",U,Q]}],filter:[{filter:["","none",U,Q]}],blur:[{blur:ek()}],brightness:[{brightness:[I,U,Q]}],contrast:[{contrast:[I,U,Q]}],"drop-shadow":[{"drop-shadow":["","none",b,er,R]}],"drop-shadow-color":[{"drop-shadow":ei()}],grayscale:[{grayscale:["",I,U,Q]}],"hue-rotate":[{"hue-rotate":[I,U,Q]}],invert:[{invert:["",I,U,Q]}],saturate:[{saturate:[I,U,Q]}],sepia:[{sepia:["",I,U,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",U,Q]}],"backdrop-blur":[{"backdrop-blur":ek()}],"backdrop-brightness":[{"backdrop-brightness":[I,U,Q]}],"backdrop-contrast":[{"backdrop-contrast":[I,U,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",I,U,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[I,U,Q]}],"backdrop-invert":[{"backdrop-invert":["",I,U,Q]}],"backdrop-opacity":[{"backdrop-opacity":[I,U,Q]}],"backdrop-saturate":[{"backdrop-saturate":[I,U,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",I,U,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":G()}],"border-spacing-x":[{"border-spacing-x":G()}],"border-spacing-y":[{"border-spacing-y":G()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",U,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[I,"initial",U,Q]}],ease:[{ease:["linear","initial",h,U,Q]}],delay:[{delay:[I,U,Q]}],animate:[{animate:["none",k,U,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[f,U,Q]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:ex()}],"rotate-x":[{"rotate-x":ex()}],"rotate-y":[{"rotate-y":ex()}],"rotate-z":[{"rotate-z":ex()}],scale:[{scale:ew()}],"scale-x":[{"scale-x":ew()}],"scale-y":[{"scale-y":ew()}],"scale-z":[{"scale-z":ew()}],"scale-3d":["scale-3d"],skew:[{skew:ev()}],"skew-x":[{"skew-x":ev()}],"skew-y":[{"skew-y":ev()}],transform:[{transform:[U,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ey()}],"translate-x":[{"translate-x":ey()}],"translate-y":[{"translate-y":ey()}],"translate-z":[{"translate-z":ey()}],"translate-none":["translate-none"],zoom:[{zoom:[O,U,Q]}],accent:[{accent:ei()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:ei()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",U,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":ei()}],"scrollbar-track-color":[{"scrollbar-track":ei()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":G()}],"scroll-mx":[{"scroll-mx":G()}],"scroll-my":[{"scroll-my":G()}],"scroll-ms":[{"scroll-ms":G()}],"scroll-me":[{"scroll-me":G()}],"scroll-mbs":[{"scroll-mbs":G()}],"scroll-mbe":[{"scroll-mbe":G()}],"scroll-mt":[{"scroll-mt":G()}],"scroll-mr":[{"scroll-mr":G()}],"scroll-mb":[{"scroll-mb":G()}],"scroll-ml":[{"scroll-ml":G()}],"scroll-p":[{"scroll-p":G()}],"scroll-px":[{"scroll-px":G()}],"scroll-py":[{"scroll-py":G()}],"scroll-ps":[{"scroll-ps":G()}],"scroll-pe":[{"scroll-pe":G()}],"scroll-pbs":[{"scroll-pbs":G()}],"scroll-pbe":[{"scroll-pbe":G()}],"scroll-pt":[{"scroll-pt":G()}],"scroll-pr":[{"scroll-pr":G()}],"scroll-pb":[{"scroll-pb":G()}],"scroll-pl":[{"scroll-pl":G()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",U,Q]}],fill:[{fill:["none",...ei()]}],"stroke-w":[{stroke:[I,V,B,D]}],stroke:[{stroke:["none",...ei()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}})}}]);