@coralai/sps-cli 0.74.0 → 0.75.1

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 (324) hide show
  1. package/dist/chat-protocol/index.d.ts +8 -8
  2. package/dist/chat-protocol/index.d.ts.map +1 -1
  3. package/dist/chat-protocol/index.js +3 -3
  4. package/dist/chat-protocol/index.js.map +1 -1
  5. package/dist/commands/agentRenderer.d.ts.map +1 -1
  6. package/dist/commands/agentRenderer.js.map +1 -1
  7. package/dist/commands/cardDashboard.js +1 -1
  8. package/dist/commands/cardDashboard.js.map +1 -1
  9. package/dist/commands/doctor.js +3 -3
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/commands/graphCommand.js +1 -1
  12. package/dist/commands/graphCommand.js.map +1 -1
  13. package/dist/commands/modelCommand.d.ts.map +1 -1
  14. package/dist/commands/modelCommand.js +3 -3
  15. package/dist/commands/modelCommand.js.map +1 -1
  16. package/dist/commands/pipelineRunner.js.map +1 -1
  17. package/dist/commands/pmCommand.js.map +1 -1
  18. package/dist/commands/projectInit.d.ts.map +1 -1
  19. package/dist/commands/projectInit.js +8 -9
  20. package/dist/commands/projectInit.js.map +1 -1
  21. package/dist/commands/prune.js +1 -1
  22. package/dist/commands/prune.js.map +1 -1
  23. package/dist/commands/reset.js +2 -2
  24. package/dist/commands/reset.js.map +1 -1
  25. package/dist/commands/setup.d.ts.map +1 -1
  26. package/dist/commands/setup.js +1 -1
  27. package/dist/commands/setup.js.map +1 -1
  28. package/dist/commands/skillCommand.js +1 -1
  29. package/dist/commands/skillCommand.js.map +1 -1
  30. package/dist/commands/status.js +1 -1
  31. package/dist/commands/status.js.map +1 -1
  32. package/dist/commands/stop.js +1 -1
  33. package/dist/commands/stop.js.map +1 -1
  34. package/dist/commands/workerDashboard.js +1 -1
  35. package/dist/commands/workerDashboard.js.map +1 -1
  36. package/dist/console/lib/artRunRequest.d.ts +13 -1
  37. package/dist/console/lib/artRunRequest.d.ts.map +1 -1
  38. package/dist/console/lib/artRunRequest.js.map +1 -1
  39. package/dist/console/lib/sessionConfig.d.ts.map +1 -1
  40. package/dist/console/lib/sessionConfig.js.map +1 -1
  41. package/dist/console/routes/artPipeline.d.ts.map +1 -1
  42. package/dist/console/routes/artPipeline.js +2 -2
  43. package/dist/console/routes/artPipeline.js.map +1 -1
  44. package/dist/console/routes/chat.d.ts.map +1 -1
  45. package/dist/console/routes/chat.js +15 -16
  46. package/dist/console/routes/chat.js.map +1 -1
  47. package/dist/console/routes/flow.d.ts.map +1 -1
  48. package/dist/console/routes/flow.js +1 -1
  49. package/dist/console/routes/flow.js.map +1 -1
  50. package/dist/console/routes/fs.d.ts.map +1 -1
  51. package/dist/console/routes/fs.js +0 -2
  52. package/dist/console/routes/fs.js.map +1 -1
  53. package/dist/console/routes/graph.d.ts.map +1 -1
  54. package/dist/console/routes/graph.js.map +1 -1
  55. package/dist/console/routes/logs.d.ts.map +1 -1
  56. package/dist/console/routes/logs.js +1 -1
  57. package/dist/console/routes/logs.js.map +1 -1
  58. package/dist/console/routes/mediaProviders.js.map +1 -1
  59. package/dist/console/routes/plugins.js +4 -4
  60. package/dist/console/routes/plugins.js.map +1 -1
  61. package/dist/console/routes/projectConfig.d.ts.map +1 -1
  62. package/dist/console/routes/projectConfig.js +3 -3
  63. package/dist/console/routes/projectConfig.js.map +1 -1
  64. package/dist/console/routes/projects.d.ts.map +1 -1
  65. package/dist/console/routes/projects.js.map +1 -1
  66. package/dist/console/routes/subagent.js +1 -1
  67. package/dist/console/routes/subagent.js.map +1 -1
  68. package/dist/console/routes/templates.js +1 -1
  69. package/dist/console/routes/templates.js.map +1 -1
  70. package/dist/console-assets/assets/ShowcasePage-DZ21PXog.js +121 -0
  71. package/dist/console-assets/assets/index-BN0kx67J.css +1 -0
  72. package/dist/console-assets/assets/index-DNsf7XS3.js +8657 -0
  73. package/dist/console-assets/index.html +2 -2
  74. package/dist/core/activityStream.js +1 -1
  75. package/dist/core/activityStream.js.map +1 -1
  76. package/dist/core/agents/DaemonBackend.d.ts.map +1 -1
  77. package/dist/core/agents/DaemonBackend.js.map +1 -1
  78. package/dist/core/agents/OpenAiAgentBackend.d.ts.map +1 -1
  79. package/dist/core/agents/OpenAiAgentBackend.js +2 -2
  80. package/dist/core/agents/OpenAiAgentBackend.js.map +1 -1
  81. package/dist/core/agents/configureProjectAgent.js +1 -1
  82. package/dist/core/agents/configureProjectAgent.js.map +1 -1
  83. package/dist/core/agents/modelSettingsFile.js +1 -1
  84. package/dist/core/agents/modelSettingsFile.js.map +1 -1
  85. package/dist/core/art/artRunLauncher.js +1 -1
  86. package/dist/core/art/artRunLauncher.js.map +1 -1
  87. package/dist/core/codegraph/CodeGraphService.js +1 -1
  88. package/dist/core/codegraph/CodeGraphService.js.map +1 -1
  89. package/dist/core/markerFile.d.ts +19 -0
  90. package/dist/core/markerFile.d.ts.map +1 -1
  91. package/dist/core/markerFile.js +1 -1
  92. package/dist/core/markerFile.js.map +1 -1
  93. package/dist/core/memory2/capture.js +1 -1
  94. package/dist/core/memory2/capture.js.map +1 -1
  95. package/dist/core/memory2/config.js +1 -1
  96. package/dist/core/memory2/config.js.map +1 -1
  97. package/dist/core/memory2/digest.d.ts.map +1 -1
  98. package/dist/core/memory2/digest.js +1 -2
  99. package/dist/core/memory2/digest.js.map +1 -1
  100. package/dist/core/memory2/external/importTranscript.js +1 -1
  101. package/dist/core/memory2/external/importTranscript.js.map +1 -1
  102. package/dist/core/memory2/ftsIndex.d.ts.map +1 -1
  103. package/dist/core/memory2/ftsIndex.js +1 -1
  104. package/dist/core/memory2/ftsIndex.js.map +1 -1
  105. package/dist/core/memory2/migrate.js +1 -1
  106. package/dist/core/memory2/migrate.js.map +1 -1
  107. package/dist/core/memory2/retrieve.d.ts +9 -0
  108. package/dist/core/memory2/retrieve.d.ts.map +1 -1
  109. package/dist/core/memory2/retrieve.js +1 -1
  110. package/dist/core/memory2/retrieve.js.map +1 -1
  111. package/dist/core/memory2/store.js +2 -2
  112. package/dist/core/memory2/store.js.map +1 -1
  113. package/dist/core/modelConfigBundle.d.ts.map +1 -1
  114. package/dist/core/modelConfigBundle.js.map +1 -1
  115. package/dist/core/paths.js +1 -1
  116. package/dist/core/paths.js.map +1 -1
  117. package/dist/core/processInspect.d.ts +17 -0
  118. package/dist/core/processInspect.d.ts.map +1 -1
  119. package/dist/core/processInspect.js +1 -1
  120. package/dist/core/processInspect.js.map +1 -1
  121. package/dist/core/projectPipelineAdapter.js +1 -1
  122. package/dist/core/projectPipelineAdapter.js.map +1 -1
  123. package/dist/core/queue.d.ts +15 -0
  124. package/dist/core/queue.d.ts.map +1 -1
  125. package/dist/core/queue.js +1 -1
  126. package/dist/core/queue.js.map +1 -1
  127. package/dist/core/runtimeSnapshot.d.ts +1 -1
  128. package/dist/core/runtimeSnapshot.d.ts.map +1 -1
  129. package/dist/core/runtimeSnapshot.js.map +1 -1
  130. package/dist/core/runtimeStore.d.ts +1 -1
  131. package/dist/core/runtimeStore.d.ts.map +1 -1
  132. package/dist/core/sessionContext.d.ts +1 -1
  133. package/dist/core/sessionContext.d.ts.map +1 -1
  134. package/dist/core/sessionContext.js.map +1 -1
  135. package/dist/core/skills/index.d.ts +3 -3
  136. package/dist/core/skills/index.d.ts.map +1 -1
  137. package/dist/core/skills/index.js +3 -3
  138. package/dist/core/skills/index.js.map +1 -1
  139. package/dist/core/skills/lint.d.ts +1 -1
  140. package/dist/core/skills/lint.d.ts.map +1 -1
  141. package/dist/core/skills/lint.js.map +1 -1
  142. package/dist/core/skills/match/embeddingRecall.d.ts.map +1 -1
  143. package/dist/core/skills/match/embeddingRecall.js.map +1 -1
  144. package/dist/core/skills/match/skillEnrich.js +1 -1
  145. package/dist/core/skills/match/skillEnrich.js.map +1 -1
  146. package/dist/core/skills/match/skillMatcher.d.ts.map +1 -1
  147. package/dist/core/skills/match/skillMatcher.js +10 -0
  148. package/dist/core/skills/match/skillMatcher.js.map +1 -1
  149. package/dist/core/skills/registration.js +1 -1
  150. package/dist/core/skills/registration.js.map +1 -1
  151. package/dist/core/state.d.ts +1 -1
  152. package/dist/core/state.d.ts.map +1 -1
  153. package/dist/core/templates/templatePackage.d.ts.map +1 -1
  154. package/dist/core/templates/templatePackage.js.map +1 -1
  155. package/dist/core/tts/DoubaoTts.js +1 -1
  156. package/dist/core/tts/DoubaoTts.js.map +1 -1
  157. package/dist/engines/MonitorEngine.d.ts.map +1 -1
  158. package/dist/engines/MonitorEngine.js.map +1 -1
  159. package/dist/im/adapters/feishuAdapter.d.ts +9 -0
  160. package/dist/im/adapters/feishuAdapter.d.ts.map +1 -1
  161. package/dist/im/adapters/feishuAdapter.js +1 -1
  162. package/dist/im/adapters/feishuAdapter.js.map +1 -1
  163. package/dist/im/chatBridge.d.ts +1 -1
  164. package/dist/im/chatBridge.d.ts.map +1 -1
  165. package/dist/im/chatBridge.js.map +1 -1
  166. package/dist/im/router.d.ts.map +1 -1
  167. package/dist/im/router.js +1 -1
  168. package/dist/im/router.js.map +1 -1
  169. package/dist/infra/filesystem.d.ts +12 -0
  170. package/dist/infra/filesystem.d.ts.map +1 -1
  171. package/dist/infra/filesystem.js +1 -1
  172. package/dist/infra/filesystem.js.map +1 -1
  173. package/dist/manager/runtime-coordinator.d.ts.map +1 -1
  174. package/dist/manager/runtime-coordinator.js.map +1 -1
  175. package/dist/manager/worker-manager.d.ts +1 -1
  176. package/dist/manager/worker-manager.d.ts.map +1 -1
  177. package/dist/openai-agent/agentFactory.d.ts.map +1 -1
  178. package/dist/openai-agent/agentFactory.js.map +1 -1
  179. package/dist/openai-agent/hooks.d.ts +10 -0
  180. package/dist/openai-agent/hooks.d.ts.map +1 -1
  181. package/dist/openai-agent/hooks.js +1 -1
  182. package/dist/openai-agent/hooks.js.map +1 -1
  183. package/dist/openai-agent/instructions.d.ts.map +1 -1
  184. package/dist/openai-agent/instructions.js.map +1 -1
  185. package/dist/openai-agent/interactions/broker.d.ts +1 -1
  186. package/dist/openai-agent/interactions/broker.d.ts.map +1 -1
  187. package/dist/openai-agent/interactions/broker.js.map +1 -1
  188. package/dist/openai-agent/mcp/managedMcp.d.ts.map +1 -1
  189. package/dist/openai-agent/mcp/managedMcp.js +1 -1
  190. package/dist/openai-agent/mcp/managedMcp.js.map +1 -1
  191. package/dist/openai-agent/memory/fileStore.js +2 -2
  192. package/dist/openai-agent/memory/fileStore.js.map +1 -1
  193. package/dist/openai-agent/protocolWriter.d.ts.map +1 -1
  194. package/dist/openai-agent/protocolWriter.js +1 -1
  195. package/dist/openai-agent/protocolWriter.js.map +1 -1
  196. package/dist/openai-agent/providerFactory.d.ts +1 -1
  197. package/dist/openai-agent/providerFactory.d.ts.map +1 -1
  198. package/dist/openai-agent/providerFactory.js.map +1 -1
  199. package/dist/openai-agent/request.d.ts.map +1 -1
  200. package/dist/openai-agent/request.js.map +1 -1
  201. package/dist/openai-agent/sandbox/productionDocker.d.ts.map +1 -1
  202. package/dist/openai-agent/sandbox/productionDocker.js +1 -1
  203. package/dist/openai-agent/sandbox/productionDocker.js.map +1 -1
  204. package/dist/openai-agent/storage/atomic.js +1 -1
  205. package/dist/openai-agent/storage/atomic.js.map +1 -1
  206. package/dist/openai-agent/storage/checkpoint.d.ts +1 -1
  207. package/dist/openai-agent/storage/checkpoint.d.ts.map +1 -1
  208. package/dist/openai-agent/storage/checkpoint.js.map +1 -1
  209. package/dist/openai-agent/storage/compactingSession.d.ts +16 -0
  210. package/dist/openai-agent/storage/compactingSession.d.ts.map +1 -1
  211. package/dist/openai-agent/storage/compactingSession.js.map +1 -1
  212. package/dist/openai-agent/storage/index.d.ts +1 -1
  213. package/dist/openai-agent/storage/index.d.ts.map +1 -1
  214. package/dist/openai-agent/storage/index.js +1 -1
  215. package/dist/openai-agent/storage/index.js.map +1 -1
  216. package/dist/openai-agent/storage/lock.js +4 -4
  217. package/dist/openai-agent/storage/lock.js.map +1 -1
  218. package/dist/openai-agent/storage/output.d.ts.map +1 -1
  219. package/dist/openai-agent/storage/output.js.map +1 -1
  220. package/dist/openai-agent/storage/session.d.ts.map +1 -1
  221. package/dist/openai-agent/storage/session.js +1 -1
  222. package/dist/openai-agent/storage/session.js.map +1 -1
  223. package/dist/openai-agent/storage/workerStorage.d.ts +3 -3
  224. package/dist/openai-agent/storage/workerStorage.d.ts.map +1 -1
  225. package/dist/openai-agent/storage/workerStorage.js +3 -3
  226. package/dist/openai-agent/storage/workerStorage.js.map +1 -1
  227. package/dist/openai-agent/storage/workspace.js +1 -1
  228. package/dist/openai-agent/storage/workspace.js.map +1 -1
  229. package/dist/openai-agent/tools/ledgerTools.d.ts +1 -1
  230. package/dist/openai-agent/tools/ledgerTools.d.ts.map +1 -1
  231. package/dist/plugin/manager.d.ts +16 -1
  232. package/dist/plugin/manager.d.ts.map +1 -1
  233. package/dist/plugin/manager.js +38 -3
  234. package/dist/plugin/manager.js.map +1 -1
  235. package/dist/providers/LLMClient.d.ts.map +1 -1
  236. package/dist/providers/LLMClient.js.map +1 -1
  237. package/dist/providers/MatrixNotifier.d.ts.map +1 -1
  238. package/dist/providers/MatrixNotifier.js.map +1 -1
  239. package/dist/providers/RuntimeSessionRuntime.d.ts +1 -1
  240. package/dist/providers/RuntimeSessionRuntime.d.ts.map +1 -1
  241. package/dist/providers/RuntimeSessionRuntime.js +4 -4
  242. package/dist/providers/RuntimeSessionRuntime.js.map +1 -1
  243. package/dist/providers/art/artDriver.d.ts.map +1 -1
  244. package/dist/providers/art/artDriver.js +1 -1
  245. package/dist/providers/art/artDriver.js.map +1 -1
  246. package/dist/providers/art/atlas.js +1 -1
  247. package/dist/providers/art/atlas.js.map +1 -1
  248. package/dist/providers/llm/codexAuth.d.ts +8 -0
  249. package/dist/providers/llm/codexAuth.d.ts.map +1 -1
  250. package/dist/providers/llm/codexAuth.js +1 -1
  251. package/dist/providers/llm/codexAuth.js.map +1 -1
  252. package/dist/providers/llm/providers.js +1 -1
  253. package/dist/providers/llm/providers.js.map +1 -1
  254. package/dist/providers/llm/workerTools.d.ts.map +1 -1
  255. package/dist/providers/llm/workerTools.js.map +1 -1
  256. package/dist/providers/media/adapters.d.ts.map +1 -1
  257. package/dist/providers/media/adapters.js +1 -1
  258. package/dist/providers/media/adapters.js.map +1 -1
  259. package/dist/providers/media/mediaProviders.js +1 -1
  260. package/dist/providers/media/mediaProviders.js.map +1 -1
  261. package/dist/providers/subagent/runSubAgent.js +3 -3
  262. package/dist/providers/subagent/runSubAgent.js.map +1 -1
  263. package/dist/runtime/agentd/client.d.ts +2 -2
  264. package/dist/runtime/agentd/client.d.ts.map +1 -1
  265. package/dist/runtime/agentd/main.d.ts +10 -1
  266. package/dist/runtime/agentd/main.d.ts.map +1 -1
  267. package/dist/runtime/agentd/main.js +3 -3
  268. package/dist/runtime/agentd/main.js.map +1 -1
  269. package/dist/runtime/agentd/protocol.d.ts +2 -2
  270. package/dist/runtime/agentd/protocol.d.ts.map +1 -1
  271. package/dist/runtime/agentd/server.d.ts +5 -0
  272. package/dist/runtime/agentd/server.d.ts.map +1 -1
  273. package/dist/runtime/agentd/server.js +1 -1
  274. package/dist/runtime/agentd/server.js.map +1 -1
  275. package/dist/runtime/backends/claude/inprocTools.d.ts +1 -1
  276. package/dist/runtime/backends/claude/inprocTools.d.ts.map +1 -1
  277. package/dist/runtime/backends/claude/inprocTools.js +10 -0
  278. package/dist/runtime/backends/claude/inprocTools.js.map +1 -1
  279. package/dist/runtime/backends/process/ExternalProcessBackend.d.ts +8 -2
  280. package/dist/runtime/backends/process/ExternalProcessBackend.d.ts.map +1 -1
  281. package/dist/runtime/backends/process/ExternalProcessBackend.js +2 -2
  282. package/dist/runtime/backends/process/ExternalProcessBackend.js.map +1 -1
  283. package/dist/runtime/contract/AgentBackend.d.ts +1 -1
  284. package/dist/runtime/contract/AgentBackend.d.ts.map +1 -1
  285. package/dist/runtime/contract/AgentBackend.js +5 -0
  286. package/dist/runtime/contract/AgentBackend.js.map +1 -1
  287. package/dist/runtime/contract/events.d.ts +1 -1
  288. package/dist/runtime/contract/events.d.ts.map +1 -1
  289. package/dist/runtime/contract/events.js +9 -0
  290. package/dist/runtime/contract/events.js.map +1 -1
  291. package/dist/runtime/contract/index.d.ts +5 -5
  292. package/dist/runtime/contract/index.d.ts.map +1 -1
  293. package/dist/runtime/contract/index.js +5 -0
  294. package/dist/runtime/contract/index.js.map +1 -1
  295. package/dist/runtime/contract/service.d.ts +2 -2
  296. package/dist/runtime/contract/service.d.ts.map +1 -1
  297. package/dist/runtime/index.d.ts +10 -10
  298. package/dist/runtime/index.d.ts.map +1 -1
  299. package/dist/runtime/index.js +11 -11
  300. package/dist/runtime/index.js.map +1 -1
  301. package/dist/runtime/runtime.d.ts +1 -1
  302. package/dist/runtime/runtime.d.ts.map +1 -1
  303. package/dist/runtime/runtime.js +2 -2
  304. package/dist/runtime/runtime.js.map +1 -1
  305. package/dist/runtime/service/AgentRuntime.d.ts +2 -2
  306. package/dist/runtime/service/AgentRuntime.d.ts.map +1 -1
  307. package/dist/runtime/service/AgentRuntime.js +9 -0
  308. package/dist/runtime/service/AgentRuntime.js.map +1 -1
  309. package/dist/runtime/service/backendFactory.d.ts +6 -0
  310. package/dist/runtime/service/backendFactory.d.ts.map +1 -1
  311. package/dist/runtime/service/backendFactory.js +6 -0
  312. package/dist/runtime/service/backendFactory.js.map +1 -1
  313. package/dist/runtime/versioning/VersionManager.d.ts.map +1 -1
  314. package/dist/runtime/versioning/VersionManager.js.map +1 -1
  315. package/dist/seams/im-builtin/client.js +402 -0
  316. package/dist/seams/memory-local/client.js +135 -0
  317. package/dist/server.d.ts +14 -14
  318. package/dist/server.d.ts.map +1 -1
  319. package/dist/server.js +19 -19
  320. package/dist/server.js.map +1 -1
  321. package/package.json +5 -4
  322. package/dist/console-assets/assets/ShowcasePage-Ds05miA3.js +0 -156
  323. package/dist/console-assets/assets/index-2lwFzkSf.js +0 -867
  324. package/dist/console-assets/assets/index-YoLvbHIG.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAA0C,MAAM,wBAAwB,CAAC;AAC/F,6DAA6D;AAC7D,uEAAuE;AACvE,OAAO,EAAE,sBAAsB,EAAqC,MAAM,4BAA4B,CAAC;AAEvG,mDAAmD;AACnD,0EAA0E;AAC1E,OAAO,EACL,qBAAqB,GAItB,MAAM,wCAAwC,CAAC;AAChD,qDAAqD;AACrD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GAGpB,MAAM,6BAA6B,CAAC;AACrC,qEAAqE;AACrE,oEAAoE;AACpE,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,aAAa,GAQd,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,gBAAgB,GAGjB,MAAM,mCAAmC,CAAC;AAC3C,+CAA+C;AAC/C,OAAO,EAAE,aAAa,EAAqD,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,mDAAmD;AACnD,0EAA0E;AAC1E,OAAO,EAEL,qBAAqB,GAGtB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,qDAAqD;AACrD,OAAO,EACL,uBAAuB,EAEvB,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,6BAA6B,CAAC;AACrC,6DAA6D;AAC7D,uEAAuE;AACvE,OAAO,EAAqC,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACvG,OAAO,EAAkB,aAAa,EAA0B,MAAM,wBAAwB,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,+CAA+C;AAC/C,OAAO,EAAqD,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACtH,OAAO,EACL,cAAc,EACd,gBAAgB,GAGjB,MAAM,mCAAmC,CAAC;AAC3C,qEAAqE;AACrE,oEAAoE;AACpE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,aAAa,GAQd,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coralai/sps-cli",
3
- "version": "0.74.0",
3
+ "version": "0.75.1",
4
4
  "description": "SPS CLI — AI-driven development pipeline orchestrator",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -8,7 +8,7 @@
8
8
  "sps": "dist/main.js"
9
9
  },
10
10
  "scripts": {
11
- "build": "npm run build:packages && npm run build:cli && npm run build:console",
11
+ "build": "npm run build:packages && npm run build:cli && npm run build:seam-clients && npm run build:console",
12
12
  "build:cli": "node scripts/dev-selflink.mjs && rm -rf dist && tsc && chmod +x dist/main.js",
13
13
  "build:console": "cd console && npm install --no-audit --no-fund --silent && npm run build && cd .. && rm -rf ./dist/console-assets && cp -r ./console/dist ./dist/console-assets",
14
14
  "dev": "tsx src/main.ts",
@@ -20,11 +20,12 @@
20
20
  "test:coverage": "vitest run --coverage",
21
21
  "test:e2e": "playwright test",
22
22
  "prepublishOnly": "npm run check && npm run build",
23
- "check": "npm run build:packages && npm run typecheck && npm run typecheck:test && npm run check:api-docs",
23
+ "check": "npm run build:packages && npm run build:seam-clients && npm run typecheck && npm run typecheck:test && npm run check:api-docs",
24
24
  "dev:selflink": "node scripts/dev-selflink.mjs",
25
25
  "smoke:assembly": "node scripts/assembly-smoke.mjs",
26
26
  "prepare": "lefthook install || true",
27
- "build:packages": "for d in packages/*/; do (cd \"$d\" && npx tsc -p tsconfig.json) || exit 1; done"
27
+ "build:packages": "for d in packages/*/; do (cd \"$d\" && npx tsc -p tsconfig.json) || exit 1; done",
28
+ "build:seam-clients": "node scripts/build-seam-clients.mjs"
28
29
  },
29
30
  "engines": {
30
31
  "node": ">=18.0.0"
@@ -1,156 +0,0 @@
1
- import{c as st,r as Te,j as u,u as _n,S as fs,P as hs,C as ps,E as ms,L as Yt,A as gn,a as yn}from"./index-2lwFzkSf.js";/**
2
- * @license lucide-react v0.544.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const Tn=[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]],xn=st("arrow-up-right",Tn);/**
7
- * @license lucide-react v0.544.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const bn=[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],_s=st("clock-3",bn);/**
12
- * @license lucide-react v0.544.0 - ISC
13
- *
14
- * This source code is licensed under the ISC license.
15
- * See the LICENSE file in the root directory of this source tree.
16
- */const vn=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]],gs=st("grid-3x3",vn);/**
17
- * @license lucide-react v0.544.0 - ISC
18
- *
19
- * This source code is licensed under the ISC license.
20
- * See the LICENSE file in the root directory of this source tree.
21
- */const wn=[["path",{d:"M20.341 6.484A10 10 0 0 1 10.266 21.85",key:"1enhxb"}],["path",{d:"M3.659 17.516A10 10 0 0 1 13.74 2.152",key:"1crzgf"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["circle",{cx:"19",cy:"5",r:"2",key:"mhkx31"}],["circle",{cx:"5",cy:"19",r:"2",key:"v8kfzx"}]],Nn=st("orbit",wn);/**
22
- * @license lucide-react v0.544.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- */const Sn=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["path",{d:"M7 12h10",key:"b7w52i"}]],ys=st("scan-line",Sn);/**
27
- * @license lucide-react v0.544.0 - ISC
28
- *
29
- * This source code is licensed under the ISC license.
30
- * See the LICENSE file in the root directory of this source tree.
31
- */const Cn=[["path",{d:"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",key:"1bo67w"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}],["circle",{cx:"17.5",cy:"17.5",r:"3.5",key:"w3z12y"}]],Ts=st("shapes",Cn);/**
32
- * @license lucide-react v0.544.0 - ISC
33
- *
34
- * This source code is licensed under the ISC license.
35
- * See the LICENSE file in the root directory of this source tree.
36
- */const An=[["path",{d:"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"knzxuh"}],["path",{d:"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"2jd2cc"}],["path",{d:"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"rd2r6e"}]],xs=st("waves",An);/**
37
- * Anime.js - core - ESM
38
- * @version v4.5.0
39
- * @license MIT
40
- * @copyright 2026 - Julian Garnier
41
- */const Ge=typeof window<"u",Xt=Ge?window:null,Tt=Ge?document:null,L={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},w={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},Ne={NONE:0,AUTO:1,FORCE:2},fe={replace:0,none:1,blend:2},bs=Symbol(),ut=Symbol(),Us=Symbol(),qt=Symbol(),Fs=Symbol(),R=1e-11,Qt=1e12,et=1e3,es=240,tt="",Rn="var(",vt=[],Bs=(()=>{const t=new Map;return t.set("x","translateX"),t.set("y","translateY"),t.set("z","translateZ"),t})(),Pt=["perspective","translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY"],En=Pt.reduce((t,e)=>({...t,[e]:e+"("}),{}),Ee=()=>{},Dn=t=>t,kn=/\)\s*[-.\d]/,jn=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,Mn=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,Pn=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,In=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,On=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,vs=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,Vs=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,Ln=/([a-z])([A-Z])/g,$n=/(\*=|\+=|-=)/,qn=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/;/**
42
- * Anime.js - core - ESM
43
- * @version v4.5.0
44
- * @license MIT
45
- * @copyright 2026 - Julian Garnier
46
- */const It={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:es,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:et,delay:0,loopDelay:0,ease:"out(2)",composition:fe.replace,modifier:Dn,onBegin:Ee,onBeforeUpdate:Ee,onUpdate:Ee,onLoop:Ee,onPause:Ee,onComplete:Ee,onRender:Ee},Un={root:Tt},J={defaults:It,precision:4,timeScale:1,tickThreshold:200,editor:null},zs={version:"4.5.0",engine:null};Ge&&(Xt.AnimeJS||(Xt.AnimeJS=[]),Xt.AnimeJS.push(zs));/**
47
- * Anime.js - core - ESM
48
- * @version v4.5.0
49
- * @license MIT
50
- * @copyright 2026 - Julian Garnier
51
- */const Ys=t=>t.replace(Ln,"$1-$2").toLowerCase(),Be=(t,e)=>t.indexOf(e)===0,ft=Date.now,Ve=Array.isArray,yt=t=>t&&t.constructor===Object,$e=t=>typeof t=="number"&&!isNaN(t),Ze=t=>typeof t=="string",qe=t=>typeof t=="function",T=t=>typeof t>"u",lt=t=>T(t)||t===null,Xs=t=>Ge&&t instanceof SVGElement,Zs=t=>jn.test(t),Hs=t=>Be(t,"rgb"),Gs=t=>Be(t,"hsl"),Fn=t=>Zs(t)||(Hs(t)||Gs(t))&&(t[t.length-1]===")"||!kn.test(t)),Et=t=>!J.defaults.hasOwnProperty(t),Bn=["opacity","rotate","overflow","color"],Vn=(t,e)=>{if(Bn.includes(e))return!1;if(t.getAttribute(e)||e in t){if(e==="scale"){const s=t.parentNode;return s&&s.tagName==="filter"}return!0}},Zt=t=>Ze(t)?parseFloat(t):t,ot=Math.pow,xt=Math.sqrt,zn=Math.sin,Yn=Math.cos,wt=Math.abs,_t=Math.floor,Xn=Math.asin,ns=Math.PI,ws=Math.round,Pe=(t,e,s)=>t<e?e:t>s?s:t,I=(t,e)=>{if(e<0)return t;if(!e)return ws(t);const s=10**e;return ws(t*s)/s},Dt=(t,e,s)=>s===1?e:s===0?t:t+(e-t)*s,Ut=t=>t===1/0?Qt:t===-1/0?-Qt:t,ct=t=>t<=R?R:Ut(I(t,11)),ue=t=>Ve(t)?[...t]:t,Ws=(t,e)=>{const s={...t};for(let n in e){const i=t[n];s[n]=T(i)?e[n]:i}return s},$=(t,e,s,n="_prev",i="_next")=>{let o=t._head,r=i;for(s&&(o=t._tail,r=n);o;){const a=o[r];e(o),o=a}},Ke=(t,e,s="_prev",n="_next")=>{const i=e[s],o=e[n];i?i[n]=o:t._head=o,o?o[s]=i:t._tail=i,e[s]=null,e[n]=null},Qe=(t,e,s,n="_prev",i="_next")=>{let o=t._tail;for(;o&&s&&s(o,e);)o=o[n];const r=o?o[i]:t._head;o?o[i]=e:t._head=e,r?r[n]=e:t._tail=e,e[n]=o,e[i]=r};/**
52
- * Anime.js - core - ESM
53
- * @version v4.5.0
54
- * @license MIT
55
- * @copyright 2026 - Julian Garnier
56
- */const Zn=(t,e,s)=>{const n=t.style.transform;if(n){const i=t[qt];let o=0;const r=n.length;let a;for(;o<r;){for(;o<r&&n.charCodeAt(o)===32;)o++;if(o>=r)break;const l=o;for(;o<r&&n.charCodeAt(o)!==40;)o++;if(o>=r)break;const c=n.substring(l,o);let f=1;const h=o+1;let m=-1,g=-1;for(o++;o<r&&f>0;){const j=n.charCodeAt(o);j===40?f++:j===41?f--:j===44&&f===1&&(m===-1?m=o:g===-1&&(g=o)),o++}const _=o-1;c==="translate"||c==="translate3d"?(m===-1?i.translateX=n.substring(h,_).trim():(i.translateX=n.substring(h,m).trim(),g===-1?i.translateY=n.substring(m+1,_).trim():(i.translateY=n.substring(m+1,g).trim(),i.translateZ=n.substring(g+1,_).trim())),a=n.substring(h,_)):c==="scale"||c==="scale3d"?m===-1?i.scale=n.substring(h,_).trim():(i.scaleX=n.substring(h,m).trim(),g===-1?i.scaleY=n.substring(m+1,_).trim():(i.scaleY=n.substring(m+1,g).trim(),i.scaleZ=n.substring(g+1,_).trim())):i[c]=n.substring(h,_)}if(e==="translate3d"&&a)return s&&(s[e]=a),a;const d=i[e];if(!T(d))return s&&(s[e]=d),d}return e==="translate3d"?"0px, 0px, 0px":e==="rotate3d"?"0, 0, 0, 0deg":Be(e,"scale")?"1":Be(e,"rotate")||Be(e,"skew")?"0deg":"0px"},Js=t=>{let e=tt;for(let s=0,n=Pt.length;s<n;s++){const i=Pt[s],o=t[i];if(o!==void 0){if(i==="translateX"){const r=t.translateY;if(r!==void 0){const a=t.translateZ;a!==void 0?(e+=`translate3d(${o},${r},${a}) `,s+=2):(e+=`translate(${o},${r}) `,s+=1);continue}}if(i==="scaleX"&&t.scale===void 0){const r=t.scaleY;if(r!==void 0){const a=t.scaleZ;a!==void 0?(e+=`scale3d(${o},${r},${a}) `,s+=2):(e+=`scale(${o},${r}) `,s+=1);continue}}e+=`${En[i]}${o}) `}i==="rotateZ"&&t.rotate3d!==void 0&&(e+=`rotate3d(${t.rotate3d}) `)}return t.matrix!==void 0&&(e+=`matrix(${t.matrix}) `),t.matrix3d!==void 0&&(e+=`matrix3d(${t.matrix3d}) `),e};/**
57
- * Anime.js - adapters - ESM
58
- * @version v4.5.0
59
- * @license MIT
60
- * @copyright 2026 - Julian Garnier
61
- */const Ht=[];function Ks(t,e){if(!t)return null;const s=Ht.length;e:for(let n=0;n<s;n++){const i=Ht[n];if(i.detect&&!i.detect(t))continue;const o=i.targetAdapters;for(let r=0,a=o.length;r<a;r++){const d=o[r];if(d.detect(t)){const l=d.props[e];if(l&&(!l.gate||l.gate(t)))return l;break e}}}for(let n=0;n<s;n++){const i=Ht[n];if(i.detect&&!i.detect(t))continue;const o=i.propertyResolvers;for(let r=0,a=o.length;r<a;r++){const d=o[r](t,e);if(d)return d}}return null}/**
62
- * Anime.js - core - ESM
63
- * @version v4.5.0
64
- * @license MIT
65
- * @copyright 2026 - Julian Garnier
66
- */const Hn=t=>{const e=Mn.exec(t)||Pn.exec(t),s=T(e[4])?1:+e[4];return[+e[1],+e[2],+e[3],s]},Gn=t=>{const e=t.length,s=e===4||e===5;return[+("0x"+t[1]+t[s?1:2]),+("0x"+t[s?2:3]+t[s?2:4]),+("0x"+t[s?3:5]+t[s?3:6]),e===5||e===9?+(+("0x"+t[s?4:7]+t[s?4:8])/255).toFixed(3):1]},Gt=(t,e,s)=>(s<0&&(s+=1),s>1&&(s-=1),s<1/6?t+(e-t)*6*s:s<1/2?e:s<2/3?t+(e-t)*(2/3-s)*6:t),Wn=t=>{const e=In.exec(t)||On.exec(t),s=+e[1]/360,n=+e[2]/100,i=+e[3]/100,o=T(e[4])?1:+e[4];let r,a,d;if(n===0)r=a=d=i;else{const l=i<.5?i*(1+n):i+n-i*n,c=2*i-l;r=I(Gt(c,l,s+1/3)*255,0),a=I(Gt(c,l,s)*255,0),d=I(Gt(c,l,s-1/3)*255,0)}return[r,a,d,o]},Jn=t=>Hs(t)?Hn(t):Zs(t)?Gn(t):Gs(t)?Wn(t):[0,0,0,1];/**
67
- * Anime.js - core - ESM
68
- * @version v4.5.0
69
- * @license MIT
70
- * @copyright 2026 - Julian Garnier
71
- */const ee=(t,e)=>T(t)?e:t,Ns=(t,e)=>{var o;const s=t.match(qn),n=e[ut]?e:document.documentElement;let i=(o=getComputedStyle(n))==null?void 0:o.getPropertyValue(s[1]);return(!i||i.trim()===tt)&&s[2]&&(i=s[2].trim()),i||0},Fe=(t,e,s,n,i,o)=>{if(qe(t)){if(!i){const a=t(e,s,n,o);return isNaN(+a)?a||0:+a}const r=()=>{const a=t(e,s,n,o);return isNaN(+a)?a||0:+a};return i.func=r,r()}if(Ze(t)&&Be(t,Rn)){if(!i)return Ns(t,e);const r=()=>Ns(t,e);return i.func=r,r()}return t},Qs=(t,e)=>t[ut]?t[Us]&&Vn(t,e)?L.ATTRIBUTE:Pt.includes(e)||Bs.get(e)?L.TRANSFORM:Be(e,"--")?L.CSS_VAR:e in t.style?L.CSS:e in t?L.OBJECT:L.ATTRIBUTE:L.OBJECT,Ss=(t,e,s)=>{const n=t.style[e];n&&s&&(s[e]=n);const i=n||getComputedStyle(t[Fs]||t).getPropertyValue(e);return i==="auto"?"0":i},at=(t,e,s,n)=>{const i=T(s)?Qs(t,e):s,o=Ks(t,e);if(o){const r=o.get(t);return r&&n&&(n[e]=r),r??0}if(i===L.OBJECT){const r=t[e];return r&&n&&(n[e]=r),r||0}if(i===L.ATTRIBUTE){const r=t.getAttribute(e);return r&&n&&(n[e]=r),r}return i===L.TRANSFORM?Zn(t,e,n):i===L.CSS_VAR?Ss(t,e,n).trimStart():Ss(t,e,n)},kt=(t,e,s)=>s==="-"?t-e:s==="+"?t+e:t*e,is=()=>({t:w.NUMBER,n:0,u:null,o:null,d:null,s:null}),Re=(t,e)=>{if(e.t=w.NUMBER,e.n=0,e.u=null,e.o=null,e.d=null,e.s=null,!t)return e;const s=+t;if(!isNaN(s))return e.n=s,e;let n=t;n[1]==="="&&(e.o=n[0],n=n.slice(2));const i=n.includes(" ")?!1:Vs.exec(n);if(i)return e.t=w.UNIT,e.n=+i[1],e.u=i[2],e;if(e.o)return e.n=+n,e;if(Fn(n))return e.t=w.COLOR,e.d=Jn(n),e;{const o=n.match(vs);return e.t=w.COMPLEX,e.d=o?o.map(Number):[],e.s=n.split(vs)||[],e}},Cs=(t,e)=>(e.t=t._valueType,e.n=t._toNumber,e.u=t._unit,e.o=null,e.d=ue(t._toNumbers),e.s=ue(t._strings),e),Me=is(),en=(t,e,s)=>{const n=t._modifier,i=t._fromNumbers,o=t._toNumbers,r=t._strings;let a=r[0];for(let d=0,l=o.length;d<l;d++){const c=n(I(Dt(i[d],o[d],e),s)),f=r[d+1];a+=`${f?c+f:c}`,t._numbers[d]=c}return a};/**
72
- * Anime.js - core - ESM
73
- * @version v4.5.0
74
- * @license MIT
75
- * @copyright 2026 - Julian Garnier
76
- */const jt=(t,e,s,n,i)=>{const o=t.parent,r=t.duration,a=t.completed,d=t.iterationDuration,l=t.iterationCount,c=t._currentIteration,f=t._loopDelay,h=t._reversed,m=t._alternate,g=t._hasChildren,_=t._delay,j=t._currentTime,H=_+d,V=e-_,Y=Pe(j,-_,r),U=Pe(V,-_,r),q=V-j,E=U>0,te=U>=r,ge=r<=R,Se=i===Ne.FORCE;let Ce=0,xe=V,Ie=0;if(l>1){const De=d+(te?0:f),oe=~~(U/De);t._currentIteration=Pe(oe,0,l),te&&t._currentIteration--,Ce=t._currentIteration%2,xe=U-oe*De||0}const Ue=h^(m&&Ce),be=t._ease;let F=te?Ue?0:r:Ue?d-xe:xe;be&&(F=d*be(F/d)||0);const G=(o?o.backwards:V<j)?!Ue:!!Ue;if(t._currentTime=V,t._iterationTime=F,t.backwards=G,E&&!t.began?(t.began=!0,!s&&!(o&&(G||!o.began))&&t.onBegin(t)):V<=0&&(t.began=!1),!s&&!g&&E&&t._currentIteration!==c&&t.onLoop(t),Se||i===Ne.AUTO&&(e>=(o&&_>0?0:_)&&e<=H||e<=_&&Y>_||e>=H&&Y!==r)||F>=H&&Y!==r||F<=_&&Y>0&&!te||e<=Y&&Y===r&&a||te&&!a&&ge){if(E&&(t.computeDeltaTime(Y),s||t.onBeforeUpdate(t)),!g){const De=Se||(G?q*-1:q)>=J.tickThreshold,oe=I(t._offset+(o?o._offset:0)+_+F,12);let p=t._head,k,se,he,ze,Oe=0;for(;p;){const pe=p._composition,N=p._currentTime,ve=p._changeDuration,ce=p._absoluteStartTime+p._changeDuration,C=p._nextRep,de=p._prevRep,ae=pe!==fe.none,b=de?de._absoluteStartTime+de._changeDuration:0,M=de&&de.parent!==p.parent,ne=!C||C._isOverridden?ce:C.parent===p.parent?ce+C._delay:C._absoluteStartTime<C._absoluteUpdateStartTime?C._absoluteStartTime:C._absoluteUpdateStartTime;if((De||(N!==ve||oe<=ne||de&&!M&&(!C||C.parent!==p.parent))&&(N!==0||oe>=p._absoluteStartTime||M&&!p._hasFromValue&&!de._isOverridden&&oe>=b||C&&!C._isOverridden&&C.parent===p.parent&&C._currentTime!==0&&F<C._startTime))&&(!de||M||F>=p._startTime)&&(!ae||!p._isOverridden&&(!p._isOverlapped||oe<=ce)&&(!C||C._isOverridden||oe<=ne)&&(!de||de._isOverridden||(M?oe>=p._absoluteStartTime||!p._hasFromValue&&oe>=b:oe>=b+p._delay)))){const ie=p._currentTime=Pe(F-p._startTime,0,ve),P=p._ease(ie/p._updateDuration),B=p._modifier,K=p._valueType,W=p._tweenType,ye=W===L.OBJECT,X=K===w.NUMBER,Q=X&&ye||P===0||P===1?-1:J.precision;let v,O;if(X)v=O=B(I(Dt(p._fromNumber,p._toNumber,P),Q));else if(K===w.UNIT)O=B(I(Dt(p._fromNumber,p._toNumber,P),Q)),v=`${O}${p._unit}`;else if(K===w.COLOR){const D=p._numbers,z=p._fromNumbers,A=p._toNumbers,re=1-P,Z=z[0],Ye=z[1],ke=z[2],nt=A[0],We=A[1],ht=A[2];D[0]=B(Math.sqrt(Z*Z*re+nt*nt*P)),D[1]=B(Math.sqrt(Ye*Ye*re+We*We*P)),D[2]=B(Math.sqrt(ke*ke*re+ht*ht*P)),D[3]=B(Dt(z[3],A[3],P)),(!p._setter||n)&&(v=`rgba(${I(D[0],0)},${I(D[1],0)},${I(D[2],0)},${D[3]})`)}else K===w.COMPLEX&&(v=en(p,P,Q));if(ae&&(p._number=O),!n&&pe!==fe.blend){const D=p.property;k=p.target,p._setter?p._setter(k,O,p):ye?k[D]=v:W===L.ATTRIBUTE?k.setAttribute(D,v):(se=k.style,W===L.TRANSFORM?(k!==he&&(he=k,ze=k[qt]),ze[D]=v,Oe=1):W===L.CSS?se[D]=v:W===L.CSS_VAR&&se.setProperty(D,v)),E&&(Ie=1)}else p._value=v}else N&&de&&!M&&F<p._startTime&&(p._currentTime=0);Oe&&p._renderTransforms&&(se.transform=Js(ze),Oe=0),p=p._next}!s&&Ie&&t.onRender(t)}!s&&E&&t.onUpdate(t)}return o&&ge?!s&&(o.began&&!G&&V>0&&!a||G&&V<=R&&a)&&(t.onComplete(t),t.completed=!G):E&&te?l===1/0?t._startTime+=t.duration:t._currentIteration>=l-1&&(t.paused=!0,!a&&!g&&(t.completed=!0,!s&&!(o&&(G||!o.began))&&(t.onComplete(t),t._resolve(t)))):t.completed=!1,Ie},Je=(t,e,s,n,i)=>{const o=t._currentIteration;if(jt(t,e,s,n,i),t._hasChildren){const r=t,a=r.backwards,d=n?e:r._iterationTime,l=ft();let c=0,f=!0;if(!n&&r._currentIteration!==o){const h=r.iterationDuration;$(r,m=>{if(!a)!m.completed&&!m.backwards&&m._currentTime<m.iterationDuration&&jt(m,h,s,1,Ne.FORCE),m.began=!1,m.completed=!1;else{const g=m.duration,_=m._offset+m._delay,j=_+g;!s&&g<=R&&(!_||j===h)&&m.onComplete(m)}}),s||r.onLoop(r)}$(r,h=>{const m=I((d-h._offset)*h._speed,12);if(a&&m>h._delay+h.duration)return;const g=h._fps<r._fps?h.requestTick(l):i;c+=jt(h,m,s,n,g),!h.completed&&f&&(f=!1)},a),!s&&c&&r.onRender(r),(f||a)&&r._currentTime>=r.duration&&(r.paused=!0,r.completed||(r.completed=!0,s||(r.onComplete(r),r._resolve(r))))}};/**
77
- * Anime.js - core - ESM
78
- * @version v4.5.0
79
- * @license MIT
80
- * @copyright 2026 - Julian Garnier
81
- */const As={},tn=(t,e,s)=>{if(s===L.TRANSFORM){const n=Bs.get(t);return n||t}else if(s===L.CSS||s===L.ATTRIBUTE&&Xs(e)&&t in e.style){const n=As[t];if(n)return n;{const i=t&&Ys(t);return As[t]=i,i}}else return t},rs=(t,e=!1)=>{if(t._hasChildren)$(t,s=>rs(s,e),!0);else{const s=t;s.pause(),$(s,n=>{const i=n.property,o=n.target,r=n._tweenType,a=n._inlineValue,d=lt(a)||a===tt;if(n._setter){if(!e&&!d){if(Re(a,Me),Me.d){const l=Me.d,c=n._numbers;for(let f=0,h=l.length;f<h;f++)c[f]=l[f]}else n._number=Me.n;n._setter(n.target,n._number,n)}}else if(r===L.OBJECT)!e&&!d&&(o[i]=a);else if(o[ut])if(r===L.ATTRIBUTE)e||(d?o.removeAttribute(i):o.setAttribute(i,a));else{const l=o.style;if(r===L.TRANSFORM){const c=o[qt];d?delete c[i]:c[i]=a,n._renderTransforms&&(Object.keys(c).length?l.transform=Js(c):l.removeProperty("transform"))}else d?l.removeProperty(Ys(i)):l[i]=a}o[ut]&&s._tail===n&&s.targets.forEach(l=>{l.getAttribute&&l.getAttribute("style")===tt&&l.removeAttribute("style")})})}return t};/**
82
- * Anime.js - core - ESM
83
- * @version v4.5.0
84
- * @license MIT
85
- * @copyright 2026 - Julian Garnier
86
- */class sn{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._lastTickTime=e,this._startTime=e,this._lastTime=e,this._frameDuration=et/es,this._fps=es,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){const s=+e,n=s<R?R:s,i=et/n;n>It.frameRate&&(It.frameRate=n),this._fps=n,this._frameDuration=i}get speed(){return this._speed}set speed(e){const s=+e;this._speed=s<R?R:s}requestTick(e){const s=this._frameDuration,n=e-this._lastTickTime,i=s*.25,o=i<4?i:4;return n+o<s?Ne.NONE:(this._lastTickTime=n>=s?e-n%s:e,Ne.AUTO)}computeDeltaTime(e){const s=e-this._lastTime;return this.deltaTime=s,this._lastTime=e,s}}/**
87
- * Anime.js - animation - ESM
88
- * @version v4.5.0
89
- * @license MIT
90
- * @copyright 2026 - Julian Garnier
91
- */const dt={animation:null,update:Ee},Kn=t=>{let e=dt.animation;return e||(e={duration:R,computeDeltaTime:Ee,_offset:0,_delay:0,_head:null,_tail:null},dt.animation=e,dt.update=()=>{t.forEach(s=>{for(let n in s){const i=s[n],o=i._head;if(o){const r=o._valueType,a=r===w.COMPLEX||r===w.COLOR?ue(o._fromNumbers):null;let d=o._fromNumber,l=i._tail;for(;l&&l!==o;){if(a)for(let c=0,f=l._numbers.length;c<f;c++)a[c]+=l._numbers[c];else d+=l._number;l=l._prevAdd}o._toNumber=d,o._toNumbers=a}}}),jt(e,1,1,0,Ne.FORCE)}),e};/**
92
- * Anime.js - engine - ESM
93
- * @version v4.5.0
94
- * @license MIT
95
- * @copyright 2026 - Julian Garnier
96
- */const nn=Ge?requestAnimationFrame:setImmediate,Qn=Ge?cancelAnimationFrame:clearImmediate;class ei extends sn{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=It,this.paused=!0,this.reqId=0}update(){const e=this._currentTime=ft();if(this.requestTick(e)){this.computeDeltaTime(e);const s=this._speed,n=this._fps;let i=this._head;for(;i;){const o=i._next;i.paused?(Ke(this,i),this._hasChildren=!!this._tail,i._running=!1,i.completed&&!i._cancelled&&i.cancel()):Je(i,(e-i._startTime)*i._speed*s,0,0,i._fps<n?i.requestTick(e):Ne.AUTO),i=o}dt.update()}}wake(){return this.useDefaultMainLoop&&!this.reqId&&(this.requestTick(ft()),this.reqId=nn(rn)),this}pause(){if(this.reqId)return this.paused=!0,ti()}resume(){if(this.paused)return this.paused=!1,$(this,e=>e.resetTime()),this.wake()}get speed(){return this._speed*(J.timeScale===1?1:et)}set speed(e){const s=e*J.timeScale;this._speed!==s&&(this._speed=s,$(this,n=>n.speed=n._speed))}get timeUnit(){return J.timeScale===1?"ms":"s"}set timeUnit(e){const n=e==="s",i=n?.001:1;if(J.timeScale!==i){J.timeScale=i,J.tickThreshold=200*i;const o=n?.001:et;this.defaults.duration*=o,this._speed*=o}}get precision(){return J.precision}set precision(e){J.precision=e}}const le=(()=>{const t=new ei(ft());return Ge&&(zs.engine=t,Tt.addEventListener("visibilitychange",()=>{t.pauseOnDocumentHidden&&(Tt.hidden?t.pause():t.resume())})),t})(),rn=()=>{le._head?(le.reqId=nn(rn),le.update()):le.reqId=0},ti=()=>(Qn(le.reqId),le.reqId=0,le);/**
97
- * Anime.js - animation - ESM
98
- * @version v4.5.0
99
- * @license MIT
100
- * @copyright 2026 - Julian Garnier
101
- */const Ot={_rep:new WeakMap,_add:new Map},os=(t,e,s="_rep")=>{const n=Ot[s];let i=n.get(t);return i||(i={},n.set(t,i)),i[e]?i[e]:i[e]={_head:null,_tail:null}},si=(t,e)=>t._isOverridden||t._absoluteStartTime>e._absoluteStartTime,Mt=t=>{t._isOverlapped=1,t._isOverridden=1,t._changeDuration=R,t._currentTime=R},on=(t,e)=>{const s=t._composition;if(s===fe.replace){const n=t._absoluteStartTime;Qe(e,t,si,"_prevRep","_nextRep");const i=t._prevRep;if(i){const o=i.parent,r=i._absoluteEndTime;if(t.parent.id!==o.id&&o.iterationCount>1&&r+(o.duration-o.iterationDuration)>n){Mt(i);let l=i._prevRep;for(;l&&l.parent.id===o.id;)Mt(l),l=l._prevRep}const a=t._absoluteUpdateStartTime;if(r>a){const l=i._startTime,c=r-(l+i._updateDuration),f=I(a-c-l,12);i._changeDuration=f,i._currentTime=f,i._isOverlapped=1,f<R&&Mt(i)}const d=t.parent.parent;if(!d||d!==o.parent){let l=!0;if($(o,c=>{c._isOverlapped||(l=!1)}),l){const c=o.parent;if(c){let f=!0;$(c,h=>{h!==o&&$(h,m=>{m._isOverlapped||(f=!1)})}),f&&c.cancel()}else o.cancel()}}}}else if(s===fe.blend){const n=os(t.target,t.property,"_add"),i=Kn(Ot._add);let o=n._head;o||(o={...t},o._composition=fe.replace,o._updateDuration=R,o._startTime=0,o._numbers=ue(t._fromNumbers),o._number=0,o._next=null,o._prev=null,Qe(n,o),Qe(i,o));const r=t._toNumber;if(t._fromNumber=o._fromNumber-r,t._toNumber=0,t._numbers=ue(t._fromNumbers),t._number=0,o._fromNumber=r,t._toNumbers.length){const a=ue(t._toNumbers);a.forEach((d,l)=>{t._fromNumbers[l]=o._fromNumbers[l]-d,t._toNumbers[l]=0}),o._fromNumbers=a}Qe(n,t,null,"_prevAdd","_nextAdd")}return t},an=t=>{const e=t._composition;if(e!==fe.none){const s=t.target,n=t.property,r=Ot._rep.get(s)[n];if(Ke(r,t,"_prevRep","_nextRep"),e===fe.blend){const a=Ot._add,d=a.get(s);if(!d)return;const l=d[n],c=dt.animation;Ke(l,t,"_prevAdd","_nextAdd");const f=l._head;if(f&&f===l._tail){Ke(l,f,"_prevAdd","_nextAdd"),Ke(c,f);let h=!0;for(let m in d)if(d[m]._head){h=!1;break}h&&a.delete(s)}}}return t},Rs=(t,e,s)=>{let n=!1;return $(e,i=>{const o=i.target;if(t.includes(o)){const r=i.property,a=i._tweenType,d=tn(s,o,a);(!d||d&&d===r)&&(i.parent._tail===i&&i._tweenType===L.TRANSFORM&&i._prev&&i._prev._tweenType===L.TRANSFORM&&(i._prev._renderTransforms=1),Ke(e,i),an(i),n=!0)}},!0),n},ln=(t,e,s)=>{const n=e||le;let i;if(n._hasChildren){let o=0;$(n,r=>{if(!r._hasChildren)if(i=Rs(t,r,s),i&&!r._head)r.cancel(),Ke(n,r);else{const d=r._offset+r._delay+r.duration;d>o&&(o=d)}r._head?ln(t,r,s):r._hasChildren=!1},!0),T(n.iterationDuration)||(n.iterationDuration=o)}else i=Rs(t,n,s);i&&!n._head&&(n._hasChildren=!1,n.cancel&&n.cancel())};/**
102
- * Anime.js - timer - ESM
103
- * @version v4.5.0
104
- * @license MIT
105
- * @copyright 2026 - Julian Garnier
106
- */const Es=t=>(t.paused=!0,t.began=!1,t.completed=!1,t),ts=t=>(t._cancelled&&(t._hasChildren?$(t,ts):$(t,e=>{e._composition!==fe.none&&on(e,os(e.target,e.property))}),t._cancelled=0),t);let Ds=0;const ni=(t,e)=>t._priority>e._priority;class as extends sn{constructor(e={},s=null,n=0){super(0),++Ds;const{id:i,delay:o,duration:r,reversed:a,alternate:d,loop:l,loopDelay:c,autoplay:f,frameRate:h,playbackRate:m,priority:g,onComplete:_,onLoop:j,onPause:H,onBegin:V,onBeforeUpdate:Y,onUpdate:U}=e,q=s?0:le._lastTickTime,E=s?s.defaults:J.defaults,te=qe(o)||T(o)?E.delay:+o,ge=qe(r)||T(r)?1/0:+r,Se=ee(l,E.loop),Ce=ee(c,E.loopDelay);let xe=Se===!0||Se===1/0||Se<0?1/0:Se+1,Ie=0;s?Ie=n:(le.reqId||le.requestTick(ft()),Ie=(le._lastTickTime-le._startTime)*J.timeScale),this.id=T(i)?Ds:i,this.parent=s,this.duration=Ut((ge+Ce)*xe-Ce)||R,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=V||E.onBegin,this.onBeforeUpdate=Y||E.onBeforeUpdate,this.onUpdate=U||E.onUpdate,this.onLoop=j||E.onLoop,this.onPause=H||E.onPause,this.onComplete=_||E.onComplete,this.iterationDuration=ge,this.iterationCount=xe,this._autoplay=s?!1:ee(f,E.autoplay),this._offset=Ie,this._delay=te,this._loopDelay=Ce,this._iterationTime=0,this._currentIteration=0,this._resolve=Ee,this._running=!1,this._reversed=+ee(a,E.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=ee(d,E.alternate),this._prev=null,this._next=null,this._lastTickTime=q,this._startTime=q,this._lastTime=q,this._fps=ee(h,E.frameRate),this._speed=ee(m,E.playbackRate),this._priority=+ee(g,1)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return Pe(I(this._currentTime,J.precision),-this._delay,this.duration)}set currentTime(e){const s=this.paused;this.pause().seek(+e),s||this.resume()}get iterationCurrentTime(){return Pe(I(this._iterationTime,J.precision),0,this.iterationDuration)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return Pe(I(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return Pe(I(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){const s=this.iterationDuration;this.currentTime=s*this._currentIteration+s*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*Pe(+e,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(e){e?this.reverse():this.play()}get speed(){return super.speed}set speed(e){super.speed=e,this.resetTime()}reset(e=!1){return ts(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,Je(this,0,1,~~e,Ne.FORCE),Es(this),this._hasChildren&&$(this,Es),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&Je(this,this.duration,1,~~e,Ne.FORCE),this.reset(e);const s=this._autoplay;return s===!0?this.resume():s&&!T(s.linked)&&s.link(this),this}resetTime(){const e=1/(this._speed*le._speed);return this._startTime=ft()-(this._currentTime+this._delay)*e,this}pause(){return this.paused?this:(this.paused=!0,this.onPause(this),this)}resume(){return this.paused?(this.paused=!1,this.duration<=R&&!this._hasChildren?Je(this,R,0,0,Ne.FORCE):(this._running||(Qe(le,this,ni),le._hasChildren=!0,this._running=!0),this.resetTime(),this._startTime-=12,le.wake()),this):this}restart(){return this.reset().resume()}seek(e,s=0,n=0){ts(this),this.completed=!1;const i=this.paused;return this.paused=!0,Je(this,e+this._delay,~~s,~~n,Ne.AUTO),i?this:this.resume()}alternate(){const e=this._reversed,s=this.iterationCount,n=this.iterationDuration,i=s===1/0?_t(Qt/n):s;return this._reversed=+(this._alternate&&!(i%2)?e:!e),s===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(n*i-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?$(this,e=>e.cancel(),!0):$(this,an),this._cancelled=1,this.pause()}stretch(e){const s=this.duration,n=ct(e);if(s===n)return this;const i=e/s,o=e<=R;return this.duration=o?R:n,this.iterationDuration=o?R:ct(this.iterationDuration*i),this._offset*=i,this._delay*=i,this._loopDelay*=i,this}revert(){Je(this,0,1,0,Ne.AUTO);const e=this._autoplay;return e&&e.linked&&e.linked===this&&e.revert(),this.cancel()}complete(e=0){return this.seek(this.duration,e).cancel()}then(e=Ee){const s=this.then,n=()=>{this.then=null,e(this),this.then=s,this._resolve=Ee};return new Promise(i=>(this._resolve=()=>i(n()),this.completed&&this._resolve(),this))}}/**
107
- * Anime.js - core - ESM
108
- * @version v4.5.0
109
- * @license MIT
110
- * @copyright 2026 - Julian Garnier
111
- */function ks(t){const e=Ze(t)?Un.root.querySelectorAll(t):t;if(e instanceof NodeList||e instanceof HTMLCollection)return e}function Lt(t){if(lt(t))return[];if(!Ge)return Ve(t)&&t.flat(1/0)||[t];if(Ve(t)){const s=t.flat(1/0),n=[];for(let i=0,o=s.length;i<o;i++){const r=s[i];if(!lt(r)){const a=ks(r);if(a)for(let d=0,l=a.length;d<l;d++){const c=a[d];if(!lt(c)){let f=!1;for(let h=0,m=n.length;h<m;h++)if(n[h]===c){f=!0;break}f||n.push(c)}}else{let d=!1;for(let l=0,c=n.length;l<c;l++)if(n[l]===r){d=!0;break}d||n.push(r)}}}return n}const e=ks(t);return e?Array.from(e):[t]}function cn(t){const e=Lt(t),s=e.length;for(let n=0;n<s;n++){const i=e[n];if(!i[bs]){i[bs]=!0;const o=Xs(i);(i.nodeType||o)&&(i[ut]=!0,i[Us]=o,i[qt]={})}}return e}/**
112
- * Anime.js - core - ESM
113
- * @version v4.5.0
114
- * @license MIT
115
- * @copyright 2026 - Julian Garnier
116
- */const Wt={deg:1,rad:180/ns,turn:360},js={},Ms=(t,e,s,n=!1)=>{const i=e.u,o=e.n;if(e.t===w.UNIT&&i===s)return e;const r=o+i+s,a=js[r];if(!T(a)&&!n)e.n=a;else{let d;if(i in Wt)d=o*Wt[i]/Wt[s];else{const c=t.cloneNode(),f=t.parentNode,h=f&&f!==Tt?f:Tt.body;h.appendChild(c);const m=c.style;m.width=100+i;const g=c.offsetWidth||100;m.width=100+s;const _=c.offsetWidth||100,j=g/_;h.removeChild(c),d=j*o}e.n=d,js[r]=d}return e.t,w.UNIT,e.u=s,e};/**
117
- * Anime.js - easings - ESM
118
- * @version v4.5.0
119
- * @license MIT
120
- * @copyright 2026 - Julian Garnier
121
- */const He=t=>t;/**
122
- * Anime.js - easings - ESM
123
- * @version v4.5.0
124
- * @license MIT
125
- * @copyright 2026 - Julian Garnier
126
- */const mt=(t=1.68)=>e=>ot(e,+t),ss={in:t=>e=>t(e),out:t=>e=>1-t(1-e),inOut:t=>e=>e<.5?t(e*2)/2:1-t(e*-2+2)/2,outIn:t=>e=>e<.5?(1-t(1-e*2))/2:(t(e*2-1)+1)/2},ii=ns/2,Ps=ns*2,Is={[tt]:mt,Quad:mt(2),Cubic:mt(3),Quart:mt(4),Quint:mt(5),Sine:t=>1-Yn(t*ii),Circ:t=>1-xt(1-t*t),Expo:t=>t?ot(2,10*t-10):0,Bounce:t=>{let e,s=4;for(;t<((e=ot(2,--s))-1)/11;);return 1/ot(4,3-s)-7.5625*ot((e*3-2)/22-t,2)},Back:(t=1.7)=>e=>(+t+1)*e*e*e-+t*e*e,Elastic:(t=1,e=.3)=>{const s=Pe(+t,1,10),n=Pe(+e,R,2),i=n/Ps*Xn(1/s),o=Ps/n;return r=>r===0||r===1?r:-s*ot(2,-10*(1-r))*zn((1-r-i)*o)}},Jt=(()=>{const t={linear:He,none:He};for(let e in ss)for(let s in Is){const n=Is[s],i=ss[e];t[e+s]=s===tt||s==="Back"||s==="Elastic"?(o,r)=>i(n(o,r)):i(n)}return t})(),Nt={linear:He,none:He},ri=t=>{if(Nt[t])return Nt[t];if(t.indexOf("(")<=-1){const s=ss[t]||t.includes("Back")||t.includes("Elastic")?Jt[t]():Jt[t];return s?Nt[t]=s:He}else{const e=t.slice(0,-1).split("("),s=Jt[e[0]];return s?Nt[t]=s(...e[1].split(",")):He}},Os=["steps(","irregular(","linear(","cubicBezier("],$t=t=>{if(Ze(t)){for(let s=0,n=Os.length;s<n;s++)if(Be(t,Os[s]))return console.warn(`String syntax for \`ease: "${t}"\` has been removed from the core and replaced by importing and passing the easing function directly: \`ease: ${t}\``),He}return qe(t)?t:Ze(t)?ri(t):He};/**
127
- * Anime.js - animation - ESM
128
- * @version v4.5.0
129
- * @license MIT
130
- * @copyright 2026 - Julian Garnier
131
- */const y=is(),x=is(),it={},St={func:null},Ct={func:null},At=[null],rt=[null,null],Rt={to:null};let oi=0,Ls=0,Xe,Le;const ai=(t,e)=>{const s={};if(Ve(t)){const n=[].concat(...t.map(i=>Object.keys(i))).filter(Et);for(let i=0,o=n.length;i<o;i++){const r=n[i],a=t.map(d=>{const l={};for(let c in d){const f=d[c];Et(c)?c===r&&(l.to=f):l[c]=f}return l});s[r]=a}}else{const n=ee(e.duration,J.defaults.duration);Object.keys(t).map(o=>({o:parseFloat(o)/100,p:t[o]})).sort((o,r)=>o.o-r.o).forEach(o=>{const r=o.o,a=o.p;for(let d in a)if(Et(d)){let l=s[d];l||(l=s[d]=[]);const c=r*n;let f=l.length,h=l[f-1];const m={to:a[d]};let g=0;for(let _=0;_<f;_++)g+=l[_].duration;f===1&&(m.from=h.to),a.ease&&(m.ease=a.ease),m.duration=c-(f?g:0),l.push(m)}return o});for(let o in s){const r=s[o];let a;for(let d=0,l=r.length;d<l;d++){const c=r[d],f=c.ease;c.ease=a||void 0,a=f}r[0].duration||r.shift()}}return s};class dn extends as{constructor(e,s,n,i,o=!1,r=0,a){super(s,n,i),this._head,this._tail,++Ls;const d=cn(e),l=d.length,c=s.keyframes,f=c?Ws(ai(c,s),s):s,{id:h,delay:m,duration:g,ease:_,playbackEase:j,modifier:H,composition:V,onRender:Y}=f,U=n?n.defaults:J.defaults,q=ee(_,U.ease),E=ee(j,U.playbackEase),te=E?$t(E):null,ge=!T(q.ease),Se=ge?q.ease:ee(_,te?"linear":U.ease),Ce=ge?q.settlingDuration:ee(g,U.duration),xe=ee(m,U.delay),Ie=H||U.modifier,Ue=T(V)&&l>=et?fe.none:T(V)?U.composition:V,be=this._offset+(n?n._offset:0);ge&&(q.parent=this);let F=NaN,G=NaN,De=0,oe=0;for(let p=0;p<l;p++){const k=d[p],se=r||p,he=a||d;let ze=NaN,Oe=NaN;for(let pe in f)if(Et(pe)){const N=Qs(k,pe),ve=Ks(k,pe),ce=tn(pe,k,N);let C=f[pe];const de=Ve(C);if(o&&!de&&(rt[0]=C,rt[1]=C,C=rt),de){const P=C.length,B=!yt(C[0]);P===2&&B?(Rt.to=C,At[0]=Rt,Xe=At):P>2&&B?(Xe=[],C.forEach((K,W)=>{W?W===1?(rt[1]=K,Xe.push(rt)):Xe.push(K):rt[0]=K})):Xe=C}else At[0]=C,Xe=At;let ae=null,b=null,M=NaN,ne=0,ie=0;for(let P=Xe.length;ie<P;ie++){const B=Xe[ie];yt(B)?Le=B:(Rt.to=B,Le=Rt),St.func=null,Ct.func=null;const K=Fe(ee(Le.composition,Ue),k,se,he,null,null),W=$e(K)?K:fe[K];!ae&&W!==fe.none&&(ae=os(k,ce));const ye=ae?ae._tail:null,X=n&&ye&&ye.parent.parent===n?ye:b,Q=Fe(Le.to,k,se,he,St,X);let v;yt(Q)&&!T(Q.to)?(Le=Q,v=Q.to):v=Q;const O=Fe(Le.from,k,se,he,Ct,X),D=Le.ease||Se,z=Fe(D,k,se,he,null,X),A=qe(z)||Ze(z)?z:D,re=!T(A)&&!T(A.ease),Z=re?A.ease:A,Ye=re?A.settlingDuration:Fe(ee(Le.duration,P>1?Fe(Ce,k,se,he,null,X)/P:Ce),k,se,he,null,X),ke=Fe(ee(Le.delay,ie?0:xe),k,se,he,null,X),nt=Le.modifier||Ie,We=!T(O),ht=!T(v),pt=Ve(v),fn=pt||We&&ht,hn=b?ne:0,Ft=b?ne+ke:ke,Bt=I(be+Ft,12),pn=I(be+hn,12);!oe&&(We||pt)&&(oe=1);let Ae=b;if(W!==fe.none){let S=ae._head;for(;S&&S._absoluteStartTime<=Bt;)if(S._isOverridden||(Ae=S),S=S._nextRep,S&&S._absoluteStartTime>=Bt)for(;S;)Mt(S),S=S._nextRep}if(fn){Re(pt?Fe(v[0],k,se,he,Ct,X):O,y),Re(pt?Fe(v[1],k,se,he,St,X):v,x);const S=at(k,ce,N,it);y.t===w.NUMBER&&(Ae?Ae._valueType===w.UNIT&&(y.t=w.UNIT,y.u=Ae._unit):(Re(S,Me),Me.t===w.UNIT&&(y.t=w.UNIT,y.u=Me.u)))}else ht?Re(v,x):b?Cs(b,x):Re(n&&Ae&&Ae.parent.parent===n?Ae._value:at(k,ce,N,it),x),We?Re(O,y):b?Cs(b,y):Re(n&&Ae&&Ae.parent.parent===n?Ae._value:at(k,ce,N,it),y);if(y.o&&(y.n=kt(Ae?Ae._toNumber:Re(at(k,ce,N,it),Me).n,y.n,y.o)),x.o&&(x.n=kt(y.n,x.n,x.o)),y.t!==x.t){if(y.t===w.COMPLEX||x.t===w.COMPLEX){const S=y.t===w.COMPLEX?y:x,me=y.t===w.COMPLEX?x:y;me.t=w.COMPLEX,me.s=ue(S.s),me.d=S.d.map(()=>me.n)}else if(y.t===w.UNIT||x.t===w.UNIT){const S=y.t===w.UNIT?y:x,me=y.t===w.UNIT?x:y;me.t=w.UNIT,me.u=S.u}else if(y.t===w.COLOR||x.t===w.COLOR){const S=y.t===w.COLOR?y:x,me=y.t===w.COLOR?x:y;me.t=w.COLOR,me.d=S.d.map(()=>0)}}if(y.u!==x.u){let S=x.u?y:x;S=Ms(k,S,x.u?x.u:y.u,!1)}if(x.d&&y.d&&x.d.length!==y.d.length){const S=y.d.length>x.d.length?y:x,me=S===y?x:y;me.d=S.d.map((Ai,us)=>T(me.d[us])?0:me.d[us]),me.s=ue(S.s)}const Vt=I(+Ye||R,12);let ls=it[ce];lt(ls)||(it[ce]=null);const mn=ve?ve.set:null;ne=I(Ft+Vt,12);const bt=y.d,cs=x.d,ds=x.s,we={parent:this,id:oi++,property:ce,target:k,_value:null,_toFunc:St.func,_fromFunc:Ct.func,_ease:$t(Z),_fromNumbers:bt?ue(bt):vt,_toNumbers:cs?ue(cs):vt,_strings:ds?ue(ds):vt,_fromNumber:y.n,_toNumber:x.n,_numbers:bt?ue(bt):vt,_number:y.n,_unit:x.u,_modifier:nt,_currentTime:0,_startTime:Ft,_delay:+ke,_updateDuration:Vt,_changeDuration:Vt,_absoluteStartTime:Bt,_absoluteUpdateStartTime:pn,_absoluteEndTime:I(be+ne,12),_hasFromValue:We||pt?1:0,_tweenType:N,_setter:mn,_valueType:x.t,_composition:W,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:ls,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};W!==fe.none&&on(we,ae);const zt=we._valueType;if(zt===w.COMPLEX)we._value=en(we,1,-1);else if(zt===w.UNIT)we._value=`${nt(we._toNumber)}${we._unit}`;else if(zt===w.COLOR){const S=x.d;we._value=`rgba(${I(S[0],0)},${I(S[1],0)},${I(S[2],0)},${S[3]})`}else we._value=nt(we._toNumber);isNaN(M)&&(M=we._startTime),b=we,De++,Qe(this,we)}(isNaN(G)||M<G)&&(G=M),(isNaN(F)||ne>F)&&(F=ne),N===L.TRANSFORM&&(ze=De-ie,Oe=De)}if(!isNaN(ze)){let pe=0;$(this,N=>{pe>=ze&&pe<Oe&&(N._renderTransforms=1,N._composition===fe.blend&&$(dt.animation,ve=>{ve.id===N.id&&(ve._renderTransforms=1)})),pe++})}}l||console.warn("No target found. Make sure the element you're trying to animate is accessible before creating your animation."),G?($(this,p=>{p._startTime-p._delay||(p._delay-=G),p._startTime-=G}),F-=G):G=0,F||(F=R,this.iterationCount=0),this.targets=d,this.id=T(h)?Ls:h,this.duration=F===R?R:Ut((F+this._loopDelay)*this.iterationCount-this._loopDelay)||R,this.onRender=Y||U.onRender,this._ease=te,this._delay=G,this.iterationDuration=F,!this._autoplay&&oe&&this.onRender(this)}stretch(e){const s=this.duration;if(s===ct(e))return this;const n=e/s;return $(this,i=>{i._updateDuration=ct(i._updateDuration*n),i._changeDuration=ct(i._changeDuration*n),i._currentTime*=n,i._delay*=n,i._startTime*=n,i._absoluteStartTime*=n,i._absoluteUpdateStartTime*=n,i._absoluteEndTime*=n}),super.stretch(e)}refresh(){return $(this,e=>{const s=e._toFunc,n=e._fromFunc;(s||n)&&(n?(Re(n(),y),y.u!==e._unit&&e.target[ut]&&Ms(e.target,y,e._unit,!0),e._fromNumbers=ue(y.d),e._fromNumber=y.n):s&&(Re(at(e.target,e.property,e._tweenType),Me),e._fromNumbers=ue(Me.d),e._fromNumber=Me.n),s&&(Re(s(),x),e._toNumbers=ue(x.d),e._strings=ue(x.s),e._toNumber=x.o?kt(e._fromNumber,x.n,x.o):x.n))}),this.duration===R&&this.restart(),this}revert(){return super.revert(),rs(this)}then(e){return super.then(e)}}const _e=(t,e)=>new dn(t,e,null,0,!1).init();/**
132
- * Anime.js - timeline - ESM
133
- * @version v4.5.0
134
- * @license MIT
135
- * @copyright 2026 - Julian Garnier
136
- */const li=(t,e)=>{if(Be(e,"<")){const s=e[1]==="<",n=t._tail,i=n?n._offset+n._delay:0;return s?i:i+n.duration}},gt=(t,e)=>{let s=t.iterationDuration;if(s===R&&(s=0),T(e))return s;if($e(+e))return+e;const n=e,i=t?t.labels:null,o=!lt(i),r=li(t,n),a=!T(r),d=$n.exec(n);if(d){const l=d[0],c=n.split(l),f=o&&c[0]?i[c[0]]:s,h=a?r:o?f:s,m=+c[1];return kt(h,m,l[0])}else return a?r:o?T(i[n])?s:i[n]:s};/**
137
- * Anime.js - timeline - ESM
138
- * @version v4.5.0
139
- * @license MIT
140
- * @copyright 2026 - Julian Garnier
141
- */function ci(t){return Ut((t.iterationDuration+t._loopDelay)*t.iterationCount-t._loopDelay)||R}function Kt(t,e,s,n,i,o){const a=$e(t.duration)&&t.duration<=R?s-R:s;e.composition&&Je(e,a,1,1,Ne.AUTO);const d=n?new dn(n,t,e,a,!1,i,o):new as(t,e,a);return e.composition&&d.init(!0),Qe(e,d),$(e,l=>{const f=l._offset+l._delay+l.duration;f>e.iterationDuration&&(e.iterationDuration=f)}),e.duration=ci(e),e}let $s=0;class di extends as{constructor(e={}){super(e,null,0),++$s,this.id=T(e.id)?$s:e.id,this.duration=0,this.labels={};const s=e.defaults,n=J.defaults;this.defaults=s?Ws(s,n):n,this.composition=ee(e.composition,!0),this.onRender=e.onRender||n.onRender;const i=ee(e.playbackEase,n.playbackEase);this._ease=i?$t(i):null,this.iterationDuration=0}add(e,s,n){const i=yt(s),o=yt(e);if(i||o){if(this._hasChildren=!0,i){const r=s,a=n&&n.type==="Stagger"&&J.editor,d=qe(n)?n:null;if(d||a){const l=Lt(e),c=this.duration,f=this.iterationDuration,h=r.id;let m=0;l.length;const g=d||J.editor.resolveStagger(n.defaultValue);l.forEach(_=>{const j={...r};this.duration=c,this.iterationDuration=f,T(h)||(j.id=h+"-"+m);const H=gt(this,g(_,m,l,null,this));Kt(j,this,H,_,m,l),m++})}else{const l=r,c=n&&n.type?n.defaultValue:n;Kt(l,this,gt(this,c),e)}}else Kt(e,this,gt(this,s));return this.composition&&this.init(!0),this}}sync(e,s){if(T(e)||e&&T(e.pause))return this;e.pause();const n=+(e.effect?e.effect.getTiming().duration:e.duration);return!T(e)&&!T(e.persist)&&(e.persist=!0),this.add(e,{currentTime:[0,n],duration:n,delay:0,ease:"linear",playbackEase:"linear"},s)}set(e,s,n){return T(s)?this:(s.duration=R,s.composition=fe.replace,this.add(e,s,n))}call(e,s){return T(e)||e&&!qe(e)?this:this.add({duration:0,delay:0,onComplete:()=>e(this)},s)}label(e,s){return T(e)||e&&!Ze(e)?this:(this.labels[e]=gt(this,s),this)}remove(e,s){return ln(Lt(e),this,s),this}stretch(e){const s=this.duration;if(s===ct(e))return this;const n=e/s,i=this.labels;$(this,o=>o.stretch(o.duration*n));for(let o in i)i[o]*=n;return super.stretch(e)}refresh(){return $(this,e=>{e.refresh&&e.refresh()}),this}revert(){return super.revert(),$(this,e=>e.revert,!0),rs(this)}then(e){return super.then(e)}}const qs=t=>new di(t).init();/**
142
- * Anime.js - utils - ESM
143
- * @version v4.5.0
144
- * @license MIT
145
- * @copyright 2026 - Julian Garnier
146
- */const un=(t=0,e=1,s=0)=>{const n=10**s;return Math.floor((Math.random()*(e-t+1/n)+t)*n)/n};let ui=0;const fi=(t,e=0,s=1,n=0)=>{let i=t===void 0?ui++:t;return(o=e,r=s,a=n)=>{i+=1831565813,i=Math.imul(i^i>>>15,i|1),i^=i+Math.imul(i^i>>>7,i|61);const d=10**a;return Math.floor((((i^i>>>14)>>>0)/4294967296*(r-o+1/d)+o)*d)/d}},hi=(t,e=un)=>{let s=t.length,n,i;for(;s;)i=e(0,--s),n=t[s],t[s]=t[i],t[i]=n;return t};/**
147
- * Anime.js - utils - ESM
148
- * @version v4.5.0
149
- * @license MIT
150
- * @copyright 2026 - Julian Garnier
151
- */const je=(t,e={})=>{let s=[],n=0,i,o=null;const r=e.from,a=e.reversed,d=e.ease,l=!T(d),f=l&&!T(d.ease)?d.ease:l?$t(d):null,h=e.grid,m=h===!0,g=e.axis,_=e.total,j=T(r)||r===0||r==="first",H=r==="center",V=r==="last",Y=r==="random",U=Ve(r),q=Ve(t),E=e.use,te=Zt(q?t[0]:t),ge=q?Zt(t[1]):0,Se=Vs.exec((q?t[1]:t)+tt),Ce=e.start||0+(q?te:0),xe=e.seed,Ue=!T(xe)&&xe!==!1?fi(xe===!0?0:xe):un,be=e.jitter,F=!T(be),G=Ve(be),De=G?be[0]:be||0,oe=G?be[1]:be||0;let p=j?0:$e(r)?r:0;return(k,se,he,ze,Oe)=>{const[pe]=cn(k),N=T(_)?he.length:_,ve=T(E)?!1:qe(E)?E(pe,se,N):at(pe,E),ce=$e(ve)||Ze(ve)&&$e(+ve)?+ve:se,C=ce>=0&&ce<N?ce:se;if(H&&(p=(N-1)/2),V&&(p=N-1),!s.length){if(m){let b=!0,M=!1,ne=1/0,ie=1/0,P=1/0,B=-1/0,K=-1/0,W=-1/0;const ye=[],X=[],Q=[];for(let v=0;v<N;v++){const O=he[v];let D=0,z=0,A=0,re=!1;if(O&&qe(O.getBoundingClientRect)){const Z=O.getBoundingClientRect();D=Z.left+Z.width/2,z=Z.top+Z.height/2,re=!0}else{const Z=O;Z&&$e(Z.x)&&$e(Z.y)&&(D=Z.x,z=Z.y,$e(Z.z)&&(A=Z.z,M=!0),re=!0)}if(!re){b=!1;break}ye.push(D),X.push(z),Q.push(A),D<ne&&(ne=D),z<ie&&(ie=z),A<P&&(P=A),D>B&&(B=D),z>K&&(K=z),A>W&&(W=A)}if(b){let v=ye[0],O=X[0],D=Q[0];U?(v=ne+r[0]*(B-ne),O=ie+r[1]*(K-ie),D=M?P+(r.length>=3?r[2]:.5)*(W-P):0):H?(v=(ne+B)/2,O=(ie+K)/2,D=(P+W)/2):V?(v=ye[N-1],O=X[N-1],D=Q[N-1]):$e(r)&&(v=ye[r],O=X[r],D=Q[r]);for(let A=0;A<N;A++){const re=v-ye[A],Z=O-X[A],Ye=D-Q[A];let ke=xt(re*re+Z*Z+(M?Ye*Ye:0));g==="x"&&(ke=-re),g==="y"&&(ke=-Z),g==="z"&&(ke=-Ye),s.push(ke)}let z=1/0;for(let A=0;A<N;A++){const re=wt(s[A]);re>0&&re<z&&(z=re)}if(z>0&&z<1/0)for(let A=0;A<N;A++)s[A]=s[A]/z}else for(let v=0;v<N;v++)s.push(wt(p-v))}else for(let b=0;b<N;b++)if(!h)s.push(wt(p-b));else{const M=h.length,ne=h[0]*h[1];let ie,P,B;U?(ie=r[0]*(h[0]-1),P=r[1]*(h[1]-1),B=M===3?(r.length>=3?r[2]:.5)*(h[2]-1):0):H?(ie=(h[0]-1)/2,P=(h[1]-1)/2,B=M===3?(h[2]-1)/2:0):(ie=p%h[0],P=_t(p/h[0])%h[1],B=M===3?_t(p/ne):0);const K=b%h[0],W=_t(b/h[0])%h[1],ye=M===3?_t(b/ne):0,X=ie-K,Q=P-W,v=B-ye;let O=xt(X*X+Q*Q+(M===3?v*v:0));g==="x"&&(O=-X),g==="y"&&(O=-Q),g==="z"&&(O=-v),s.push(O)}n=s[0];for(let b=1;b<N;b++)s[b]>n&&(n=s[b]);if(f||a)for(let b=0;b<N;b++){let M=s[b];f&&(M=f(M/n)*n),a&&(M=g?-M:wt(n-M)),s[b]=M}if(F){o=new Array(N);for(let b=0;b<N;b++)o[b]=Ue(-1,1,4)}Y&&(s=hi(s,Ue))}const de=q?(ge-te)/n:te;T(i)&&(i=Oe?gt(Oe,T(e.start)?Oe.iterationDuration:Ce):Ce);let ae=i+(de*I(s[C],2)||0);if(F){const b=n?s[C]/n:0,M=De+(oe-De)*b;ae=ae+o[C]*M}return e.modifier&&(ae=e.modifier(ae)),Se&&(ae=`${ae}${Se[2]}`),ae}};/**
152
- * Anime.js - svg - ESM
153
- * @version v4.5.0
154
- * @license MIT
155
- * @copyright 2026 - Julian Garnier
156
- */const pi=t=>{let e=1;if(t&&t.getCTM){const s=t.getCTM();if(s){const n=xt(s.a*s.a+s.b*s.b),i=xt(s.c*s.c+s.d*s.d);e=(n+i)/2}}return e},mi=(t,e,s)=>{const n=et,i=getComputedStyle(t),o=i.strokeLinecap,r=i.vectorEffect==="non-scaling-stroke"?t:null;let a=o;const d=new Proxy(t,{get(l,c){const f=l[c];return c===Fs?l:c==="setAttribute"?(...h)=>{if(h[0]==="draw"){const g=h[1].split(" "),_=+g[0],j=+g[1],H=pi(r),V=_*-n*H,Y=j*n*H+V,U=n*H+(_===0&&j===1||_===1&&j===0?0:10*H)-Y;if(o!=="butt"){const q=_===j?"butt":o;a!==q&&(l.style.strokeLinecap=`${q}`,a=q)}l.setAttribute("stroke-dashoffset",`${V}`),l.setAttribute("stroke-dasharray",`${Y} ${U}`)}return Reflect.apply(f,l,h)}:qe(f)?(...h)=>Reflect.apply(f,l,h):f}});return t.getAttribute("pathLength")!==`${n}`&&(t.setAttribute("pathLength",`${n}`),d.setAttribute("draw",`${e} ${s}`)),d},_i=(t,e=0,s=0)=>Lt(t).map(i=>mi(i,e,s)),gi={intro:"00",red:"01",orange:"02","green-orbit":"03","blue-dots":"04","aqua-line":"05","lime-pulse":"06","yellow-clock":"07","green-dots":"08"},yi=[{cx:258,cy:400,r:18},{cx:315,cy:400,r:23},{cx:372,cy:400,r:28},{cx:428,cy:400,r:28},{cx:485,cy:400,r:23},{cx:542,cy:400,r:18}],Ti=[{kind:"rect",x:292,y:276,size:46,filled:!1},{kind:"circle",x:360,y:318,size:14,filled:!0},{kind:"rect",x:348,y:360,size:64,filled:!0},{kind:"circle",x:448,y:392,size:38,filled:!0},{kind:"rect",x:486,y:335,size:54,filled:!1},{kind:"circle",x:292,y:464,size:50,filled:!1},{kind:"rect",x:328,y:508,size:62,filled:!0},{kind:"circle",x:504,y:488,size:24,filled:!1},{kind:"rect",x:452,y:458,size:44,filled:!1},{kind:"circle",x:440,y:262,size:18,filled:!0}];function xi(t,e,s,n){return`M${t-s} ${e} A${s} ${n} 0 1 0 ${t+s} ${e} A${s} ${n} 0 1 0 ${t-s} ${e}`}const bi=Array.from({length:22},(t,e)=>{const n=-.96+e/21*1.92,i=Math.sqrt(1-n**2),o=400+n*145,r=400+n*105;return{cx:o,cy:r,d:xi(o,r,90*i,225*i),rotation:40}});function vi(){const t=[];for(let e=244;e<=556;e+=24)for(let s=244;s<=556;s+=24){const n=Math.hypot(s-400,e-400);n<205&&t.push({x:s,y:e,opacity:n<170?.26:.12})}return t}function wi(){const t=[];for(let e=256;e<=544;e+=24)for(let s=256;s<=544;s+=24){const n=Math.hypot(s-400,e-400),i=Math.abs((s-400)/24),o=Math.abs((e-400)/24),r=Math.max(n,1),a=n===0?0:Math.min(14,4+n*.05);t.push({x:s,y:e,visible:i+o<=9,translateX:(s-400)/r*a,translateY:(e-400)/r*a})}return t}function Ni(){return Array.from({length:38},(t,e)=>{const s=e/37,n=s*Math.PI*4.8-Math.PI*.5,i=20+s*154;return{x:400+Math.cos(n)*i,y:400+Math.sin(n)*i,width:6+(1-s)*3,height:13+(1-s)*18}})}function Si({state:t,stateLabel:e}){const s=Te.useRef(null),n=Te.useMemo(vi,[]),i=Te.useMemo(wi,[]),o=Te.useMemo(Ni,[]);return Te.useLayoutEffect(()=>{const r=s.current;if(!r||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const a=qs({defaults:{ease:"out(3)"}}).add(r.querySelectorAll(".dial-case-outer, .dial-case-middle"),{opacity:[0,1],scale:[.82,1],duration:1050},0).add(r.querySelectorAll(".dial-tick-runner"),{opacity:[0,1],duration:1050},420).add(r.querySelectorAll(".dial-segments"),{opacity:[0,1],scale:[.88,1],rotate:[-52,0],duration:1450},720).add(r.querySelectorAll(".dial-segment"),{strokeDasharray:["0 100","11 89"],strokeDashoffset:[11,0],delay:je(135),duration:1050},720).add(r.querySelectorAll(".dial-inner-shell"),{opacity:[0,1],scale:[.76,1],duration:1250},1750).add(r.querySelectorAll(".dial-content"),{opacity:[0,1],scale:[.72,1],duration:1250},2500).add(r.querySelectorAll(".dial-intro-reveal"),{opacity:[0,1],scale:[.68,1],duration:1100},3300).add(r.querySelectorAll(".dial-lower-arcs"),{opacity:[0,1],duration:900},3600).call(()=>r.classList.remove("state-dial-intro"),4800);return()=>{a.revert(),r.classList.add("state-dial-intro")}},[]),Te.useEffect(()=>{const r=s.current;if(!r||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const a=[_e(r.querySelectorAll(".dial-tick-runner"),{rotate:[0,360],duration:48e3,ease:"linear",loop:!0}),_e(r.querySelectorAll(".dial-lower-arc"),{strokeDashoffset:[0,-220],delay:je(180),duration:8e3,ease:"linear",loop:!0})];return()=>a.forEach(d=>d.revert())},[]),Te.useEffect(()=>{const r=s.current;if(!r||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const a=[];let d;if(t==="intro"&&a.push(_e(r.querySelectorAll(".dial-intro-bar"),{scaleY:[.42,1.5,.42],translateY:[-3,3,-3],opacity:[.22,1,.22],delay:je(42),duration:1780,ease:"inOut(3)",loop:!0})),t==="red"&&a.push(_e(r.querySelectorAll(".dial-red-square"),{rotate:[0,360],scale:[1,.46,1],duration:2600,ease:"linear",loop:!0})),t==="lime-pulse"&&a.push(_e(r.querySelectorAll(".dial-lime-core, .dial-lime-halo"),{scale:[.05,1],duration:1350,ease:"outElastic(1, .32)",loop:!0,loopDelay:650})),t==="green-dots"&&a.push(_e(r.querySelectorAll(".dial-green-dot"),{translateY:[-24,24],scale:[.9,1.08],delay:je(130),duration:920,ease:"inOut(3)",alternate:!0,loop:!0})),t==="orange"&&a.push(_e(r.querySelectorAll(".dial-orange-shape"),{translateX:(l,c)=>{const f=c??0;return[0,(f%2===0?1:-1)*(42+f%3*18)]},translateY:(l,c)=>{const f=c??0;return[0,-(f%2===0?1:-1)*(34+f%4*15)]},rotate:(l,c)=>{const f=c??0;return[0,(f%2===0?1:-1)*(105+f*24)]},scale:[.62,1.36],delay:je(65),duration:(l,c)=>1250+(c??0)*95,ease:"inOut(3)",alternate:!0,loop:!0})),t==="green-orbit"&&(a.push(_e(_i(r.querySelectorAll(".dial-green-orbit-path")),{draw:["0 0","0 1","1 1"],delay:je(40),ease:"inOut(3)",loop:!0,loopDelay:220})),a.push(_e(r.querySelectorAll(".dial-green-orbit-breath"),{scale:[.92,1.04,.92],opacity:[.72,1,.72],duration:2400,ease:"inOut(3)",loop:!0}))),t==="blue-dots"){const l={grid:[13,13],from:"center"};d=qs({loop:!0,playbackRate:2,frameRate:60}).add(r.querySelectorAll(".dial-blue-dot"),{scale:je([1.1,.75],l),opacity:1,translateX:(c,f)=>i[f??0].translateX,translateY:(c,f)=>i[f??0].translateY,ease:"inOutQuad"},je(200,l)).add(r.querySelectorAll(".dial-blue-dot"),{scale:.08,opacity:.22,translateX:0,translateY:0,ease:"inOutQuad"},je(200,{...l,start:1e3}))}return t==="aqua-line"&&a.push(_e(r.querySelectorAll(".dial-aqua-path"),{strokeDashoffset:[1,0],opacity:1,duration:1800,ease:"linear",loop:!0,loopDelay:180})),t==="yellow-clock"&&a.push(_e(r.querySelectorAll(".dial-clock-minute"),{rotate:[0,360],duration:2200,ease:"linear",loop:!0}),_e(r.querySelectorAll(".dial-clock-hour"),{rotate:[0,360],duration:7200,ease:"linear",loop:!0}),_e(r.querySelectorAll(".dial-clock-progress"),{rotate:[-90,270],duration:2200,ease:"linear",loop:!0})),()=>{a.forEach(l=>l.revert()),d==null||d.revert()}},[t]),u.jsxs("div",{ref:s,className:"state-dial state-dial-intro","data-state":t,"aria-label":e,children:[u.jsxs("svg",{viewBox:"0 0 800 800",role:"img","aria-hidden":"true",children:[u.jsxs("defs",{children:[u.jsxs("filter",{id:"dial-glow",x:"-60%",y:"-60%",width:"220%",height:"220%",children:[u.jsx("feGaussianBlur",{stdDeviation:"7",result:"blur"}),u.jsxs("feMerge",{children:[u.jsx("feMergeNode",{in:"blur"}),u.jsx("feMergeNode",{in:"SourceGraphic"})]})]}),u.jsx("clipPath",{id:"dial-interior-clip",children:u.jsx("circle",{cx:"400",cy:"400",r:"250"})})]}),u.jsx("circle",{className:"dial-case dial-case-outer",cx:"400",cy:"400",r:"372"}),u.jsx("circle",{className:"dial-case dial-case-middle",cx:"400",cy:"400",r:"354"}),u.jsxs("g",{className:"dial-segments",children:[u.jsx("circle",{className:"dial-segment dial-segment-red",cx:"400",cy:"400",r:"358",pathLength:"100"}),u.jsx("circle",{className:"dial-segment dial-segment-amber",cx:"400",cy:"400",r:"358",pathLength:"100"}),u.jsx("circle",{className:"dial-segment dial-segment-green",cx:"400",cy:"400",r:"358",pathLength:"100"}),u.jsx("circle",{className:"dial-segment dial-segment-cyan",cx:"400",cy:"400",r:"358",pathLength:"100"}),u.jsx("circle",{className:"dial-segment dial-segment-blue",cx:"400",cy:"400",r:"358",pathLength:"100"}),u.jsx("circle",{className:"dial-segment dial-segment-lime",cx:"400",cy:"400",r:"358",pathLength:"100"}),u.jsx("circle",{className:"dial-segment dial-segment-yellow",cx:"400",cy:"400",r:"358",pathLength:"100"}),u.jsx("circle",{className:"dial-segment dial-segment-green-dots",cx:"400",cy:"400",r:"358",pathLength:"100"})]}),u.jsxs("g",{className:"dial-inner-shell",children:[u.jsx("circle",{className:"dial-case dial-case-inner",cx:"400",cy:"400",r:"313"}),u.jsx("circle",{className:"dial-case dial-case-groove",cx:"400",cy:"400",r:"294"}),u.jsx("circle",{className:"dial-interior",cx:"400",cy:"400",r:"267"}),u.jsx("circle",{className:"dial-interior-ring",cx:"400",cy:"400",r:"254"}),u.jsx("path",{className:"dial-reflection",d:"M222 350 C229 273 270 214 332 182"}),u.jsx("path",{className:"dial-reflection dial-reflection-small",d:"M217 397 C216 381 218 368 222 354"})]}),u.jsxs("g",{className:"dial-content",children:[u.jsx("g",{className:"dial-grid",clipPath:"url(#dial-interior-clip)",children:n.map(r=>u.jsx("circle",{className:"dial-grid-dot",cx:r.x,cy:r.y,r:"2",opacity:r.opacity},`${r.x}-${r.y}`))}),u.jsx("g",{className:"dial-state-layer dial-state-intro",children:u.jsx("g",{className:"dial-intro-reveal",children:u.jsx("g",{className:"dial-intro-spiral",children:o.map((r,a)=>u.jsx("rect",{className:"dial-intro-bar",x:r.x-r.width/2,y:r.y-r.height/2,width:r.width,height:r.height,rx:r.width/2},a))})})}),u.jsx("g",{className:"dial-state-layer dial-state-red",children:u.jsx("rect",{className:"dial-red-square",x:"326",y:"326",width:"148",height:"148",rx:"18"})}),u.jsx("g",{className:"dial-state-layer dial-state-orange",clipPath:"url(#dial-interior-clip)",children:Ti.map((r,a)=>r.kind==="circle"?u.jsx("circle",{className:`dial-orange-shape${r.filled?" dial-shape-filled":""}`,cx:r.x,cy:r.y,r:r.size/2},a):u.jsx("rect",{className:`dial-orange-shape${r.filled?" dial-shape-filled":""}`,x:r.x,y:r.y,width:r.size,height:r.size,rx:"6"},a))}),u.jsx("g",{className:"dial-state-layer dial-state-green-orbit",clipPath:"url(#dial-interior-clip)",children:u.jsx("g",{className:"dial-green-orbit-breath",children:bi.map((r,a)=>u.jsx("path",{className:"dial-green-orbit-path",d:r.d,transform:`rotate(${r.rotation} ${r.cx} ${r.cy})`},a))})}),u.jsx("g",{className:"dial-state-layer dial-state-blue-dots",children:i.map(r=>u.jsx("circle",{className:"dial-blue-dot",cx:r.x,cy:r.y,r:r.visible?14:0,style:{opacity:.22,transform:"scale(0.08)"}},`${r.x}-${r.y}`))}),u.jsx("g",{className:"dial-state-layer dial-state-aqua-line",children:u.jsx("path",{className:"dial-aqua-path",pathLength:"1",d:"M242 421 C276 421 286 381 320 383 C350 385 357 443 389 447 C423 451 434 344 467 346 C500 348 507 425 536 427 C558 429 573 405 588 399"})}),u.jsxs("g",{className:"dial-state-layer dial-state-lime-pulse",children:[u.jsx("circle",{className:"dial-lime-halo",cx:"400",cy:"400",r:"112"}),u.jsx("circle",{className:"dial-lime-core",cx:"400",cy:"400",r:"96"})]}),u.jsxs("g",{className:"dial-state-layer dial-state-yellow-clock",children:[u.jsx("circle",{className:"dial-clock-face",cx:"400",cy:"400",r:"139"}),u.jsx("circle",{className:"dial-clock-progress",cx:"400",cy:"400",r:"139",pathLength:"1"}),u.jsx("g",{className:"dial-clock-hour",children:u.jsx("line",{x1:"400",y1:"400",x2:"400",y2:"323"})}),u.jsx("g",{className:"dial-clock-minute",children:u.jsx("line",{x1:"400",y1:"400",x2:"474",y2:"400"})}),u.jsx("circle",{className:"dial-clock-pin",cx:"400",cy:"400",r:"9"})]}),u.jsxs("g",{className:"dial-state-layer dial-state-green-dots",children:[u.jsx("rect",{className:"dial-green-field",x:"205",y:"312",width:"390",height:"176",rx:"66"}),yi.map((r,a)=>u.jsx("circle",{className:"dial-green-dot",cx:r.cx,cy:r.cy,r:r.r},a))]})]}),u.jsxs("g",{className:"dial-lower-arcs",children:[u.jsx("path",{className:"dial-lower-arc",d:"M540 625 A270 270 0 0 0 664 492"}),u.jsx("path",{className:"dial-lower-arc",d:"M520 648 A290 290 0 0 0 684 486"}),u.jsx("path",{className:"dial-lower-arc",d:"M494 665 A310 310 0 0 0 701 480"})]}),u.jsx("g",{className:"dial-tick-runner",children:Array.from({length:120},(r,a)=>{const d=a%10===0;return u.jsx("line",{className:d?"dial-tick dial-tick-major":"dial-tick",x1:"400",y1:d?68:72,x2:"400",y2:d?92:84,transform:`rotate(${a*3} 400 400)`},a)})})]}),u.jsxs("div",{className:"dial-state-readout","aria-hidden":"true",children:[u.jsx("span",{children:gi[t]}),u.jsx("strong",{children:e})]})]})}const Ci={en:{console:"Open console",explore:"Enter red sequence",progress:"Animation sequence progress",status:"Motion field online",chapters:[{id:"intro",code:"00",eyebrow:"Initialization",title:"SPS Voice",description:"The shell, spectrum, instruments and signal field assemble in a timed startup sequence.",detail:["Outer shell","Spectrum ring","Signal field"],icon:ys},{id:"red",code:"01",eyebrow:"Red",title:"A signal finds its form.",description:"A red block continuously contracts and returns while completing a full rotation.",detail:["Contraction","Continuous rotation","Red spectrum"],icon:fs},{id:"orange",code:"02",eyebrow:"Orange",title:"Forms enter motion.",description:"Circles and squares separate, rotate and continuously reorganize inside the field.",detail:["Mixed geometry","Independent motion","Orange spectrum"],icon:Ts},{id:"green-orbit",code:"03",eyebrow:"Green",title:"Curves build a field.",description:"Parallel drawable latitude rings sweep from the upper-left to the lower-right and pulse as one sphere.",detail:["Latitude rings","Staggered drawing","Breathing motion"],icon:xs},{id:"blue-dots",code:"04",eyebrow:"Blue",title:"Particles open a core.",description:"Blue particles pulse from the center outward in repeating radial waves.",detail:["Dot matrix","Water-wave spread","Blue spectrum"],icon:gs},{id:"aqua-line",code:"05",eyebrow:"Aqua",title:"A path writes itself.",description:"A single aqua line repeatedly draws from left to right without reversing direction.",detail:["Left-to-right draw","One-way cycle","Aqua spectrum"],icon:hs},{id:"lime-pulse",code:"06",eyebrow:"Lime",title:"Energy holds the center.",description:"A luminous lime core springs out from the center with a pronounced elastic overshoot.",detail:["Center launch","Elastic rebound","Lime spectrum"],icon:ps},{id:"yellow-clock",code:"07",eyebrow:"Yellow",title:"Time becomes rhythm.",description:"Clock hands and a perimeter arc rotate continuously at independent speeds without pausing.",detail:["Continuous timing","Progress arc","Yellow spectrum"],icon:_s},{id:"green-dots",code:"08",eyebrow:"Green",title:"Signals align and respond.",description:"A horizontal row of bright particles rises and falls one by one across the dotted field.",detail:["Horizontal layout","Staggered motion","Green spectrum"],icon:ms}]},zh:{console:"打开控制台",explore:"查看红色动画",progress:"动画序列进度",status:"动效场在线",chapters:[{id:"intro",code:"00",eyebrow:"初始化",title:"SPS Voice",description:"外壳、光谱、刻度和信号场按照时间顺序逐层生成,组成完整圆盘。",detail:["外部机械壳","光谱环","内部信号场"],icon:ys},{id:"red",code:"01",eyebrow:"红色",title:"信号形成稳定形态。",description:"红色方块在完成整圈旋转的同时持续收缩并恢复。",detail:["收缩恢复","连续旋转","红色光谱"],icon:fs},{id:"orange",code:"02",eyebrow:"橙色",title:"不同形态开始运动。",description:"圆形与方形在容器中分离、旋转,并持续重新排列。",detail:["混合几何体","独立运动","橙色光谱"],icon:Ts},{id:"green-orbit",code:"03",eyebrow:"绿色",title:"曲线交织成空间场。",description:"平行纬度环从左上到右下逐圈绘制成立体球形,并以整体缩放形成呼吸节奏。",detail:["纬度环线","逐圈绘制","呼吸节奏"],icon:xs},{id:"blue-dots",code:"04",eyebrow:"蓝色",title:"粒子从中心展开。",description:"蓝色圆珠从中心开始,按照径向距离形成循环扩散的水波。",detail:["点阵","水波扩散","蓝色光谱"],icon:gs},{id:"aqua-line",code:"05",eyebrow:"湖蓝",title:"路径自行绘制。",description:"单条湖蓝曲线持续从左向右绘制,结束后重新开始,不再反向回退。",detail:["从左向右","单向循环","湖蓝光谱"],icon:hs},{id:"lime-pulse",code:"06",eyebrow:"嫩绿",title:"能量停留在中心。",description:"嫩绿色核心从中心快速弹出,并通过明显的过冲形成强烈弹性。",detail:["中心弹出","弹性回弹","嫩绿光谱"],icon:ps},{id:"yellow-clock",code:"07",eyebrow:"黄色",title:"时间转化为节奏。",description:"时针、分针与外圈进度以不同速度持续旋转,循环过程不会停顿。",detail:["连续计时","进度弧线","黄色光谱"],icon:_s},{id:"green-dots",code:"08",eyebrow:"绿色",title:"信号排列并作出响应。",description:"一排绿色圆珠横向展开,并按照顺序逐个上下摆动。",detail:["横向排列","交错摆动","绿色光谱"],icon:ms}]}};function Ei(){const{lang:t}=_n(),e=Ci[t],s=Te.useRef(null),n=Te.useRef([]),i=Te.useRef(0),[o,r]=Te.useState(0),a=e.chapters[o].id,d=Te.useMemo(()=>Array.from(e.chapters[0].title),[e]);Te.useEffect(()=>{const c=s.current;if(!c)return;const f=_e(c.querySelectorAll(".showcase-title-character"),{opacity:[0,1],translateY:["115%","0%"],rotate:[6,0],delay:je(48),duration:920,ease:"outExpo"}),h=_e(c.querySelectorAll(".showcase-intro-reveal"),{opacity:[0,1],translateY:[12,0],delay:je(70,{start:320}),duration:680,ease:"out(3)"});return()=>{f.revert(),h.revert()}},[e]),Te.useEffect(()=>{const c=s.current;if(!c)return;let f=0,h=0,m=0;const g=()=>{const j=window.scrollY+c.getBoundingClientRect().top,H=Math.max(1,c.offsetHeight-window.innerHeight);f=Math.min(1,Math.max(0,(window.scrollY-j)/H));const V=window.innerHeight*.5;let Y=0,U=Number.POSITIVE_INFINITY;n.current.forEach((q,E)=>{if(!q)return;const te=q.getBoundingClientRect(),ge=Math.abs(te.top+te.height*.5-V);ge<U&&(U=ge,Y=E)}),Y!==i.current&&(i.current=Y,r(Y))},_=()=>{h+=(f-h)*.1,c.style.setProperty("--showcase-progress",h.toFixed(4)),m=window.requestAnimationFrame(_)};return window.addEventListener("scroll",g,{passive:!0}),window.addEventListener("resize",g),g(),m=window.requestAnimationFrame(_),()=>{window.cancelAnimationFrame(m),window.removeEventListener("scroll",g),window.removeEventListener("resize",g)}},[]);const l=c=>{var f;(f=n.current[c])==null||f.scrollIntoView({behavior:"smooth",block:"center"})};return u.jsxs("main",{ref:s,className:"sps-showcase","data-showcase-state":a,children:[u.jsxs("div",{className:"showcase-stage",children:[u.jsx("div",{className:"showcase-stage-grid","aria-hidden":"true"}),u.jsx("div",{className:"showcase-dial-wrap",children:u.jsx(Si,{state:a,stateLabel:e.chapters[o].eyebrow})}),u.jsxs("div",{className:"showcase-stage-index","aria-hidden":"true",children:[u.jsxs("span",{children:["SPS VOICE / ",e.chapters[o].code]}),u.jsx("span",{children:a.toUpperCase()})]})]}),u.jsxs("nav",{className:"showcase-nav showcase-intro-reveal","aria-label":"Showcase navigation",children:[u.jsxs(Yt,{className:"showcase-brand",to:"/","aria-label":e.console,children:[u.jsx(Nn,{size:21,strokeWidth:1.7,"aria-hidden":"true"}),u.jsx("span",{children:"SPS"})]}),u.jsxs("div",{className:"showcase-nav-status",children:[u.jsx("span",{"aria-hidden":"true"}),e.status]}),u.jsxs(Yt,{className:"showcase-console-link",to:"/",children:[u.jsx(gn,{size:16,strokeWidth:1.8,"aria-hidden":"true"}),e.console]})]}),u.jsxs("aside",{className:"showcase-progress-rail showcase-intro-reveal","aria-label":e.progress,children:[u.jsx("div",{className:"showcase-progress-track","aria-hidden":"true",children:u.jsx("span",{})}),e.chapters.map((c,f)=>u.jsx("button",{type:"button","aria-label":`${c.code} ${c.eyebrow}`,"aria-current":o===f?"step":void 0,onClick:()=>l(f),children:u.jsx("span",{children:c.code})},c.id))]}),u.jsx("div",{className:"showcase-chapters",children:e.chapters.map((c,f)=>{const h=c.icon,m=f===0,g=f===e.chapters.length-1;return u.jsx("section",{id:`showcase-${c.id}`,ref:_=>{n.current[f]=_},className:`showcase-chapter${m?" showcase-chapter-hero":""}${g?" showcase-chapter-last":""}`,"data-active":o===f,"aria-labelledby":`showcase-${c.id}-title`,children:u.jsxs("div",{className:"showcase-chapter-copy",children:[u.jsxs("div",{className:"showcase-eyebrow",children:[u.jsx(h,{size:17,strokeWidth:1.8,"aria-hidden":"true"}),u.jsx("span",{children:c.code}),u.jsx("p",{children:c.eyebrow})]}),m?u.jsx("h1",{id:`showcase-${c.id}-title`,className:"showcase-title","aria-label":c.title,children:u.jsx("span",{"aria-hidden":"true",children:d.map((_,j)=>u.jsx("span",{className:"showcase-title-character",children:_===" "?" ":_},`${_}-${j}`))})}):u.jsx("h2",{id:`showcase-${c.id}-title`,children:c.title}),u.jsx("p",{className:"showcase-description",children:c.description}),u.jsx("ul",{className:"showcase-detail-list","aria-label":c.eyebrow,children:c.detail.map(_=>u.jsx("li",{children:_},_))}),m&&u.jsxs("div",{className:"showcase-next-chapter showcase-intro-reveal",children:[u.jsxs("button",{className:"showcase-scroll-cue",type:"button",onClick:()=>l(1),children:[u.jsx(yn,{size:17,strokeWidth:1.8,"aria-hidden":"true"}),e.explore]}),u.jsxs("span",{children:[e.chapters[1].code," / ",e.chapters[1].eyebrow]})]}),g&&u.jsxs(Yt,{className:"showcase-launch-link",to:"/",children:[e.console,u.jsx(xn,{size:18,strokeWidth:1.8,"aria-hidden":"true"})]})]})},c.id)})})]})}export{Ei as ShowcasePage,Ei as default};