@raidiant/notifai 11.7.1 → 12.0.0-beta.13

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 (409) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/NOTICE +16 -0
  3. package/THIRD_PARTY_NOTICES +725 -0
  4. package/bin/notifai.mjs +11420 -0
  5. package/data/install.ps1 +318 -0
  6. package/data/release.json +1 -0
  7. package/inventory.json +1 -0
  8. package/npm-adapter-files.json +52 -0
  9. package/package.json +14 -44
  10. package/README.md +0 -168
  11. package/dist/agent-update-notice.d.ts +0 -7
  12. package/dist/agent-update-notice.js +0 -77
  13. package/dist/agent-update-notice.js.map +0 -1
  14. package/dist/atomic-file.d.ts +0 -30
  15. package/dist/atomic-file.js +0 -148
  16. package/dist/atomic-file.js.map +0 -1
  17. package/dist/attendant-update.d.ts +0 -15
  18. package/dist/attendant-update.js +0 -96
  19. package/dist/attendant-update.js.map +0 -1
  20. package/dist/claude-wake.d.ts +0 -108
  21. package/dist/claude-wake.js +0 -369
  22. package/dist/claude-wake.js.map +0 -1
  23. package/dist/cli-bin.d.ts +0 -26
  24. package/dist/cli-bin.js +0 -220
  25. package/dist/cli-bin.js.map +0 -1
  26. package/dist/cli-contract.d.ts +0 -16
  27. package/dist/cli-contract.js +0 -27
  28. package/dist/cli-contract.js.map +0 -1
  29. package/dist/cli-release.d.ts +0 -36
  30. package/dist/cli-release.js +0 -85
  31. package/dist/cli-release.js.map +0 -1
  32. package/dist/client.d.ts +0 -109
  33. package/dist/client.js +0 -217
  34. package/dist/client.js.map +0 -1
  35. package/dist/codex-answer-control.d.ts +0 -14
  36. package/dist/codex-answer-control.js +0 -41
  37. package/dist/codex-answer-control.js.map +0 -1
  38. package/dist/codex-answer-presentation.d.ts +0 -18
  39. package/dist/codex-answer-presentation.js +0 -113
  40. package/dist/codex-answer-presentation.js.map +0 -1
  41. package/dist/codex-input-lifecycle.d.ts +0 -10
  42. package/dist/codex-input-lifecycle.js +0 -63
  43. package/dist/codex-input-lifecycle.js.map +0 -1
  44. package/dist/codex-native-control.d.ts +0 -13
  45. package/dist/codex-native-control.js +0 -120
  46. package/dist/codex-native-control.js.map +0 -1
  47. package/dist/codex-native-turn.d.ts +0 -37
  48. package/dist/codex-native-turn.js +0 -155
  49. package/dist/codex-native-turn.js.map +0 -1
  50. package/dist/codex-question-bindings.d.ts +0 -76
  51. package/dist/codex-question-bindings.js +0 -151
  52. package/dist/codex-question-bindings.js.map +0 -1
  53. package/dist/codex-queue-control.d.ts +0 -21
  54. package/dist/codex-queue-control.js +0 -59
  55. package/dist/codex-queue-control.js.map +0 -1
  56. package/dist/codex-tool-messages.d.ts +0 -7
  57. package/dist/codex-tool-messages.js +0 -126
  58. package/dist/codex-tool-messages.js.map +0 -1
  59. package/dist/codex-wake.d.ts +0 -58
  60. package/dist/codex-wake.js +0 -135
  61. package/dist/codex-wake.js.map +0 -1
  62. package/dist/command-session.d.ts +0 -14
  63. package/dist/command-session.js +0 -31
  64. package/dist/command-session.js.map +0 -1
  65. package/dist/commands-acknowledge.d.ts +0 -13
  66. package/dist/commands-acknowledge.js +0 -116
  67. package/dist/commands-acknowledge.js.map +0 -1
  68. package/dist/commands-agent-sessions.d.ts +0 -6
  69. package/dist/commands-agent-sessions.js +0 -51
  70. package/dist/commands-agent-sessions.js.map +0 -1
  71. package/dist/commands-ask.d.ts +0 -62
  72. package/dist/commands-ask.js +0 -503
  73. package/dist/commands-ask.js.map +0 -1
  74. package/dist/commands-auth.d.ts +0 -76
  75. package/dist/commands-auth.js +0 -421
  76. package/dist/commands-auth.js.map +0 -1
  77. package/dist/commands-close.d.ts +0 -6
  78. package/dist/commands-close.js +0 -273
  79. package/dist/commands-close.js.map +0 -1
  80. package/dist/commands-config.d.ts +0 -31
  81. package/dist/commands-config.js +0 -272
  82. package/dist/commands-config.js.map +0 -1
  83. package/dist/commands-core.d.ts +0 -145
  84. package/dist/commands-core.js +0 -190
  85. package/dist/commands-core.js.map +0 -1
  86. package/dist/commands-devices.d.ts +0 -41
  87. package/dist/commands-devices.js +0 -144
  88. package/dist/commands-devices.js.map +0 -1
  89. package/dist/commands-doctor.d.ts +0 -25
  90. package/dist/commands-doctor.js +0 -1553
  91. package/dist/commands-doctor.js.map +0 -1
  92. package/dist/commands-guidance.d.ts +0 -27
  93. package/dist/commands-guidance.js +0 -150
  94. package/dist/commands-guidance.js.map +0 -1
  95. package/dist/commands-harness-context.d.ts +0 -57
  96. package/dist/commands-harness-context.js +0 -102
  97. package/dist/commands-harness-context.js.map +0 -1
  98. package/dist/commands-hook-attend.d.ts +0 -70
  99. package/dist/commands-hook-attend.js +0 -655
  100. package/dist/commands-hook-attend.js.map +0 -1
  101. package/dist/commands-hook-diagnostics.d.ts +0 -37
  102. package/dist/commands-hook-diagnostics.js +0 -136
  103. package/dist/commands-hook-diagnostics.js.map +0 -1
  104. package/dist/commands-hook-install.d.ts +0 -26
  105. package/dist/commands-hook-install.js +0 -784
  106. package/dist/commands-hook-install.js.map +0 -1
  107. package/dist/commands-hook-run.d.ts +0 -29
  108. package/dist/commands-hook-run.js +0 -933
  109. package/dist/commands-hook-run.js.map +0 -1
  110. package/dist/commands-hook-shape.d.ts +0 -19
  111. package/dist/commands-hook-shape.js +0 -48
  112. package/dist/commands-hook-shape.js.map +0 -1
  113. package/dist/commands-init.d.ts +0 -42
  114. package/dist/commands-init.js +0 -901
  115. package/dist/commands-init.js.map +0 -1
  116. package/dist/commands-io.d.ts +0 -2
  117. package/dist/commands-io.js +0 -117
  118. package/dist/commands-io.js.map +0 -1
  119. package/dist/commands-logs.d.ts +0 -30
  120. package/dist/commands-logs.js +0 -201
  121. package/dist/commands-logs.js.map +0 -1
  122. package/dist/commands-native-acknowledge.d.ts +0 -8
  123. package/dist/commands-native-acknowledge.js +0 -114
  124. package/dist/commands-native-acknowledge.js.map +0 -1
  125. package/dist/commands-project.d.ts +0 -4
  126. package/dist/commands-project.js +0 -41
  127. package/dist/commands-project.js.map +0 -1
  128. package/dist/commands-receive.d.ts +0 -3
  129. package/dist/commands-receive.js +0 -59
  130. package/dist/commands-receive.js.map +0 -1
  131. package/dist/commands-send-support.d.ts +0 -59
  132. package/dist/commands-send-support.js +0 -258
  133. package/dist/commands-send-support.js.map +0 -1
  134. package/dist/commands-send.d.ts +0 -34
  135. package/dist/commands-send.js +0 -900
  136. package/dist/commands-send.js.map +0 -1
  137. package/dist/commands-setup-proof.d.ts +0 -43
  138. package/dist/commands-setup-proof.js +0 -134
  139. package/dist/commands-setup-proof.js.map +0 -1
  140. package/dist/commands-skill.d.ts +0 -21
  141. package/dist/commands-skill.js +0 -199
  142. package/dist/commands-skill.js.map +0 -1
  143. package/dist/commands-sounds.d.ts +0 -12
  144. package/dist/commands-sounds.js +0 -35
  145. package/dist/commands-sounds.js.map +0 -1
  146. package/dist/commands-update-check.d.ts +0 -6
  147. package/dist/commands-update-check.js +0 -102
  148. package/dist/commands-update-check.js.map +0 -1
  149. package/dist/commands-update-resume.d.ts +0 -7
  150. package/dist/commands-update-resume.js +0 -143
  151. package/dist/commands-update-resume.js.map +0 -1
  152. package/dist/commands-update-skill.d.ts +0 -5
  153. package/dist/commands-update-skill.js +0 -36
  154. package/dist/commands-update-skill.js.map +0 -1
  155. package/dist/commands-update.d.ts +0 -11
  156. package/dist/commands-update.js +0 -286
  157. package/dist/commands-update.js.map +0 -1
  158. package/dist/commands.d.ts +0 -26
  159. package/dist/commands.js +0 -27
  160. package/dist/commands.js.map +0 -1
  161. package/dist/config-schema.d.ts +0 -62
  162. package/dist/config-schema.js +0 -302
  163. package/dist/config-schema.js.map +0 -1
  164. package/dist/config.d.ts +0 -181
  165. package/dist/config.js +0 -357
  166. package/dist/config.js.map +0 -1
  167. package/dist/credentials.d.ts +0 -96
  168. package/dist/credentials.js +0 -342
  169. package/dist/credentials.js.map +0 -1
  170. package/dist/file-lock.d.ts +0 -34
  171. package/dist/file-lock.js +0 -367
  172. package/dist/file-lock.js.map +0 -1
  173. package/dist/generated-session-label.d.ts +0 -2
  174. package/dist/generated-session-label.js +0 -152
  175. package/dist/generated-session-label.js.map +0 -1
  176. package/dist/guidance-content.d.ts +0 -53
  177. package/dist/guidance-content.js +0 -248
  178. package/dist/guidance-content.js.map +0 -1
  179. package/dist/guidance-render.d.ts +0 -25
  180. package/dist/guidance-render.js +0 -47
  181. package/dist/guidance-render.js.map +0 -1
  182. package/dist/guidance.d.ts +0 -69
  183. package/dist/guidance.js +0 -173
  184. package/dist/guidance.js.map +0 -1
  185. package/dist/harness-session-title.d.ts +0 -22
  186. package/dist/harness-session-title.js +0 -74
  187. package/dist/harness-session-title.js.map +0 -1
  188. package/dist/harnesses.d.ts +0 -65
  189. package/dist/harnesses.js +0 -159
  190. package/dist/harnesses.js.map +0 -1
  191. package/dist/hermes-attendant.d.ts +0 -38
  192. package/dist/hermes-attendant.js +0 -337
  193. package/dist/hermes-attendant.js.map +0 -1
  194. package/dist/hermes-plugin.d.ts +0 -11
  195. package/dist/hermes-plugin.js +0 -299
  196. package/dist/hermes-plugin.js.map +0 -1
  197. package/dist/hook-acknowledgements.d.ts +0 -70
  198. package/dist/hook-acknowledgements.js +0 -490
  199. package/dist/hook-acknowledgements.js.map +0 -1
  200. package/dist/hook-adapter.d.ts +0 -48
  201. package/dist/hook-adapter.js +0 -419
  202. package/dist/hook-adapter.js.map +0 -1
  203. package/dist/hook-events.d.ts +0 -105
  204. package/dist/hook-events.js +0 -130
  205. package/dist/hook-events.js.map +0 -1
  206. package/dist/hook-gates.d.ts +0 -7
  207. package/dist/hook-gates.js +0 -20
  208. package/dist/hook-gates.js.map +0 -1
  209. package/dist/hook-input.d.ts +0 -10
  210. package/dist/hook-input.js +0 -64
  211. package/dist/hook-input.js.map +0 -1
  212. package/dist/hook-lifecycle.d.ts +0 -112
  213. package/dist/hook-lifecycle.js +0 -2031
  214. package/dist/hook-lifecycle.js.map +0 -1
  215. package/dist/hook-project-sessions.d.ts +0 -28
  216. package/dist/hook-project-sessions.js +0 -141
  217. package/dist/hook-project-sessions.js.map +0 -1
  218. package/dist/hook-question-lock.d.ts +0 -29
  219. package/dist/hook-question-lock.js +0 -217
  220. package/dist/hook-question-lock.js.map +0 -1
  221. package/dist/hook-question-retirement.d.ts +0 -74
  222. package/dist/hook-question-retirement.js +0 -314
  223. package/dist/hook-question-retirement.js.map +0 -1
  224. package/dist/hook-question-state.d.ts +0 -58
  225. package/dist/hook-question-state.js +0 -239
  226. package/dist/hook-question-state.js.map +0 -1
  227. package/dist/hook-session-state.d.ts +0 -127
  228. package/dist/hook-session-state.js +0 -488
  229. package/dist/hook-session-state.js.map +0 -1
  230. package/dist/hook-types.d.ts +0 -476
  231. package/dist/hook-types.js +0 -4
  232. package/dist/hook-types.js.map +0 -1
  233. package/dist/injection-render.d.ts +0 -36
  234. package/dist/injection-render.js +0 -61
  235. package/dist/injection-render.js.map +0 -1
  236. package/dist/install-hooks.d.ts +0 -470
  237. package/dist/install-hooks.js +0 -1622
  238. package/dist/install-hooks.js.map +0 -1
  239. package/dist/integration-health.d.ts +0 -26
  240. package/dist/integration-health.js +0 -133
  241. package/dist/integration-health.js.map +0 -1
  242. package/dist/interactive.d.ts +0 -22
  243. package/dist/interactive.js +0 -644
  244. package/dist/interactive.js.map +0 -1
  245. package/dist/invocation-context.d.ts +0 -47
  246. package/dist/invocation-context.js +0 -164
  247. package/dist/invocation-context.js.map +0 -1
  248. package/dist/local-path.d.ts +0 -7
  249. package/dist/local-path.js +0 -27
  250. package/dist/local-path.js.map +0 -1
  251. package/dist/logging.d.ts +0 -157
  252. package/dist/logging.js +0 -599
  253. package/dist/logging.js.map +0 -1
  254. package/dist/main-run.d.ts +0 -1
  255. package/dist/main-run.js +0 -42
  256. package/dist/main-run.js.map +0 -1
  257. package/dist/main.d.ts +0 -2
  258. package/dist/main.js +0 -12
  259. package/dist/main.js.map +0 -1
  260. package/dist/native-answer-operation.d.ts +0 -70
  261. package/dist/native-answer-operation.js +0 -247
  262. package/dist/native-answer-operation.js.map +0 -1
  263. package/dist/native-skills.d.ts +0 -64
  264. package/dist/native-skills.js +0 -167
  265. package/dist/native-skills.js.map +0 -1
  266. package/dist/node-floor.d.ts +0 -19
  267. package/dist/node-floor.js +0 -32
  268. package/dist/node-floor.js.map +0 -1
  269. package/dist/npm-invocation.d.ts +0 -34
  270. package/dist/npm-invocation.js +0 -53
  271. package/dist/npm-invocation.js.map +0 -1
  272. package/dist/openclaw-continuation-bridge.d.ts +0 -7
  273. package/dist/openclaw-continuation-bridge.js +0 -64
  274. package/dist/openclaw-continuation-bridge.js.map +0 -1
  275. package/dist/openclaw-gateway-readiness.d.ts +0 -1
  276. package/dist/openclaw-gateway-readiness.js +0 -24
  277. package/dist/openclaw-gateway-readiness.js.map +0 -1
  278. package/dist/openclaw-generation.d.ts +0 -21
  279. package/dist/openclaw-generation.js +0 -115
  280. package/dist/openclaw-generation.js.map +0 -1
  281. package/dist/openclaw-message-bridge.d.ts +0 -8
  282. package/dist/openclaw-message-bridge.js +0 -93
  283. package/dist/openclaw-message-bridge.js.map +0 -1
  284. package/dist/openclaw-pending.d.ts +0 -8
  285. package/dist/openclaw-pending.js +0 -47
  286. package/dist/openclaw-pending.js.map +0 -1
  287. package/dist/openclaw-plugin.d.ts +0 -75
  288. package/dist/openclaw-plugin.js +0 -1353
  289. package/dist/openclaw-plugin.js.map +0 -1
  290. package/dist/openclaw-session-access.d.ts +0 -12
  291. package/dist/openclaw-session-access.js +0 -79
  292. package/dist/openclaw-session-access.js.map +0 -1
  293. package/dist/opencode-plugin.d.ts +0 -88
  294. package/dist/opencode-plugin.js +0 -286
  295. package/dist/opencode-plugin.js.map +0 -1
  296. package/dist/orca-session-title.d.ts +0 -11
  297. package/dist/orca-session-title.js +0 -111
  298. package/dist/orca-session-title.js.map +0 -1
  299. package/dist/pack-feedback-slice.d.ts +0 -35
  300. package/dist/pack-feedback-slice.js +0 -126
  301. package/dist/pack-feedback-slice.js.map +0 -1
  302. package/dist/pairing-qr.d.ts +0 -5
  303. package/dist/pairing-qr.js +0 -24
  304. package/dist/pairing-qr.js.map +0 -1
  305. package/dist/pending-pairing.d.ts +0 -38
  306. package/dist/pending-pairing.js +0 -70
  307. package/dist/pending-pairing.js.map +0 -1
  308. package/dist/platform.d.ts +0 -67
  309. package/dist/platform.js +0 -140
  310. package/dist/platform.js.map +0 -1
  311. package/dist/process-identity.d.ts +0 -26
  312. package/dist/process-identity.js +0 -82
  313. package/dist/process-identity.js.map +0 -1
  314. package/dist/program.d.ts +0 -59
  315. package/dist/program.js +0 -691
  316. package/dist/program.js.map +0 -1
  317. package/dist/project-enablement.d.ts +0 -21
  318. package/dist/project-enablement.js +0 -71
  319. package/dist/project-enablement.js.map +0 -1
  320. package/dist/question-settlement-process.d.ts +0 -17
  321. package/dist/question-settlement-process.js +0 -35
  322. package/dist/question-settlement-process.js.map +0 -1
  323. package/dist/question-timing.d.ts +0 -46
  324. package/dist/question-timing.js +0 -48
  325. package/dist/question-timing.js.map +0 -1
  326. package/dist/readiness.d.ts +0 -153
  327. package/dist/readiness.js +0 -149
  328. package/dist/readiness.js.map +0 -1
  329. package/dist/release.d.ts +0 -31
  330. package/dist/release.js +0 -52
  331. package/dist/release.js.map +0 -1
  332. package/dist/send-attempts.d.ts +0 -26
  333. package/dist/send-attempts.js +0 -139
  334. package/dist/send-attempts.js.map +0 -1
  335. package/dist/send.d.ts +0 -115
  336. package/dist/send.js +0 -421
  337. package/dist/send.js.map +0 -1
  338. package/dist/session-activation.d.ts +0 -13
  339. package/dist/session-activation.js +0 -64
  340. package/dist/session-activation.js.map +0 -1
  341. package/dist/session-attendant-probe.d.ts +0 -85
  342. package/dist/session-attendant-probe.js +0 -173
  343. package/dist/session-attendant-probe.js.map +0 -1
  344. package/dist/session-attendant-state.d.ts +0 -70
  345. package/dist/session-attendant-state.js +0 -256
  346. package/dist/session-attendant-state.js.map +0 -1
  347. package/dist/session-attendant.d.ts +0 -143
  348. package/dist/session-attendant.js +0 -520
  349. package/dist/session-attendant.js.map +0 -1
  350. package/dist/session-delivery.d.ts +0 -249
  351. package/dist/session-delivery.js +0 -576
  352. package/dist/session-delivery.js.map +0 -1
  353. package/dist/session-handoff.d.ts +0 -98
  354. package/dist/session-handoff.js +0 -118
  355. package/dist/session-handoff.js.map +0 -1
  356. package/dist/session-input-wakes.d.ts +0 -78
  357. package/dist/session-input-wakes.js +0 -239
  358. package/dist/session-input-wakes.js.map +0 -1
  359. package/dist/session-inputs.d.ts +0 -57
  360. package/dist/session-inputs.js +0 -434
  361. package/dist/session-inputs.js.map +0 -1
  362. package/dist/session-labels.d.ts +0 -56
  363. package/dist/session-labels.js +0 -396
  364. package/dist/session-labels.js.map +0 -1
  365. package/dist/session-message-handoff.d.ts +0 -39
  366. package/dist/session-message-handoff.js +0 -107
  367. package/dist/session-message-handoff.js.map +0 -1
  368. package/dist/setup-destinations.d.ts +0 -23
  369. package/dist/setup-destinations.js +0 -44
  370. package/dist/setup-destinations.js.map +0 -1
  371. package/dist/skill-integrity.d.ts +0 -54
  372. package/dist/skill-integrity.js +0 -164
  373. package/dist/skill-integrity.js.map +0 -1
  374. package/dist/skill-source/manifest.json +0 -40
  375. package/dist/skill-source/notifai/SKILL.md +0 -350
  376. package/dist/skill-source/notifai/references/diagnostics.md +0 -36
  377. package/dist/skill-source/notifai/references/harness-setup.md +0 -384
  378. package/dist/skill-source/notifai/references/native-questions.md +0 -51
  379. package/dist/skill-source/notifai/references/notes-and-edits.md +0 -54
  380. package/dist/skill-source/notifai/references/send-details.md +0 -14
  381. package/dist/skill-source/notifai/references/updates.md +0 -116
  382. package/dist/skill-source/notifai/references/writing-examples.md +0 -56
  383. package/dist/sound-ref.d.ts +0 -23
  384. package/dist/sound-ref.js +0 -28
  385. package/dist/sound-ref.js.map +0 -1
  386. package/dist/ui/banner.d.ts +0 -22
  387. package/dist/ui/banner.js +0 -87
  388. package/dist/ui/banner.js.map +0 -1
  389. package/dist/ui/config-view.d.ts +0 -30
  390. package/dist/ui/config-view.js +0 -108
  391. package/dist/ui/config-view.js.map +0 -1
  392. package/dist/ui/help.d.ts +0 -44
  393. package/dist/ui/help.js +0 -107
  394. package/dist/ui/help.js.map +0 -1
  395. package/dist/ui/theme.d.ts +0 -90
  396. package/dist/ui/theme.js +0 -244
  397. package/dist/ui/theme.js.map +0 -1
  398. package/dist/update-handoff.d.ts +0 -29
  399. package/dist/update-handoff.js +0 -69
  400. package/dist/update-handoff.js.map +0 -1
  401. package/dist/url-policy.d.ts +0 -85
  402. package/dist/url-policy.js +0 -369
  403. package/dist/url-policy.js.map +0 -1
  404. package/dist/version.d.ts +0 -40
  405. package/dist/version.js +0 -132
  406. package/dist/version.js.map +0 -1
  407. package/dist/wake-support.d.ts +0 -40
  408. package/dist/wake-support.js +0 -95
  409. package/dist/wake-support.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,sCAAsC,EACtC,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,aAAa,GAEd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAG3D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE9D;;;;;;;;;;;GAWG;AACH,SAAS,OAAO;IACd,OAAO,cAAc,EAAE,IAAI,SAAS,CAAA;AACtC,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,OAAgB;IACnC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,IAAI,GAAmB,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAA;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,gBAAgB;IACxB,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,kBAAkB;IAC/B,YAAY,EAAE,mBAAmB;IACjC,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,iBAAiB;IAC7B,YAAY,EAAE,mBAAmB;IACjC,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,aAAa;IACrB,YAAY,EAAE,mBAAmB;IACjC,aAAa,EAAE,oBAAoB;IACnC,cAAc,EAAE,qBAAqB;IACrC,aAAa,EAAE,oBAAoB;IACnC,kBAAkB,EAAE,yBAAyB;IAC7C,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,cAAc;IACvB,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,aAAa;IACrB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,cAAc;IACvB,YAAY,EAAE,mBAAmB;IACjC,cAAc,EAAE,qBAAqB;IACrC,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,iBAAiB;IAC7B,aAAa,EAAE,oBAAoB;IACnC,SAAS,EAAE,gBAAgB;IAC3B,WAAW,EAAE,kBAAkB;IAC/B,YAAY,EAAE,mBAAmB;IACjC,WAAW,EAAE,kBAAkB;IAC/B,aAAa,EAAE,oBAAoB;IACnC;;;;OAIG;IACH,WAAW,EAAE,KAAK,EAAE,IAAiB,EAAE,aAAqB,EAAmB,EAAE;QAC/E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC/D,OAAO,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;CACF,CAAA;AAUD,MAAM,UAAU,YAAY,CAAC,IAAiB,EAAE,UAA+B,EAAE;IAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACnE,MAAM,OAAO,GAAmB,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;SACnC,WAAW,CAAC,iEAAiE,CAAC;SAC9E,OAAO,CAAC,OAAO,EAAE,CAAC;SAClB,aAAa,CAAC,iBAAiB,CAAC;QACjC,0EAA0E;QAC1E,wEAAwE;QACxE,gEAAgE;SAC/D,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;QAC7C,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,kBAAkB;SACjB,wBAAwB,CAAC,IAAI,CAAC;QAC/B,uEAAuE;QACvE,2EAA2E;QAC3E,6DAA6D;QAC7D,uEAAuE;SACtE,WAAW,CAAC,IAAI,CAAC;SACjB,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE;QAC7C,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QACjD,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,gBAAgB,GACpB,aAAa,CAAC,IAAI,EAAE,KAAK,MAAM;YAC/B,sCAAsC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;QACxE,2EAA2E;QAC3E,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE;gBACzB,OAAO,EAAE,OAAO,EAAE;gBAClB,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3C,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;aACnB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF;;;;;;;;;OASG;IACH;;;;;OAKG;IACH,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;QAC9D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;YACvD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CACvB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzB,CAAA;YACD,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,oBAAoB,OAAO,IAAI;gBAC7B,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,wCAAwC,CAC3C,CAAA;YACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,UAAU,EAAE,CAAA;YACpB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,mCAAmC,CAAC;SAC5C,WAAW,CACV,uGAAuG;QACrG,+EAA+E,CAClF;SACA,MAAM,CAAC,mBAAmB,EAAE,oEAAoE,CAAC;SACjG,MAAM,CAAC,QAAQ,EAAE,iDAAiD,CAAC;SACnE,MAAM,CAAC,oBAAoB,EAAE,iEAAiE,CAAC;SAC/F,MAAM,CAAC,0BAA0B,EAAE,4DAA4D,CAAC;SAChG,MAAM,CAAC,UAAU,EAAE,+DAA+D,CAAC;SACnF,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACtE,MAAM,CACL,wBAAwB,EACxB,mHAAmH,CACpH;SACA,MAAM,CAAC,SAAS,EAAE,2CAA2C,CAAC;SAC9D,MAAM,CAAC,YAAY,EAAE,oCAAoC,CAAC;SAC1D,MAAM,CACL,KAAK,EAAE,IAQN,EAAE,EAAE;QACH,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACtC,CAAC,CACF,CAAA;IAEH,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,+BAA+B,CAAC;SACxC,WAAW,CAAC,uIAAuI,CAAC;SACpJ,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,4CAA4C,CAAC;SACrD,WAAW,CAAC,kFAAkF,CAAC;SAC/F,MAAM,CAAC,QAAQ,EAAE,mDAAmD,CAAC;SACrE,MAAM,CAAC,SAAS,EAAE,yEAAyE,CAAC;SAC5F,MAAM,CAAC,iBAAiB,EAAE,0EAA0E,CAAC;SACrG,MAAM,CAAC,UAAU,EAAE,0FAA0F,CAAC;SAC9G,MAAM,CAAC,qBAAqB,EAAE,uFAAuF,CAAC;SACtH,MAAM,CAAC,kBAAkB,EAAE,oFAAoF,CAAC;SAChH,MAAM,CAAC,KAAK,EAAE,IAAoH,EAAE,EAAE;QACrI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACvF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;YAC/C,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YAC9G,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;YACnE,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjH,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,wGAAwG,CAAC,CAAA;YACrH,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3E,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;YAClD,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1M,CAAC,CAAC,CAAA;IAEJ,qFAAqF;IACrF,OAAO,CAAC,OAAO,CAAC,iDAAiD,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACjF,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,GAAW,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAEjH,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,kCAAkC,CAAC;SAC3C,WAAW,CAAC,mEAAmE,CAAC,CAAA;IACnF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QAC9F,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QAChG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE;QACvI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,SAAS,CAAC;SAClB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,6CAA6C,CAAC;SACtD,WAAW,CAAC,gEAAgE,CAAC,CAAA;IAChF,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CACV,gIAAgI,CACjI;SACA,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAwB,EAAE,EAAE;QACxD,IAAI,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,OAAO,CAAC,+BAA+B,CAAC;SACxC,WAAW,CAAC,yEAAyE,CAAC;SACtF,MAAM,CAAC,eAAe,EAAE,yDAAyD,CAAC;SAClF,MAAM,CAAC,kBAAkB,EAAE,iEAAiE,CAAC;SAC7F,MAAM,CAAC,oBAAoB,EAAE,iEAAiE,CAAC;SAC/F,MAAM,CAAC,0BAA0B,EAAE,4DAA4D,CAAC;SAChG,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;SACjE,MAAM,CAAC,KAAK,EAAE,IAAoG,EAAE,EAAE;QACrH,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,OAAO,CAAC,sCAAsC,CAAC;SAC/C,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEJ,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wBAAwB,CAAC;SACrC,OAAO,CAAC,mCAAmC,CAAC;SAC5C,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5B,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE;QACnC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IACJ,IAAI;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,gDAAgD,CAAC;SACzD,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,uBAAuB,EAAE,6CAA6C,CAAC;SAC9E,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAA2C,EAAE,EAAE;QAC5D,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,wCAAwC,CAAC;SACjD,WAAW,CACV,yGAAyG,CAC1G;SACA,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;SACzB,OAAO,CAAC,iCAAiC,CAAC;SAC1C,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,uBAAuB,EAAE,qCAAqC,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAA6C,EAAE,EAAE;QAC9D,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEJ,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,qBAAqB,CAAC;SAClC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;SAChC,cAAc,CAAC,iBAAiB,EAAE,2DAA2D,CAAC;SAC9F,cAAc,CAAC,kBAAkB,EAAE,yDAAyD,CAAC;SAC7F,MAAM,CAAC,mBAAmB,EAAE,sDAAsD,CAAC;SACnF,MAAM,CAAC,oBAAoB,EAAE,0EAA0E,CAAC;SACxG,MAAM,CACL,uBAAuB,EACvB,qGAAqG,CACtG;SACA,MAAM,CACL,6BAA6B,EAC7B,uEAAuE,EACvE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CACL,oBAAoB,EACpB,mEAAmE,EACnE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC;SAChC,MAAM,CAAC,eAAe,EAAE,wHAAwH,CAAC;SACjJ,MAAM,CAAC,gBAAgB,EAAE,gEAAgE,CAAC;SAC1F,MAAM,CAAC,eAAe,EAAE,0DAA0D,CAAC;SACnF,MAAM,CAAC,eAAe,EAAE,iCAAiC,EAAE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;SAC1G,MAAM,CAAC,OAAO,EAAE,4DAA4D,CAAC;SAC7E,MAAM,CAAC,mBAAmB,EAAE,2FAA2F,CAAC;SACxH,MAAM,CACL,wBAAwB,EACxB,qHAAqH,CACtH;SACA,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;SACrC,MAAM,CAAC,sBAAsB,EAAE,iDAAiD,CAAC;SACjF,MAAM,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjF,MAAM,CAAC,uBAAuB,EAAE,iDAAiD,CAAC;SAClF,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC;SAC9B,MAAM,CAAC,SAAS,EAAE,yDAAyD,CAAC;SAC5E,MAAM,CAAC,2BAA2B,EAAE,6CAA6C,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC5G,MAAM,CACL,0BAA0B,EAC1B,wFAAwF,EACxF,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CACzB;SACA,MAAM,CACL,kBAAkB,EAClB,4EAA4E,EAC5E,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CAAC,SAAS,EAAE,gDAAgD,CAAC;SACnE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;SACjC,MAAM,CACL,iBAAiB,EACjB,6GAA6G,CAC9G;SACA,MAAM,CACL,iBAAiB,EACjB,wGAAwG,CACzG;SACA,MAAM,CAAC,kBAAkB,EAAE,wCAAwC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC9F,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC;SAC1D,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,EAAE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;SACxG,MAAM,CAAC,yBAAyB,EAAE,kCAAkC,CAAC;SACrE,MAAM,CAAC,SAAS,EAAE,oFAAoF,CAAC;SACvG,MAAM,CACL,kBAAkB,EAClB,8GAA8G,CAC/G;SACA,MAAM,CAAC,QAAQ,EAAE,2CAA2C,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;QAC9C,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAA;QACrC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA;QAC5B,wEAAwE;QACxE,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtF,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAA;QACrC,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;gBAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;YAChB,CAAC;YACD,IAAI,CAAC;gBACH,QAAQ,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC1E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACzD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAuC,CAAA;QAC1E,IAAI,IAAI,KAAK,SAAS;YAAE,OAAQ,KAA2B,CAAC,IAAI,CAAA;;YAC3D,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEJ,IAAI,CAAC,WAAW,CACd,OAAO,EACP,oeAAoe,CACre,CAAA;IAED,OAAO;SACJ,OAAO,CAAC,sBAAsB,CAAC;SAC/B,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,gCAAgC,CAAC;SACzC,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,WAAW,EAAE,oEAAoE,CAAC;SACzF,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACpF,MAAM,CAAC,eAAe,EAAE,2CAA2C,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC9F,MAAM,CAAC,WAAW,EAAE,oFAAoF,CAAC;SACzG,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,IAA6F,EAAE,EAAE;QAC7I,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAE5D,OAAO;SACJ,OAAO,CAAC,8CAA8C,CAAC;SACvD,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,6DAA6D,CAAC;SACtE,WAAW,CACV,4LAA4L,CAC7L;SACA,MAAM,CAAC,eAAe,EAAE,2DAA2D,CAAC;SACpF,MAAM,CAAC,qBAAqB,EAAE,mFAAmF,CAAC;SAClH,MAAM,CAAC,yBAAyB,EAAE,sGAAsG,CAAC;SACzI,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAqF,EAAE,EAAE;QAClH,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,iCAAiC,CAAC;SAC1C,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,yCAAyC,CAAC;SAClD,WAAW,CAAC,wFAAwF,CAAC;SACrG,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,IAAwB,EAAE,EAAE;QAC5D,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,uCAAuC,CAAC;SAChD,WAAW,CAAC,4GAA4G,CAAC;SACzH,MAAM,CACL,kBAAkB,EAClB,8EAA8E,EAC9E,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CAAC,SAAS,EAAE,gDAAgD,CAAC;SACnE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,sDAAsD,CAAC;SACnF,MAAM,CAAC,oBAAoB,EAAE,0EAA0E,CAAC;SACxG,MAAM,CACL,uBAAuB,EACvB,qGAAqG,CACtG;SACA,MAAM,CAAC,eAAe,EAAE,gEAAgE,CAAC;SACzF,MAAM,CACL,6BAA6B,EAC7B,uEAAuE,EACvE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CACL,oBAAoB,EACpB,mEAAmE,EACnE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAC/C;SACA,MAAM,CAAC,gBAAgB,EAAE,gEAAgE,CAAC;SAC1F,MAAM,CACL,wBAAwB,EACxB,qHAAqH,CACtH;SACA,MAAM,CAAC,KAAK,EAAE,QAA4B,EAAE,IAY5C,EAAE,EAAE;QACH,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;oBACvC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACrD,MAAM,EAAE,+CAA+C;oBACvD,OAAO,EAAE,8CAA8C;iBACxD,CAAC,CAAC,CAAA;YACL,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YACxE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;oBACvC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;oBAC7D,MAAM,EAAE,mDAAmD;oBAC3D,OAAO,EAAE,kBAAkB,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;iBAC3D,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QACD,IAAI,IAAwB,CAAA;QAC5B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAChE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;oBACvC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;oBAC7D,MAAM,EAAE,mDAAmD;oBAC3D,OAAO,EAAE,kBAAkB,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;iBACvD,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,MAAM,KAAK,GAAqC;YAC9C,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAA;QACD,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,gCAAgC,CAAC;SACzC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,gDAAgD,CAAC;SACzD,WAAW,CACV,qMAAqM,CACtM;SACA,MAAM,CAAC,WAAW,EAAE,mFAAmF,CAAC;SACxG,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,IAA2C,EAAE,EAAE;QAC3F,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEJ,6EAA6E;IAC7E,8EAA8E;IAC9E,0EAA0E;IAC1E,OAAO;SACJ,OAAO,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACzC,WAAW,CAAC,yDAAyD,CAAC;QACvE,6EAA6E;QAC7E,yEAAyE;QACzE,qBAAqB;SACpB,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;SACrD,MAAM,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAA0B,EAAE,EAAE;QAC1D,IAAI,KAAK,KAAK,eAAe,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;YACrE,IAAI,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;YACpE,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1F,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAC/D,IAAI,KAAK,KAAK,qBAAqB,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CACxB,IAAI,EACJ,KAAK,EACL,CAAC,KAAK,KAAK,qBAAqB,IAAI,KAAK,KAAK,qBAAqB,CAAC,IAAI,eAAe,KAAK,SAAS;YACnG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,eAAe;YAC7B,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB,EAAE,EAChC,OAAO,CACR,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,OAAO,CAAC,4CAA4C,CAAC;SACrD,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC5B,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,iEAAiE;QAC/D,qFAAqF,CACxF;SACA,MAAM,CACL,kBAAkB,EAClB,sGAAsG,CACvG;SACA,MAAM,CAAC,CAAC,IAA0B,EAAE,EAAE;QACrC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IACJ,KAAK;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,kBAAkB,EAAE,wFAAwF,CAAC;SACpH,MAAM,CAAC,CAAC,IAA0B,EAAE,EAAE;QACrC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,mDAAmD,CAAC;SAC5D,WAAW,CACV,mGAAmG;QACjG,0EAA0E,CAC7E;SACA,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjG,MAAM,CAAC,OAAO,EAAE,0CAA0C,CAAC;SAC3D,MAAM,CAAC,gBAAgB,EAAE,mEAAmE,CAAC;SAC7F,MAAM,CAAC,iBAAiB,EAAE,oEAAoE,CAAC;SAC/F,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,CAAC,CAAS,EAAE,MAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;SACvG,MAAM,CAAC,YAAY,EAAE,uCAAuC,CAAC;SAC7D,MAAM,CAAC,gBAAgB,EAAE,2CAA2C,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SACnD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;SAC7C,MAAM,CAAC,gBAAgB,EAAE,+CAA+C,CAAC;SACzE,MAAM,CAAC,eAAe,EAAE,mCAAmC,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,iDAAiD,CAAC;SACnE,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,CAAC,IAA6B,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,EAAuC,CAAA;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAA;QAC9E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yBAAyB,CAAC;SACtC,OAAO,CAAC,yBAAyB,CAAC;SAClC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,WAAW,EAAE,6DAA6D,CAAC;SAClF,MAAM,CAAC,SAAS,EAAE,+CAA+C,CAAC;SAClE,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,IAA4D,EAAE,EAAE;QACvE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IACJ,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,CAAC,GAAW,EAAE,IAAwB,EAAE,EAAE;QAChD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IACJ,MAAM;SACH,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CACV,iHAAiH,CAClH;SACA,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAAC;SACvE,MAAM,CAAC,SAAS,EAAE,uEAAuE,CAAC;SAC1F,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;SAC3D,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CACL,KAAK,EACH,GAAW,EACX,KAAa,EACb,IAA6E,EAC7E,EAAE;QACF,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACvD,CAAC,CACF,CAAA;IACH,MAAM;SACH,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CACV,iKAAiK,CAClK;SACA,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC;SAC1E,MAAM,CAAC,SAAS,EAAE,6DAA6D,CAAC;SAChF,MAAM,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;SACzD,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CACL,KAAK,EACH,GAAW,EACX,IAA6E,EAC7E,EAAE;QACF,IAAI,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC,CACF,CAAA;IAEH,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,mFAAmF,CAAC;SAChG,OAAO,CAAC,8CAA8C,CAAC;SACvD,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzB,QAAQ;SACL,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACpC,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;QACzC,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IACJ,QAAQ;SACL,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CACV,wGAAwG;QACtG,uFAAuF,CAC1F;SACA,MAAM,CAAC,eAAe,EAAE,sDAAsD,CAAC;SAC/E,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;SACrE,MAAM,CAAC,SAAS,EAAE,uEAAuE,CAAC;SAC1F,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CACL,KAAK,EACH,KAAa,EACb,IAAwB,EACxB,IAA0E,EAC1E,EAAE;QACF,IAAI,OAAO,GAAG,IAAI,CAAA;QAClB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;gBACxD,IAAI,CAAC,CAAC,CAAC,CAAA;gBACP,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACnE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC1D,IAAI,CAAC,CAAC,CAAC,CAAA;gBACP,OAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAA;YACrE,IAAI,CAAC,CAAC,CAAC,CAAA;YACP,OAAM;QACR,CAAC;QACD,IAAI,CACF,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;YAC9C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CACH,CAAA;IACH,CAAC,CACF,CAAA;IACH,QAAQ;SACL,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CACV,4EAA4E;QAC1E,uFAAuF,CAC1F;SACA,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC;SACxE,MAAM,CAAC,SAAS,EAAE,6DAA6D,CAAC;SAChF,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC;SAC7C,MAAM,CACL,KAAK,EAAE,KAAa,EAAE,IAA2D,EAAE,EAAE;QACnF,IAAI,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACtD,CAAC,CACF,CAAA;IAEH,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,21 +0,0 @@
1
- export interface ProjectBinding {
2
- project: string;
3
- markerPath: string;
4
- }
5
- /**
6
- * Resolve the User-owned enablement record for this exact local Project.
7
- *
8
- * The opaque key binds the semantic Project id to Git's shared common
9
- * directory. Linked worktrees therefore share one decision, while another
10
- * checkout cannot borrow it merely by committing the same Project id.
11
- *
12
- * Outside Git the key falls back to the same canonical root Project config
13
- * resolves against, and the Project id is inferred from that root rather than
14
- * from the working directory. A hook fired in a nested directory would
15
- * otherwise compute a different key *and* a different Project name than the
16
- * `notifai project enable` run at the root, and read the Project as disabled.
17
- */
18
- export declare function projectBinding(cwd: string, env?: NodeJS.ProcessEnv, explicitProject?: string | null): ProjectBinding | null;
19
- export declare function projectEnabled(binding: ProjectBinding | null): boolean;
20
- export declare function enableProject(binding: ProjectBinding, now?: Date): void;
21
- export declare function disableProject(binding: ProjectBinding): void;
@@ -1,71 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
- import { existsSync, readFileSync, unlinkSync } from 'node:fs';
3
- import path from 'node:path';
4
- import { atomicWriteFileSync } from './atomic-file.js';
5
- import { gitCommonDirectory, globalConfigDir, projectIdentityRoot } from './config.js';
6
- import { inferInvocationContext } from './invocation-context.js';
7
- /**
8
- * Resolve the User-owned enablement record for this exact local Project.
9
- *
10
- * The opaque key binds the semantic Project id to Git's shared common
11
- * directory. Linked worktrees therefore share one decision, while another
12
- * checkout cannot borrow it merely by committing the same Project id.
13
- *
14
- * Outside Git the key falls back to the same canonical root Project config
15
- * resolves against, and the Project id is inferred from that root rather than
16
- * from the working directory. A hook fired in a nested directory would
17
- * otherwise compute a different key *and* a different Project name than the
18
- * `notifai project enable` run at the root, and read the Project as disabled.
19
- */
20
- export function projectBinding(cwd, env = process.env, explicitProject) {
21
- const root = projectIdentityRoot(cwd);
22
- const project = explicitProject ?? inferInvocationContext(root).project;
23
- if (project === null)
24
- return null;
25
- const repository = gitCommonDirectory(cwd) ?? root;
26
- const key = createHash('sha256')
27
- .update('notifai-project-enablement-v1\0')
28
- .update(repository)
29
- .update('\0')
30
- .update(project)
31
- .digest('hex');
32
- return {
33
- project,
34
- markerPath: path.join(globalConfigDir(env), 'project-enablement', `${key}.json`),
35
- };
36
- }
37
- export function projectEnabled(binding) {
38
- if (binding === null || !existsSync(binding.markerPath))
39
- return false;
40
- try {
41
- const marker = JSON.parse(readFileSync(binding.markerPath, 'utf8'));
42
- return marker.version === 1 && marker.enabled === true && marker.project === binding.project;
43
- }
44
- catch {
45
- return false;
46
- }
47
- }
48
- export function enableProject(binding, now = new Date()) {
49
- const marker = {
50
- version: 1,
51
- project: binding.project,
52
- enabled: true,
53
- updated_at: now.toISOString(),
54
- };
55
- atomicWriteFileSync(binding.markerPath, `${JSON.stringify(marker, null, 2)}\n`, {
56
- mode: 0o600,
57
- preserveMode: false,
58
- requireCurrentUserOwner: true,
59
- directoryMode: 0o700,
60
- });
61
- }
62
- export function disableProject(binding) {
63
- try {
64
- unlinkSync(binding.markerPath);
65
- }
66
- catch (err) {
67
- if (err.code !== 'ENOENT')
68
- throw err;
69
- }
70
- }
71
- //# sourceMappingURL=project-enablement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-enablement.js","sourceRoot":"","sources":["../src/project-enablement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAchE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAW,EACX,MAAyB,OAAO,CAAC,GAAG,EACpC,eAA+B;IAE/B,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,eAAe,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAA;IACvE,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACjC,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;IAClD,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC7B,MAAM,CAAC,iCAAiC,CAAC;SACzC,MAAM,CAAC,UAAU,CAAC;SAClB,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,KAAK,CAAC,CAAA;IAChB,OAAO;QACL,OAAO;QACP,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,GAAG,GAAG,OAAO,CAAC;KACjF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAA;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAqC,CAAA;QACvG,OAAO,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAA;IAC9F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAuB,EAAE,MAAY,IAAI,IAAI,EAAE;IAC3E,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;KAC9B,CAAA;IACD,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC9E,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,KAAK;QACnB,uBAAuB,EAAE,IAAI;QAC7B,aAAa,EAAE,KAAK;KACrB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAuB;IACpD,IAAI,CAAC;QACH,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAA;IACjE,CAAC;AACH,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { HookInstallableHarness } from './harnesses.js';
2
- import type { HookEnvelope } from './hook-types.js';
3
- /** Private handoff to detached question submission or answer ownership. */
4
- export declare const QUESTION_SETTLEMENT_INPUT_ENV = "NOTIFAI_INTERNAL_QUESTION_SETTLEMENT_INPUT";
5
- export interface QuestionSettlementLaunch {
6
- envelope: Pick<HookEnvelope, 'session_id' | 'cwd'>;
7
- harness: HookInstallableHarness;
8
- /** Submission never consumes an answer or writes discarded harness stdout. */
9
- purpose?: 'submission';
10
- }
11
- /**
12
- * Launch the exact installed CLI build as a detached owner.
13
- *
14
- * Ask and prompt hooks pay only process startup. Submission owns admission;
15
- * settlement separately observes the complete answer window.
16
- */
17
- export declare function spawnQuestionSettlement(launch: QuestionSettlementLaunch): void;
@@ -1,35 +0,0 @@
1
- import { spawn } from 'node:child_process';
2
- import { fileURLToPath } from 'node:url';
3
- /** Private handoff to detached question submission or answer ownership. */
4
- export const QUESTION_SETTLEMENT_INPUT_ENV = 'NOTIFAI_INTERNAL_QUESTION_SETTLEMENT_INPUT';
5
- /**
6
- * Launch the exact installed CLI build as a detached owner.
7
- *
8
- * Ask and prompt hooks pay only process startup. Submission owns admission;
9
- * settlement separately observes the complete answer window.
10
- */
11
- export function spawnQuestionSettlement(launch) {
12
- const child = spawn(process.execPath, [
13
- fileURLToPath(new URL('./main.js', import.meta.url)),
14
- 'hook',
15
- launch.purpose === 'submission' ? 'question-submission' : 'question-settlement',
16
- '--owner',
17
- 'notifai',
18
- '--harness',
19
- launch.harness,
20
- ], {
21
- cwd: launch.envelope.cwd ?? process.cwd(),
22
- detached: true,
23
- env: {
24
- ...process.env,
25
- [QUESTION_SETTLEMENT_INPUT_ENV]: JSON.stringify(launch.envelope),
26
- },
27
- stdio: 'ignore',
28
- windowsHide: true,
29
- });
30
- // Spawn failures are diagnosed by the next ordinary lifecycle hook, which
31
- // still owns the durable registration. Never turn one into a prompt delay.
32
- child.once('error', () => undefined);
33
- child.unref();
34
- }
35
- //# sourceMappingURL=question-settlement-process.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"question-settlement-process.js","sourceRoot":"","sources":["../src/question-settlement-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAIxC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,4CAA4C,CAAA;AASzF;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAgC;IACtE,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB;QACE,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM;QACN,MAAM,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB;QAC/E,SAAS;QACT,SAAS;QACT,WAAW;QACX,MAAM,CAAC,OAAO;KACf,EACD;QACE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;QACzC,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,CAAC,6BAA6B,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;SACjE;QACD,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;KAClB,CACF,CAAA;IACD,0EAA0E;IAC1E,2EAA2E;IAC3E,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACpC,KAAK,CAAC,KAAK,EAAE,CAAA;AACf,CAAC"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Time before reply-window admission that the Stop owner may spend reading its
3
- * input, serving terminal-first grace, resolving devices, and submitting.
4
- *
5
- * Grace is capped at six minutes and every network operation is independently
6
- * bounded. Twenty minutes lets setup spend up to ten while preserving the
7
- * separate completion margin below; neither may borrow from the answer window
8
- * the service actually commits.
9
- */
10
- export declare const QUESTION_WAITER_STARTUP_HEADROOM_SECONDS: number;
11
- /**
12
- * Minimum lifetime still available when a question is admitted.
13
- *
14
- * The server window starts during submission, not when the hook process
15
- * started. Keeping ten minutes beyond the requested window covers the bounded
16
- * submit, clock skew, close fence, and route handoff. If setup used more of the
17
- * allowance, the frozen question remains local for a successor owner instead
18
- * of publishing a window this process cannot observe completely.
19
- */
20
- export declare const QUESTION_SUBMISSION_COMPLETION_HEADROOM_SECONDS: number;
21
- /**
22
- * The longest one Stop owner may live from process start.
23
- *
24
- * The service can accept an answer for up to 72 hours. Starting this budget
25
- * before submission is deliberate: the startup allowance above ensures that
26
- * even the maximum reply window still ends before the owner does.
27
- */
28
- export declare const QUESTION_WAITER_CEILING_SECONDS: number;
29
- /** Time for final fencing, diagnostics, stdout handoff, and clean process exit. */
30
- export declare const QUESTION_STOP_TEARDOWN_HEADROOM_SECONDS = 60;
31
- /**
32
- * Declared harness timeout for every Stop handler that owns Question Routing.
33
- * It must outlive the runtime owner; otherwise the harness silently kills the
34
- * only process capable of continuing the exact Agent Session.
35
- */
36
- export declare const QUESTION_STOP_TIMEOUT_SECONDS: number;
37
- /**
38
- * Short Stop budget for harnesses that cannot own asynchronous Question
39
- * Routing. They retire/refuse promptly and never wait through an answer window.
40
- */
41
- export declare const NON_ROUTING_STOP_TIMEOUT_SECONDS = 540;
42
- /**
43
- * Pre-PID claim files came only from the former eight-minute owner. Retain that
44
- * recovery bound instead of making a corrupt legacy file block for 72 hours.
45
- */
46
- export declare const LEGACY_QUESTION_CLAIM_TTL_SECONDS = 480;
@@ -1,48 +0,0 @@
1
- import { REPLY_MAX_WINDOW_SECONDS } from '@raidiant/notifai-protocol';
2
- /**
3
- * Time before reply-window admission that the Stop owner may spend reading its
4
- * input, serving terminal-first grace, resolving devices, and submitting.
5
- *
6
- * Grace is capped at six minutes and every network operation is independently
7
- * bounded. Twenty minutes lets setup spend up to ten while preserving the
8
- * separate completion margin below; neither may borrow from the answer window
9
- * the service actually commits.
10
- */
11
- export const QUESTION_WAITER_STARTUP_HEADROOM_SECONDS = 20 * 60;
12
- /**
13
- * Minimum lifetime still available when a question is admitted.
14
- *
15
- * The server window starts during submission, not when the hook process
16
- * started. Keeping ten minutes beyond the requested window covers the bounded
17
- * submit, clock skew, close fence, and route handoff. If setup used more of the
18
- * allowance, the frozen question remains local for a successor owner instead
19
- * of publishing a window this process cannot observe completely.
20
- */
21
- export const QUESTION_SUBMISSION_COMPLETION_HEADROOM_SECONDS = 10 * 60;
22
- /**
23
- * The longest one Stop owner may live from process start.
24
- *
25
- * The service can accept an answer for up to 72 hours. Starting this budget
26
- * before submission is deliberate: the startup allowance above ensures that
27
- * even the maximum reply window still ends before the owner does.
28
- */
29
- export const QUESTION_WAITER_CEILING_SECONDS = REPLY_MAX_WINDOW_SECONDS + QUESTION_WAITER_STARTUP_HEADROOM_SECONDS;
30
- /** Time for final fencing, diagnostics, stdout handoff, and clean process exit. */
31
- export const QUESTION_STOP_TEARDOWN_HEADROOM_SECONDS = 60;
32
- /**
33
- * Declared harness timeout for every Stop handler that owns Question Routing.
34
- * It must outlive the runtime owner; otherwise the harness silently kills the
35
- * only process capable of continuing the exact Agent Session.
36
- */
37
- export const QUESTION_STOP_TIMEOUT_SECONDS = QUESTION_WAITER_CEILING_SECONDS + QUESTION_STOP_TEARDOWN_HEADROOM_SECONDS;
38
- /**
39
- * Short Stop budget for harnesses that cannot own asynchronous Question
40
- * Routing. They retire/refuse promptly and never wait through an answer window.
41
- */
42
- export const NON_ROUTING_STOP_TIMEOUT_SECONDS = 540;
43
- /**
44
- * Pre-PID claim files came only from the former eight-minute owner. Retain that
45
- * recovery bound instead of making a corrupt legacy file block for 72 hours.
46
- */
47
- export const LEGACY_QUESTION_CLAIM_TTL_SECONDS = 480;
48
- //# sourceMappingURL=question-timing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"question-timing.js","sourceRoot":"","sources":["../src/question-timing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,EAAE,GAAG,EAAE,CAAA;AAE/D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAG,EAAE,GAAG,EAAE,CAAA;AAEtE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,wBAAwB,GAAG,wCAAwC,CAAA;AAErE,mFAAmF;AACnF,MAAM,CAAC,MAAM,uCAAuC,GAAG,EAAE,CAAA;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GACxC,+BAA+B,GAAG,uCAAuC,CAAA;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAA;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAA"}
@@ -1,153 +0,0 @@
1
- /**
2
- * What "set up" means, in one place.
3
- *
4
- * `init` and `doctor` used to each carry their own idea of this — a fixed
5
- * five-step script in one, a flat list of checks in the other — which is two
6
- * copies of the same knowledge that can disagree, and did: doctor called
7
- * missing hooks fine while init offered to install them, and only doctor knew
8
- * what a revoked credential looked like.
9
- *
10
- * So the model lives here and both commands render it. `doctor` shows every
11
- * state at once, because a report is what it is for. `init` walks the same
12
- * list in order and stops at the first thing standing in the way, because
13
- * someone handed five tasks does none of them. An agent gets the same states
14
- * through a third renderer that never prompts.
15
- *
16
- * The ordering is a dependency chain, not a preference: there is no point
17
- * asking the server about devices before there is a credential to ask with,
18
- * and no point reporting a stale contract to someone who cannot reach the
19
- * server at all. Assessment stops descending when a prerequisite is missing
20
- * and marks what follows `unknown` rather than guessing.
21
- */
22
- /** Whether the gap can be closed from here, and by whom. */
23
- export type Remedy =
24
- /**
25
- * The CLI can do it unattended — no prompt, no human. `command` is how a
26
- * reader would ask for it later, for the case where it was declined or
27
- * skipped; it is never needed to perform the action.
28
- */
29
- {
30
- by: 'cli';
31
- summary: string;
32
- command?: string;
33
- }
34
- /**
35
- * An action the User completes. `interactive` marks a flow the CLI can
36
- * start for them: init starts machine approval for either caller, while the
37
- * User still signs in and approves in their browser.
38
- */
39
- | {
40
- by: 'user-here';
41
- summary: string;
42
- command: string;
43
- interactive?: boolean;
44
- /** Stable agent-facing description of an unavoidable harness-owned action. */
45
- user_action?: {
46
- code: string;
47
- harness: string;
48
- action: string;
49
- message: string;
50
- };
51
- }
52
- /**
53
- * A human somewhere else entirely — phone in hand, app store, permission
54
- * dialog. The class the old init could only print a sentence about, and the
55
- * one most likely to end an onboarding.
56
- */
57
- | {
58
- by: 'user-elsewhere';
59
- summary: string;
60
- };
61
- export type StateStatus =
62
- /** Satisfied. */
63
- 'ready'
64
- /** Not satisfied, and it stands in the way. */
65
- | 'gap'
66
- /** Not satisfied, and that is a legitimate choice. */
67
- | 'optional-gap'
68
- /** A prerequisite is missing, so this was never evaluated. */
69
- | 'unknown';
70
- export interface ReadinessState {
71
- id: string;
72
- /** Human words for what this is, not the field name. */
73
- title: string;
74
- status: StateStatus;
75
- /** The current condition, phrased for the human renderer. */
76
- detail: string;
77
- /** Structured diagnostics emitted only by --json / non-human surfaces. */
78
- technical?: unknown;
79
- remedy?: Remedy;
80
- }
81
- export interface Readiness {
82
- states: ReadinessState[];
83
- }
84
- /** The first thing standing in the way, or null when nothing is. */
85
- export declare function firstBlocker(readiness: Readiness): ReadinessState | null;
86
- /**
87
- * Question Routing: what lets a question reach a phone when nobody is at the
88
- * terminal. Hooks, their sub-states, and the setting that admits them.
89
- *
90
- * Separate from `isOptionalSetup` because these are also the states a human
91
- * should not be handed as leftovers — "Optional, not set up" is a fair line
92
- * about the agent skill and a confusing one about a session pointer.
93
- */
94
- export declare function isOptionalAutomation(id: string): boolean;
95
- /**
96
- * Automation layered on top of a product that already sends: Question Routing
97
- * and the agent guidance skill.
98
- *
99
- * Real, and reported. `doctor` is the report and judges it strictly. Anything
100
- * whose job is to get a first notification delivered treats it as a line to
101
- * print, never a gate — a hook diagnostic or a duplicate skill install in
102
- * front of the delivery proof means a setup that can already send never proves
103
- * that it can. The one that fires most often, a turn that has not ended yet,
104
- * cannot be closed by the agent standing inside that turn at all.
105
- */
106
- export declare function isOptionalSetup(id: string): boolean;
107
- /** The first thing in the way that is not optional automation. */
108
- export declare function firstRequiredBlocker(readiness: Readiness): ReadinessState | null;
109
- /**
110
- * Ready enough to be useful, which is not the same as every box ticked.
111
- *
112
- * Hooks and the agent skill are genuinely optional — `send` works without
113
- * them — so an install that declined both is finished, not half-done. Saying
114
- * otherwise trains people to ignore the summary line, and it is the summary
115
- * line an agent branches on.
116
- */
117
- export declare function isReady(readiness: Readiness): boolean;
118
- /** Baseline Notification Requests can be submitted in the final assessed state. */
119
- export declare function canSend(readiness: Readiness): boolean;
120
- /**
121
- * This exact invocation has a fully evidenced exact-session question route.
122
- *
123
- * A wake route marked `direct_wake_optional` is excluded deliberately: on those
124
- * harnesses an unavailable direct wake costs latency, not delivery. Claude on
125
- * Windows still holds the Stop turn open, and Codex's answer waits in the
126
- * accepted journal for the session's next turn. Counting either as a routing
127
- * failure would report a working question route as broken.
128
- */
129
- export declare function questionRoutingReady(readiness: Readiness): boolean;
130
- /** Whether this invocation can start a turn after its ordinary continuation returns. */
131
- export declare function directWakeReady(readiness: Readiness): boolean | null;
132
- /** Stable machine renderer shared by init and doctor. */
133
- export declare function readinessJson(readiness: Readiness): object;
134
- /**
135
- * Work an assessment can do.
136
- *
137
- * `local` is this machine's files: project config, hook installs, skill lock
138
- * files. `remote` is everything that leaves the process — the keychain, the
139
- * service, the account, devices, and delivery evidence. The split exists so a
140
- * redraw after a settings change does not pay for a health check.
141
- */
142
- export type ReadinessRefresh = 'local' | 'remote';
143
- /**
144
- * After a menu action, which readiness work is worth doing.
145
- *
146
- * `null` means keep the assessment already in hand. Doctor is the report, not
147
- * a mutation: the check it just ran is the redraw. A test send and a device
148
- * list cannot change setup. Settings and hook wiring stay on this machine
149
- * unless the caller says the service URL itself moved.
150
- */
151
- export declare function refreshAfterMenuAction(action: 'setup' | 'account' | 'test' | 'devices' | 'settings' | 'routing' | 'doctor', changed: boolean, options?: {
152
- remote?: boolean;
153
- }): readonly ReadinessRefresh[] | null;
package/dist/readiness.js DELETED
@@ -1,149 +0,0 @@
1
- /**
2
- * What "set up" means, in one place.
3
- *
4
- * `init` and `doctor` used to each carry their own idea of this — a fixed
5
- * five-step script in one, a flat list of checks in the other — which is two
6
- * copies of the same knowledge that can disagree, and did: doctor called
7
- * missing hooks fine while init offered to install them, and only doctor knew
8
- * what a revoked credential looked like.
9
- *
10
- * So the model lives here and both commands render it. `doctor` shows every
11
- * state at once, because a report is what it is for. `init` walks the same
12
- * list in order and stops at the first thing standing in the way, because
13
- * someone handed five tasks does none of them. An agent gets the same states
14
- * through a third renderer that never prompts.
15
- *
16
- * The ordering is a dependency chain, not a preference: there is no point
17
- * asking the server about devices before there is a credential to ask with,
18
- * and no point reporting a stale contract to someone who cannot reach the
19
- * server at all. Assessment stops descending when a prerequisite is missing
20
- * and marks what follows `unknown` rather than guessing.
21
- */
22
- /** The first thing standing in the way, or null when nothing is. */
23
- export function firstBlocker(readiness) {
24
- return readiness.states.find((s) => s.status === 'gap') ?? null;
25
- }
26
- /**
27
- * Question Routing: what lets a question reach a phone when nobody is at the
28
- * terminal. Hooks, their sub-states, and the setting that admits them.
29
- *
30
- * Separate from `isOptionalSetup` because these are also the states a human
31
- * should not be handed as leftovers — "Optional, not set up" is a fair line
32
- * about the agent skill and a confusing one about a session pointer.
33
- */
34
- export function isOptionalAutomation(id) {
35
- return id === 'hooks' || id.startsWith('hooks-') || id === 'question-routing-settings';
36
- }
37
- /**
38
- * Automation layered on top of a product that already sends: Question Routing
39
- * and the agent guidance skill.
40
- *
41
- * Real, and reported. `doctor` is the report and judges it strictly. Anything
42
- * whose job is to get a first notification delivered treats it as a line to
43
- * print, never a gate — a hook diagnostic or a duplicate skill install in
44
- * front of the delivery proof means a setup that can already send never proves
45
- * that it can. The one that fires most often, a turn that has not ended yet,
46
- * cannot be closed by the agent standing inside that turn at all.
47
- */
48
- export function isOptionalSetup(id) {
49
- return id === 'skill' || isOptionalAutomation(id);
50
- }
51
- /** The first thing in the way that is not optional automation. */
52
- export function firstRequiredBlocker(readiness) {
53
- return readiness.states.find((s) => s.status === 'gap' && !isOptionalSetup(s.id)) ?? null;
54
- }
55
- /**
56
- * Ready enough to be useful, which is not the same as every box ticked.
57
- *
58
- * Hooks and the agent skill are genuinely optional — `send` works without
59
- * them — so an install that declined both is finished, not half-done. Saying
60
- * otherwise trains people to ignore the summary line, and it is the summary
61
- * line an agent branches on.
62
- */
63
- export function isReady(readiness) {
64
- return firstRequiredBlocker(readiness) === null;
65
- }
66
- const SEND_PREREQUISITES = new Set([
67
- 'cli-bin',
68
- 'credential',
69
- 'server',
70
- 'contract',
71
- 'auth',
72
- 'devices',
73
- ]);
74
- /** Baseline Notification Requests can be submitted in the final assessed state. */
75
- export function canSend(readiness) {
76
- return [...SEND_PREREQUISITES].every((id) => {
77
- const state = readiness.states.find((candidate) => candidate.id === id);
78
- return state?.status === 'ready' || state?.status === 'optional-gap';
79
- });
80
- }
81
- /**
82
- * This exact invocation has a fully evidenced exact-session question route.
83
- *
84
- * A wake route marked `direct_wake_optional` is excluded deliberately: on those
85
- * harnesses an unavailable direct wake costs latency, not delivery. Claude on
86
- * Windows still holds the Stop turn open, and Codex's answer waits in the
87
- * accepted journal for the session's next turn. Counting either as a routing
88
- * failure would report a working question route as broken.
89
- */
90
- export function questionRoutingReady(readiness) {
91
- const relevant = readiness.states.filter((state) => state.id === 'question-routing-settings' ||
92
- (state.id === 'hooks' || state.id.startsWith('hooks-')) &&
93
- state.id !== 'hooks-detected' &&
94
- // Native activity diagnoses presence, not the trusted answer route.
95
- state.id !== 'hooks-native-activity' &&
96
- !(state.id === 'hooks-wake-route' &&
97
- typeof state.technical === 'object' &&
98
- state.technical !== null &&
99
- 'direct_wake_optional' in state.technical &&
100
- state.technical.direct_wake_optional === true));
101
- return relevant.length > 0 && relevant.every((state) => state.status === 'ready');
102
- }
103
- /** Whether this invocation can start a turn after its ordinary continuation returns. */
104
- export function directWakeReady(readiness) {
105
- const state = readiness.states.find((candidate) => candidate.id === 'hooks-wake-route');
106
- return state === undefined ? null : state.status === 'ready';
107
- }
108
- /** Stable machine renderer shared by init and doctor. */
109
- export function readinessJson(readiness) {
110
- return {
111
- ready: isReady(readiness),
112
- can_send: canSend(readiness),
113
- question_routing_ready: questionRoutingReady(readiness),
114
- direct_wake_ready: directWakeReady(readiness),
115
- states: readiness.states.map((state) => ({
116
- id: state.id,
117
- title: state.title,
118
- status: state.status,
119
- detail: state.detail,
120
- technical: state.technical ?? null,
121
- remedy: state.remedy ?? null,
122
- })),
123
- };
124
- }
125
- /**
126
- * After a menu action, which readiness work is worth doing.
127
- *
128
- * `null` means keep the assessment already in hand. Doctor is the report, not
129
- * a mutation: the check it just ran is the redraw. A test send and a device
130
- * list cannot change setup. Settings and hook wiring stay on this machine
131
- * unless the caller says the service URL itself moved.
132
- */
133
- export function refreshAfterMenuAction(action, changed, options = {}) {
134
- switch (action) {
135
- case 'doctor':
136
- case 'test':
137
- case 'devices':
138
- return null;
139
- case 'setup':
140
- case 'account':
141
- return changed ? ['local', 'remote'] : null;
142
- case 'settings':
143
- case 'routing':
144
- if (!changed)
145
- return null;
146
- return options.remote === true ? ['local', 'remote'] : ['local'];
147
- }
148
- }
149
- //# sourceMappingURL=readiness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}