@auto-ai/agent 2.1.194 → 2.1.195

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 (508) hide show
  1. package/.env.example +7 -0
  2. package/dist/safe-a/404/index.html +1 -1
  3. package/dist/safe-a/404.html +1 -1
  4. package/dist/safe-a/_next/static/{fnecaAU1IOv7M644xhyOD → VnysKQR3hWkQ0lCvW9xLp}/_buildManifest.js +1 -1
  5. package/dist/safe-a/_next/static/chunks/{0e8139882ad093d2.js → 00b0744649a5e608.js} +1 -1
  6. package/dist/safe-a/_next/static/chunks/00f91b7d88f62204.js +1 -0
  7. package/dist/safe-a/_next/static/chunks/{3bcd531d40d6c019.js → 02339beb679bec8d.js} +1 -1
  8. package/dist/safe-a/_next/static/chunks/{f0cb9b2226c53ef9.js → 025f9752d60b79ce.js} +1 -1
  9. package/dist/safe-a/_next/static/chunks/{1a4b553856a8ffdf.js → 03039556684e9812.js} +1 -1
  10. package/dist/safe-a/_next/static/chunks/{27ff2e69b2fd19e5.js → 03af20498d43b518.js} +1 -1
  11. package/dist/safe-a/_next/static/chunks/03d9139a7df67167.js +1 -0
  12. package/dist/safe-a/_next/static/chunks/{ff12eca45020947a.js → 04ed04c00511a337.js} +1 -1
  13. package/dist/safe-a/_next/static/chunks/{9037530b0f1d5783.js → 0518cc63903bebac.js} +1 -1
  14. package/dist/safe-a/_next/static/chunks/{ea2a84258a02d5c5.js → 05ac495e860ba7c2.js} +1 -1
  15. package/dist/safe-a/_next/static/chunks/0699439b4e026cf9.js +5 -0
  16. package/dist/safe-a/_next/static/chunks/{32b4d63e10d31351.js → 06e2cd3fae94aae8.js} +1 -1
  17. package/dist/safe-a/_next/static/chunks/{af7b0bd1b40ad066.js → 0708a65cc3ecf56b.js} +1 -1
  18. package/dist/safe-a/_next/static/chunks/075e27eeab3f3396.js +1 -0
  19. package/dist/safe-a/_next/static/chunks/{966fb5830ce1029c.js → 093669121f3b7aa1.js} +1 -1
  20. package/dist/safe-a/_next/static/chunks/098aa544cfcaa8cc.js +1 -0
  21. package/dist/safe-a/_next/static/chunks/{55087cc98e6237f1.js → 0c19efa935cdd816.js} +1 -1
  22. package/dist/safe-a/_next/static/chunks/{e7bcbeb465fa49cf.js → 0d7d0d2beb29f175.js} +1 -1
  23. package/dist/safe-a/_next/static/chunks/{d599ef4d0f84a93d.js → 0e68cace7cf0464c.js} +1 -1
  24. package/dist/safe-a/_next/static/chunks/{73cbf0064096e28c.js → 0f93a62e5e2db48b.js} +1 -1
  25. package/dist/safe-a/_next/static/chunks/1116b1064a071974.js +1 -0
  26. package/dist/safe-a/_next/static/chunks/{16ea1d3cf6db8a53.js → 12932eb7d288b09b.js} +1 -1
  27. package/dist/safe-a/_next/static/chunks/{b360c9fc22dbf831.js → 129875fd1b096964.js} +1 -1
  28. package/dist/safe-a/_next/static/chunks/{facb82117d49a6e1.js → 1386362cdfd92116.js} +1 -1
  29. package/dist/safe-a/_next/static/chunks/13d483e992628826.js +1 -0
  30. package/dist/safe-a/_next/static/chunks/{2df3e464b6247e75.js → 1409701c73ffe517.js} +1 -1
  31. package/dist/safe-a/_next/static/chunks/1760823294b4d677.js +1 -0
  32. package/dist/safe-a/_next/static/chunks/{d5e3d29f769997cc.js → 18570009118a0e76.js} +1 -1
  33. package/dist/safe-a/_next/static/chunks/{fb0f4d868b87961b.js → 18e062f9f23f27c0.js} +1 -1
  34. package/dist/safe-a/_next/static/chunks/19023abd5e1bf1d1.js +1 -0
  35. package/dist/safe-a/_next/static/chunks/{413a7be096275d7f.js → 19a47cfc8ca4c0a7.js} +1 -1
  36. package/dist/safe-a/_next/static/chunks/1a900b3c5a00d59b.js +1 -0
  37. package/dist/safe-a/_next/static/chunks/{d729414ff836cd53.js → 1a91a01fbaf01e7e.js} +1 -1
  38. package/dist/safe-a/_next/static/chunks/{6ae709c575c74979.js → 1aaf9fb00fb53ef9.js} +1 -1
  39. package/dist/safe-a/_next/static/chunks/1b739dfdbcce05bd.js +1 -0
  40. package/dist/safe-a/_next/static/chunks/1c058f8cbbecf3b6.css +1 -0
  41. package/dist/safe-a/_next/static/chunks/1d0273aae0bc102c.js +1 -0
  42. package/dist/safe-a/_next/static/chunks/{6522643341a0921c.js → 1d737ed6e08d2466.js} +1 -1
  43. package/dist/safe-a/_next/static/chunks/1df41f8d439107ef.js +1 -0
  44. package/dist/safe-a/_next/static/chunks/1e53be8e374709f6.js +1 -0
  45. package/dist/safe-a/_next/static/chunks/{5a3e355216280144.js → 1f90e84b5a4dad81.js} +1 -1
  46. package/dist/safe-a/_next/static/chunks/1faaa282be969b14.js +1 -0
  47. package/dist/safe-a/_next/static/chunks/{a6a98f9278704b6a.js → 217c50478c5ea4d7.js} +1 -1
  48. package/dist/safe-a/_next/static/chunks/{e3fe320ec1b8f889.js → 232cc01daaf29e5d.js} +1 -1
  49. package/dist/safe-a/_next/static/chunks/{a5df6158856685f1.js → 2331e2a388a9bd50.js} +1 -1
  50. package/dist/safe-a/_next/static/chunks/{170f7361bd4d33e2.js → 23f50ba74d421ab3.js} +1 -1
  51. package/dist/safe-a/_next/static/chunks/{cd0e7e3cc303b4e4.js → 261bf96e2331ea0a.js} +1 -1
  52. package/dist/safe-a/_next/static/chunks/{f36595b9995a49a9.js → 27b3d30516d46fc8.js} +1 -1
  53. package/dist/safe-a/_next/static/chunks/{fa39b9f8bced4bcd.js → 2854919e0953bd0d.js} +1 -1
  54. package/dist/safe-a/_next/static/chunks/29105a13d179d5b2.js +1 -0
  55. package/dist/safe-a/_next/static/chunks/29403b19d94e37bb.js +1 -0
  56. package/dist/safe-a/_next/static/chunks/{3934bd57f459566e.js → 29a317486c4ab7d7.js} +1 -1
  57. package/dist/safe-a/_next/static/chunks/{6cc2f7f962cdd082.js → 29cf9e89be8a7f75.js} +1 -1
  58. package/dist/safe-a/_next/static/chunks/29f39316c32518a2.js +1 -0
  59. package/dist/safe-a/_next/static/chunks/2a07e0d1ef712b41.js +1 -0
  60. package/dist/safe-a/_next/static/chunks/2b38c2b26760e4cb.js +1 -0
  61. package/dist/safe-a/_next/static/chunks/2bb180b50bafe979.js +1 -0
  62. package/dist/safe-a/_next/static/chunks/{1e43922998a0ed2f.js → 2bd512c6acf9ee9b.js} +1 -1
  63. package/dist/safe-a/_next/static/chunks/{2c6d585a97629311.js → 2be2d49054d4606c.js} +1 -1
  64. package/dist/safe-a/_next/static/chunks/{6c3b2d0be1c633b6.js → 2c0b2fd9fb2fea66.js} +1 -1
  65. package/dist/safe-a/_next/static/chunks/{35f1637c2feb232d.js → 2ccdfcf9ecfa2ea8.js} +1 -1
  66. package/dist/safe-a/_next/static/chunks/2ce249001ad95013.js +1 -0
  67. package/dist/safe-a/_next/static/chunks/2e5faa7070c6cee2.js +1 -0
  68. package/dist/safe-a/_next/static/chunks/{cd5eec7d305aa041.js → 2f104b4be1990722.js} +1 -1
  69. package/dist/safe-a/_next/static/chunks/{7f6e82ac63db5eff.js → 2f35f32799fb08ac.js} +1 -1
  70. package/dist/safe-a/_next/static/chunks/{eb9ae8e95cac1197.js → 30c0274cb379ab0d.js} +1 -1
  71. package/dist/safe-a/_next/static/chunks/{3b2bb9f17546ee3e.js → 30f37e8e02339538.js} +1 -1
  72. package/dist/safe-a/_next/static/chunks/3291271bfefffdb8.js +1 -0
  73. package/dist/safe-a/_next/static/chunks/32e34d913fe59618.js +1 -0
  74. package/dist/safe-a/_next/static/chunks/{d82740475fc07e98.js → 333630802bd6f1a6.js} +1 -1
  75. package/dist/safe-a/_next/static/chunks/33e878df066811db.js +1 -0
  76. package/dist/safe-a/_next/static/chunks/{94029062f236cadc.js → 3422b2c2f9bdf0e0.js} +1 -1
  77. package/dist/safe-a/_next/static/chunks/{f235a8df2f905e6a.js → 36897fabf62bf445.js} +1 -1
  78. package/dist/safe-a/_next/static/chunks/37615c61dd14fc8d.js +1 -0
  79. package/dist/safe-a/_next/static/chunks/{b66afb4b0be97af8.js → 37f3ea0b3cf40bca.js} +1 -1
  80. package/dist/safe-a/_next/static/chunks/38d88de54642e44e.js +1 -0
  81. package/dist/safe-a/_next/static/chunks/{9f0ee4783140adf1.js → 38dcdbfb8c6966a9.js} +1 -1
  82. package/dist/safe-a/_next/static/chunks/38decd5cd3fe2525.js +1 -0
  83. package/dist/safe-a/_next/static/chunks/39fc6ad79e44f4df.js +1 -0
  84. package/dist/safe-a/_next/static/chunks/{f1f911d553a62027.js → 3b0acee8a8035ee7.js} +1 -1
  85. package/dist/safe-a/_next/static/chunks/{fb2f1266493dd820.js → 3d9ee9c4bc8e29b2.js} +1 -1
  86. package/dist/safe-a/_next/static/chunks/{3ec05a61e93547d3.js → 3da255bcf22e013d.js} +1 -1
  87. package/dist/safe-a/_next/static/chunks/{6d4209e94b1aafe6.js → 3e45de4a81d1f7a6.js} +1 -1
  88. package/dist/safe-a/_next/static/chunks/3ecc6705303560ea.js +1 -0
  89. package/dist/safe-a/_next/static/chunks/{1078bc1642db53ad.js → 3f18c3fa64301e74.js} +1 -1
  90. package/dist/safe-a/_next/static/chunks/3fe95be4b92470e2.js +1 -0
  91. package/dist/safe-a/_next/static/chunks/{ef51763a796dde8b.js → 404f44571be80b78.js} +1 -1
  92. package/dist/safe-a/_next/static/chunks/{b65565677c3e8c0a.js → 405cd8dd7faa6eaf.js} +1 -1
  93. package/dist/safe-a/_next/static/chunks/4064e59727cba9b0.js +1 -0
  94. package/dist/safe-a/_next/static/chunks/{bbcf9daa108b22fb.js → 43392297dd43555d.js} +1 -1
  95. package/dist/safe-a/_next/static/chunks/{459d401d9f9e5b9f.js → 435e18828af1d066.js} +1 -1
  96. package/dist/safe-a/_next/static/chunks/44e9e0394b7b6f31.js +1 -0
  97. package/dist/safe-a/_next/static/chunks/{9cb28a1dacb7ea6d.js → 46568a8bad984d09.js} +1 -1
  98. package/dist/safe-a/_next/static/chunks/{caf4049dc563940e.js → 47098fcba8e98974.js} +1 -1
  99. package/dist/safe-a/_next/static/chunks/{3e9c98df7d56e9b2.js → 472047ea96adfca5.js} +1 -1
  100. package/dist/safe-a/_next/static/chunks/{e04bace22e04d63c.js → 473249ae7830085a.js} +1 -1
  101. package/dist/safe-a/_next/static/chunks/{cccecf726769787f.js → 47d485f30e419da8.js} +1 -1
  102. package/dist/safe-a/_next/static/chunks/4ae2c56fab8c060d.js +1 -0
  103. package/dist/safe-a/_next/static/chunks/{f659a364f48244ea.js → 4c19e1ee54dac526.js} +1 -1
  104. package/dist/safe-a/_next/static/chunks/{c2546d2b493dd907.js → 4c87634b39751c56.js} +1 -1
  105. package/dist/safe-a/_next/static/chunks/4ca36e3fb45c2e71.js +1 -0
  106. package/dist/safe-a/_next/static/chunks/4cd41b402679f77d.js +1 -0
  107. package/dist/safe-a/_next/static/chunks/{fa5b61b8e7219fe6.js → 4df5dd4e3c591164.js} +1 -1
  108. package/dist/safe-a/_next/static/chunks/{32b9bdd82a961878.js → 4f55f5dfceddc1fe.js} +1 -1
  109. package/dist/safe-a/_next/static/chunks/{d8af8dadd0889c71.js → 502779251884e330.js} +1 -1
  110. package/dist/safe-a/_next/static/chunks/{62d925bcc8518b6f.js → 503bbec2e3179a3c.js} +1 -1
  111. package/dist/safe-a/_next/static/chunks/{736441266ceb14e2.js → 5076e29ddf662e81.js} +1 -1
  112. package/dist/safe-a/_next/static/chunks/{d9b92ed2d544fca5.js → 50c602f1b79d61a7.js} +1 -1
  113. package/dist/safe-a/_next/static/chunks/{e4973ad5c183f17a.js → 50cbc92b0512838a.js} +1 -1
  114. package/dist/safe-a/_next/static/chunks/50f270f87470ca73.js +1 -0
  115. package/dist/safe-a/_next/static/chunks/{69aecc2a7893ba05.js → 5199391db9ed9aee.js} +1 -1
  116. package/dist/safe-a/_next/static/chunks/51d51df47c38a401.js +1 -0
  117. package/dist/safe-a/_next/static/chunks/5385bf74559eeabd.js +1 -0
  118. package/dist/safe-a/_next/static/chunks/54169c1554845574.js +1 -0
  119. package/dist/safe-a/_next/static/chunks/{644aa76620718c98.js → 547eb82208058c71.js} +1 -1
  120. package/dist/safe-a/_next/static/chunks/{13f94fc3dda88c90.js → 54a2df4508a1c311.js} +1 -1
  121. package/dist/safe-a/_next/static/chunks/{95c4d26e469d1d8f.js → 55e32e78e4db3889.js} +1 -1
  122. package/dist/safe-a/_next/static/chunks/{d09636e7bcf60ad1.js → 564507763428bfb0.js} +1 -1
  123. package/dist/safe-a/_next/static/chunks/{560ca23f77c0e819.js → 569dda34679bca70.js} +1 -1
  124. package/dist/safe-a/_next/static/chunks/{cba2741f84ef36ed.js → 57bc9169370081d7.js} +1 -1
  125. package/dist/safe-a/_next/static/chunks/{19584f955475ce91.js → 57e13ec897ff78d6.js} +1 -1
  126. package/dist/safe-a/_next/static/chunks/{27c407347ce26b78.js → 591fe54d06e0a33e.js} +1 -1
  127. package/dist/safe-a/_next/static/chunks/592e7a6b713dc645.js +1 -0
  128. package/dist/safe-a/_next/static/chunks/599abea9ac64aaf1.js +1 -0
  129. package/dist/safe-a/_next/static/chunks/{c5b5aba98d38ef23.js → 5a43f7cd89a42167.js} +1 -1
  130. package/dist/safe-a/_next/static/chunks/{ee79511740d19885.js → 5ad5a5ee1cc648ae.js} +1 -1
  131. package/dist/safe-a/_next/static/chunks/5ae21c9105c6abb4.js +1 -0
  132. package/dist/safe-a/_next/static/chunks/5b6c1fdf5a7293b2.js +1 -0
  133. package/dist/safe-a/_next/static/chunks/{71e3a90489469c28.js → 5c076874caf0532e.js} +1 -1
  134. package/dist/safe-a/_next/static/chunks/{55f8de91b4803778.js → 5c2a7e118fa66960.js} +1 -1
  135. package/dist/safe-a/_next/static/chunks/{75a396e1752cd59d.js → 5ca0c9bb26daf732.js} +1 -1
  136. package/dist/safe-a/_next/static/chunks/{c933951b3113492f.js → 5e4225518ccc365e.js} +1 -1
  137. package/dist/safe-a/_next/static/chunks/{70459a2a4c45653e.js → 6349c7cf3b394b81.js} +1 -1
  138. package/dist/safe-a/_next/static/chunks/{5a4c198fd41e8ec4.js → 63f33483697b26ca.js} +1 -1
  139. package/dist/safe-a/_next/static/chunks/{6b7c3c962a14dc29.js → 645741ee91707763.js} +1 -1
  140. package/dist/safe-a/_next/static/chunks/{5a0b630678282d4f.js → 648649ebbc7565b9.js} +1 -1
  141. package/dist/safe-a/_next/static/chunks/{a37aa474433d29e3.js → 65159d9aa3ecc0c9.js} +1 -1
  142. package/dist/safe-a/_next/static/chunks/{588e6975a7bd6671.js → 65963496d7fa49bc.js} +1 -1
  143. package/dist/safe-a/_next/static/chunks/{3ae4e2529aa621fb.js → 65ee07c4b6209141.js} +1 -1
  144. package/dist/safe-a/_next/static/chunks/{2fab2306850ac97b.js → 66247e9b3cf471f5.js} +1 -1
  145. package/dist/safe-a/_next/static/chunks/{8deb0392842e5a01.js → 6818b9385873d081.js} +1 -1
  146. package/dist/safe-a/_next/static/chunks/68f27d4f860d8f88.js +1 -0
  147. package/dist/safe-a/_next/static/chunks/6960a33147147a27.js +1 -0
  148. package/dist/safe-a/_next/static/chunks/6a49f9a4405fd633.js +1 -0
  149. package/dist/safe-a/_next/static/chunks/{648b653b36802fdc.js → 6d0bf0ac1fdb7eab.js} +1 -1
  150. package/dist/safe-a/_next/static/chunks/{57bb853857f3de83.js → 6e145bea7acc82b4.js} +1 -1
  151. package/dist/safe-a/_next/static/chunks/{c6cc32860b96278f.js → 6e4e92cbcf961542.js} +1 -1
  152. package/dist/safe-a/_next/static/chunks/{aa0a4c596151b22b.js → 6e663a2e3562125c.js} +1 -1
  153. package/dist/safe-a/_next/static/chunks/{a7277c96f3669bea.js → 6ecccb36549d3028.js} +1 -1
  154. package/dist/safe-a/_next/static/chunks/6f6140cbad7cdeea.js +1 -0
  155. package/dist/safe-a/_next/static/chunks/6faa53698dc67904.js +1 -0
  156. package/dist/safe-a/_next/static/chunks/{bf2262100cea8c64.js → 6fc97877fbcf3403.js} +1 -1
  157. package/dist/safe-a/_next/static/chunks/{0fa097a572705cfa.js → 70b95d96e33a5d63.js} +1 -1
  158. package/dist/safe-a/_next/static/chunks/727dc45d24782155.js +1 -0
  159. package/dist/safe-a/_next/static/chunks/{7fd45fb9cf0995f3.js → 738c808ddc82ea44.js} +1 -1
  160. package/dist/safe-a/_next/static/chunks/{715c085d7c10eeda.js → 740732a162598c49.js} +1 -1
  161. package/dist/safe-a/_next/static/chunks/74d8d2b653f61b70.js +1 -0
  162. package/dist/safe-a/_next/static/chunks/{692e7ee14236fefb.js → 774e554c11c8759a.js} +1 -1
  163. package/dist/safe-a/_next/static/chunks/784ee151431c6634.js +1 -0
  164. package/dist/safe-a/_next/static/chunks/7afa34c1dc058648.js +1 -0
  165. package/dist/safe-a/_next/static/chunks/7b34873e2b22211d.js +1 -0
  166. package/dist/safe-a/_next/static/chunks/{354aaa2e36b75b81.js → 7b6898a7f9df6495.js} +1 -1
  167. package/dist/safe-a/_next/static/chunks/7bd04dff1e0d3a01.js +1 -0
  168. package/dist/safe-a/_next/static/chunks/{f813c3d77459119f.js → 7c4b1ab5c0f1b167.js} +1 -1
  169. package/dist/safe-a/_next/static/chunks/7cadf95d4932deec.js +1 -0
  170. package/dist/safe-a/_next/static/chunks/{0b69dba7f1e63f30.js → 7cd0d9159e722599.js} +1 -1
  171. package/dist/safe-a/_next/static/chunks/{d3990c1e87ef3e23.js → 7d7ef3758ed7347b.js} +1 -1
  172. package/dist/safe-a/_next/static/chunks/{d69b21102305d19e.js → 7e5b28d162f1ea9d.js} +1 -1
  173. package/dist/safe-a/_next/static/chunks/7ec2a115414b72b4.js +1 -0
  174. package/dist/safe-a/_next/static/chunks/{37cfaa4963ac51f3.js → 7ed753f2db91bc38.js} +1 -1
  175. package/dist/safe-a/_next/static/chunks/7f167fb0dbc03180.js +1 -0
  176. package/dist/safe-a/_next/static/chunks/{d33e49aabd798892.js → 7f611b9b215dfcef.js} +1 -1
  177. package/dist/safe-a/_next/static/chunks/80bd106b26a076af.js +1 -0
  178. package/dist/safe-a/_next/static/chunks/826c64c8601264b1.js +1 -0
  179. package/dist/safe-a/_next/static/chunks/{65fb49c8a7f59842.js → 829196dbf7eddb51.js} +1 -1
  180. package/dist/safe-a/_next/static/chunks/{b429be4e16fa1e00.js → 82aea21a16d00076.js} +1 -1
  181. package/dist/safe-a/_next/static/chunks/{c3669d468d3f2b3a.js → 82cdf7e6dbe7070d.js} +1 -1
  182. package/dist/safe-a/_next/static/chunks/{f1e5e295d4db5c0f.js → 868f60fa1a2ff26b.js} +1 -1
  183. package/dist/safe-a/_next/static/chunks/{88a999988f915988.js → 86c0a63bf95598a3.js} +1 -1
  184. package/dist/safe-a/_next/static/chunks/{1bb28f71c19fa824.js → 878dd96f8fcd6bd4.js} +1 -1
  185. package/dist/safe-a/_next/static/chunks/87b0002602934525.js +1 -0
  186. package/dist/safe-a/_next/static/chunks/882686dd3b63f9d1.js +1 -0
  187. package/dist/safe-a/_next/static/chunks/88e4cdcdeff36154.js +1 -0
  188. package/dist/safe-a/_next/static/chunks/{67c9db5577080125.js → 8aafb8ec5208a445.js} +1 -1
  189. package/dist/safe-a/_next/static/chunks/{1d3e7886be9f671c.js → 8b1990cf2eb41663.js} +1 -1
  190. package/dist/safe-a/_next/static/chunks/8c8b1e40b00409f5.js +1 -0
  191. package/dist/safe-a/_next/static/chunks/{61ce261738313b8a.js → 8c97e3b556b32001.js} +1 -1
  192. package/dist/safe-a/_next/static/chunks/{2326118ef1328bc5.js → 8cee526b3846c40b.js} +1 -1
  193. package/dist/safe-a/_next/static/chunks/{a6737fc58619eae5.js → 8d76667bd2633e46.js} +1 -1
  194. package/dist/safe-a/_next/static/chunks/{8bdc142fad5847ed.js → 8e33e395e6224908.js} +1 -1
  195. package/dist/safe-a/_next/static/chunks/{fdfce6fa0b958336.js → 8ead3da37182ce4c.js} +1 -1
  196. package/dist/safe-a/_next/static/chunks/{e61019aedfdf554e.js → 8ebfebffa66b3ca7.js} +1 -1
  197. package/dist/safe-a/_next/static/chunks/9119b3c40f797b37.js +1 -0
  198. package/dist/safe-a/_next/static/chunks/913de10eeb8a88d9.js +1 -0
  199. package/dist/safe-a/_next/static/chunks/92c1de3b7b8ff353.js +1 -0
  200. package/dist/safe-a/_next/static/chunks/{1b55c29b8cad4a50.js → 93588b2335ca95de.js} +1 -1
  201. package/dist/safe-a/_next/static/chunks/{19c1491e85e22b3b.js → 948dc342d4746ffc.js} +1 -1
  202. package/dist/safe-a/_next/static/chunks/{37bbbf907196a5bf.js → 94d40dcd515ca4ad.js} +1 -1
  203. package/dist/safe-a/_next/static/chunks/{72ef1696f44fcf61.js → 957b35b92a00be9d.js} +1 -1
  204. package/dist/safe-a/_next/static/chunks/{5fc8a5235ddfa787.js → 9583c5cc3861200c.js} +1 -1
  205. package/dist/safe-a/_next/static/chunks/{1818d7a661948f6b.js → 966730983f55a7c6.js} +1 -1
  206. package/dist/safe-a/_next/static/chunks/{13b54d70a1ee1de7.js → 967dfe61a543e533.js} +1 -1
  207. package/dist/safe-a/_next/static/chunks/9683a6830b9aa51a.js +1 -0
  208. package/dist/safe-a/_next/static/chunks/{2fcc6298b6dd7a82.js → 9721e6d173bcda17.js} +1 -1
  209. package/dist/safe-a/_next/static/chunks/{53be52c43a14557c.js → 97d506a00590396c.js} +1 -1
  210. package/dist/safe-a/_next/static/chunks/{e784a1fa0acaaaa0.css → 98bb493cc14b29b8.css} +1 -1
  211. package/dist/safe-a/_next/static/chunks/{092c97532613af2a.js → 9924bd3807982f9c.js} +1 -1
  212. package/dist/safe-a/_next/static/chunks/996147dc11d8e745.js +1 -0
  213. package/dist/safe-a/_next/static/chunks/{c725524ea13a50ab.js → 997894582876b3bb.js} +1 -1
  214. package/dist/safe-a/_next/static/chunks/{8f038ff914c4b0df.js → 99ce8e2a747001a9.js} +1 -1
  215. package/dist/safe-a/_next/static/chunks/9a5e8d11c09774ed.js +1 -0
  216. package/dist/safe-a/_next/static/chunks/{d47cd27ac08f5429.js → 9a63abc493c1c840.js} +1 -1
  217. package/dist/safe-a/_next/static/chunks/{7d3bf918bccde738.js → 9ae8f05f80dedfa4.js} +1 -1
  218. package/dist/safe-a/_next/static/chunks/{a9fed5c43d754a96.js → 9b0ac8da8e1c0d7e.js} +1 -1
  219. package/dist/safe-a/_next/static/chunks/{e0c76ff7114dc8dc.js → 9b94620a86d2a1c2.js} +1 -1
  220. package/dist/safe-a/_next/static/chunks/{d842d30dcb0f50a9.js → 9bedfcbe8f9ff43f.js} +1 -1
  221. package/dist/safe-a/_next/static/chunks/{b78822282754a47c.js → 9d65a2db77bf6c63.js} +1 -1
  222. package/dist/safe-a/_next/static/chunks/{dc2186b66132ca97.js → 9d8fff267f5576eb.js} +1 -1
  223. package/dist/safe-a/_next/static/chunks/{481a2858f7df907d.js → 9db0d8129d6b7b5e.js} +1 -1
  224. package/dist/safe-a/_next/static/chunks/{c1615032cbbf5b56.js → 9de7a5feb6be8bc3.js} +1 -1
  225. package/dist/safe-a/_next/static/chunks/{b24e3802454a5567.js → 9e9339584dbc8172.js} +1 -1
  226. package/dist/safe-a/_next/static/chunks/{f50fd84e477dbaeb.js → 9f7b593a28b4dbe4.js} +1 -1
  227. package/dist/safe-a/_next/static/chunks/9f8b67e210121299.js +1 -0
  228. package/dist/safe-a/_next/static/chunks/{108a0b77418f1d31.js → a0256e00bbdc334c.js} +1 -1
  229. package/dist/safe-a/_next/static/chunks/{84185f4bb07ccbd7.js → a12eeb7c77a7506f.js} +1 -1
  230. package/dist/safe-a/_next/static/chunks/a333240ca95e9cf9.js +1 -0
  231. package/dist/safe-a/_next/static/chunks/{5ea79c109cbe8a86.js → a367a4ab4b91ce6b.js} +1 -1
  232. package/dist/safe-a/_next/static/chunks/{2046937bffedf074.js → a39dba23f5098cde.js} +1 -1
  233. package/dist/safe-a/_next/static/chunks/{3a947667fddbdd53.js → a3af4dcdb725b47f.js} +1 -1
  234. package/dist/safe-a/_next/static/chunks/{fd3d43eb8557ee49.js → a4ab363af889263f.js} +1 -1
  235. package/dist/safe-a/_next/static/chunks/a4b35c64097aeb05.js +1 -0
  236. package/dist/safe-a/_next/static/chunks/a579cdd6f50ff7c2.js +1 -0
  237. package/dist/safe-a/_next/static/chunks/a6fda6a41633eb93.js +1 -0
  238. package/dist/safe-a/_next/static/chunks/{19ca17e5015c42a3.js → a8696c4a576878ae.js} +1 -1
  239. package/dist/safe-a/_next/static/chunks/a86fedb173944e90.js +1 -0
  240. package/dist/safe-a/_next/static/chunks/a9a12415c8875ad5.js +1 -0
  241. package/dist/safe-a/_next/static/chunks/{04c9439163b67552.js → aa34ec2d74f7775c.js} +1 -1
  242. package/dist/safe-a/_next/static/chunks/{9724567275720686.js → aa8c7d3d99a14fdb.js} +1 -1
  243. package/dist/safe-a/_next/static/chunks/{01766c1e2fdff227.js → ab522ef4566e28db.js} +1 -1
  244. package/dist/safe-a/_next/static/chunks/ab91b57996557cd5.js +1 -0
  245. package/dist/safe-a/_next/static/chunks/{ebb0ee69f6a7883e.js → abf043c7dd51a07b.js} +1 -1
  246. package/dist/safe-a/_next/static/chunks/ac0062f74360e8a1.js +1 -0
  247. package/dist/safe-a/_next/static/chunks/{4a340ea4ac145216.js → ad22e1613386ba8d.js} +1 -1
  248. package/dist/safe-a/_next/static/chunks/{68bd2bd64624e20d.js → ada2807c297fe674.js} +1 -1
  249. package/dist/safe-a/_next/static/chunks/{751de74a23cc9036.js → ae1404fdd6ec935a.js} +1 -1
  250. package/dist/safe-a/_next/static/chunks/{3520f1af0a1b7f66.js → ae7e9c73a1d653fd.js} +1 -1
  251. package/dist/safe-a/_next/static/chunks/{0ce6504fc10ce408.js → af07509fa7bac8c4.js} +1 -1
  252. package/dist/safe-a/_next/static/chunks/{242529c986baeb00.js → afab34a5bb437673.js} +1 -1
  253. package/dist/safe-a/_next/static/chunks/{98e243fb5992a71c.js → aff6654f4fbc26b0.js} +1 -1
  254. package/dist/safe-a/_next/static/chunks/{87e12ecbe9521f9b.js → b0638abf4a6eb85f.js} +1 -1
  255. package/dist/safe-a/_next/static/chunks/b08f1ee81b569c60.js +1 -0
  256. package/dist/safe-a/_next/static/chunks/b0f0f19c125de544.js +1 -0
  257. package/dist/safe-a/_next/static/chunks/{6f4460bd0b8a57af.js → b4d570502774dffb.js} +1 -1
  258. package/dist/safe-a/_next/static/chunks/{9078ad91aa20dca0.js → b4db35dceb9577e1.js} +1 -1
  259. package/dist/safe-a/_next/static/chunks/b594aa86704b6429.js +1 -0
  260. package/dist/safe-a/_next/static/chunks/{96026b5eb5d2566b.js → b717d3610f87602f.js} +1 -1
  261. package/dist/safe-a/_next/static/chunks/b864f5a78ffa946e.js +1 -0
  262. package/dist/safe-a/_next/static/chunks/b882523826ac1c83.js +1 -0
  263. package/dist/safe-a/_next/static/chunks/{d715e874b8ee8540.js → b92da682bccc569b.js} +1 -1
  264. package/dist/safe-a/_next/static/chunks/{ea36a5ae7c6ce34f.js → b9b23fa418eacd67.js} +1 -1
  265. package/dist/safe-a/_next/static/chunks/{3fd03b9ed21b30fc.js → c013a3a3b1574b7d.js} +1 -1
  266. package/dist/safe-a/_next/static/chunks/{179a5dac78ab2cb9.js → c0960892f67b4256.js} +1 -1
  267. package/dist/safe-a/_next/static/chunks/c2a354d059dc2745.js +1 -0
  268. package/dist/safe-a/_next/static/chunks/{9e96c84b86d1bbf3.js → c2e5be103cef6113.js} +1 -1
  269. package/dist/safe-a/_next/static/chunks/c3bcc6eb84ed7d30.js +1 -0
  270. package/dist/safe-a/_next/static/chunks/{106955e3cc6a6843.js → c43009f5a3f83289.js} +1 -1
  271. package/dist/safe-a/_next/static/chunks/{6f3afa83656eab67.js → c43f94053172eb84.js} +1 -1
  272. package/dist/safe-a/_next/static/chunks/c533f76239472063.js +1 -0
  273. package/dist/safe-a/_next/static/chunks/{2ec6d7ddb4c04987.js → c537d051140acc61.js} +1 -1
  274. package/dist/safe-a/_next/static/chunks/{c15069059c9d1f53.js → c5932397b84e3c27.js} +1 -1
  275. package/dist/safe-a/_next/static/chunks/{f0d9f0621f8ec46d.js → c5b0f8f27c2db9f1.js} +1 -1
  276. package/dist/safe-a/_next/static/chunks/{7137c7537c459c31.js → c5fd875d1d9fd6c4.js} +1 -1
  277. package/dist/safe-a/_next/static/chunks/c6bad34be1aacd05.js +5 -0
  278. package/dist/safe-a/_next/static/chunks/{4df298f5b420f474.js → c84ea2dc8d3281e6.js} +1 -1
  279. package/dist/safe-a/_next/static/chunks/{e5275dcacbabc3e3.js → c8b301b059ee1946.js} +1 -1
  280. package/dist/safe-a/_next/static/chunks/c9527036b1a95d19.js +1 -0
  281. package/dist/safe-a/_next/static/chunks/ca31fc9ca02421c7.js +1 -0
  282. package/dist/safe-a/_next/static/chunks/{f9cb4b70f67c86d8.js → cac08e0e891f58d2.js} +1 -1
  283. package/dist/safe-a/_next/static/chunks/{bd984c5404403e7d.js → cb8a82631d87b798.js} +1 -1
  284. package/dist/safe-a/_next/static/chunks/{303d9c2a2c956f25.js → ccbe0fe39b523768.js} +1 -1
  285. package/dist/safe-a/_next/static/chunks/{7aa69fd5d97b7146.js → cd733da27bed8af2.js} +1 -1
  286. package/dist/safe-a/_next/static/chunks/{66ed07a735eac6e3.js → cf99b249b986e2bd.js} +1 -1
  287. package/dist/safe-a/_next/static/chunks/d0b44b641ad49bbc.js +1 -0
  288. package/dist/safe-a/_next/static/chunks/{72a56bd75075fd83.js → d0d06ea64246c2e0.js} +1 -1
  289. package/dist/safe-a/_next/static/chunks/{da346aeed70dd39a.js → d147ab3cf51edc42.js} +1 -1
  290. package/dist/safe-a/_next/static/chunks/d2644966a8736893.js +1 -0
  291. package/dist/safe-a/_next/static/chunks/d2b5664aa6eb613c.js +1 -0
  292. package/dist/safe-a/_next/static/chunks/{1e17456ccebc9cd2.js → d2bba4dbd6e24f7e.js} +1 -1
  293. package/dist/safe-a/_next/static/chunks/d3072ff0f4d0f613.js +1 -0
  294. package/dist/safe-a/_next/static/chunks/{de0ee516f6a1aa07.js → d3fc1847f85d724b.js} +1 -1
  295. package/dist/safe-a/_next/static/chunks/d47eac3fd394fa6a.js +1 -0
  296. package/dist/safe-a/_next/static/chunks/{b69f987a60b05db3.js → d53ff6336a32e4c5.js} +1 -1
  297. package/dist/safe-a/_next/static/chunks/{1fec17d16aff9eed.js → d653880800910810.js} +1 -1
  298. package/dist/safe-a/_next/static/chunks/{0fde2a8866dd02fc.js → d6f451956684d463.js} +1 -1
  299. package/dist/safe-a/_next/static/chunks/d78975cda9119543.js +1 -0
  300. package/dist/safe-a/_next/static/chunks/{ebcbb5070eb8e29f.js → d84ed83f568f41c6.js} +1 -1
  301. package/dist/safe-a/_next/static/chunks/{a1b9abf15c0f7655.js → d9bf3f0f6088ac8c.js} +1 -1
  302. package/dist/safe-a/_next/static/chunks/{5ee72092303043ef.js → daaffc256846db90.js} +1 -1
  303. package/dist/safe-a/_next/static/chunks/{40cc0252b2f1d855.js → dabd2cc5e900d556.js} +1 -1
  304. package/dist/safe-a/_next/static/chunks/dbf36b536a6c59ef.js +1 -0
  305. package/dist/safe-a/_next/static/chunks/{e11d4fd8de65621d.js → dc7f280eee64d574.js} +1 -1
  306. package/dist/safe-a/_next/static/chunks/{69cfdbc51cf2d3c3.js → dcdc329f64f1a7a8.js} +1 -1
  307. package/dist/safe-a/_next/static/chunks/{f42d74f288f2229c.js → dd03bb14e8e590f0.js} +1 -1
  308. package/dist/safe-a/_next/static/chunks/{d2d432a9facf4278.js → dd59d0e313916320.js} +1 -1
  309. package/dist/safe-a/_next/static/chunks/{b3e79c76be269ccc.js → ddc8a591c8943264.js} +1 -1
  310. package/dist/safe-a/_next/static/chunks/{49df9708d6328c4a.js → de208f3610c12b2c.js} +1 -1
  311. package/dist/safe-a/_next/static/chunks/{2f7d30e66e995b02.js → dee1daaeed29e5a2.js} +1 -1
  312. package/dist/safe-a/_next/static/chunks/{6b652524b5ffdd9e.js → dfbd9d8a4137edd6.js} +1 -1
  313. package/dist/safe-a/_next/static/chunks/{270d7571d2eea071.js → dfd8167d74bbaa3a.js} +1 -1
  314. package/dist/safe-a/_next/static/chunks/{4dfbfdff43b8479b.js → dfe4d8ffc37b96da.js} +1 -1
  315. package/dist/safe-a/_next/static/chunks/{0e1e7d5f7a375308.js → e07906d264057e7b.js} +1 -1
  316. package/dist/safe-a/_next/static/chunks/{b29a85c3dae2bb9c.js → e1416a0b2152bdbf.js} +1 -1
  317. package/dist/safe-a/_next/static/chunks/{fb05f79f5e4b514e.js → e1626e173f56ae31.js} +1 -1
  318. package/dist/safe-a/_next/static/chunks/{3590c4a4f40cdb5d.js → e4776ea06fa1720a.js} +1 -1
  319. package/dist/safe-a/_next/static/chunks/e555027730de8529.js +1 -0
  320. package/dist/safe-a/_next/static/chunks/{756b6c2e620386ff.js → e632e1b120215697.js} +1 -1
  321. package/dist/safe-a/_next/static/chunks/{b61ec36c9bbca3e0.js → e66819cb4afcfe87.js} +1 -1
  322. package/dist/safe-a/_next/static/chunks/{ea12d36cdfbaafa9.js → e7731336476789d7.js} +1 -1
  323. package/dist/safe-a/_next/static/chunks/e79d1db952916e66.js +1 -0
  324. package/dist/safe-a/_next/static/chunks/{06b923aa1177f43f.js → e7d6284971d07422.js} +1 -1
  325. package/dist/safe-a/_next/static/chunks/{79128afded6e01d9.js → e7f1683dcd85bf06.js} +1 -1
  326. package/dist/safe-a/_next/static/chunks/e814d6bb4f565a59.js +1 -0
  327. package/dist/safe-a/_next/static/chunks/{65fe0975412ff703.js → e878ffaf394e2c30.js} +1 -1
  328. package/dist/safe-a/_next/static/chunks/{e7003dbd5d8cb2d1.js → e89655c05e6b5b1f.js} +1 -1
  329. package/dist/safe-a/_next/static/chunks/{66b30159915524db.js → ea136b1a439307e8.js} +1 -1
  330. package/dist/safe-a/_next/static/chunks/{8f5be275907dd98c.js → eaa820432740042a.js} +1 -1
  331. package/dist/safe-a/_next/static/chunks/{5d5333084191fb10.js → eb248f97f593a288.js} +1 -1
  332. package/dist/safe-a/_next/static/chunks/{932d3fcc2596e8d5.js → eb34cdf40f4c4d62.js} +1 -1
  333. package/dist/safe-a/_next/static/chunks/{6fe835d41fdbd638.js → ec048ffab26ebcd6.js} +1 -1
  334. package/dist/safe-a/_next/static/chunks/{6bc7c57f119ad4f6.js → ec24f7a0593636d9.js} +1 -1
  335. package/dist/safe-a/_next/static/chunks/{e1999bcadd3448e5.js → ec7ee73b22712e55.js} +1 -1
  336. package/dist/safe-a/_next/static/chunks/{0fd3876e0d9e8acc.js → ed4322c3137a7cbf.js} +1 -1
  337. package/dist/safe-a/_next/static/chunks/{962a27e9c634b823.js → ede1765e6899133a.js} +1 -1
  338. package/dist/safe-a/_next/static/chunks/{bc7bda699a7ccda1.js → f05af2c706c87fb5.js} +1 -1
  339. package/dist/safe-a/_next/static/chunks/{bd1f33816fa01c16.js → f0a3b313fc0fcace.js} +1 -1
  340. package/dist/safe-a/_next/static/chunks/f15c8b2639bebe0f.js +1 -0
  341. package/dist/safe-a/_next/static/chunks/f1a99330bd7f0f5d.js +1 -0
  342. package/dist/safe-a/_next/static/chunks/{f461a75ec3b0e4e9.js → f39ec71d70b31fe1.js} +1 -1
  343. package/dist/safe-a/_next/static/chunks/{ad50a7d15cd9d9d8.js → f40b91cb7cc58cf2.js} +1 -1
  344. package/dist/safe-a/_next/static/chunks/f42445d9866f6b16.js +1 -0
  345. package/dist/safe-a/_next/static/chunks/{aa867a1fa8b105e1.js → f7ad257814e6e947.js} +1 -1
  346. package/dist/safe-a/_next/static/chunks/{3ae23df392f9bed8.js → f7d33f46dfbddf65.js} +1 -1
  347. package/dist/safe-a/_next/static/chunks/{534b5acf573aa491.js → f8757d2c1a969081.js} +1 -1
  348. package/dist/safe-a/_next/static/chunks/fa0cb747819a4b88.js +1 -0
  349. package/dist/safe-a/_next/static/chunks/{0fb0d030e8dee231.js → faf267ae8eaabb78.js} +1 -1
  350. package/dist/safe-a/_next/static/chunks/fb7bf2e8cee9c72f.js +1 -0
  351. package/dist/safe-a/_next/static/chunks/{eb2d81df9fe374a8.js → fbb5b0d1f5b25465.js} +1 -1
  352. package/dist/safe-a/_next/static/chunks/{c8e45be36912e439.js → fc3c1b765cc5906d.js} +1 -1
  353. package/dist/safe-a/_next/static/chunks/{1c9321874fea5f0d.js → fd3f75ac79c1d04e.js} +1 -1
  354. package/dist/safe-a/_next/static/chunks/{9a7b2a483b109c0a.js → fddfcced721d9669.js} +1 -1
  355. package/dist/safe-a/_next/static/chunks/{d2e37b6d5ff62bcb.js → fdf535baa39c0e26.js} +1 -1
  356. package/dist/safe-a/_next/static/chunks/fe4fddbf85e1554b.js +1 -0
  357. package/dist/safe-a/_next/static/chunks/{d33a24782888b869.js → fe840e6cda1c115e.js} +1 -1
  358. package/dist/safe-a/_next/static/chunks/ff9ec21502a3b775.js +1 -0
  359. package/dist/safe-a/_next/static/chunks/{turbopack-3d84668fefd38b4b.js → turbopack-25307b1915d537a0.js} +1 -1
  360. package/dist/safe-a/_next/static/chunks/turbopack-c8295da8707d94de.js +3 -0
  361. package/dist/safe-a/_next/static/chunks/{turbopack-63952675b1d69124.js → turbopack-fd95f1c0ef78a441.js} +1 -1
  362. package/dist/safe-a/index.html +2 -2
  363. package/dist/safe-a/index.txt +20 -20
  364. package/dist/safe-a/manage/about/index.html +2 -2
  365. package/dist/safe-a/manage/about/index.txt +19 -19
  366. package/dist/safe-a/manage/env/index.html +2 -2
  367. package/dist/safe-a/manage/env/index.txt +21 -21
  368. package/dist/safe-a/manage/geelib/index.html +2 -2
  369. package/dist/safe-a/manage/geelib/index.txt +21 -21
  370. package/dist/safe-a/manage/general/index.html +2 -2
  371. package/dist/safe-a/manage/general/index.txt +19 -19
  372. package/dist/safe-a/manage/git/index.html +2 -2
  373. package/dist/safe-a/manage/git/index.txt +21 -21
  374. package/dist/safe-a/manage/im/index.html +2 -2
  375. package/dist/safe-a/manage/im/index.txt +21 -21
  376. package/dist/safe-a/manage/index.html +2 -2
  377. package/dist/safe-a/manage/index.txt +16 -16
  378. package/dist/safe-a/manage/library/index.html +2 -2
  379. package/dist/safe-a/manage/library/index.txt +20 -20
  380. package/dist/safe-a/manage/mcp/index.html +2 -2
  381. package/dist/safe-a/manage/mcp/index.txt +19 -19
  382. package/dist/safe-a/manage/permissions/index.html +2 -2
  383. package/dist/safe-a/manage/permissions/index.txt +19 -19
  384. package/dist/safe-a/manage/skills/index.html +2 -2
  385. package/dist/safe-a/manage/skills/index.txt +19 -19
  386. package/dist/safe-a/manage/system/index.html +2 -2
  387. package/dist/safe-a/manage/system/index.txt +21 -21
  388. package/dist/safe-a/manage/task/index.html +2 -2
  389. package/dist/safe-a/manage/task/index.txt +19 -19
  390. package/dist/safe-a/manage/teams/index.html +2 -2
  391. package/dist/safe-a/manage/teams/index.txt +19 -19
  392. package/dist/safe-a/manage/tools/index.html +2 -2
  393. package/dist/safe-a/manage/tools/index.txt +19 -19
  394. package/dist/ws-test/ws-test.html +20 -0
  395. package/dist/ws-test/ws-test.js +196 -5
  396. package/mcps-runtime/claude-ws-channel/server/gateway.bundle.mjs +1222 -65
  397. package/package.json +6 -6
  398. package/dist/safe-a/_next/static/chunks/05e1926dc5c477b7.js +0 -1
  399. package/dist/safe-a/_next/static/chunks/074a7a892d554827.js +0 -1
  400. package/dist/safe-a/_next/static/chunks/0b639ff4f1971d14.js +0 -1
  401. package/dist/safe-a/_next/static/chunks/0ea5a62c3f30dc56.js +0 -1
  402. package/dist/safe-a/_next/static/chunks/0f1810e4c6b0dd0c.js +0 -1
  403. package/dist/safe-a/_next/static/chunks/155374df9f6b4b9a.js +0 -1
  404. package/dist/safe-a/_next/static/chunks/17722e3ac4e00587.js +0 -1
  405. package/dist/safe-a/_next/static/chunks/18977fe8f51209aa.js +0 -1
  406. package/dist/safe-a/_next/static/chunks/1974f51c298bce94.js +0 -1
  407. package/dist/safe-a/_next/static/chunks/1bfa645704d9149a.js +0 -1
  408. package/dist/safe-a/_next/static/chunks/1d5160bb440a1e1b.js +0 -1
  409. package/dist/safe-a/_next/static/chunks/219a3413675ba6f1.js +0 -1
  410. package/dist/safe-a/_next/static/chunks/236775e4ec4f8a94.js +0 -1
  411. package/dist/safe-a/_next/static/chunks/291c07da1c127dc1.js +0 -1
  412. package/dist/safe-a/_next/static/chunks/29676075a0390867.js +0 -1
  413. package/dist/safe-a/_next/static/chunks/2b51efee1a2b8f27.js +0 -1
  414. package/dist/safe-a/_next/static/chunks/2ba468c7afb852bd.js +0 -1
  415. package/dist/safe-a/_next/static/chunks/2e574acbf68e77ff.js +0 -1
  416. package/dist/safe-a/_next/static/chunks/32a7ca0a75a897da.js +0 -1
  417. package/dist/safe-a/_next/static/chunks/33678ff357855160.js +0 -1
  418. package/dist/safe-a/_next/static/chunks/3509a66e019ceae3.js +0 -1
  419. package/dist/safe-a/_next/static/chunks/3aac5736e5781b46.js +0 -1
  420. package/dist/safe-a/_next/static/chunks/3c695d1c2efbc749.js +0 -1
  421. package/dist/safe-a/_next/static/chunks/3d8e9a96a69193d4.js +0 -1
  422. package/dist/safe-a/_next/static/chunks/3dcb1dcf23e7ab9c.js +0 -1
  423. package/dist/safe-a/_next/static/chunks/3e2ea3a7fe64826d.js +0 -1
  424. package/dist/safe-a/_next/static/chunks/3f6fe8a1903009ea.js +0 -1
  425. package/dist/safe-a/_next/static/chunks/3fb4674edcb2d726.js +0 -1
  426. package/dist/safe-a/_next/static/chunks/40268f8e3ff0314e.js +0 -1
  427. package/dist/safe-a/_next/static/chunks/45ab9a1f693d609c.js +0 -1
  428. package/dist/safe-a/_next/static/chunks/4a426c156537f974.js +0 -1
  429. package/dist/safe-a/_next/static/chunks/4be779bcbd94352d.js +0 -1
  430. package/dist/safe-a/_next/static/chunks/4c33a1cc6db74105.js +0 -1
  431. package/dist/safe-a/_next/static/chunks/4d129d4e15c8c424.js +0 -1
  432. package/dist/safe-a/_next/static/chunks/5069ee4aa806b0ea.js +0 -1
  433. package/dist/safe-a/_next/static/chunks/518d4c901787979a.js +0 -1
  434. package/dist/safe-a/_next/static/chunks/519049cd74a40910.js +0 -1
  435. package/dist/safe-a/_next/static/chunks/522518d740397639.js +0 -1
  436. package/dist/safe-a/_next/static/chunks/52e2164e45febae6.js +0 -1
  437. package/dist/safe-a/_next/static/chunks/538cc02e54714b23.js +0 -1
  438. package/dist/safe-a/_next/static/chunks/54c43751bf4c4da2.js +0 -1
  439. package/dist/safe-a/_next/static/chunks/5b916c9dc09e323c.js +0 -1
  440. package/dist/safe-a/_next/static/chunks/5ccd5a6ac9c2f980.js +0 -1
  441. package/dist/safe-a/_next/static/chunks/5d79b7f202080232.js +0 -1
  442. package/dist/safe-a/_next/static/chunks/5f0286b194e88c68.js +0 -1
  443. package/dist/safe-a/_next/static/chunks/63ec034afca4b5d6.js +0 -1
  444. package/dist/safe-a/_next/static/chunks/65982c1925fca4ab.js +0 -1
  445. package/dist/safe-a/_next/static/chunks/6785757cc05fec19.js +0 -1
  446. package/dist/safe-a/_next/static/chunks/6ddf95b168bfbc36.js +0 -1
  447. package/dist/safe-a/_next/static/chunks/7145a30cb461e3ab.js +0 -1
  448. package/dist/safe-a/_next/static/chunks/71d3a80bc9d53b07.js +0 -1
  449. package/dist/safe-a/_next/static/chunks/743bc613bbda46b4.css +0 -1
  450. package/dist/safe-a/_next/static/chunks/760380631ca561e0.js +0 -1
  451. package/dist/safe-a/_next/static/chunks/764c541428e1c6eb.js +0 -1
  452. package/dist/safe-a/_next/static/chunks/7988d5ea63356e10.js +0 -1
  453. package/dist/safe-a/_next/static/chunks/79e8fd2602ccb6b6.js +0 -1
  454. package/dist/safe-a/_next/static/chunks/7b9c09d0ce43f1c2.js +0 -1
  455. package/dist/safe-a/_next/static/chunks/7dbb8abebf50d816.js +0 -1
  456. package/dist/safe-a/_next/static/chunks/7ef348801eff6590.js +0 -1
  457. package/dist/safe-a/_next/static/chunks/8085c74f26fa2c4e.js +0 -1
  458. package/dist/safe-a/_next/static/chunks/811897ffb3636359.js +0 -1
  459. package/dist/safe-a/_next/static/chunks/85fc05549f7f100c.js +0 -1
  460. package/dist/safe-a/_next/static/chunks/88bc97899d2ce4e5.js +0 -1
  461. package/dist/safe-a/_next/static/chunks/92c3617a4e22a464.js +0 -1
  462. package/dist/safe-a/_next/static/chunks/937e26e6e01d9ec9.js +0 -1
  463. package/dist/safe-a/_next/static/chunks/93bfaf233e66b48c.js +0 -1
  464. package/dist/safe-a/_next/static/chunks/94e88cfda11697d2.js +0 -1
  465. package/dist/safe-a/_next/static/chunks/96feacf5b8cde310.js +0 -1
  466. package/dist/safe-a/_next/static/chunks/9b3df6b20a9625d5.js +0 -1
  467. package/dist/safe-a/_next/static/chunks/9c6c00fa68012026.js +0 -1
  468. package/dist/safe-a/_next/static/chunks/9ccf7a8bca1730bf.js +0 -1
  469. package/dist/safe-a/_next/static/chunks/9dcb662588dbf520.js +0 -1
  470. package/dist/safe-a/_next/static/chunks/9fefea69ec034a63.js +0 -1
  471. package/dist/safe-a/_next/static/chunks/a4776dc3e00e5ab0.js +0 -1
  472. package/dist/safe-a/_next/static/chunks/a56ab101155b1427.js +0 -1
  473. package/dist/safe-a/_next/static/chunks/abdf99ba76e0f571.js +0 -1
  474. package/dist/safe-a/_next/static/chunks/ad4ba491cf12423f.js +0 -5
  475. package/dist/safe-a/_next/static/chunks/b30f1da4e57f459a.js +0 -1
  476. package/dist/safe-a/_next/static/chunks/b92c67520afabac2.js +0 -1
  477. package/dist/safe-a/_next/static/chunks/baed816b83bbd5b5.js +0 -1
  478. package/dist/safe-a/_next/static/chunks/bd2dcf98c9b362f6.js +0 -1
  479. package/dist/safe-a/_next/static/chunks/bf2c1c402dbcccdf.js +0 -1
  480. package/dist/safe-a/_next/static/chunks/bfc6ee42cec583d5.js +0 -1
  481. package/dist/safe-a/_next/static/chunks/c3b49937059d3d70.js +0 -1
  482. package/dist/safe-a/_next/static/chunks/c5be27a596acfa18.js +0 -1
  483. package/dist/safe-a/_next/static/chunks/c8942bee3aebddae.js +0 -1
  484. package/dist/safe-a/_next/static/chunks/c9813626ba898586.js +0 -1
  485. package/dist/safe-a/_next/static/chunks/ca2725c2b45709c1.js +0 -1
  486. package/dist/safe-a/_next/static/chunks/cafadd69e03e6c4b.js +0 -1
  487. package/dist/safe-a/_next/static/chunks/cb85ccd601c65174.js +0 -1
  488. package/dist/safe-a/_next/static/chunks/cd4556cbed1f8957.js +0 -1
  489. package/dist/safe-a/_next/static/chunks/ceead8f438e931f7.js +0 -1
  490. package/dist/safe-a/_next/static/chunks/d433c87b0bc69cda.js +0 -1
  491. package/dist/safe-a/_next/static/chunks/dbbd673619a7f82f.js +0 -1
  492. package/dist/safe-a/_next/static/chunks/dc0bc471de951daf.js +0 -1
  493. package/dist/safe-a/_next/static/chunks/e2833182a81cd867.js +0 -1
  494. package/dist/safe-a/_next/static/chunks/e60ef129113f6e24.js +0 -1
  495. package/dist/safe-a/_next/static/chunks/e6324292aef80338.js +0 -1
  496. package/dist/safe-a/_next/static/chunks/e7f1a043618e43cf.js +0 -1
  497. package/dist/safe-a/_next/static/chunks/e8105dbb23b8e514.js +0 -1
  498. package/dist/safe-a/_next/static/chunks/ebcd85ff4a1db0dc.js +0 -5
  499. package/dist/safe-a/_next/static/chunks/eca5690d7fb3d712.js +0 -1
  500. package/dist/safe-a/_next/static/chunks/eed0c3ef6a5c3706.js +0 -1
  501. package/dist/safe-a/_next/static/chunks/f12f45a558c3fed2.js +0 -1
  502. package/dist/safe-a/_next/static/chunks/f1dde9052e8d1d3d.js +0 -1
  503. package/dist/safe-a/_next/static/chunks/f42a71992d139302.js +0 -1
  504. package/dist/safe-a/_next/static/chunks/fc2efa33a196ee45.js +0 -1
  505. package/dist/safe-a/_next/static/chunks/ff6860dcd793aa23.js +0 -1
  506. package/dist/safe-a/_next/static/chunks/turbopack-8b41433c9a94981f.js +0 -3
  507. /package/dist/safe-a/_next/static/{fnecaAU1IOv7M644xhyOD → VnysKQR3hWkQ0lCvW9xLp}/_clientMiddlewareManifest.json +0 -0
  508. /package/dist/safe-a/_next/static/{fnecaAU1IOv7M644xhyOD → VnysKQR3hWkQ0lCvW9xLp}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74536,e=>{"use strict";e.s(["default",()=>t]);let t=[Object.freeze(JSON.parse('{"displayName":"BIRD2 Configuration","fileTypes":["conf","bird","bird2","bird3","bird.conf","bird2.conf","bird3.conf"],"foldingStartMarker":"\\\\{\\\\s*$","foldingStopMarker":"^\\\\s*}","name":"bird2","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#ip-addresses"},{"include":"#prefixes"},{"include":"#vpn-rd"},{"include":"#bytestrings"},{"include":"#bgp-paths"},{"include":"#print-statements"},{"include":"#template-definitions"},{"include":"#filter-definitions"},{"include":"#function-definitions"},{"include":"#protocol-definitions"},{"include":"#next-hop-statements"},{"include":"#neighbor-statements"},{"include":"#import-export-statements"},{"include":"#variable-declarations"},{"include":"#method-calls"},{"include":"#function-calls"},{"include":"#method-properties"},{"include":"#route-attributes"},{"include":"#data-types"},{"include":"#constants"},{"include":"#structural-keywords"},{"include":"#protocol-phrases"},{"include":"#functional-keywords"},{"include":"#semantic-modifiers"},{"include":"#builtin-functions"},{"include":"#filter-names"},{"include":"#user-variables"},{"include":"#operators"},{"include":"#numbers"},{"include":"#symbols"},{"include":"#blocks"}],"repository":{"bgp-paths":{"patterns":[{"begin":"\\\\[=","beginCaptures":{"0":{"name":"punctuation.definition.bgp-path.begin.bird"}},"end":"=]","endCaptures":{"0":{"name":"punctuation.definition.bgp-path.end.bird"}},"name":"meta.bgp-path.bird","patterns":[{"match":"[*+?]","name":"keyword.operator.wildcard.bird"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.asn.bird"},{"include":"#operators"},{"include":"#symbols"}]}]},"blocks":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.block.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.set.begin.bird"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.set.end.bird"}},"name":"meta.set.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.tuple.begin.bird"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.tuple.end.bird"}},"name":"meta.tuple.bird","patterns":[{"include":"$self"}]},{"match":";","name":"punctuation.terminator.statement.bird"},{"match":",","name":"punctuation.separator.bird"}]},"builtin-functions":{"patterns":[{"match":"\\\\b(?:defined|unset|roa_check|aspa_check|aspa_check_downstream|aspa_check_upstream|from_hex|format|append|prepend|add|delete|empty|reset|bt_assert|bt_test_suite|bt_test_same)\\\\b","name":"support.function.builtin.bird"}]},"bytestrings":{"patterns":[{"match":"\\\\bhex:\\\\h{2}(?:[-.:\\\\s]*\\\\h{2})*\\\\b","name":"constant.numeric.bytestring.bird"},{"match":"\\\\b(?:\\\\h{2}[-.:\\\\s]*){15,}\\\\h{2}\\\\b","name":"constant.numeric.bytestring.bird"},{"match":"\\\\b\\\\h{32,}\\\\b","name":"constant.numeric.bytestring.bird"}]},"comments":{"patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.bird"}},"end":"$","name":"comment.line.number-sign.bird"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.bird"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.bird"}},"name":"comment.block.bird"}]},"constants":{"patterns":[{"match":"\\\\b(?:on|off|yes|no|true|false)\\\\b","name":"constant.language.boolean.bird"},{"match":"\\\\b(?:empty|unknown|generic|rt|ro|one|ten)\\\\b","name":"constant.language.special.bird"},{"match":"\\\\bSCOPE_(?:HOST|LINK|SITE|ORGANIZATION|UNIVERSE)\\\\b","name":"constant.language.scope.bird"},{"match":"\\\\bRTS_(?:STATIC|INHERIT|DEVICE|RIP|OSPF|OSPF_IA|OSPF_EXT1|OSPF_EXT2|BGP|PIPE|BABEL)\\\\b","name":"constant.language.source.bird"},{"match":"\\\\bRTD_(?:ROUTER|DEVICE|MULTIPATH|BLACKHOLE|UNREACHABLE|PROHIBIT)\\\\b","name":"constant.language.dest.bird"},{"match":"\\\\bROA_(?:UNKNOWN|INVALID|VALID)\\\\b","name":"constant.language.roa.bird"},{"match":"\\\\bASPA_(?:UNKNOWN|INVALID|VALID)\\\\b","name":"constant.language.aspa.bird"},{"match":"\\\\bNET_(?:IP4|IP6|IP6_SADR|VPN4|VPN6|ROA4|ROA6|FLOW4|FLOW6|MPLS)\\\\b","name":"constant.language.net-type.bird"},{"match":"\\\\bMPLS_POLICY_(?:NONE|STATIC|PREFIX|AGGREGATE|VRF)\\\\b","name":"constant.language.mpls.bird"}]},"data-types":{"patterns":[{"match":"\\\\b(?:(?:int|pair|quad|ip|prefix|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\b","name":"storage.type.bird"}]},"filter-definitions":{"patterns":[{"begin":"\\\\b(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.filter.bird"},"2":{"name":"entity.name.function.filter.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.filter-definition.bird","patterns":[{"include":"$self"}]}]},"filter-names":{"patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*_filter\\\\b","name":"entity.name.function.filter.bird"}]},"function-calls":{"patterns":[{"begin":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.call.bird"}},"end":"\\\\)","name":"meta.function-call.bird","patterns":[{"include":"$self"}]}]},"function-definitions":{"patterns":[{"begin":"\\\\b(function)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"keyword.control.function.bird"},"2":{"name":"entity.name.function.user-defined.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.function-definition.bird","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bird"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bird"}},"name":"meta.function-parameters.bird","patterns":[{"include":"#data-types"},{"include":"#symbols"}]},{"begin":"->","beginCaptures":{"0":{"name":"keyword.operator.return-type.bird"}},"end":"(?=\\\\{)","name":"meta.function-return-type.bird","patterns":[{"include":"#data-types"}]},{"include":"$self"}]}]},"functional-keywords":{"patterns":[{"match":"\\\\b(?:static|rip|ospf|bgp|babel|rpki|bfd|bmp|device|direct|kernel|pipe|perf|mrt|aggregator|l3vpn|radv)\\\\b","name":"keyword.control.protocol-type.bird"},{"match":"\\\\b(?:graceful|restart|preference|disabled|hold|keepalive|connect|retry|start|delay|error|wait|forget|scan|randomize|router|id)\\\\b","name":"keyword.control.routing.bird"},{"match":"\\\\b(?:interface|type|wired|wireless|tunnel|rxcost|limit|hello|update|interval|port|tx|class|dscp|priority|rx|buffer|length|check|link|rtt|cost|min|max|decay|send|timestamps)\\\\b","name":"keyword.other.interface.bird"},{"match":"\\\\b(?:(?:refresh|retry|expire|transport|ssh|tcp|user|address|version|ignore|private|public|key)|(?:local\\\\s+address|ignore\\\\s+max\\\\s+length|min\\\\s+version|max\\\\s+version|bird\\\\s+private\\\\s+key|remote\\\\s+public\\\\s+key))\\\\b","name":"keyword.other.rpki.bird"},{"match":"\\\\b(?:authentication|none|mac|permissive|password|generate|accept|from|to|algorithm|hmac|sha1|sha256|sha384|sha512|blake2s128|blake2s256|blake2b256|blake2b512)\\\\b","name":"keyword.other.auth.bird"},{"match":"\\\\btime\\\\b","name":"keyword.other.time.bird"},{"match":"\\\\b(?:hostname|description|debug|log|syslog|stderr|bird|protocols|tables|channels|timeouts|passwords|bfd|confederation|cluster|stub|dead|neighbors|area|md5|multihop|passive|rfc1583compat|tick|ls|retransmit|transmit|ack|state|database|summary|external|nssa|translator|always|candidate|never|role|stability|election|action|warn|block|disable|keep|filtered|receive|modify|add|delete|withdraw|unreachable|blackhole|prohibit|unreach|igp_metric|localpref|med|origin|community|large_community|ext_community|as_path|prepend|weight|gateway|scope|onlink|recursive|multipath|igp|channel|sadr|src|learn|persist|via|ng)\\\\b","name":"keyword.other.config.bird"},{"match":"\\\\b(?:flow4|flow6|dst|src|proto|header|dport|sport|icmp|code|tcp|flags|dscp|dont_fragment|is_fragment|first_fragment|last_fragment|fragment|label|offset)\\\\b","name":"keyword.other.flowspec.bird"},{"match":"\\\\b(?:vpn4|vpn6|mpls|aspa|roa4|roa6)\\\\b","name":"keyword.other.address.bird"},{"match":"\\\\b(?:all|none)\\\\b","name":"keyword.other.quick-declaration.bird"}]},"import-export-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"},"3":{"name":"entity.name.function.filter.bird"}},"match":"\\\\b(import)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\b","name":"meta.import-statement.bird"},{"begin":"\\\\b(import)\\\\s+(filter)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.import-filter-inline.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(export)\\\\s+(where)\\\\b","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.where.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.export-where-clause.bird","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"},"3":{"name":"entity.name.function.filter.bird"}},"match":"\\\\b(export)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\b","name":"meta.export-statement.bird"}]},"ip-addresses":{"patterns":[{"match":"\\\\b(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}(?:/[0-9]{1,2})?\\\\b","name":"constant.numeric.ip.ipv4.bird"},{"match":"\\\\b(?:\\\\h{0,4}:){2,7}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"},{"match":"::(?:\\\\h{0,4}:){0,6}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"},{"match":"\\\\b(?:\\\\h{0,4}:){1,6}::(?:\\\\h{0,4}:){0,5}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"}]},"method-calls":{"patterns":[{"begin":"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.method.bird"}},"end":"\\\\)","name":"meta.method-call.bird","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"variable.other.property.bird"}},"match":"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)","name":"meta.method-access.bird"}]},"method-properties":{"patterns":[{"match":"(?<=\\\\.)\\\\s*(?:first|last|last_nonaggregated|len|asn|data1??|data2|is_v4|ip|src|dst|rd|maxlen|type|mask|min|max)\\\\b(?!\\\\s*\\\\()","name":"support.variable.property.bird"}]},"neighbor-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.local.bird"},"2":{"name":"entity.name.symbol.local-address.bird"},"3":{"name":"keyword.control.port.bird"},"4":{"name":"constant.numeric.port.bird"},"5":{"name":"keyword.control.as.bird"},"6":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(local)\\\\s+([.:\\\\h]+|[A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')(?:\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.local-as-statement.bird"},{"captures":{"1":{"name":"keyword.control.local.bird"},"2":{"name":"keyword.control.as.bird"},"3":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(local)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.local-as-template-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"constant.numeric.ip-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"},"8":{"name":"keyword.control.port.bird"},"9":{"name":"constant.numeric.port.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:\'([-.0-:A-Z_a-z]+)\'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-port-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"},"8":{"name":"keyword.control.port.bird"},"9":{"name":"constant.numeric.port.bird"}},"match":"\\\\b(neighbor)\\\\s+(\'[-.0-:A-Z_a-z]+\'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:\'([-.0-:A-Z_a-z]+)\'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-port-symbolic-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"constant.numeric.ip-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:\'([-.0-:A-Z_a-z]+)\'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+(\'[-.0-:A-Z_a-z]+\'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:\'([-.0-:A-Z_a-z]+)\'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-symbolic-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"keyword.control.as.bird"},"3":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-template-statement.bird"},{"captures":{"1":{"name":"keyword.control.source.bird"},"2":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(source address)\\\\s+([.:\\\\h]+)\\\\b","name":"meta.source-address-statement.bird"}]},"next-hop-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.ip-version.bird"},"3":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(next hop)\\\\s+(ipv4)\\\\s+([.0-9]+)\\\\b","name":"meta.next-hop-ipv4.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.ip-version.bird"},"3":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(next hop)\\\\s+(ipv6)\\\\s+([:\\\\h]+)\\\\b","name":"meta.next-hop-ipv6.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(next hop)\\\\s+(self)\\\\b","name":"meta.next-hop-simple.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(extended next hop)\\\\s+(o(?:n|ff))\\\\b","name":"meta.extended-next-hop-statement.bird"}]},"numbers":{"patterns":[{"match":"\\\\b0x\\\\h+\\\\b","name":"constant.numeric.hex.bird"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.decimal.bird"},{"captures":{"1":{"name":"keyword.other.unit.bird"}},"match":"\\\\b[0-9]+\\\\s*([mu]??s)\\\\b","name":"constant.numeric.time.bird"}]},"operators":{"patterns":[{"match":"==|!=|<=|>=|!~|[<=>~]","name":"keyword.operator.comparison.bird"},{"match":"&&|\\\\|\\\\||!|->","name":"keyword.operator.logical.bird"},{"match":"\\\\+\\\\+","name":"keyword.operator.concat.bird"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.bird"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.bird"},{"match":"\\\\.","name":"keyword.operator.accessor.bird"}]},"prefixes":{"patterns":[{"match":"\\\\b(?:(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}|(?:\\\\h{0,4}:)+\\\\h{0,4})/[0-9]{1,3}(?:[-+]|\\\\{[0-9]+,[0-9]+})?\\\\b","name":"constant.numeric.prefix.bird"}]},"print-statements":{"patterns":[{"begin":"\\\\b(printn??)\\\\b","beginCaptures":{"1":{"name":"keyword.other.print.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.print-statement.bird","patterns":[{"include":"$self"}]}]},"protocol-definitions":{"patterns":[{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.protocol.bird"},"4":{"name":"keyword.control.template-reference.bird"},"5":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-with-template.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-with-name.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-anonymous.bird","patterns":[{"include":"$self"}]}]},"protocol-phrases":{"patterns":[{"match":"\\\\b(?:strict\\\\s+bind|zero\\\\s+udp6\\\\s+checksum\\\\s+rx|idle\\\\s+tx\\\\s+interval|multiplier|keyed|meticulous)\\\\b","name":"keyword.other.bfd.phrase.bird"},{"match":"\\\\b(?:send\\\\s+timestamps|rtt\\\\s+(?:cost|min|max|decay)|next\\\\s+hop\\\\s+prefer|prefer|native)\\\\b","name":"keyword.other.babel.phrase.bird"},{"match":"\\\\b(?:next\\\\s+hop\\\\s+(?:self|address|ibgp|ebgp)|link\\\\s+local\\\\s+next\\\\s+hop\\\\s+format|import\\\\s+table|export\\\\s+table|base\\\\s+table|add\\\\s+paths|aigp\\\\s+originate|long\\\\s+lived\\\\s+graceful\\\\s+restart|long\\\\s+lived\\\\s+stale\\\\s+time|dynamic\\\\s+name(?:\\\\s+digits)?|free\\\\s+bind|ttl\\\\s+security|multihop\\\\s+password|rr\\\\s+client|rs\\\\s+client|advertise\\\\s+hostname|interpret\\\\s+communities|deterministic\\\\s+med|default\\\\s+bgp_local_pref|default\\\\s+bgp_med|med\\\\s+metric|igp\\\\s+metric|missing\\\\s+lladdr|gateway\\\\s+address|forwarding\\\\s+addressed|gateway\\\\s+recursive|allow\\\\s+local\\\\s+as|allow\\\\s+bogus\\\\s+as|originate\\\\s+community|full\\\\s+route\\\\s+table|capabilities|primary)\\\\b","name":"keyword.other.bgp.phrase.bird"}]},"route-attributes":{"patterns":[{"match":"\\\\b(?:net|scope|preference|from|gw|proto|source|dest|ifname|ifindex|weight|gw_mpls|gw_mpls_stack|onlink|igp_metric|mpls_label|mpls_policy|mpls_class|bgp_path|bgp_origin|bgp_next_hop|bgp_med|bgp_local_pref|bgp_community|bgp_ext_community|bgp_large_community|bgp_originator_id|bgp_cluster_list|ospf_metric1|ospf_metric2|ospf_tag|ospf_router_id|rip_metric|rip_tag|mypath|mylclist)\\\\b","name":"support.variable.route-attribute.bird"}]},"semantic-modifiers":{"patterns":[{"match":"\\\\b(?:self|on|off|remote|extended)\\\\b","name":"keyword.other.semantic-modifier.bird"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bird"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bird"}},"name":"string.quoted.double.bird","patterns":[{"match":"\\\\.","name":"constant.character.escape.bird"}]},{"match":"\'[-.0-:A-Z_a-z]+\'","name":"entity.name.symbol.quoted.bird"}]},"structural-keywords":{"patterns":[{"match":"\\\\b(?:if|then|else|case|for|do|while|break|continue|return|in)\\\\b","name":"keyword.control.bird"},{"match":"\\\\belse\\\\s*:","name":"keyword.control.case.else.bird"},{"match":"\\\\b(?:accept|reject|error)\\\\b","name":"keyword.control.flow.bird"},{"match":"\\\\b(?:protocol|table|define|include|attribute|eval|ipv4|ipv6|local|as|from|where|cost|limit|action)\\\\b","name":"keyword.control.structure.bird"}]},"symbols":{"patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b","name":"variable.other.bird"}]},"template-definitions":{"patterns":[{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.template.bird"},"4":{"name":"keyword.control.template-reference.bird"},"5":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-with-from.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-with-name.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-anonymous.bird","patterns":[{"include":"$self"}]}]},"user-variables":{"patterns":[{"match":"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b","name":"variable.other.user-defined.bird"}]},"variable-declarations":{"patterns":[{"captures":{"1":{"name":"storage.type.bird"},"2":{"name":"variable.other.declaration.bird"}},"match":"\\\\b((?:int|pair|quad|ip|prefix|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)(?:\\\\s*=|;)","name":"meta.variable-declaration.bird"}]},"vpn-rd":{"match":"\\\\b(?:[0-9]+:[0-9]+|[012]:[0-9]+:[0-9]+|(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}:[0-9]+)\\\\b","name":"constant.numeric.vpn-rd.bird"}},"scopeName":"source.bird2","aliases":["bird"]}'))]}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,38299,e=>{"use strict";e.s(["default",()=>t]);let t=[Object.freeze(JSON.parse('{"displayName":"BIRD2 Configuration","fileTypes":["conf","bird","bird2","bird3","bird.conf","bird2.conf","bird3.conf"],"foldingStartMarker":"\\\\{\\\\s*$","foldingStopMarker":"^\\\\s*}","name":"bird2","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#ip-addresses"},{"include":"#prefixes"},{"include":"#vpn-rd"},{"include":"#bytestrings"},{"include":"#bgp-paths"},{"include":"#print-statements"},{"include":"#template-definitions"},{"include":"#filter-definitions"},{"include":"#function-definitions"},{"include":"#protocol-definitions"},{"include":"#next-hop-statements"},{"include":"#neighbor-statements"},{"include":"#import-export-statements"},{"include":"#variable-declarations"},{"include":"#method-calls"},{"include":"#function-calls"},{"include":"#method-properties"},{"include":"#route-attributes"},{"include":"#data-types"},{"include":"#constants"},{"include":"#structural-keywords"},{"include":"#protocol-phrases"},{"include":"#functional-keywords"},{"include":"#semantic-modifiers"},{"include":"#builtin-functions"},{"include":"#filter-names"},{"include":"#user-variables"},{"include":"#operators"},{"include":"#numbers"},{"include":"#symbols"},{"include":"#blocks"}],"repository":{"bgp-paths":{"patterns":[{"begin":"\\\\[=","beginCaptures":{"0":{"name":"punctuation.definition.bgp-path.begin.bird"}},"end":"=]","endCaptures":{"0":{"name":"punctuation.definition.bgp-path.end.bird"}},"name":"meta.bgp-path.bird","patterns":[{"match":"[*+?]","name":"keyword.operator.wildcard.bird"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.asn.bird"},{"include":"#operators"},{"include":"#symbols"}]}]},"blocks":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.block.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.set.begin.bird"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.set.end.bird"}},"name":"meta.set.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.tuple.begin.bird"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.tuple.end.bird"}},"name":"meta.tuple.bird","patterns":[{"include":"$self"}]},{"match":";","name":"punctuation.terminator.statement.bird"},{"match":",","name":"punctuation.separator.bird"}]},"builtin-functions":{"patterns":[{"match":"\\\\b(?:defined|unset|roa_check|aspa_check|aspa_check_downstream|aspa_check_upstream|from_hex|format|append|prepend|add|delete|empty|reset|bt_assert|bt_test_suite|bt_test_same)\\\\b","name":"support.function.builtin.bird"}]},"bytestrings":{"patterns":[{"match":"\\\\bhex:\\\\h{2}(?:[-.:\\\\s]*\\\\h{2})*\\\\b","name":"constant.numeric.bytestring.bird"},{"match":"\\\\b(?:\\\\h{2}[-.:\\\\s]*){15,}\\\\h{2}\\\\b","name":"constant.numeric.bytestring.bird"},{"match":"\\\\b\\\\h{32,}\\\\b","name":"constant.numeric.bytestring.bird"}]},"comments":{"patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.bird"}},"end":"$","name":"comment.line.number-sign.bird"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.bird"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.bird"}},"name":"comment.block.bird"}]},"constants":{"patterns":[{"match":"\\\\b(?:on|off|yes|no|true|false)\\\\b","name":"constant.language.boolean.bird"},{"match":"\\\\b(?:empty|unknown|generic|rt|ro|one|ten)\\\\b","name":"constant.language.special.bird"},{"match":"\\\\bSCOPE_(?:HOST|LINK|SITE|ORGANIZATION|UNIVERSE)\\\\b","name":"constant.language.scope.bird"},{"match":"\\\\bRTS_(?:STATIC|INHERIT|DEVICE|RIP|OSPF|OSPF_IA|OSPF_EXT1|OSPF_EXT2|BGP|PIPE|BABEL)\\\\b","name":"constant.language.source.bird"},{"match":"\\\\bRTD_(?:ROUTER|DEVICE|MULTIPATH|BLACKHOLE|UNREACHABLE|PROHIBIT)\\\\b","name":"constant.language.dest.bird"},{"match":"\\\\bROA_(?:UNKNOWN|INVALID|VALID)\\\\b","name":"constant.language.roa.bird"},{"match":"\\\\bASPA_(?:UNKNOWN|INVALID|VALID)\\\\b","name":"constant.language.aspa.bird"},{"match":"\\\\bNET_(?:IP4|IP6|IP6_SADR|VPN4|VPN6|ROA4|ROA6|FLOW4|FLOW6|MPLS)\\\\b","name":"constant.language.net-type.bird"},{"match":"\\\\bMPLS_POLICY_(?:NONE|STATIC|PREFIX|AGGREGATE|VRF)\\\\b","name":"constant.language.mpls.bird"}]},"data-types":{"patterns":[{"match":"\\\\b(?:(?:int|pair|quad|ip|prefix|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\b","name":"storage.type.bird"}]},"filter-definitions":{"patterns":[{"begin":"\\\\b(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.filter.bird"},"2":{"name":"entity.name.function.filter.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.filter-definition.bird","patterns":[{"include":"$self"}]}]},"filter-names":{"patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*_filter\\\\b","name":"entity.name.function.filter.bird"}]},"function-calls":{"patterns":[{"begin":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.call.bird"}},"end":"\\\\)","name":"meta.function-call.bird","patterns":[{"include":"$self"}]}]},"function-definitions":{"patterns":[{"begin":"\\\\b(function)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"keyword.control.function.bird"},"2":{"name":"entity.name.function.user-defined.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.function-definition.bird","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bird"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bird"}},"name":"meta.function-parameters.bird","patterns":[{"include":"#data-types"},{"include":"#symbols"}]},{"begin":"->","beginCaptures":{"0":{"name":"keyword.operator.return-type.bird"}},"end":"(?=\\\\{)","name":"meta.function-return-type.bird","patterns":[{"include":"#data-types"}]},{"include":"$self"}]}]},"functional-keywords":{"patterns":[{"match":"\\\\b(?:static|rip|ospf|bgp|babel|rpki|bfd|bmp|device|direct|kernel|pipe|perf|mrt|aggregator|l3vpn|radv)\\\\b","name":"keyword.control.protocol-type.bird"},{"match":"\\\\b(?:graceful|restart|preference|disabled|hold|keepalive|connect|retry|start|delay|error|wait|forget|scan|randomize|router|id)\\\\b","name":"keyword.control.routing.bird"},{"match":"\\\\b(?:interface|type|wired|wireless|tunnel|rxcost|limit|hello|update|interval|port|tx|class|dscp|priority|rx|buffer|length|check|link|rtt|cost|min|max|decay|send|timestamps)\\\\b","name":"keyword.other.interface.bird"},{"match":"\\\\b(?:(?:refresh|retry|expire|transport|ssh|tcp|user|address|version|ignore|private|public|key)|(?:local\\\\s+address|ignore\\\\s+max\\\\s+length|min\\\\s+version|max\\\\s+version|bird\\\\s+private\\\\s+key|remote\\\\s+public\\\\s+key))\\\\b","name":"keyword.other.rpki.bird"},{"match":"\\\\b(?:authentication|none|mac|permissive|password|generate|accept|from|to|algorithm|hmac|sha1|sha256|sha384|sha512|blake2s128|blake2s256|blake2b256|blake2b512)\\\\b","name":"keyword.other.auth.bird"},{"match":"\\\\btime\\\\b","name":"keyword.other.time.bird"},{"match":"\\\\b(?:hostname|description|debug|log|syslog|stderr|bird|protocols|tables|channels|timeouts|passwords|bfd|confederation|cluster|stub|dead|neighbors|area|md5|multihop|passive|rfc1583compat|tick|ls|retransmit|transmit|ack|state|database|summary|external|nssa|translator|always|candidate|never|role|stability|election|action|warn|block|disable|keep|filtered|receive|modify|add|delete|withdraw|unreachable|blackhole|prohibit|unreach|igp_metric|localpref|med|origin|community|large_community|ext_community|as_path|prepend|weight|gateway|scope|onlink|recursive|multipath|igp|channel|sadr|src|learn|persist|via|ng)\\\\b","name":"keyword.other.config.bird"},{"match":"\\\\b(?:flow4|flow6|dst|src|proto|header|dport|sport|icmp|code|tcp|flags|dscp|dont_fragment|is_fragment|first_fragment|last_fragment|fragment|label|offset)\\\\b","name":"keyword.other.flowspec.bird"},{"match":"\\\\b(?:vpn4|vpn6|mpls|aspa|roa4|roa6)\\\\b","name":"keyword.other.address.bird"},{"match":"\\\\b(?:all|none)\\\\b","name":"keyword.other.quick-declaration.bird"}]},"import-export-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"},"3":{"name":"entity.name.function.filter.bird"}},"match":"\\\\b(import)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\b","name":"meta.import-statement.bird"},{"begin":"\\\\b(import)\\\\s+(filter)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.import-filter-inline.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(export)\\\\s+(where)\\\\b","beginCaptures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.where.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.export-where-clause.bird","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"keyword.control.import-export.bird"},"2":{"name":"keyword.control.filter.bird"},"3":{"name":"entity.name.function.filter.bird"}},"match":"\\\\b(export)\\\\s+(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\b","name":"meta.export-statement.bird"}]},"ip-addresses":{"patterns":[{"match":"\\\\b(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}(?:/[0-9]{1,2})?\\\\b","name":"constant.numeric.ip.ipv4.bird"},{"match":"\\\\b(?:\\\\h{0,4}:){2,7}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"},{"match":"::(?:\\\\h{0,4}:){0,6}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"},{"match":"\\\\b(?:\\\\h{0,4}:){1,6}::(?:\\\\h{0,4}:){0,5}\\\\h{0,4}(?:/[0-9]{1,3})?\\\\b","name":"constant.numeric.ip.ipv6.bird"}]},"method-calls":{"patterns":[{"begin":"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.method.bird"}},"end":"\\\\)","name":"meta.method-call.bird","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"variable.other.property.bird"}},"match":"\\\\.\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)","name":"meta.method-access.bird"}]},"method-properties":{"patterns":[{"match":"(?<=\\\\.)\\\\s*(?:first|last|last_nonaggregated|len|asn|data1??|data2|is_v4|ip|src|dst|rd|maxlen|type|mask|min|max)\\\\b(?!\\\\s*\\\\()","name":"support.variable.property.bird"}]},"neighbor-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.local.bird"},"2":{"name":"entity.name.symbol.local-address.bird"},"3":{"name":"keyword.control.port.bird"},"4":{"name":"constant.numeric.port.bird"},"5":{"name":"keyword.control.as.bird"},"6":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(local)\\\\s+([.:\\\\h]+|[A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')(?:\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.local-as-statement.bird"},{"captures":{"1":{"name":"keyword.control.local.bird"},"2":{"name":"keyword.control.as.bird"},"3":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(local)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.local-as-template-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"constant.numeric.ip-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"},"8":{"name":"keyword.control.port.bird"},"9":{"name":"constant.numeric.port.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:\'([-.0-:A-Z_a-z]+)\'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-port-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"},"8":{"name":"keyword.control.port.bird"},"9":{"name":"constant.numeric.port.bird"}},"match":"\\\\b(neighbor)\\\\s+(\'[-.0-:A-Z_a-z]+\'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:\'([-.0-:A-Z_a-z]+)\'|([-.0-:A-Z_a-z]+)))?(?:\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\s+(port)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-port-symbolic-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"constant.numeric.ip-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+([.:\\\\h]+)\\\\s*(%\\\\s*(?:\'([-.0-:A-Z_a-z]+)\'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"entity.name.symbol.neighbor-address.bird"},"3":{"name":"meta.interface-reference.bird"},"4":{"name":"string.quoted.single.interface.bird"},"5":{"name":"variable.other.interface.bird"},"6":{"name":"keyword.control.as.bird"},"7":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+(\'[-.0-:A-Z_a-z]+\'|(?!(?:as|range)\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(%\\\\s*(?:\'([-.0-:A-Z_a-z]+)\'|([-.0-:A-Z_a-z]+)))?\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-symbolic-statement.bird"},{"captures":{"1":{"name":"keyword.control.neighbor.bird"},"2":{"name":"keyword.control.as.bird"},"3":{"name":"constant.numeric.asn.bird"}},"match":"\\\\b(neighbor)\\\\s+(as)\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"meta.neighbor-template-statement.bird"},{"captures":{"1":{"name":"keyword.control.source.bird"},"2":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(source address)\\\\s+([.:\\\\h]+)\\\\b","name":"meta.source-address-statement.bird"}]},"next-hop-statements":{"patterns":[{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.ip-version.bird"},"3":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(next hop)\\\\s+(ipv4)\\\\s+([.0-9]+)\\\\b","name":"meta.next-hop-ipv4.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.ip-version.bird"},"3":{"name":"constant.numeric.ip-address.bird"}},"match":"\\\\b(next hop)\\\\s+(ipv6)\\\\s+([:\\\\h]+)\\\\b","name":"meta.next-hop-ipv6.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(next hop)\\\\s+(self)\\\\b","name":"meta.next-hop-simple.bird"},{"captures":{"1":{"name":"keyword.control.routing.bird"},"2":{"name":"keyword.other.semantic-modifier.bird"}},"match":"\\\\b(extended next hop)\\\\s+(o(?:n|ff))\\\\b","name":"meta.extended-next-hop-statement.bird"}]},"numbers":{"patterns":[{"match":"\\\\b0x\\\\h+\\\\b","name":"constant.numeric.hex.bird"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.decimal.bird"},{"captures":{"1":{"name":"keyword.other.unit.bird"}},"match":"\\\\b[0-9]+\\\\s*([mu]??s)\\\\b","name":"constant.numeric.time.bird"}]},"operators":{"patterns":[{"match":"==|!=|<=|>=|!~|[<=>~]","name":"keyword.operator.comparison.bird"},{"match":"&&|\\\\|\\\\||!|->","name":"keyword.operator.logical.bird"},{"match":"\\\\+\\\\+","name":"keyword.operator.concat.bird"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.bird"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.bird"},{"match":"\\\\.","name":"keyword.operator.accessor.bird"}]},"prefixes":{"patterns":[{"match":"\\\\b(?:(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}|(?:\\\\h{0,4}:)+\\\\h{0,4})/[0-9]{1,3}(?:[-+]|\\\\{[0-9]+,[0-9]+})?\\\\b","name":"constant.numeric.prefix.bird"}]},"print-statements":{"patterns":[{"begin":"\\\\b(printn??)\\\\b","beginCaptures":{"1":{"name":"keyword.other.print.bird"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.bird"}},"name":"meta.print-statement.bird","patterns":[{"include":"$self"}]}]},"protocol-definitions":{"patterns":[{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.protocol.bird"},"4":{"name":"keyword.control.template-reference.bird"},"5":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-with-template.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-with-name.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(protocol)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.protocol.bird"},"2":{"name":"entity.name.type.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.protocol-definition-anonymous.bird","patterns":[{"include":"$self"}]}]},"protocol-phrases":{"patterns":[{"match":"\\\\b(?:strict\\\\s+bind|zero\\\\s+udp6\\\\s+checksum\\\\s+rx|idle\\\\s+tx\\\\s+interval|multiplier|keyed|meticulous)\\\\b","name":"keyword.other.bfd.phrase.bird"},{"match":"\\\\b(?:send\\\\s+timestamps|rtt\\\\s+(?:cost|min|max|decay)|next\\\\s+hop\\\\s+prefer|prefer|native)\\\\b","name":"keyword.other.babel.phrase.bird"},{"match":"\\\\b(?:next\\\\s+hop\\\\s+(?:self|address|ibgp|ebgp)|link\\\\s+local\\\\s+next\\\\s+hop\\\\s+format|import\\\\s+table|export\\\\s+table|base\\\\s+table|add\\\\s+paths|aigp\\\\s+originate|long\\\\s+lived\\\\s+graceful\\\\s+restart|long\\\\s+lived\\\\s+stale\\\\s+time|dynamic\\\\s+name(?:\\\\s+digits)?|free\\\\s+bind|ttl\\\\s+security|multihop\\\\s+password|rr\\\\s+client|rs\\\\s+client|advertise\\\\s+hostname|interpret\\\\s+communities|deterministic\\\\s+med|default\\\\s+bgp_local_pref|default\\\\s+bgp_med|med\\\\s+metric|igp\\\\s+metric|missing\\\\s+lladdr|gateway\\\\s+address|forwarding\\\\s+addressed|gateway\\\\s+recursive|allow\\\\s+local\\\\s+as|allow\\\\s+bogus\\\\s+as|originate\\\\s+community|full\\\\s+route\\\\s+table|capabilities|primary)\\\\b","name":"keyword.other.bgp.phrase.bird"}]},"route-attributes":{"patterns":[{"match":"\\\\b(?:net|scope|preference|from|gw|proto|source|dest|ifname|ifindex|weight|gw_mpls|gw_mpls_stack|onlink|igp_metric|mpls_label|mpls_policy|mpls_class|bgp_path|bgp_origin|bgp_next_hop|bgp_med|bgp_local_pref|bgp_community|bgp_ext_community|bgp_large_community|bgp_originator_id|bgp_cluster_list|ospf_metric1|ospf_metric2|ospf_tag|ospf_router_id|rip_metric|rip_tag|mypath|mylclist)\\\\b","name":"support.variable.route-attribute.bird"}]},"semantic-modifiers":{"patterns":[{"match":"\\\\b(?:self|on|off|remote|extended)\\\\b","name":"keyword.other.semantic-modifier.bird"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.bird"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.bird"}},"name":"string.quoted.double.bird","patterns":[{"match":"\\\\.","name":"constant.character.escape.bird"}]},{"match":"\'[-.0-:A-Z_a-z]+\'","name":"entity.name.symbol.quoted.bird"}]},"structural-keywords":{"patterns":[{"match":"\\\\b(?:if|then|else|case|for|do|while|break|continue|return|in)\\\\b","name":"keyword.control.bird"},{"match":"\\\\belse\\\\s*:","name":"keyword.control.case.else.bird"},{"match":"\\\\b(?:accept|reject|error)\\\\b","name":"keyword.control.flow.bird"},{"match":"\\\\b(?:protocol|table|define|include|attribute|eval|ipv4|ipv6|local|as|from|where|cost|limit|action)\\\\b","name":"keyword.control.structure.bird"}]},"symbols":{"patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b","name":"variable.other.bird"}]},"template-definitions":{"patterns":[{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s+(from)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.template.bird"},"4":{"name":"keyword.control.template-reference.bird"},"5":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-with-from.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|\'[-.0-:A-Z_a-z]+\')\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"},"3":{"name":"entity.name.function.template.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-with-name.bird","patterns":[{"include":"$self"}]},{"begin":"\\\\b(template)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.template.bird"},"2":{"name":"entity.name.type.protocol.bird"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.bird"}},"name":"meta.template-definition-anonymous.bird","patterns":[{"include":"$self"}]}]},"user-variables":{"patterns":[{"match":"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b","name":"variable.other.user-defined.bird"}]},"variable-declarations":{"patterns":[{"captures":{"1":{"name":"storage.type.bird"},"2":{"name":"variable.other.declaration.bird"}},"match":"\\\\b((?:int|pair|quad|ip|prefix|ec|lc|rd|enum)\\\\s+set|int|bool|ip|prefix|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)(?:\\\\s*=|;)","name":"meta.variable-declaration.bird"}]},"vpn-rd":{"match":"\\\\b(?:[0-9]+:[0-9]+|[012]:[0-9]+:[0-9]+|(?:[0-9]{1,3}\\\\.){3}[0-9]{1,3}:[0-9]+)\\\\b","name":"constant.numeric.vpn-rd.bird"}},"scopeName":"source.bird2","aliases":["bird"]}'))]}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2380,e=>{"use strict";e.s(["default",()=>t]);let t=[Object.freeze(JSON.parse('{"displayName":"Common Lisp","fileTypes":["lisp","lsp","l","cl","asd","asdf"],"foldingStartMarker":"\\\\(","foldingStopMarker":"\\\\)","name":"common-lisp","patterns":[{"include":"#comment"},{"include":"#block-comment"},{"include":"#string"},{"include":"#escape"},{"include":"#constant"},{"include":"#lambda-list"},{"include":"#function"},{"include":"#style-guide"},{"include":"#def-name"},{"include":"#macro"},{"include":"#symbol"},{"include":"#special-operator"},{"include":"#declaration"},{"include":"#type"},{"include":"#class"},{"include":"#condition-type"},{"include":"#package"},{"include":"#variable"},{"include":"#punctuation"}],"repository":{"block-comment":{"begin":"#\\\\|","contentName":"comment.block.commonlisp","end":"\\\\|#","name":"comment","patterns":[{"include":"#block-comment","name":"comment"}]},"class":{"match":"(?i)(?<=^|[(\\\\s])(?:two-way-stream|synonym-stream|symbol|structure-object|structure-class|string-stream|stream|standard-object|standard-method|standard-generic-function|standard-class|sequence|restart|real|readtable|ratio|random-state|package|number|method|integer|hash-table|generic-function|file-stream|echo-stream|concatenated-stream|class|built-in-class|broadcast-stream|bit-vector|array)(?=([()\\\\s]))","name":"support.class.commonlisp"},"comment":{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.commonlisp"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.commonlisp"}},"end":"\\\\n","name":"comment.line.semicolon.commonlisp"}]},"condition-type":{"match":"(?i)(?<=^|[(\\\\s])(?:warning|undefined-function|unbound-variable|unbound-slot|type-error|style-warning|stream-error|storage-condition|simple-warning|simple-type-error|simple-error|simple-condition|serious-condition|reader-error|program-error|print-not-readable|parse-error|package-error|floating-point-underflow|floating-point-overflow|floating-point-invalid-operation|floating-point-inexact|file-error|error|end-of-file|division-by-zero|control-error|condition|cell-error|arithmetic-error)(?=([()\\\\s]))","name":"support.type.exception.commonlisp"},"constant":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(?:t|single-float-negative-epsilon|single-float-epsilon|short-float-negative-epsilon|short-float-epsilon|pi|nil|multiple-values-limit|most-positive-single-float|most-positive-short-float|most-positive-long-float|most-positive-fixnum|most-positive-double-float|most-negative-single-float|most-negative-short-float|most-negative-long-float|most-negative-fixnum|most-negative-double-float|long-float-negative-epsilon|long-float-epsilon|least-positive-single-float|least-positive-short-float|least-positive-normalized-single-float|least-positive-normalized-short-float|least-positive-normalized-long-float|least-positive-normalized-double-float|least-positive-long-float|least-positive-double-float|least-negative-single-float|least-negative-short-float|least-negative-normalized-single-float|least-negative-normalized-short-float|least-negative-normalized-long-float|least-negative-normalized-double-float|least-negative-long-float|least-negative-double-float|lambda-parameters-limit|lambda-list-keywords|internal-time-units-per-second|double-float-negative-epsilon|double-float-epsilon|char-code-limit|call-arguments-limit|boole-xor|boole-set|boole-orc2|boole-orc1|boole-nor|boole-nand|boole-ior|boole-eqv|boole-clr|boole-c2|boole-c1|boole-andc2|boole-andc1|boole-and|boole-2|boole-1|array-total-size-limit|array-rank-limit|array-dimension-limit)(?=([()\\\\s]))","name":"constant.language.commonlisp"},{"match":"(?<=^|[(\\\\s]|,@|,\\\\.?)([-+]?[0-9]+(?:/[0-9]+)*|[-+]?[0-9]*\\\\.?[0-9]+([Ee][-+]?[0-9]+)?|(#[Bb])[-+/01]+|(#[Oo])[-+/-7]+|(#[Xx])[-+/\\\\h]+|(#[0-9]+[Rr]?)[-+/-9A-Za-z]+)(?=([)\\\\s]))","name":"constant.numeric.commonlisp"},{"match":"(?i)(?<=\\\\s)(\\\\.)(?=\\\\s)","name":"variable.other.constant.dot.commonlisp"},{"match":"(?<=^|[(\\\\s]|,@|,\\\\.?)([-+]?[0-9]*\\\\.[0-9]*(([DEFLSdefls])[-+]?[0-9]+)?|[-+]?[0-9]+(\\\\.[0-9]*)?([DEFLSdefls])[-+]?[0-9]+)(?=([)\\\\s]))","name":"constant.numeric.commonlisp"}]},"declaration":{"match":"(?i)(?<=^|[(\\\\s])(?:type|speed|special|space|safety|optimize|notinline|inline|ignore|ignorable|ftype|dynamic-extent|declaration|debug|compilation-speed)(?=([()\\\\s]))","name":"storage.type.function.declaration.commonlisp"},"def-name":{"patterns":[{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"},"3":{"name":"storage.type.function.defname.commonlisp"},"4":{"name":"variable.other.constant.defname.commonlisp"},"6":{"patterns":[{"include":"#package"},{"match":"\\\\S+?","name":"entity.name.function.commonlisp"}]},"7":{"name":"variable.other.constant.defname.commonlisp"},"9":{"patterns":[{"include":"#package"},{"match":"\\\\S+?","name":"entity.name.function.commonlisp"}]}},"match":"(?i)(?<=^|[(\\\\s])(def(?:un|setf|method|macro|ine-symbol-macro|ine-setf-expander|ine-modify-macro|ine-method-combination|ine-compiler-macro|generic))\\\\s+(\\\\(\\\\s*([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+)\\\\s*((,(?:@|\\\\.?))?)([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)|((,(?:@|\\\\.?))?)([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?))(?=([()\\\\s]))"},{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"},"2":{"name":"entity.name.type.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s])(def(?:type|package|ine-condition|class))\\\\s+([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(?=([()\\\\s]))"},{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"},"2":{"patterns":[{"include":"#package"},{"match":"\\\\S+?","name":"variable.other.constant.defname.commonlisp"}]}},"match":"(?i)(?<=^|[(\\\\s])(defconstant)\\\\s+([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(?=([()\\\\s]))"},{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s])(def(?:var|parameter))\\\\s+(?=([()\\\\s]))"},{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"},"2":{"name":"entity.name.type.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s])(defstruct)\\\\s+\\\\(?\\\\s*([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(?=([()\\\\s]))"},{"captures":{"1":{"name":"keyword.control.commonlisp"},"2":{"patterns":[{"include":"#package"},{"match":"\\\\S+?","name":"entity.name.function.commonlisp"}]}},"match":"(?i)(?<=^|[(\\\\s])(macrolet|labels|flet)\\\\s+\\\\(\\\\s*\\\\(\\\\s*([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(?=([()\\\\s]))"}]},"escape":{"match":"(?i)(?<=^|[(\\\\s])#\\\\\\\\\\\\S+?(?=([()\\\\s]))","name":"constant.character.escape.commonlisp"},"function":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s]|#\')(?:values|third|tenth|symbol-value|symbol-plist|symbol-function|svref|subseq|sixth|seventh|second|schar|sbit|row-major-aref|rest|readtable-case|nth|ninth|mask-field|macro-function|logical-pathname-translations|ldb|gethash|getf?|fourth|first|find-class|fill-pointer|fifth|fdefinition|elt|eighth|compiler-macro-function|char|cdr|cddr|cdddr|cddddr|cdddar|cddar|cddadr|cddaar|cdar|cdadr|cdaddr|cdadar|cdaar|cdaadr|cdaaar|car|cadr|caddr|cadddr|caddar|cadar|cadadr|cadaar|caar|caadr|caaddr|caadar|caaar|caaadr|caaaar|bit|aref)(?=([()\\\\s]))","name":"support.function.accessor.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#\')(?:yes-or-no-p|y-or-n-p|write-sequence|write-char|write-byte|warn|vector-pop|use-value|use-package|unuse-package|union|unintern|unexport|terpri|tailp|substitute-if-not|substitute-if|substitute|subst-if-not|subst-if|subst|sublis|string-upcase|string-downcase|string-capitalize|store-value|sleep|signal|shadowing-import|shadow|set-syntax-from-char|set-macro-character|set-exclusive-or|set-dispatch-macro-character|set-difference|set|rplacd|rplaca|room|reverse|revappend|require|replace|remprop|remove-if-not|remove-if|remove-duplicates|remove|remhash|read-sequence|read-byte|random|provide|pprint-tabular|pprint-newline|pprint-linear|pprint-fill|nunion|nsubstitute-if-not|nsubstitute-if|nsubstitute|nsubst-if-not|nsubst-if|nsubst|nsublis|nstring-upcase|nstring-downcase|nstring-capitalize|nset-exclusive-or|nset-difference|nreverse|nreconc|nintersection|nconc|muffle-warning|method-combination-error|maphash|makunbound|ldiff|invoke-restart-interactively|invoke-restart|invoke-debugger|invalid-method-error|intersection|inspect|import|get-output-stream-string|get-macro-character|get-dispatch-macro-character|gentemp|gensym|fresh-line|fill|file-position|export|describe|delete-if-not|delete-if|delete-duplicates|delete|continue|clrhash|close|clear-input|break|abort)(?=([()\\\\s]))","name":"support.function.f.sideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#\')(?:zerop|write-to-string|write-string|write-line|write|wild-pathname-p|vectorp|vector-push-extend|vector-push|vector|values-list|user-homedir-pathname|upper-case-p|upgraded-complex-part-type|upgraded-array-element-type|unread-char|unbound-slot-instance|typep|type-of|type-error-expected-type|type-error-datum|two-way-stream-output-stream|two-way-stream-input-stream|truncate|truename|tree-equal|translate-pathname|translate-logical-pathname|tanh?|synonym-stream-symbol|symbolp|symbol-package|symbol-name|sxhash|subtypep|subsetp|stringp|string>=?|string=|string<=?|string/=|string-trim|string-right-trim|string-not-lessp|string-not-greaterp|string-not-equal|string-lessp|string-left-trim|string-greaterp|string-equal|string|streamp|stream-external-format|stream-error-stream|stream-element-type|standard-char-p|stable-sort|sqrt|special-operator-p|sort|some|software-version|software-type|slot-value|slot-makunbound|slot-exists-p|slot-boundp|sinh?|simple-vector-p|simple-string-p|simple-condition-format-control|simple-condition-format-arguments|simple-bit-vector-p|signum|short-site-name|set-pprint-dispatch|search|scale-float|round|restart-name|rename-package|rename-file|rem|reduce|realpart|realp|readtablep|read-preserving-whitespace|read-line|read-from-string|read-delimited-list|read-char-no-hang|read-char|read|rationalp|rationalize|rational|rassoc-if-not|rassoc-if|rassoc|random-state-p|proclaim|probe-file|print-not-readable-object|print|princ-to-string|princ|prin1-to-string|prin1|pprint-tab|pprint-indent|pprint-dispatch|pprint|position-if-not|position-if|position|plusp|phase|peek-char|pathnamep|pathname-version|pathname-type|pathname-name|pathname-match-p|pathname-host|pathname-directory|pathname-device|pathname|parse-namestring|parse-integer|pairlis|packagep|package-used-by-list|package-use-list|package-shadowing-symbols|package-nicknames|package-name|package-error-package|output-stream-p|open-stream-p|open|oddp|numerator|numberp|null|nthcdr|notevery|notany|not|next-method-p|nbutlast|namestring|name-char|mod|mismatch|minusp|min|merge-pathnames|merge|member-if-not|member-if|member|max|maplist|mapl|mapcon|mapcar|mapcan|mapc|map-into|map|make-two-way-stream|make-synonym-stream|make-symbol|make-string-output-stream|make-string-input-stream|make-string|make-sequence|make-random-state|make-pathname|make-package|make-load-form-saving-slots|make-list|make-hash-table|make-echo-stream|make-dispatch-macro-character|make-condition|make-concatenated-stream|make-broadcast-stream|make-array|macroexpand-1|macroexpand|machine-version|machine-type|machine-instance|lower-case-p|long-site-name|logxor|logtest|logorc2|logorc1|lognot|lognor|lognand|logior|logical-pathname|logeqv|logcount|logbitp|logandc2|logandc1|logand|log|load-logical-pathname-translations|load|listp|listen|list-length|list-all-packages|list\\\\*?|lisp-implementation-version|lisp-implementation-type|length|ldb-test|lcm|last|keywordp|isqrt|intern|interactive-stream-p|integerp|integer-length|integer-decode-float|input-stream-p|imagpart|identity|host-namestring|hash-table-test|hash-table-size|hash-table-rehash-threshold|hash-table-rehash-size|hash-table-p|hash-table-count|graphic-char-p|get-universal-time|get-setf-expansion|get-properties|get-internal-run-time|get-internal-real-time|get-decoded-time|gcd|functionp|function-lambda-expression|funcall|ftruncate|fround|format|force-output|fmakunbound|floor|floatp|float-sign|float-radix|float-precision|float-digits|float|finish-output|find-symbol|find-restart|find-package|find-if-not|find-if|find-all-symbols|find|file-write-date|file-string-length|file-namestring|file-length|file-error-pathname|file-author|ffloor|fceiling|fboundp|expt?|every|evenp|eval|equalp?|eql?|ensure-generic-function|ensure-directories-exist|enough-namestring|endp|encode-universal-time|ed|echo-stream-output-stream|echo-stream-input-stream|dribble|dpb|disassemble|directory-namestring|directory|digit-char-p|digit-char|deposit-field|denominator|delete-package|delete-file|decode-universal-time|decode-float|count-if-not|count-if|count|cosh?|copy-tree|copy-symbol|copy-structure|copy-seq|copy-readtable|copy-pprint-dispatch|copy-list|copy-alist|constantp|constantly|consp?|conjugate|concatenated-stream-streams|concatenate|compute-restarts|complexp?|complement|compiled-function-p|compile-file-pathname|compile-file|compile|coerce|code-char|clear-output|class-of|cis|characterp?|char>=?|char=|char<=?|char/=|char-upcase|char-not-lessp|char-not-greaterp|char-not-equal|char-name|char-lessp|char-int|char-greaterp|char-equal|char-downcase|char-code|cerror|cell-error-name|ceiling|call-next-method|byte-size|byte-position|byte|butlast|broadcast-stream-streams|boundp|both-case-p|boole|bit-xor|bit-vector-p|bit-orc2|bit-orc1|bit-not|bit-nor|bit-nand|bit-ior|bit-eqv|bit-andc2|bit-andc1|bit-and|atom|atanh?|assoc-if-not|assoc-if|assoc|asinh?|ash|arrayp|array-total-size|array-row-major-index|array-rank|array-in-bounds-p|array-has-fill-pointer-p|array-element-type|array-displacement|array-dimensions?|arithmetic-error-operation|arithmetic-error-operands|apropos-list|apropos|apply|append|alphanumericp|alpha-char-p|adjustable-array-p|adjust-array|adjoin|acosh?|acons|abs|>=|[=>]|<=?|1-|1\\\\+|/=|[-*+/])(?=([()\\\\s]))","name":"support.function.f.sideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#\')(?:variable|update-instance-for-redefined-class|update-instance-for-different-class|structure|slot-unbound|slot-missing|shared-initialize|remove-method|print-object|no-next-method|no-applicable-method|method-qualifiers|make-load-form|make-instances-obsolete|make-instance|initialize-instance|function-keywords|find-method|documentation|describe-object|compute-applicable-methods|compiler-macro|class-name|change-class|allocate-instance|add-method)(?=([()\\\\s]))","name":"support.function.sgf.nosideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#\')reinitialize-instance(?=([()\\\\s]))","name":"support.function.sgf.sideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#\')satisfies(?=([()\\\\s]))","name":"support.function.typespecifier.commonlisp"}]},"lambda-list":{"match":"(?i)(?<=^|[(\\\\s])&(?:[]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?|whole|rest|optional|key|environment|body|aux|allow-other-keys)(?=([()\\\\s]))","name":"keyword.other.lambdalist.commonlisp"},"macro":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s])(?:with-standard-io-syntax|with-slots|with-simple-restart|with-package-iterator|with-hash-table-iterator|with-condition-restarts|with-compilation-unit|with-accessors|when|unless|typecase|time|step|shiftf|setf|rotatef|return|restart-case|restart-bind|psetf|prog2|prog1|prog\\\\*?|print-unreadable-object|pprint-logical-block|pprint-exit-if-list-exhausted|or|nth-value|multiple-value-setq|multiple-value-list|multiple-value-bind|make-method|loop|lambda|ignore-errors|handler-case|handler-bind|formatter|etypecase|dotimes|dolist|do-symbols|do-external-symbols|do-all-symbols|do\\\\*?|destructuring-bind|defun|deftype|defstruct|defsetf|defpackage|defmethod|defmacro|define-symbol-macro|define-setf-expander|define-condition|define-compiler-macro|defgeneric|defconstant|defclass|declaim|ctypecase|cond|call-method|assert|and)(?=([()\\\\s]))","name":"storage.type.function.m.nosideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s])(?:with-output-to-string|with-open-stream|with-open-file|with-input-from-string|untrace|trace|remf|pushnew|push|psetq|pprint-pop|pop|otherwise|loop-finish|incf|in-package|ecase|defvar|defparameter|define-modify-macro|define-method-combination|decf|check-type|ccase|case)(?=([()\\\\s]))","name":"storage.type.function.m.sideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s])setq(?=([()\\\\s]))","name":"storage.type.function.specialform.commonlisp"}]},"package":{"patterns":[{"captures":{"2":{"name":"support.type.package.commonlisp"},"3":{"name":"support.type.package.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(([]!$%\\\\&*+\\\\--9<-\\\\[^_a-{}~]+?)|(#))(?=::?)"}]},"punctuation":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)([\'`])(?=\\\\S)","name":"variable.other.constant.singlequote.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?):[]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?(?=([()\\\\s]))","name":"entity.name.variable.commonlisp"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]*)(?=\\\\()"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"},"3":{"name":"variable.other.constant.sharpsign.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]*)(\\\\*)(?=[01])"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#0??\\\\*)(?=([()\\\\s]))","name":"variable.other.constant.sharpsign.commonlisp"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"},"3":{"name":"variable.other.constant.sharpsign.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]+)([Aa])(?=.)"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"},"3":{"name":"variable.other.constant.sharpsign.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]+)(=)(?=.)"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"},"3":{"name":"variable.other.constant.sharpsign.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]+)(#)(?=.)"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#([-+]))(?=\\\\S)","name":"variable.other.constant.sharpsign.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#([\',.CPScps]))(?=\\\\S)","name":"variable.other.constant.sharpsign.commonlisp"},{"captures":{"1":{"name":"support.type.package.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)(:)(?=\\\\S)"},{"captures":{"2":{"name":"variable.other.constant.backquote.commonlisp"},"3":{"name":"variable.other.constant.backquote.commonlisp"},"4":{"name":"variable.other.constant.backquote.commonlisp"},"5":{"name":"variable.other.constant.backquote.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s])((`#)|(`)(,(?:@|\\\\.?))?|(,(?:@|\\\\.?)))(?=\\\\S)"}]},"special-operator":{"captures":{"2":{"name":"keyword.control.commonlisp"}},"match":"(?i)(\\\\(\\\\s*)(unwind-protect|throw|the|tagbody|symbol-macrolet|return-from|quote|progv|progn|multiple-value-prog1|multiple-value-call|macrolet|locally|load-time-value|let\\\\*?|labels|if|go|function|flet|eval-when|catch|block)(?=([()\\\\s]))"},"string":{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.commonlisp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.commonlisp"}},"name":"string.quoted.double.commonlisp","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.commonlisp"},{"captures":{"1":{"name":"storage.type.function.formattedstring.commonlisp"},"2":{"name":"variable.other.constant.formattedstring.commonlisp"},"8":{"name":"storage.type.function.formattedstring.commonlisp"},"10":{"name":"storage.type.function.formattedstring.commonlisp"}},"match":"(?i)(~)(((([-+]?[0-9]+)|(\'.)|[#V])*?(,)?)*?)((:@|@:|[:@])?)([]();<>\\\\[^{}])"},{"captures":{"1":{"name":"entity.name.variable.commonlisp"},"2":{"name":"variable.other.constant.formattedstring.commonlisp"},"8":{"name":"entity.name.variable.commonlisp"},"10":{"name":"entity.name.variable.commonlisp"}},"match":"(?i)(~)(((([-+]?[0-9]+)|(\'.)|[#V])*?(,)?)*?)((:@|@:|[:@])?)([$%\\\\&*?A-GIOPRSTWX_|~])"},{"captures":{"1":{"name":"entity.name.variable.commonlisp"},"2":{"name":"variable.other.constant.formattedstring.commonlisp"},"8":{"name":"entity.name.variable.commonlisp"},"10":{"name":"entity.name.variable.commonlisp"},"11":{"name":"entity.name.variable.commonlisp"},"12":{"name":"entity.name.variable.commonlisp"}},"match":"(?i)(~)(((([-+]?[0-9]+)|(\'.)|[#V])*?(,)?)*?)((:@|@:|[:@])?)(/)([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(/)"},{"match":"(~\\\\n)","name":"variable.other.constant.formattedstring.commonlisp"}]},"style-guide":{"patterns":[{"captures":{"3":{"name":"source.commonlisp"}},"match":"(?i)(?<=(?:^|[(\\\\s]|,@|,\\\\.?)\')(\\\\S+?)(::?)((\\\\+[^+\\\\s]+\\\\+)|(\\\\*[^*\\\\s]+\\\\*))(?=([()\\\\s]))"},{"match":"(?i)(?<=\\\\S:|^|[(\\\\s]|,@|,\\\\.?)(\\\\+[^+\\\\s]+\\\\+)(?=([()\\\\s]))","name":"variable.other.constant.earmuffsplus.commonlisp"},{"match":"(?i)(?<=\\\\S:|^|[(\\\\s]|,@|,\\\\.?)(\\\\*[^*\\\\s]+\\\\*)(?=([()\\\\s]))","name":"string.regexp.earmuffsasterisk.commonlisp"}]},"symbol":{"match":"(?i)(?<=^|[(\\\\s])(?:method-combination|declare)(?=([()\\\\s]))","name":"storage.type.function.symbol.commonlisp"},"type":{"match":"(?i)(?<=^|[(\\\\s])(?:unsigned-byte|standard-char|standard|single-float|simple-vector|simple-string|simple-bit-vector|simple-base-string|simple-array|signed-byte|short-float|long-float|keyword|fixnum|extended-char|double-float|compiled-function|boolean|bignum|base-string|base-char)(?=([()\\\\s]))","name":"support.type.t.commonlisp"},"variable":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)\\\\*(?:trace-output|terminal-io|standard-output|standard-input|readtable|read-suppress|read-eval|read-default-float-format|read-base|random-state|query-io|print-right-margin|print-readably|print-radix|print-pretty|print-pprint-dispatch|print-miser-width|print-lines|print-level|print-length|print-gensym|print-escape|print-circle|print-case|print-base|print-array|package|modules|macroexpand-hook|load-verbose|load-truename|load-print|load-pathname|gensym-counter|features|error-output|default-pathname-defaults|debugger-hook|debug-io|compile-verbose|compile-print|compile-file-truename|compile-file-pathname|break-on-signals)\\\\*(?=([()\\\\s]))","name":"string.regexp.earmuffsasterisk.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(?:\\\\*\\\\*\\\\*?|\\\\+\\\\+\\\\+?|///?)(?=([()\\\\s]))","name":"variable.other.repl.commonlisp"}]}},"scopeName":"source.commonlisp","aliases":["lisp"]}'))]}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75854,e=>{"use strict";e.s(["persistAgentEnv",()=>l]);var t=e.i(18805),a=e.i(15327),n=e.i(17655),r=e.i(49377);async function l(e,l,s,i,o,c){var d,u,p,m;let f=r.useAppStore.getState(),g={tools:f.agentConfig.tools.slice(),disallowedTools:f.agentConfig.disallowedTools.slice(),mcpServers:f.agentConfig.mcpServers.slice(),skills:f.agentConfig.skills.slice(),agentTeams:f.agentConfig.agentTeams.slice(),model:f.agentConfig.model,rules:f.agentConfig.rules.slice(),effort:null!=(d=f.agentConfig.effort)?d:null,background:null!=(u=f.agentConfig.background)&&u,isolation:null!=(p=f.agentConfig.isolation)?p:"",whentouse:null!=(m=f.agentConfig.whentouse)?m:"",env:i,llmProviders:f.agentConfig.llmProviders.map(e=>({...e,models:e.models.map(e=>({...e}))})),...c},x=await (0,n.loadAgentPrompt)(e,l,s);await (0,n.saveAgentConfig)(e,l,s,g,{prompt:x}),f.setAgentConfig({...g,env:{...i}}),r.useAppStore.getState().wsConnected&&o();let h=r.useAppStore.getState();h.setStatus("环境变量已保存"+(h.wsConnected?",已请求 worker 重新加载配置":""),(0,a.resolveInfoStatusClass)(h.bridgeReady,h.wsConnected)),t.appToast.success(h.wsConnected?"已保存到 agent.json,并已请求 worker 重新加载配置。":"已保存到 agent.json。重连 WebSocket 后子进程环境将同步。")}},57100,e=>{"use strict";e.s(["composeRefs",()=>n,"useComposedRefs",()=>r]);var t=e.i(65765);function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function n(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>{let n=!1,r=t.map(t=>{let r=a(t,e);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let e=0;e<r.length;e++){let n=r[e];"function"==typeof n?n():a(t[e],null)}}}}function r(){for(var e=arguments.length,a=Array(e),r=0;r<e;r++)a[r]=arguments[r];return t.useCallback(n(...a),a)}},92371,e=>{"use strict";e.s(["Textarea",()=>n]);var t=e.i(59992),a=e.i(96745);function n(e){let{className:n,...r}=e;return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.cn)("flex min-h-20 w-full rounded-md border border-solid border-border bg-transparent px-3 py-2 text-base outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[var(--border-hover)] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none]",n),...r})}},49091,35182,e=>{"use strict";function t(e){let t=null==e?"":String(e);return""===t?'""':/[\s#"'\\\n]/.test(t)||t!==t.trim()?'"'.concat(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}function a(e){let t=String(e).split(/\r?\n/),a={},n=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;for(let e=0;e<t.length;e++){let r=t[e],l=n.exec(r);l&&(a[l[1]]=function(e){let t=e.trimEnd();return t.length>=2&&'"'===t[0]&&'"'===t[t.length-1]?t.slice(1,-1).replace(/\\(.)/g,(e,t)=>"n"===t?"\n":'"'===t?'"':"\\"===t?"\\":"\\".concat(t)):t.length>=2&&"'"===t[0]&&"'"===t[t.length-1]?t.slice(1,-1):e}(l[2]))}return a}function n(e,a){let n=Array.isArray(e)?e:[],r=new Set;for(let e=0;e<n.length;e++){let t=n[e];t&&"object"==typeof t&&"string"==typeof t.key&&r.add(t.key)}let l=[];for(let e=0;e<n.length;e++){let r=n[e];if(!r||"object"!=typeof r||"string"!=typeof r.key)continue;let s=r.key;if(!Object.prototype.hasOwnProperty.call(a,s))continue;let i=a[s];null!=i&&""!==String(i).trim()&&l.push("".concat(s,"=").concat(t(String(i))))}let s=Object.keys(a).filter(e=>!r.has(e)).sort();for(let e=0;e<s.length;e++){let n=s[e],r=a[n];null!=r&&""!==String(r).trim()&&l.push("".concat(n,"=").concat(t(String(r))))}let i=l.join("\n");return i.length>0?"".concat(i,"\n"):""}e.s(["buildEnvFileContentFromForm",()=>n,"parseEnvContentToMap",()=>a],49091),e.s(["loadDemoSingleMessage",()=>c,"loadSystemEnv",()=>s,"saveSystemEnv",()=>i,"saveSystemMcpJson",()=>o],35182);var r=e.i(61293),l=e.i(10602);async function s(e,t,a){return(0,r.get)((0,l.buildSystemEnvApiUrl)(e,t,a))}async function i(e,t,a,n){await (0,r.patch)((0,l.buildSystemEnvApiUrl)(e,t,a),{content:n})}async function o(e,t,a,n){await (0,r.patch)((0,l.buildSystemMcpJsonApiUrl)(e,t,a),{content:n})}async function c(){return(0,r.get)("/api/demo/single-message")}},82735,e=>{"use strict";e.s(["AgentEnvGroupSettingsView",()=>S],82735);var t=e.i(59992),a=e.i(26162),n=e.i(84081),r=e.i(92369),l=e.i(55105),s=e.i(92371),i=e.i(72483),o=e.i(96745);let c="__empty__",d=[{value:"anthropic",label:"anthropic"},{value:"openai",label:"openai"}],u=[{value:"1",label:"启用全部 MCP 常驻会话"},{value:"0",label:"禁用"}];function p(e){let{group:a,fields:n,fieldValues:r,whentouseValue:p,onFieldChange:m,onWhentouseChange:f}=e;return(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col divide-y divide-[var(--ds-border)]",children:["system"===a?(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsx)("label",{className:"text-[var(--ds-text)]",htmlFor:"agent-env-whentouse",children:"使用时机(whentouse)"}),(0,t.jsx)(s.Textarea,{id:"agent-env-whentouse",rows:3,spellCheck:!1,autoComplete:"off",placeholder:"输入该 agent 的使用时机描述","aria-label":"agent.json whentouse",className:"min-h-[88px] flex-1 resize-none border-[var(--ds-border)] bg-[var(--ds-bg)] placeholder:text-[var(--text-placeholder)]",value:p,onChange:e=>f(e.target.value)})]}):null,n.map(e=>{let a="agent-env-field-".concat(e.key),n="string"==typeof r[e.key]?r[e.key]:"";if("LLM_PROVIDER"===e.key){let r="anthropic"===n||"openai"===n?n:"";return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsx)("label",{className:"text-basic text-[var(--ds-text)]",htmlFor:a,children:e.label}),(0,t.jsxs)(i.Select,{value:r||c,onValueChange:t=>m(e.key,t===c?"":t),children:[(0,t.jsx)(i.SelectTrigger,{id:a,className:(0,o.cn)("h-10 w-full border-[var(--ds-border)] bg-[var(--ds-bg)]",!r&&"text-[var(--text-placeholder)]"),children:(0,t.jsx)(i.SelectValue,{placeholder:"请选择"})}),(0,t.jsxs)(i.SelectContent,{children:[(0,t.jsx)(i.SelectItem,{value:c,children:"请选择"}),d.map(e=>(0,t.jsx)(i.SelectItem,{value:e.value,children:e.label},e.value))]})]})]},e.key)}if("TUITUI_CHANNEL_SESSION"===e.key){let r="1"===n?"1":"0";return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsx)("label",{className:"text-basic text-[var(--ds-text)]",htmlFor:a,children:e.label}),(0,t.jsxs)(i.Select,{value:r,onValueChange:t=>m(e.key,t),children:[(0,t.jsx)(i.SelectTrigger,{id:a,className:"h-10 w-full border-[var(--ds-border)] bg-[var(--ds-bg)]",children:(0,t.jsx)(i.SelectValue,{placeholder:"请选择"})}),(0,t.jsx)(i.SelectContent,{children:u.map(e=>(0,t.jsx)(i.SelectItem,{value:e.value,children:e.label},e.value))})]})]},e.key)}return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsx)("label",{className:"text-[var(--ds-text)]",htmlFor:a,children:e.label}),(0,t.jsx)(l.Input,{id:a,type:"text",spellCheck:!1,autoComplete:"off",placeholder:e.placeholder,className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] placeholder:text-[var(--text-placeholder)]",value:n,onChange:t=>m(e.key,t.target.value)})]},e.key)})]})}var m=e.i(65765),f=e.i(18805),g=e.i(36763),x=e.i(37566);let h=["llm","git","geelib","tutui","system"];var v=e.i(75854),b=e.i(49091),y=e.i(35182),j=e.i(49377);function S(e){let{group:l}=e,{loading:s,saving:i,groupFields:o,fieldValues:c,whentouseValue:d,setField:u,setWhentouseValue:S,reset:w,save:C}=function(e){let t=(0,j.useAppStore)(e=>e.wsUrl),a=(0,j.useAppStore)(e=>e.apiBase),n=(0,j.useAppStore)(e=>e.agentConfig),{currentAgent:r,loadAgentConfig:l}=(0,g.useSession)(),{sendReloadAgentConfig:s}=(0,x.useWebSocketSender)(),[i,o]=(0,m.useState)(!0),[c,d]=(0,m.useState)(!1),[u,p]=(0,m.useState)([]),[S,w]=(0,m.useState)({}),[C,k]=(0,m.useState)({}),[N,T]=(0,m.useState)(""),A=(0,m.useMemo)(()=>(function(e){let t={};for(let e of h)t[e]=[];for(let a of e)h.includes(a.group)&&t[a.group].push(a);return t})(u)[e],[u,e]),E=(0,m.useCallback)(e=>{k(function(e,t,a){let n={};for(let r of t){let t=e[r.key];if("string"==typeof t&&t.length>0){n[r.key]=t;continue}let l=a[r.key];n[r.key]="string"==typeof l?l:""}return n}(e,A,S))},[A,S]),M=(0,m.useCallback)(e=>{T("string"==typeof e?e:"")},[]),R=(0,m.useCallback)(async()=>{try{let e=await (0,y.loadSystemEnv)(t,a,r()),n="string"==typeof e.content?e.content:"",l=function(e){if(!Array.isArray(e))return[];let t=[];for(let a of e){if(!a||"object"!=typeof a)continue;let e="string"==typeof a.key?a.key.trim():"",n="string"==typeof a.group?a.group.trim():"";e&&h.includes(n)&&t.push({key:e,group:n,label:"string"==typeof a.label&&a.label.trim()?a.label.trim():e,placeholder:"string"==typeof a.placeholder?a.placeholder:""})}return t}(e.schema),s=(0,b.parseEnvContentToMap)(n);p(l),w(function(e,t){let a={};for(let r of e){var n;a[r.key]=null!=(n=t[r.key])?n:""}return a}(l,s))}catch(e){f.appToast.error("加载环境变量表单配置失败:".concat(e instanceof Error?e.message:String(e))),p([]),w({})}},[t,a,r]),I=(0,m.useCallback)(async()=>{o(!0);try{await Promise.all([l(),R()])}finally{o(!1)}},[l,R]);(0,m.useEffect)(()=>{I()},[I]),(0,m.useEffect)(()=>{!i&&A.length&&E({...n.env})},[n.env,E,i,A.length]),(0,m.useEffect)(()=>{i||"system"!==e||M(n.whentouse)},[n.whentouse,e,i,M]);let _=(0,m.useCallback)((e,t)=>{k(a=>({...a,[e]:t}))},[]),L=(0,m.useCallback)(()=>{E({...n.env}),"system"===e&&M(n.whentouse)},[n.env,n.whentouse,e,E,M]),O=(0,m.useCallback)(async()=>{let n=function(e,t,a){let n={...e};for(let e of t){var r;let t=String(null!=(r=a[e.key])?r:"").trim();t?n[e.key]=t:delete n[e.key]}return n}(j.useAppStore.getState().agentConfig.env,A,C);d(!0);try{if("system"===e){let e=j.useAppStore.getState().agentConfig;j.useAppStore.getState().setAgentConfig({...e,whentouse:N})}await (0,v.persistAgentEnv)(t,a,r(),n,s),await l()}catch(e){f.appToast.error("保存环境变量失败:".concat(e instanceof Error?e.message:String(e)))}finally{d(!1)}},[A,C,N,e,t,a,r,s,l]);return{loading:i,saving:c,groupFields:A,fieldValues:C,whentouseValue:N,setField:_,setWhentouseValue:T,reset:L,save:O}}(l),k="system"===l||o.length>0;return(0,t.jsxs)("div",{className:"manage-page-content flex min-h-0 flex-1 flex-col rounded-xl border bg-[#fff] shadow-[var(--shadow-md)]",children:[(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto p-4",children:s?(0,t.jsx)(n.Loading,{className:"min-h-[240px]",text:"加载中…"}):k?(0,t.jsx)(p,{group:l,fields:o,fieldValues:c,whentouseValue:d,onFieldChange:u,onWhentouseChange:S}):(0,t.jsx)(a.Empty,{className:"min-h-[240px]",text:"暂无可配置项"})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] px-4 py-3",children:[(0,t.jsx)(r.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:s||i||!k,onClick:()=>w(),className:"cursor-pointer",children:"取消"}),(0,t.jsx)(r.Button,{type:"button",size:"lg",disabled:s||i||!k,onClick:()=>void C(),className:"cursor-pointer",children:i?"保存中…":"保存"})]})]})}},40751,e=>{"use strict";e.s(["AppDialog",()=>l]);var t=e.i(59992),a=e.i(65765),n=e.i(65486),r=e.i(96745);function l(e){let{open:l,onOpenChange:s,title:i,children:o,footer:c,width:d="max-w-3xl",minHeight:u}=e,p=(0,a.useId)();return(0,t.jsx)(n.Dialog,{open:l,onOpenChange:s,children:(0,t.jsxs)(n.DialogContent,{"aria-labelledby":p,className:(0,r.cn)(d,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,t.jsxs)(n.DialogHeader,{children:[(0,t.jsx)(n.DialogTitle,{id:p,children:i}),(0,t.jsx)(n.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(n.DialogBody,{className:"!px-4 !py-3",children:o}),c?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:c}):null]})})}},13014,e=>{"use strict";e.s(["AppTable",()=>u],13014);var t=e.i(59992),a=e.i(26162),n=e.i(65765),r=e.i(96745);let l=n.forwardRef((e,a)=>{let{className:n,...l}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:a,className:(0,r.cn)("w-full caption-bottom border-collapse",n),...l})})});l.displayName="Table";let s=n.forwardRef((e,a)=>{let{className:n,...l}=e;return(0,t.jsx)("thead",{ref:a,className:(0,r.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",n),...l})});s.displayName="TableHeader";let i=n.forwardRef((e,a)=>{let{className:l,viewportFit:s=!0,viewportReserveBottom:i=16,viewportPaginationReserve:o=0,style:c,...d}=e,u=n.useRef(null),p=n.useCallback(e=>{u.current=e,"function"==typeof a?a(e):a&&(a.current=e)},[a]),[m,f]=n.useState(void 0);return n.useLayoutEffect(()=>{var e,t;if(!s)return void f(void 0);let a=()=>{var e,t;let a=u.current;if(!a)return;let n=a.getBoundingClientRect().top;f(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-n-(i+o))))};a();let n=new ResizeObserver(()=>{a()});try{n.observe(document.body)}catch(e){}return window.addEventListener("resize",a),null==(e=window.visualViewport)||e.addEventListener("resize",a),null==(t=window.visualViewport)||t.addEventListener("scroll",a),window.addEventListener("scroll",a,!0),()=>{var e,t;n.disconnect(),window.removeEventListener("resize",a),null==(e=window.visualViewport)||e.removeEventListener("resize",a),null==(t=window.visualViewport)||t.removeEventListener("scroll",a),window.removeEventListener("scroll",a,!0)}},[s,i,o]),(0,t.jsx)("tbody",{ref:p,className:(0,r.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",l),style:s&&void 0!==m?{...c,maxHeight:m}:c,...d})});i.displayName="TableBody";let o=n.forwardRef((e,a)=>{let{className:n,hoverable:l=!0,...s}=e;return(0,t.jsx)("tr",{ref:a,className:(0,r.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",l&&"group/table-row",n),...s})});o.displayName="TableRow";let c=n.forwardRef((e,a)=>{let{className:n,...l}=e;return(0,t.jsx)("th",{ref:a,className:(0,r.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",n),...l})});c.displayName="TableHead";let d=n.forwardRef((e,a)=>{let{className:n,...l}=e;return(0,t.jsx)("td",{ref:a,className:(0,r.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",n),...l})});function u(e){let{rows:n,columns:u,getRowKey:p,className:m,rowClassName:f,headerRowClassName:g,emptyText:x,emptyNode:h,bodyProps:v}=e;return(0,t.jsx)("div",{className:(0,r.cn)("overflow-hidden border border-[var(--ds-border)]",m),children:(0,t.jsxs)(l,{children:[(0,t.jsx)(s,{children:(0,t.jsx)(o,{className:(0,r.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",g),children:u.map(e=>(0,t.jsx)(c,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(i,{...v,children:n.length?n.map(e=>(0,t.jsx)(o,{className:"function"==typeof f?f(e):f,children:u.map(a=>(0,t.jsx)(d,{className:a.cellClassName,children:a.render(e)},a.key))},p(e))):(0,t.jsx)(o,{hoverable:!1,children:(0,t.jsx)(d,{colSpan:u.length,className:"py-6",children:null!=h?h:(0,t.jsx)(a.Empty,{text:x})})})})]})})}d.displayName="TableCell"},99329,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>j,"deleteRuntimeMcp",()=>p,"deleteRuntimeSkill",()=>S,"deleteRuntimeTool",()=>u,"exportRuntimeMcpUrl",()=>f,"exportRuntimeSkillUrl",()=>w,"exportRuntimeToolUrl",()=>m,"importRuntimeMcp",()=>x,"importRuntimeTool",()=>g,"installCloudSkill",()=>k,"listBaseSkills",()=>l,"listCloudSkillCatalog",()=>C,"listInstalledSkills",()=>s,"listInstalledTools",()=>r,"listMcpServers",()=>n,"listRuntimeMcpPackages",()=>d,"listRuntimeTools",()=>c,"loadBaseSkillMd",()=>i,"loadRemoteMcpJson",()=>h,"loadRuntimeMcpItemConfig",()=>b,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>v,"saveRuntimeMcpItemConfig",()=>y]);var t=e.i(61293),a=e.i(10602);async function n(e,n,r){let l=await (0,t.get)((0,a.buildMcpServersListUrl)(e,n,r));return{servers:Array.isArray(l.servers)?l.servers:[]}}async function r(e,n,r){let l=await (0,t.get)((0,a.buildToolInstalledListUrl)(e,n,r));return{tools:Array.isArray(l.tools)?l.tools:[]}}async function l(e,n,r){let l=await (0,t.get)((0,a.buildSkillBaseListUrl)(e,n,r));return{skills:Array.isArray(l.skills)?l.skills:[]}}async function s(e,n,r){let l=await (0,t.get)((0,a.buildSkillInstalledListUrl)(e,n,r));return{skills:Array.isArray(l.skills)?l.skills:[]}}async function i(e,n,r,l){return(0,t.get)((0,a.buildBaseSkillMdUrl)(e,n,r,l))}async function o(e,n,r,l,s){await (0,t.put)((0,a.buildBaseSkillMdUrl)(e,n,r,l),{content:s})}async function c(e,n,r){let l=await (0,t.get)((0,a.buildToolsRuntimeFilesUrl)(e,n,r));return{runtimeToolsDir:"string"==typeof l.runtimeToolsDir?l.runtimeToolsDir:"",items:Array.isArray(l.items)?l.items.filter(e=>!!(e&&e.id)):[]}}async function d(e,n,r){let l=await (0,t.get)((0,a.buildMcpRuntimeFilesUrl)(e,n,r));return{mcpRuntimeDir:"string"==typeof l.mcpRuntimeDir?l.mcpRuntimeDir:"",items:Array.isArray(l.items)?l.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,n,r,l){return(0,t.del)((0,a.buildToolsRuntimeDeleteUrl)(e,n,r,l))}async function p(e,n,r,l){return(0,t.del)((0,a.buildMcpRuntimeDeleteUrl)(e,n,r,l))}function m(e,t,n,r){return(0,a.buildToolsRuntimeExportUrl)(e,t,n,r)}function f(e,t,n,r){return(0,a.buildMcpRuntimeExportUrl)(e,t,n,r)}async function g(e,n,r,l){let s=new FormData;return s.append("file",l),(0,t.post)((0,a.buildToolsRuntimeImportUrl)(e,n,r),s,{type:"file"})}async function x(e,n,r,l){let s=new FormData;return s.append("file",l),(0,t.post)((0,a.buildMcpRuntimeImportUrl)(e,n,r),s,{type:"file"})}async function h(e,n,r){return(0,t.get)((0,a.buildRemoteMcpJsonUrl)(e,n,r))}async function v(e,n,r,l){await (0,t.post)((0,a.buildRemoteMcpJsonUrl)(e,n,r),{content:l})}async function b(e,n,r,l,s){return(0,t.get)((0,a.buildRuntimeMcpItemConfigUrl)(e,n,r,l,s))}async function y(e,n,r,l,s,i){await (0,t.put)((0,a.buildRuntimeMcpItemConfigUrl)(e,n,r,l,s),{server:i})}async function j(e,n,r,l,s){await (0,t.del)((0,a.buildRuntimeMcpItemConfigUrl)(e,n,r,l,s))}async function S(e,n,r,l){return(0,t.del)((0,a.buildSkillsRuntimeDeleteUrl)(e,n,r,l))}function w(e,t,n,r){return(0,a.buildSkillsRuntimeExportUrl)(e,t,n,r)}async function C(e,n,r,l,s,i){let o=await (0,t.get)((0,a.buildCloudSkillCatalogUrl)(e,n,r,l,s,i));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function k(e,n,r,l){await (0,t.post)((0,a.buildCloudSkillInstallUrl)(e,n,r),{id:l})}},84919,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],84919);var t=e.i(59992),a=e.i(65765),n=e.i(87655),r=e.i(96745),l=e.i(92369);function s(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function i(e){let{uploadUrl:i,accept:o,disabled:c=!1,multiple:d=!1,maxFileSize:u=0x3200000,autoUpload:p=!1,method:m="POST",transport:f="xhr",fieldName:g="file",headers:x,extraFormData:h,autoRetryTimes:v=0,autoRetryDelayMs:b=800,selectionOnly:y=!1,className:j,emptyTitle:S="点击或拖拽文件到此处",emptyHint:w="支持上传文件",onFilesChange:C,onUploadSuccess:k,onUploadError:N,onValidationError:T}=e,A=a.useId(),E=a.useRef(null),M=a.useRef(new Map),R=a.useRef(new Map),I=a.useRef([]),[_,L]=a.useState(!1),[O,P]=a.useState([]),D=a.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);a.useEffect(()=>{I.current=O,null==C||C(O)},[O,C]),a.useEffect(()=>()=>{for(let e of M.current.values())e.abort();for(let e of R.current.values())e.abort();for(let e of I.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let U=a.useCallback((e,t)=>{P(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),B=a.useCallback(async(e,t)=>{let a=I.current.find(t=>t.id===e);if(!a||c)return;U(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let n=new FormData;if(h)for(let[e,t]of Object.entries(h))n.append(e,t);n.append(g,a.file);try{let t="";if("fetch"===f){let a=new AbortController;R.current.set(e,a);let r=await fetch(i,{method:m,headers:x,body:n,signal:a.signal}),l=await r.text();try{t=l?JSON.parse(l):""}catch(e){t=l}if(!r.ok)throw Error("上传失败:".concat(r.status," ").concat(r.statusText))}else t=await new Promise((t,a)=>{let r=new XMLHttpRequest;if(M.current.set(e,r),r.open(m,i,!0),x)for(let[e,t]of Object.entries(x))r.setRequestHeader(e,t);r.upload.onprogress=t=>{if(!t.lengthComputable)return;let a=Math.min(100,Math.round(t.loaded/t.total*100));U(e,{progress:a})},r.onerror=()=>a(Error("网络异常,上传失败")),r.onabort=()=>a(Error("__ABORTED__")),r.onload=()=>{r.status>=200&&r.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(r)):a(Error("上传失败:".concat(r.status," ").concat(r.statusText)))},r.send(n)});U(e,{status:"success",progress:100,error:""});let a=I.current.find(t=>t.id===e);a&&(null==k||k(a,t))}catch(r){let a=r instanceof Error?r.message:String(r);if("__ABORTED__"===a)return void U(e,{status:"selected",progress:0,error:""});if(t<v){U(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(v,")")}),await new Promise(e=>window.setTimeout(e,b)),await B(e,t+1);return}U(e,{status:"error",error:a});let n=I.current.find(t=>t.id===e);n&&(null==N||N(n,a))}finally{M.current.delete(e),R.current.delete(e)}},[b,v,c,h,g,x,m,N,k,f,U,i]),z=a.useCallback(e=>{B(e,0)},[B]),F=a.useCallback(e=>{var t,a;null==(t=M.current.get(e))||t.abort(),null==(a=R.current.get(e))||a.abort()},[]),V=a.useCallback(()=>{for(let e of I.current)("selected"===e.status||"error"===e.status)&&z(e.id)},[z]),K=a.useCallback(e=>{if(c||!e.length)return;let t=new Set(I.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),a=[];for(let n of e){let e="".concat(n.name,"::").concat(n.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let a=e.name.toLowerCase(),n=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?a.endsWith(e):e.endsWith("/*")?n.startsWith("".concat(e.slice(0,-1))):n===e)}(n,D)){null==T||T("文件类型不支持:".concat(n.name));continue}if(n.size>u){null==T||T("文件过大(最大 ".concat(s(u),"):").concat(n.name));continue}t.add(e),a.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:n,status:"selected",progress:0,error:"",retryCount:0,previewUrl:n.type.startsWith("image/")?URL.createObjectURL(n):""})}}if(!a.length)return;let n=d?[...I.current,...a]:[a[a.length-1]];if(!d)for(let e of I.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(P(n),p&&!y)for(let e of a)z(e.id)},[D,p,c,u,d,T,y,z]),W=a.useCallback(e=>{let t=e.target.files;t&&(K(Array.from(t)),e.target.value="")},[K]),J=a.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),L(!1),c||K(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[K,c]);return(0,t.jsxs)("div",{className:(0,r.cn)("flex min-h-0 w-full flex-col gap-3",j),children:[(0,t.jsx)("input",{ref:E,id:A,type:"file",hidden:!0,accept:o,multiple:d,disabled:c,onChange:W}),(0,t.jsxs)("label",{htmlFor:A,onDragOver:e=>{e.preventDefault(),c||L(!0)},onDragLeave:e=>{e.preventDefault(),L(!1)},onDrop:J,className:(0,r.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",_&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(n.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-[var(--ds-text)]",children:S}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:w})]}),O.length?(0,t.jsx)("div",{className:"space-y-2",children:O.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:s(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(n.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(l.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>z(e.id),children:["error"===e.status?(0,t.jsx)(n.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(l.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>F(e.id),children:[(0,t.jsx)(n.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!p&&O.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(l.Button,{type:"button",size:"sm",onClick:V,disabled:c,children:"上传"})}):null]})}var o=e.i(65486),c=e.i(18805),d=e.i(61293);function u(e){let{open:n,onOpenChange:r,title:s,description:u,uploadUrl:p,resetKey:m}=e,[f,g]=(0,a.useState)(!1),[x,h]=(0,a.useState)(null),v=(0,a.useCallback)(()=>{r(!1),h(null)},[r]),b=(0,a.useCallback)(async()=>{if(!x)return void c.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",x),g(!0);try{let t=await (0,d.bridgeFetch)(p,{method:"POST",body:e}),a=Number(t.imported||0),n=Number(t.overwritten||0),r=Array.isArray(t.rejected)?t.rejected.length:0;c.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(n)+(r>0?",拒绝 ".concat(r):"")),v()}catch(e){c.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{g(!1)}},[v,x,p]);return(0,t.jsx)(o.Dialog,{open:n,onOpenChange:e=>{r(e),e||h(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:s}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:v,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(i,{uploadUrl:p,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:f,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;h(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{c.appToast.info(e)}},"".concat(n?"open":"closed","-").concat(null!=m?m:p)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(l.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:v,children:"取消"}),(0,t.jsx)(l.Button,{type:"button",size:"lg",variant:"default",disabled:f||null==x,onClick:()=>void b(),children:f?"导入中…":"确定"})]})]})]})})}},37549,(e,t,a)=>{"use strict";function n(e){let t={};for(let[a,n]of e.entries()){let e=t[a];void 0===e?t[a]=n:Array.isArray(e)?e.push(n):t[a]=[e,n]}return t}function r(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let t=new URLSearchParams;for(let[a,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(a,r(e));else t.set(a,r(n));return t}function s(e){for(var t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];for(let t of a){for(let a of t.keys())e.delete(a);for(let[a,n]of t.entries())e.append(a,n)}return e}Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{assign:function(){return s},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return l}})},58020,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{formatUrl:function(){return l},formatWithValidation:function(){return i},urlObjectKeys:function(){return s}});let n=e.r(98389)._(e.r(37549)),r=/https?|ftp|gopher|file/;function l(e){let{auth:t,hostname:a}=e,l=e.protocol||"",s=e.pathname||"",i=e.hash||"",o=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:a&&(c=t+(~a.indexOf(":")?"["+a+"]":a),e.port&&(c+=":"+e.port)),o&&"object"==typeof o&&(o=String(n.urlQueryToSearchParams(o)));let d=e.search||o&&"?"+o||"";return l&&!l.endsWith(":")&&(l+=":"),e.slashes||(!l||r.test(l))&&!1!==c?(c="//"+(c||""),s&&"/"!==s[0]&&(s="/"+s)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),d&&"?"!==d[0]&&(d="?"+d),""+l+c+(s=s.replace(/[?#]/g,encodeURIComponent))+(d=d.replace("#","%23"))+i}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return l(e)}},6027,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{DecodeError:function(){return g},MiddlewareNotFoundError:function(){return b},MissingStaticPage:function(){return v},NormalizeError:function(){return x},PageNotFoundError:function(){return h},SP:function(){return m},ST:function(){return f},WEB_VITALS:function(){return n},execOnce:function(){return r},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return o},isAbsoluteUrl:function(){return s},isResSent:function(){return d},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return u},stringifyError:function(){return y}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,a=!1;return function(){for(var n=arguments.length,r=Array(n),l=0;l<n;l++)r[l]=arguments[l];return a||(a=!0,t=e(...r)),t}}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>l.test(e);function i(){let{protocol:e,hostname:t,port:a}=window.location;return e+"//"+t+(a?":"+a:"")}function o(){let{href:e}=window.location,t=i();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function u(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function p(e,t){let a=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(a&&d(a))return n;if(!n)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let m="undefined"!=typeof performance,f=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class x extends Error{}class h extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class v extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function y(e){return JSON.stringify({message:e.message,stack:e.stack})}},74788,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"isLocalURL",{enumerable:!0,get:function(){return l}});let n=e.r(6027),r=e.r(16612);function l(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),a=new URL(e,t);return a.origin===t&&(0,r.hasBasePath)(a.pathname)}catch(e){return!1}}},5763,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},48579,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{default:function(){return x},useLinkStatus:function(){return v}});let n=e.r(98389),r=e.r(59992),l=n._(e.r(65765)),s=e.r(58020),i=e.r(18858),o=e.r(30183),c=e.r(6027),d=e.r(1506);e.r(22751);let u=e.r(42831),p=e.r(74788),m=e.r(46150);e.r(5763);let f=e.r(73835);function g(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}function x(e){var t;let a,n,s,[x,v]=(0,l.useOptimistic)(u.IDLE_LINK_STATUS),b=(0,l.useRef)(null),{href:y,as:j,children:S,prefetch:w=null,passHref:C,replace:k,shallow:N,scroll:T,onClick:A,onMouseEnter:E,onTouchStart:M,legacyBehavior:R=!1,onNavigate:I,ref:_,unstable_dynamicOnHover:L,...O}=e;a=S,R&&("string"==typeof a||"number"==typeof a)&&(a=(0,r.jsx)("a",{children:a}));let P=l.default.useContext(i.AppRouterContext),D=!1!==w,U=!1!==w?null===(t=w)||"auto"===t?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,{href:B,as:z}=l.default.useMemo(()=>{let e=g(y);return{href:e,as:j?g(j):e}},[y,j]);R&&(n=l.default.Children.only(a));let F=R?n&&"object"==typeof n&&n.ref:_,V=l.default.useCallback(e=>(null!==P&&(b.current=(0,u.mountLinkInstance)(e,B,P,U,D,v)),()=>{b.current&&((0,u.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,u.unmountPrefetchableInstance)(e)}),[D,B,P,U,v]),K={ref:(0,o.useMergedRef)(V,F),onClick(e){R||"function"!=typeof A||A(e),R&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),P&&(e.defaultPrevented||function(e,t,a,n,r,s,i){let{nodeName:o}=e.currentTarget;if(!("A"===o.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,p.isLocalURL)(t)){r&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}l.default.startTransition(()=>{(0,m.dispatchNavigateAction)(a||t,r?"replace":"push",null==s||s,n.current)})}}(e,B,z,b,k,T,I))},onMouseEnter(e){R||"function"!=typeof E||E(e),R&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),P&&D&&(0,u.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){R||"function"!=typeof M||M(e),R&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),P&&D&&(0,u.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,c.isAbsoluteUrl)(z)?K.href=z:R&&!C&&("a"!==n.type||"href"in n.props)||(K.href=(0,d.addBasePath)(z)),s=R?l.default.cloneElement(n,K):(0,r.jsx)("a",{...O,...K,children:a}),(0,r.jsx)(h.Provider,{value:x,children:s})}let h=(0,l.createContext)(u.IDLE_LINK_STATUS),v=()=>(0,l.useContext)(h);("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},22420,e=>{"use strict";e.s(["ImManageView",()=>n]);var t=e.i(59992),a=e.i(82735);function n(){return(0,t.jsx)(a.AgentEnvGroupSettingsView,{group:"tutui"})}},96502,e=>{"use strict";e.s(["GitManageView",()=>n]);var t=e.i(59992),a=e.i(82735);function n(){return(0,t.jsx)(a.AgentEnvGroupSettingsView,{group:"git"})}},15631,e=>{"use strict";e.s(["SystemManageView",()=>n]);var t=e.i(59992),a=e.i(82735);function n(){return(0,t.jsx)(a.AgentEnvGroupSettingsView,{group:"system"})}},88435,e=>{"use strict";e.s(["GeelibManageView",()=>n]);var t=e.i(59992),a=e.i(82735);function n(){return(0,t.jsx)(a.AgentEnvGroupSettingsView,{group:"geelib"})}},29716,e=>{"use strict";e.s(["LLM_MODEL_KEY",()=>t,"LLM_PROVIDER_ID_KEY",()=>a,"PERMISSION_MODE_EMPTY_SENTINEL",()=>i,"WS_ALLOW_TOOL_ASK_ALLOWED",()=>s,"WS_ALLOW_TOOL_ASK_KEY",()=>r,"WS_PERMISSION_MODE_ALLOWED",()=>l,"WS_PERMISSION_MODE_KEY",()=>n]);let t="LLM_MODEL",a="LLM_PROVIDER_ID",n="WS_PERMISSION_MODE",r="WS_ALLOW_TOOL_ASK",l=["acceptEdits","plan","default","dontAsk","bypassPermissions"],s=new Set(["0","1"]),i="__empty__"},57757,e=>{"use strict";e.s(["EnvManageView",()=>E],57757);var t=e.i(59992),a=e.i(65765),n=e.i(15692),r=e.i(92369),l=e.i(87655),s=e.i(84081),i=e.i(65486),o=e.i(55105),c=e.i(72483),d=e.i(18805),u=e.i(36763),p=e.i(37566),m=e.i(75854),f=e.i(21637),g=e.i(96745),x=e.i(49377);let h=[{key:"id",name:"名称",required:!0,placeholder:"例如 openai-main"},{key:"provider",name:"协议类型",required:!0,options:[{label:"openai",value:"openai"},{label:"anthropic",value:"anthropic"}]},{key:"baseUrl",name:"接口地址",required:!0,placeholder:"例如 https://api.openai.com/v1"},{key:"apiKey",name:"API秘钥",required:!0,inputType:"password"},{key:"authToken",name:"认证变量",inputType:"password"},{key:"modelId",name:"模型 ID",required:!0,placeholder:"例如 gpt-4o"}],v=/^[A-Za-z0-9_-]+$/;function b(){return Object.fromEntries(h.map(e=>{var t,a,n;return[e.key,null!=(n=null==(a=e.options)||null==(t=a[0])?void 0:t.value)?n:""]}))}function y(e){let{open:n,onOpenChange:l,onSaved:y}=e,j=(0,a.useId)(),S=(0,x.useAppStore)(e=>e.wsUrl),w=(0,x.useAppStore)(e=>e.apiBase),{currentAgent:C,loadAgentConfig:k}=(0,u.useSession)(),{sendReloadAgentConfig:N}=(0,p.useWebSocketSender)(),[T,A]=(0,a.useState)(!0),[E,M]=(0,a.useState)(!1),[R,I]=(0,a.useState)(!1),[_,L]=(0,a.useState)(b),O=(0,a.useCallback)(()=>{L(b()),I(!1)},[]);(0,a.useEffect)(()=>{n&&(A(!0),O(),k().finally(()=>{A(!1)}))},[n,k,O]);let P=(0,a.useCallback)((e,t)=>{I(!0),L(a=>({...a,[e]:t}))},[]),D=(0,a.useCallback)(async e=>{if(e)return void l(!0);(!R||await (0,f.confirmDiscardFlyoutChanges)())&&l(!1)},[R,l]),U=(0,a.useCallback)(async()=>{let e=x.useAppStore.getState().agentConfig,t=function(e,t){var a,n;let r=new Set(h.map(e=>e.key));for(let t of h)if(t.required&&!String(null!=(a=e[t.key])?a:"").trim())return{ok:!1,message:"请填写".concat(t.name)};if(!r.has("id"))return{ok:!0};let l=String(null!=(n=e.id)?n:"").trim();return v.test(l)?t.some(e=>e.id===l)?{ok:!1,message:"服务商 ID 已存在:".concat(l)}:{ok:!0}:{ok:!1,message:"服务商 ID 仅允许字母、数字、下划线和中划线"}}(_,e.llmProviders);if(!t.ok)return void d.appToast.info(t.message);let a=function(e){var t,a,n,r,l,s;let i=String(null!=(t=e.id)?t:"").trim(),o=String(null!=(a=e.modelId)?a:"").trim(),c=String(null!=(n=e.modelLabel)?n:"").trim();return{id:i,name:i,baseUrl:String(null!=(r=e.baseUrl)?r:"").trim(),apiKey:String(null!=(l=e.apiKey)?l:"").trim(),authToken:String(null!=(s=e.authToken)?s:"").trim(),provider:"anthropic"===e.provider?"anthropic":"openai",models:[{id:o,label:c}],defaultModel:o}}(_),n=[...e.llmProviders.map(e=>({...e,models:e.models.map(e=>({...e}))})),a];M(!0);try{await (0,m.persistAgentEnv)(S,w,C(),{...e.env},N,{llmProviders:n}),I(!1),await (null==y?void 0:y()),l(!1)}catch(e){d.appToast.error("保存服务商失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(!1)}},[_,S,w,C,N,l,y]);return(0,t.jsx)(i.Dialog,{open:n,onOpenChange:e=>void D(e),children:(0,t.jsxs)(i.DialogContent,{"aria-labelledby":j,className:"max-w-4xl",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)(i.DialogTitle,{id:j,children:"添加服务商"})}),(0,t.jsx)(i.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(i.DialogBody,{className:"flex min-h-[420px] flex-col overflow-hidden !py-4",children:T?(0,t.jsx)(s.Loading,{text:"加载中",showImage:!1,className:"min-h-0 flex-1"}):(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(0,t.jsx)("div",{className:"divide-y divide-[var(--ds-border)]",children:h.map(e=>{var a,n;let r="custom-env-field-".concat(e.key),l="new-provider-field-".concat(j,"-").concat(e.key),s="string"==typeof _[e.key]?_[e.key]:"";return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsxs)("label",{className:"text-[var(--ds-text)]",htmlFor:r,children:[e.name,e.required?(0,t.jsx)("span",{className:"ml-0.5 text-destructive",children:"*"}):null]}),e.options?(0,t.jsxs)(c.Select,{value:s,onValueChange:t=>P(e.key,t),children:[(0,t.jsx)(c.SelectTrigger,{id:r,className:(0,g.cn)("h-8 w-full max-w-none bg-[var(--ds-bg)] text-[var(--ds-text)]",e.className),children:(0,t.jsx)(c.SelectValue,{})}),(0,t.jsx)(c.SelectContent,{children:e.options.map(e=>(0,t.jsx)(c.SelectItem,{value:e.value,children:e.label},e.value))})]}):(0,t.jsx)(o.Input,{id:r,name:l,type:null!=(a=e.inputType)?a:"text",spellCheck:!1,autoComplete:"password"===e.inputType?"new-password":"off",placeholder:null!=(n=e.placeholder)?n:"请输入".concat(e.name),className:(0,g.cn)("border-[var(--ds-border)] bg-[var(--ds-bg)] placeholder:text-[var(--text-placeholder)]",e.className),value:s,onChange:t=>P(e.key,t.target.value)})]},e.key)})})})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:[(0,t.jsx)(r.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:T||E,onClick:()=>void D(!1),className:"cursor-pointer",children:"取消"}),(0,t.jsx)(r.Button,{type:"button",size:"lg",disabled:T||E,onClick:()=>void U(),className:"cursor-pointer",children:E?"保存中…":"保存"})]})]})})}var j=e.i(26162),S=e.i(29716),w=e.i(85941);function C(e){let{row:a,onSetDefault:n,settingDefault:l=!1,onTest:s,onEdit:i,onDelete:o}=e,c="".concat(a.baseUrl," · ").concat(a.model);return(0,t.jsxs)("article",{className:(0,g.cn)("group flex w-full items-center gap-4 rounded-xl border border-solid bg-[var(--ds-bg)] px-4 py-3.5 transition-[border-color,box-shadow]",a.isDefault?"border-[color:var(--ds-ok)]":"border-[color:var(--ds-border)] hover:shadow-[0_2px_12px_rgba(0,0,0,0.06)]"),children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)("span",{className:(0,g.cn)("size-2 shrink-0 rounded-full",a.isDefault?"bg-[var(--ds-ok)]":"bg-[var(--ds-muted)]"),"aria-hidden":"true"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("h3",{className:"truncate text-base font-semibold text-[var(--ds-text)]",children:[a.name,a.isDefault?(0,t.jsx)("span",{className:"ml-2 inline-flex rounded-md bg-[color-mix(in_srgb,var(--ds-ok)_12%,transparent)] px-1.5 py-0.5 text-xs font-medium text-[var(--ds-ok)]",children:"默认"}):null]}),(0,t.jsx)("p",{className:"mt-1 truncate text-[var(--ds-muted)]",title:c,children:c})]})]}),(0,t.jsxs)("div",{className:"pointer-events-none invisible flex shrink-0 items-center opacity-0 transition-opacity group-focus-within:pointer-events-auto group-focus-within:visible group-focus-within:opacity-100 group-hover:pointer-events-auto group-hover:visible group-hover:opacity-100",children:[(0,t.jsx)(r.Button,{type:"button",variant:"plain",size:"sm",disabled:a.isDefault||l,className:"h-8 cursor-pointer !px-0 text-[var(--ds-text)] hover:text-[var(--ds-accent)] disabled:cursor-not-allowed disabled:text-[var(--ds-muted)] disabled:opacity-60",onClick:()=>n(a.id),children:l?"设置中…":"设为默认"}),s?(0,t.jsx)(r.Button,{type:"button",variant:"plain",size:"sm",className:"h-8 cursor-pointer px-2 text-[var(--ds-text)] hover:text-[var(--ds-accent)]",onClick:()=>s(a.id),children:"测试"}):null,i?(0,t.jsx)(w.IconTooltipButton,{icon:"Edit",label:"编辑",ariaLabel:"编辑 ".concat(a.name),onClick:()=>i(a.id)}):null,(0,t.jsx)(w.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(a.name),onClick:()=>o(a.id)})]})]})}function k(e,t){var a,n;let r="string"==typeof t[S.LLM_PROVIDER_ID_KEY]?t[S.LLM_PROVIDER_ID_KEY].trim():"";return r&&e.some(e=>e.id===r)?r:null!=(n=null==(a=e[0])?void 0:a.id.trim())?n:""}function N(e,t){let a=k(e,t);return e.map(e=>{let t=e.models[0];return{id:e.id,name:e.name||e.id,baseUrl:e.baseUrl,model:e.defaultModel||(null==t?void 0:t.label)||(null==t?void 0:t.id)||"",isDefault:e.id===a}})}function T(e){console.log("edit",e)}function A(){let e=(0,x.useAppStore)(e=>e.wsUrl),n=(0,x.useAppStore)(e=>e.apiBase),r=(0,x.useAppStore)(e=>e.agentConfig.llmProviders),l=(0,x.useAppStore)(e=>e.agentConfig.env),{currentAgent:s}=(0,u.useSession)(),{sendReloadAgentConfig:i}=(0,p.useWebSocketSender)(),[o,c]=(0,a.useState)(()=>N(r,l)),[f,g]=(0,a.useState)(null);(0,a.useEffect)(()=>{c(N(r,l))},[r,l]);let h=(0,a.useCallback)(async t=>{let a=x.useAppStore.getState();if(t!==k(a.agentConfig.llmProviders,a.agentConfig.env)){g(t);try{await (0,m.persistAgentEnv)(e,n,s(),{...a.agentConfig.env,[S.LLM_PROVIDER_ID_KEY]:t},i)}catch(e){d.appToast.error("设为默认失败:".concat(e instanceof Error?e.message:String(e)))}finally{g(null)}}},[e,n,s,i]),v=(0,a.useCallback)(e=>{o.find(t=>t.id===e)&&(c(t=>t.filter(t=>t.id!==e)),d.appToast.success("已删除服务商"))},[o]);return(0,t.jsx)("div",{className:"mt-4 flex flex-col gap-3",children:0===o.length?(0,t.jsx)(j.Empty,{text:"暂无服务商"}):o.map(e=>(0,t.jsx)(C,{row:e,onSetDefault:e=>void h(e),settingDefault:f===e.id,onEdit:T,onDelete:v},e.id))})}function E(){let[e,s]=(0,a.useState)(!1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.ManageChromeHeaderActions,{children:(0,t.jsx)("div",{className:"flex flex-wrap items-center",children:(0,t.jsxs)(r.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:()=>s(!0),className:"mr-[12px]",children:[(0,t.jsx)(l.default,{name:"Create",size:16,className:"align-middle"}),"添加服务商"]})})}),(0,t.jsx)(A,{}),(0,t.jsx)(y,{open:e,onOpenChange:s})]})}},47284,e=>{"use strict";e.s(["ToolsManageView",()=>E],47284);var t=e.i(59992),a=e.i(65765),n=e.i(49377),r=e.i(36763),l=e.i(18805),s=e.i(41995),i=e.i(92369),o=e.i(84081),c=e.i(96214),d=e.i(85941),u=e.i(13014),p=e.i(78678),m=e.i(87655),f=e.i(55105);function g(e){let{items:n,saveBusy:r,onToggle:l,onExport:s,onRemove:i,className:o}=e,[g,x]=(0,a.useState)(""),h=(0,a.useMemo)(()=>n.filter(e=>(function(e,t){var a,n;let r=t.trim().toLowerCase();if(!r)return!0;let l="system"===e.layer?"系统":"agent"===e.layer?"Agent":"";return"".concat(e.name," ").concat(null!=(a=e.label)?a:""," ").concat(null!=(n=e.description)?n:""," ").concat(l).toLowerCase().includes(r)})(e,g)),[n,g]),v=[{key:"name",title:"名称",headerClassName:"",cellClassName:"",render:e=>{let a=e.label||e.name;return(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{children:a}),(0,t.jsx)(p.StatusBadge,{tone:e.enabled?"success":"default",children:e.enabled?"启用":"未启用"})]})}},{key:"layer",title:"层级",headerClassName:"w-[88px]",cellClassName:"w-[88px] whitespace-nowrap text-[var(--ds-text)]",render:e=>"system"===e.layer?"系统":"agent"===e.layer?"Agent":"-"},{key:"description",title:"详情",headerClassName:"",cellClassName:"",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"",cellClassName:"whitespace-nowrap text-[var(--ds-text)]",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,t.jsx)(c.AccentSwitch,{checked:!!e.enabled,disabled:r,onCheckedChange:t=>l(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] ",cellClassName:"w-[128px]",render:e=>{let a=!0===e.canManage;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(d.IconTooltipButton,{icon:"Download",label:a?"导出":"系统内置工具不可导出",ariaLabel:"导出 ".concat(e.label||e.name),disabled:r||!a,onClick:()=>s(e.name)}),(0,t.jsx)(d.IconTooltipButton,{icon:"Trash2",label:a?"删除":"系统内置工具不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label||e.name),disabled:r||!a,onClick:()=>{i(e.name)}})]})}}],b=g.trim();return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(f.Input,{type:"search",value:g,onChange:e=>x(e.target.value),placeholder:"搜索名称 / 详情 / 层级",className:"h-8 pl-8","aria-label":"搜索工具"}),(0,t.jsx)(m.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)(u.AppTable,{rows:h,columns:v,getRowKey:e=>"tools:".concat(e.name),className:o,emptyText:b?"未找到匹配工具":void 0})]})}var x=e.i(10602),h=e.i(84919);function v(e){let{open:a,onOpenChange:n,wsUrl:r,apiBase:l,agent:s}=e;return(0,t.jsx)(h.ResourceImportDialog,{open:a,onOpenChange:n,title:"导入工具 zip",description:"选择一个 zip 文件并导入到 tools-runtime。",uploadUrl:(0,x.buildToolsRuntimeImportUrl)(r,l,s),resetKey:s})}var b=e.i(40751);let y=[["name","稳定工具名,与 agent.json.tools 白名单对应"],["call","工具执行入口"],["inputSchema","Zod schema,定义 LLM 入参"],["description","工具描述,可为 async 函数"],["prompt","返回给模型的使用说明,可为 async 函数"],["mapToolResultToToolResultBlockParam","将执行结果映射为 API tool_result 块"]],j=["包目录位于 tools-runtime/<package-name>/,包名使用 kebab-case","包根目录存在 index.js / index.cjs / index.mjs 之一,宿主不会加载源码 TS","入口导出 Tool 对象,工具 name 稳定且唯一","initWsSession 正确处理 ready / skipped / failed",'agent.json.tools 包含工具名或 "*",且未被 disallowedTools 禁用',"GET /api/tools?agent=<id> 中工具 enabled: true 且 readiness: ready"];function S(e){let{index:a,title:n,children:r,className:l}=e;return(0,t.jsxs)("section",{className:"rounded-xl border border-[var(--ds-border)] bg-[var(--surface-1)] p-4 ".concat(null!=l?l:""),children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center gap-3",children:[(0,t.jsx)("span",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-[var(--ds-accent)] text-base font-semibold text-[var(--surface-1)]",children:a}),(0,t.jsx)("h3",{className:"text-base font-semibold text-[var(--ds-text)]",children:n})]}),r]})}function w(e){let{open:a,onOpenChange:n}=e;return(0,t.jsx)(b.AppDialog,{open:a,onOpenChange:n,title:"工具接入说明",width:"max-w-4xl",footer:(0,t.jsx)(i.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:()=>n(!1),children:"我知道了"}),children:(0,t.jsxs)("div",{className:"flex max-h-[72vh] flex-col gap-4 overflow-y-auto pr-1 text-sm text-[var(--ds-text)]",children:[(0,t.jsx)(S,{index:1,title:"概念",children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("span",{className:"bg-[var(--ds-accent)]/10 mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-lg text-[var(--ds-accent)]",children:(0,t.jsx)(m.default,{name:"Wrench",size:18})}),(0,t.jsxs)("p",{className:"min-w-0 leading-6 text-[var(--ds-muted)]",children:["Runtime Tool 是磁盘上的独立工具包,放在",(0,t.jsx)("code",{className:"mx-1 rounded bg-[var(--ds-sidebar)] px-1.5 py-0.5",children:"tools-runtime/<package-name>/"}),"下。宿主与工具包只通过编译入口的导出契约通信,互不 import 对方源码。"]})]})}),(0,t.jsxs)(S,{index:2,title:"存放路径",children:[(0,t.jsx)("pre",{className:"overflow-x-auto rounded-lg bg-[var(--ds-sidebar)] p-3 text-xs leading-5 text-[var(--ds-text)]",children:"<WS_AGENTS_ROOT>/tools-runtime/<package-name>/\n index.cjs # 必选:编译后的单文件入口\n package.json # 可选\n build.ts # 可选\n src/ # 可选,宿主不加载"}),(0,t.jsxs)("p",{className:"mt-3 leading-6 text-[var(--ds-muted)]",children:["默认 WS_AGENTS_ROOT 为项目下的",(0,t.jsx)("code",{className:"mx-1 rounded bg-[var(--ds-sidebar)] px-1.5 py-0.5",children:".ws-agents"}),",宿主按",(0,t.jsx)("code",{className:"mx-1 rounded bg-[var(--ds-sidebar)] px-1.5 py-0.5",children:".js > .cjs > .mjs"}),"优先级加载入口。agent 层同名包会覆盖 system 层包。"]})]}),(0,t.jsx)(S,{index:3,title:"接入方式",children:(0,t.jsxs)("div",{className:"space-y-3 text-[var(--ds-muted)]",children:[(0,t.jsxs)("p",{children:[(0,t.jsx)("span",{className:"font-medium text-[var(--ds-text)]",children:"手工放置:"}),"在 .ws-agents/tools-runtime/ 下创建包目录并完成构建,重启会话或触发 reloadDynamicTools。"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("span",{className:"font-medium text-[var(--ds-text)]",children:"Zip 导入:"}),"zip 内必须是单根目录结构,例如 my-tool/index.cjs。"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("span",{className:"font-medium text-[var(--ds-text)]",children:"内置 system 包:"}),"发布到 packages/agent/tools-runtime,用户可用 agent 层同名包覆盖。"]})]})}),(0,t.jsxs)(S,{index:4,title:"包内必须实现的契约",children:[(0,t.jsx)("p",{className:"mt-2 leading-6 text-[var(--ds-muted)]",children:"入口模块需导出至少一个 Tool 对象,可使用 default、tools 数组或命名导出。"}),(0,t.jsx)("div",{className:"mt-3 grid gap-2",children:y.map(e=>{let[a,n]=e;return(0,t.jsxs)("div",{className:"rounded-lg border border-[var(--ds-border)] bg-[var(--surface-1)] px-3 py-2",children:[(0,t.jsx)("code",{className:"text-base font-semibold text-[var(--ds-accent)]",children:a}),(0,t.jsx)("p",{className:"mt-1 text-base leading-5 text-[var(--ds-muted)]",children:n})]},a)})}),(0,t.jsx)("div",{className:"mt-4 rounded-lg border border-[var(--ds-border)] bg-[var(--ds-sidebar)] p-3",children:(0,t.jsxs)("p",{className:"leading-6 text-[var(--ds-muted)]",children:["生产包推荐实现",(0,t.jsx)("code",{className:"mx-1 rounded bg-[var(--surface-1)] px-1.5 py-0.5",children:"initWsSession"}),",返回 ready 才会进入 LLM 工具列表;skipped 或 failed 不会暴露。未实现时默认 ready。"]})})]}),(0,t.jsx)(S,{index:5,title:"最小示例",children:(0,t.jsxs)("p",{className:"leading-6 text-[var(--ds-muted)]",children:["最小包通常包含 package.json、build.ts 和 src/index.ts,构建后在包根目录产出",(0,t.jsx)("code",{className:"mx-1 rounded bg-[var(--ds-sidebar)] px-1.5 py-0.5",children:"index.cjs"}),"。若 package.json 使用",(0,t.jsx)("code",{className:"mx-1 rounded bg-[var(--ds-sidebar)] px-1.5 py-0.5",children:"type: module"}),",优先产出 index.cjs,避免 ESM/CJS 冲突。"]})}),(0,t.jsxs)(S,{index:6,title:"在 agent 中启用",children:[(0,t.jsx)("pre",{className:"overflow-x-auto rounded-lg bg-[var(--ds-sidebar)] p-3 text-base leading-5 text-[var(--ds-text)]",children:'{\n "tools": ["HelloTool"]\n}'}),(0,t.jsxs)("p",{className:"mt-3 leading-6 text-[var(--ds-muted)]",children:[(0,t.jsx)("code",{className:"mx-1 rounded bg-[var(--ds-sidebar)] px-1.5 py-0.5",children:'"*"'}),"暴露全部已加载且 ready 的 runtime 工具;",(0,t.jsx)("code",{className:"mx-1 rounded bg-[var(--ds-sidebar)] px-1.5 py-0.5",children:"[]"}),"不暴露任何 runtime 工具。MCP 工具由 mcpServers 单独控制。"]})]}),(0,t.jsxs)(S,{index:7,title:"宿主加载流程",children:[(0,t.jsx)("div",{className:"rounded-lg bg-[var(--ds-sidebar)] p-3 text-base leading-6 text-[var(--ds-muted)]",children:"discoverRuntimePackages → dynamic import index.* → initWsSession → extractToolsFromModule → agent.json.tools 白名单过滤 → LLM 可见工具列表"}),(0,t.jsx)("p",{className:"mt-3 leading-6 text-[var(--ds-muted)]",children:"触发时机包括 WS 会话 init、reloadDynamicTools,以及带 agent 参数的 GET /api/tools。 可通过 CLAUDE_CODE_RUNTIME_TOOLS_ENABLED=0 关闭 runtime 工具。"})]}),(0,t.jsx)(S,{index:8,title:"参考实现",children:(0,t.jsxs)("div",{className:"space-y-2 leading-6 text-[var(--ds-muted)]",children:[(0,t.jsx)("p",{children:"schedule-tool:会话级 init、agent 白名单、文件持久化。"}),(0,t.jsx)("p",{children:"git-tool:环境变量驱动、ready / skipped / failed 状态。"}),(0,t.jsx)("p",{children:"code-tool:通过 buildSessionAppend 追加会话上下文。"})]})}),(0,t.jsx)(S,{index:9,title:"验收清单",children:(0,t.jsx)("ul",{className:"grid gap-2",children:j.map(e=>(0,t.jsxs)("li",{className:"flex gap-2 leading-6 text-[var(--ds-muted)]",children:[(0,t.jsx)(m.default,{name:"CheckCircle2",size:16,className:"mt-1 shrink-0 text-[var(--ds-accent)]"}),(0,t.jsx)("span",{children:e})]},e))})}),(0,t.jsx)(S,{index:10,title:"常见问题",children:(0,t.jsxs)("div",{className:"space-y-2 leading-6 text-[var(--ds-muted)]",children:[(0,t.jsx)("p",{children:"放了包但工具不可见:确认已构建 index.*、initWsSession 返回 ready、白名单包含工具名。"}),(0,t.jsx)("p",{children:"installed-list 有但会话 disabled:通常是 init 返回 skipped/failed,或未通过 agent 白名单。"}),(0,t.jsx)("p",{children:"同名工具冲突:agent 层覆盖 system 层;同一层内工具 name 重复时后者会被去重丢弃。"})]})})]})})}var C=e.i(28661),k=e.i(15692),N=e.i(99329);function T(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.name}function A(e){let t=null!=e.packageId?String(e.packageId).trim():"";return!0===e.deletable&&t.length>0}function E(){let e=(0,n.useAppStore)(e=>e.wsUrl),c=(0,n.useAppStore)(e=>e.apiBase),d=(0,n.useAppStore)(e=>e.agentConfig),u=(0,n.useAppStore)(e=>e.patchAgentConfig),{currentAgent:p,loadAgentConfig:f}=(0,r.useSession)(),x=(0,s.usePersistAgentConfigField)("tools"),h=d.tools,[b,y]=(0,a.useState)([]),[j,S]=(0,a.useState)(!1),[E,M]=(0,a.useState)(!1),[R,I]=(0,a.useState)(!1),[_,L]=(0,a.useState)(!1);(0,a.useEffect)(()=>{f()},[f]);let O=(0,a.useCallback)(async(e,t)=>{M(!0);try{await x(e,{silent:t})}finally{M(!1)}},[x]),P=(0,a.useCallback)(async()=>{y([]),S(!0);try{var t;let a=await (0,N.listInstalledTools)(e,c,p());y(null!=(t=a.tools)?t:[])}catch(e){y([]),l.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{S(!1)}},[e,c,p]);(0,a.useEffect)(()=>{P()},[P]);let D=(0,a.useCallback)(e=>b.find(t=>t.name===e),[b]),U=(0,a.useMemo)(()=>b.slice().sort((e,t)=>e.name.localeCompare(t.name)).map(e=>(function(e,t){var a;let n=null!=e.packageName?String(e.packageName).trim():"";return{name:e.name,label:(e.displayName&&e.displayName!==e.name?"".concat(e.displayName," · "):"")+e.name,description:null!=(a=e.searchHint)?a:"",enabled:t,packageId:n,canManage:A({deletable:e.deletable,packageId:n}),layer:e.layer}})(e,h.includes(e.name))),[b,h]),B=(0,a.useCallback)(async t=>{let a=D(t);if(!a||!A({deletable:a.deletable,packageId:a.packageName}))return void l.appToast.error("系统内置工具不可删除");if(await (0,C.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,N.deleteRuntimeTool)(e,c,p(),T({packageId:a.packageName,name:a.name}));let n=h.filter(e=>e!==t);u({tools:n}),await O(n,!0),await P()}catch(e){l.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[D,e,c,p,h,u,O,P]),z=(0,a.useCallback)(t=>{let a=D(t);if(!a||!A({deletable:a.deletable,packageId:a.packageName}))return void l.appToast.error("系统内置工具不可导出");window.open((0,N.exportRuntimeToolUrl)(e,c,p(),T({packageId:a.packageName,name:a.name})),"_blank","noopener")},[D,e,c,p]),F=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...h,e])].sort():h.filter(t=>t!==e).sort();u({tools:a}),O(a,!0)},[h,u,O]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k.ManageChromeHeaderActions,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,t.jsxs)(i.Button,{type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>I(!0),children:[(0,t.jsx)(m.default,{name:"Info",size:16,className:"align-middle"}),"工具说明"]}),(0,t.jsxs)(i.Button,{id:"btnAgentPickerToolImport",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>L(!0),children:[(0,t.jsx)(m.default,{name:"Import",size:16,className:"align-middle"}),"导入自定义工具"]})]})}),j?(0,t.jsx)(o.Loading,{text:"加载中…",className:"min-h-[200px]"}):(0,t.jsx)(g,{items:U,saveBusy:E,onToggle:F,onExport:z,onRemove:B}),(0,t.jsx)(v,{open:_,onOpenChange:e=>{L(e),e||P()},wsUrl:e,apiBase:c,agent:p()}),(0,t.jsx)(w,{open:R,onOpenChange:I})]})}},73052,e=>{"use strict";e.s(["McpManageView",()=>C],73052);var t=e.i(59992),a=e.i(65765),n=e.i(49377),r=e.i(36763),l=e.i(18805),s=e.i(41995),i=e.i(40751),o=e.i(13014),c=e.i(84081),d=e.i(78678),u=e.i(92369),p=e.i(55105),m=e.i(96214),f=e.i(85941),g=e.i(10602),x=e.i(84919);function h(e){let{open:a,onOpenChange:n,wsUrl:r,apiBase:l,agent:s}=e;return(0,t.jsx)(x.ResourceImportDialog,{open:a,onOpenChange:n,title:"导入 MCP zip",description:"选择一个 zip 文件并导入到 mcp-runtime。",uploadUrl:(0,g.buildMcpRuntimeImportUrl)(r,l,s),resetKey:s})}var v=e.i(99329);function b(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.id}function y(e){let{open:n,onOpenChange:r,itemId:s,source:o,wsUrl:c,apiBase:d,agent:p,onSaved:m}=e,[f,g]=(0,a.useState)(""),[x,h]=(0,a.useState)(!1),[b,y]=(0,a.useState)(!1),j="remote"===o?"remote":"runtime";(0,a.useEffect)(()=>{if(!n||!s.trim())return;let e=!1;return h(!0),g("加载中…"),(0,v.loadRuntimeMcpItemConfig)(c,d,p,s,j).then(t=>{if(e)return;let a=t.overlay;a&&"object"==typeof a&&!Array.isArray(a)?g(JSON.stringify(a,null,2)):g("{}")}).catch(t=>{e||(l.appToast.error("加载 MCP 配置失败:".concat(t instanceof Error?t.message:String(t))),r(!1))}).finally(()=>{e||h(!1)}),()=>{e=!0}},[n,s,c,d,p,j,r]);let S=(0,a.useCallback)(async()=>{let e;if(!s.trim())return;let t=f.trim();try{e=t?JSON.parse(t):{}}catch(e){l.appToast.error("JSON 解析失败:".concat(e instanceof Error?e.message:String(e)));return}if(!e||"object"!=typeof e||Array.isArray(e))return void l.appToast.error("配置必须是 JSON 对象");if("mcpServers"in e&&null!=e.mcpServers)return void l.appToast.error("请填写标准 server 配置(command/args/env),不要嵌套 mcpServers");let a=0===Object.keys(e).length;y(!0);try{a?await (0,v.clearRuntimeMcpItemConfig)(c,d,p,s,j):await (0,v.saveRuntimeMcpItemConfig)(c,d,p,s,j,e),l.appToast.success("MCP 配置已保存"),r(!1),null==m||m()}catch(e){l.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{y(!1)}},[s,f,c,d,p,j,r,m]);return(0,t.jsx)(i.AppDialog,{open:n,onOpenChange:r,title:"编辑 MCP 配置 · ".concat(s),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:b,onClick:()=>r(!1),children:"取消"}),(0,t.jsx)(u.Button,{type:"button",size:"lg",disabled:b||x,onClick:()=>void S(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 font-mono leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:f,disabled:x,onChange:e=>g(e.target.value)})})}var j=e.i(28661),S=e.i(87655),w=e.i(15692);function C(){let e=(0,n.useAppStore)(e=>e.wsUrl),g=(0,n.useAppStore)(e=>e.apiBase),x=(0,n.useAppStore)(e=>e.agentConfig),C=(0,n.useAppStore)(e=>e.setAgentConfig),{currentAgent:k,loadAgentConfig:N}=(0,r.useSession)(),T=(0,s.usePersistAgentConfigField)("mcpServers"),A=x.mcpServers,E=(0,a.useMemo)(()=>[...A].sort().join("\0"),[A]),[M,R]=(0,a.useState)([]),[I,_]=(0,a.useState)([]),[L,O]=(0,a.useState)(!1),[P,D]=(0,a.useState)(!1),[U,B]=(0,a.useState)(!1),[z,F]=(0,a.useState)(!1),[V,K]=(0,a.useState)(""),[W,J]=(0,a.useState)(!1),[H,G]=(0,a.useState)(""),[q,Y]=(0,a.useState)(),[Z,Q]=(0,a.useState)(!1),[X,$]=(0,a.useState)("");(0,a.useEffect)(()=>{N()},[N]);let ee=(0,a.useCallback)(async(e,t)=>{D(!0);try{await T(e,{silent:t})}finally{D(!1)}},[T]),et=(0,a.useCallback)(e=>M.find(t=>t.id===e),[M]),ea=(0,a.useCallback)(e=>{let t=et(e);G(e),Y(null==t?void 0:t.source),Q(!0)},[et]),en=(0,a.useCallback)(async()=>{R([]),O(!0);try{var t;let a=await (0,v.listMcpServers)(e,g,k());R((null!=(t=a.servers)?t:[]).map(e=>{var t,a,n;return{...e,id:e.name,label:e.name,description:null!=(a=null!=(t=e.description)?t:e.source)?a:"",source:null!=(n=e.source)?n:"",installed:!!e.installed,packageId:e.packageId}}))}catch(e){R([]),l.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{O(!1)}},[e,g,k]),er=(0,a.useCallback)(async t=>{var a;let n=et(t),r=null!=(a=null==n?void 0:n.source)?a:"";if("runtime"!==r&&"remote"!==r)return void l.appToast.error("基础MCP不可删除");if(await (0,j.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===r){let a=await (0,v.loadRemoteMcpJson)(e,g,k()),n={};try{n=JSON.parse(String(a.content||"{}"))}catch(e){n={mcpServers:{}}}(!n.mcpServers||Array.isArray(n.mcpServers)||"object"!=typeof n.mcpServers)&&(n.mcpServers={}),delete n.mcpServers[t],await (0,v.saveRemoteMcpJson)(e,g,k(),JSON.stringify(n,null,2))}else{let a=n?b(n):t;await (0,v.deleteRuntimeMcp)(e,g,k(),a)}let a=A.filter(e=>e!==t);_(e=>e.filter(e=>e!==t)),C({...x,mcpServers:a}),await ee(a,!0),await en()}catch(e){l.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[et,e,g,k,A,x,C,ee,en]);(0,a.useEffect)(()=>{en()},[en]),(0,a.useEffect)(()=>{_([...A])},[A,E]);let el=(0,a.useCallback)(async e=>{let t=[...new Set(e)].sort();C({...x,mcpServers:t}),await ee(t,!0)},[x,C,ee]),es=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...I,e])]:I.filter(t=>t!==e);_(a);try{await el(a),await en()}catch(e){_(I),l.appToast.error("切换启用状态失败: ".concat(e))}},[I,el,en]),ei=(0,a.useMemo)(()=>M.slice().sort((e,t)=>{var a,n;let r=String(null!=(a=e.source)?a:"").localeCompare(String(null!=(n=t.source)?n:""));if(0!==r)return r;let l=+!I.includes(e.id),s=+!I.includes(t.id);return l!==s?l-s:e.id.localeCompare(t.id)}),[M,I]),eo=(0,a.useMemo)(()=>ei.filter(e=>(function(e,t){var a;let n=t.trim().toLowerCase();if(!n)return!0;let r="remote"===e.source?"远程":"本地";return"".concat(e.id," ").concat(e.label," ").concat(null!=(a=e.description)?a:""," ").concat(r).toLowerCase().includes(n)})(e,X)),[ei,X]),ec=(0,a.useCallback)(t=>{window.open((0,v.exportRuntimeMcpUrl)(e,g,k(),b(t)),"_blank","noopener")},[e,g,k]),ed=(0,a.useCallback)(()=>{F(!0),K(""),(0,v.loadRemoteMcpJson)(e,g,k()).then(e=>{K("string"==typeof e.content?e.content:'{\n "mcpServers": {}\n}\n')}).catch(e=>{l.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),F(!1)})},[e,g,k]),eu=(0,a.useCallback)(async()=>{let t=function(e){let t,a=e.trim();if(!a)return"请输入 JSON 配置内容";try{t=JSON.parse(a)}catch(e){return"JSON 解析失败:".concat(e instanceof Error?e.message:String(e))}if(!t||"object"!=typeof t||Array.isArray(t))return"JSON 根节点必须是对象";let n=t.mcpServers;if(!n||"object"!=typeof n||Array.isArray(n))return"mcpServers 不能为空,且需包含至少一个 server";let r=Object.keys(n).filter(e=>e.trim());if(!r.length)return"mcpServers 不能为空,且需包含至少一个 server";let l=new Set;for(let e of r){let t=e.trim();!t||l.has(t)||l.add(t)}return l.size?null:"未解析到有效的 server 名称"}(V);if(t)return void l.appToast.error(t);J(!0);try{await (0,v.saveRemoteMcpJson)(e,g,k(),V.trim()),l.appToast.success("已保存全局 mcp.json。"),F(!1),await en()}catch(e){l.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{J(!1)}},[e,g,k,V,en]),ep=[{key:"name",title:"名称",headerClassName:" text-[var(--ds-muted)]",cellClassName:" text-[var(--ds-text)]",render:e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{children:e.label}),(0,t.jsx)(d.StatusBadge,{tone:e.disabled?"default":"success",children:e.disabled?"未启用":"启用"})]})},{key:"description",title:"详情",headerClassName:" text-[var(--ds-muted)]",cellClassName:" text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"source",title:"来源",headerClassName:"w-[96px] text-[var(--ds-muted)]",cellClassName:"w-[96px] text-[var(--ds-text)]",render:e=>"remote"===e.source?"远程":"本地"},{key:"enabled",title:"启用/未启用",headerClassName:"w-14 w-[112px] text-right text-[var(--ds-muted)]",cellClassName:"w-[112px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(m.AccentSwitch,{checked:I.includes(e.id),disabled:P,onCheckedChange:t=>{es(e.id,t)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[168px] text-[var(--ds-muted)]",cellClassName:"w-[168px]",render:e=>{var a;let n=null!=(a=e.source)?a:"",r="runtime"===n,l="runtime"===n||"remote"===n;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(f.IconTooltipButton,{icon:"Download",label:r?"导出":"仅 runtime MCP 支持导出",ariaLabel:"导出 ".concat(e.label),disabled:P||!r,onClick:()=>ec(e)}),(0,t.jsx)(f.IconTooltipButton,{icon:"Edit",label:"编辑 MCP 配置",ariaLabel:"编辑 ".concat(e.label),disabled:P,onClick:()=>ea(e.id)}),(0,t.jsx)(f.IconTooltipButton,{icon:"Trash2",label:l?"删除":"基础MCP不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label),disabled:P||!l,onClick:()=>{er(e.id)},iconClassName:"text-red-500"})]})}}],em=X.trim();return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.ManageChromeHeaderActions,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center",children:[(0,t.jsxs)(u.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:ed,className:"mr-[12px]",children:[(0,t.jsx)(S.default,{name:"Edit",size:16,className:"align-middle"}),"编辑远程MCP"]}),(0,t.jsxs)(u.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>B(!0),children:[(0,t.jsx)(S.default,{name:"Import",size:16,className:"align-middle"}),"导入本地MCP"]})]})}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(p.Input,{type:"search",value:X,onChange:e=>$(e.target.value),placeholder:"搜索名称 / 详情 / 来源",className:"h-8 pl-8","aria-label":"搜索 MCP"}),(0,t.jsx)(S.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)("div",{className:"min-h-0",children:L?(0,t.jsx)(c.Loading,{text:"加载中",className:"min-h-[180px]"}):(0,t.jsx)(o.AppTable,{rows:eo,columns:ep,getRowKey:e=>e.id,emptyText:em?"未找到匹配 MCP":void 0})})]}),(0,t.jsx)(h,{open:U,onOpenChange:e=>{B(e),e||en()},wsUrl:e,apiBase:g,agent:k()}),(0,t.jsx)(y,{open:Z,onOpenChange:Q,itemId:H,source:q,wsUrl:e,apiBase:g,agent:k(),onSaved:()=>{en(),ee(x.mcpServers,!0)}}),(0,t.jsx)(i.AppDialog,{open:z,onOpenChange:F,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:W,onClick:()=>F(!1),children:"取消"}),(0,t.jsx)(u.Button,{type:"button",size:"lg",disabled:W,onClick:()=>void eu(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:V,onChange:e=>K(e.target.value)})})]})}},57424,e=>{"use strict";e.s(["SkillsManageView",()=>I],57424);var t=e.i(59992),a=e.i(65765),n=e.i(49377),r=e.i(36763),l=e.i(18805),s=e.i(41995),i=e.i(72099),o=e.i(92369),c=e.i(87655),d=e.i(13014),u=e.i(55105),p=e.i(96745);function m(e){let{className:a,...n}=e;return(0,t.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,p.cn)("flex w-full justify-end",a),...n})}let f=a.forwardRef((e,a)=>{let{className:n,...r}=e;return(0,t.jsx)("ul",{ref:a,"data-slot":"pagination-content",className:(0,p.cn)("flex flex-row flex-wrap items-center justify-end gap-1",n),...r})});f.displayName="PaginationContent";let g=a.forwardRef((e,a)=>{let{className:n,...r}=e;return(0,t.jsx)("li",{ref:a,"data-slot":"pagination-item",className:(0,p.cn)("",n),...r})});g.displayName="PaginationItem",a.forwardRef((e,a)=>{let{className:n,isActive:r,size:l="icon",...s}=e;return(0,t.jsx)("a",{ref:a,"aria-current":r?"page":void 0,"data-slot":"pagination-link","data-active":r?"true":void 0,className:(0,p.cn)((0,o.buttonVariants)({variant:r?"outline":"ghost",size:l}),n),...s})}).displayName="PaginationLink";var x=e.i(99329),h=e.i(84081);function v(e){let{active:n,wsUrl:r,apiBase:s,agent:i,onAfterInstall:p,className:v}=e,[b,y]=(0,a.useState)(""),[j,S]=(0,a.useState)(1),[w,C]=(0,a.useState)(0),[k,N]=(0,a.useState)([]),[T,A]=(0,a.useState)(!1),[E,M]=(0,a.useState)({}),R=(0,a.useRef)(0),I=(0,a.useCallback)(async()=>{let e=++R.current;A(!0);try{let t=await (0,x.listCloudSkillCatalog)(r,s,i,b,j,10);if(e!==R.current)return;let a=Array.isArray(t.items)?t.items:[],n=[];for(let e of a)e&&"object"==typeof e&&e.id&&n.push({id:String(e.id),title:String(e.title||""),skillName:String(e.skillName||""),description:"string"==typeof e.description?e.description:"",installed:!!e.installed});N(n),C(t.totalPages)}catch(t){if(e!==R.current)return;N([]),C(0)}finally{e===R.current&&A(!1)}},[r,s,i,b,j]);(0,a.useEffect)(()=>{if(!n){y(""),S(1),C(0),N([]),M({}),R.current+=1;return}I()},[n,I]);let _=(0,a.useCallback)(async(e,t)=>{M(t=>({...t,[e]:!0}));try{await (0,x.installCloudSkill)(r,s,i,e),l.appToast.success("云端技能已安装:".concat(t)),await I(),null==p||p()}catch(e){l.appToast.error("安装失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(t=>{let a={...t};return delete a[e],a})}},[r,s,i,I,p]),L=(0,a.useCallback)(e=>{S(1),y(e)},[]);if(!n)return null;let O=w>0?"第 ".concat(j,"/").concat(w," 页"):"第 0/0 页",P=T||j<=1,D=T||w<=0||j>=w,U=[{key:"name",title:"名称",headerClassName:"",cellClassName:" text-[var(--ds-text)]",render:e=>{let a=e.skillName||e.id;return(0,t.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,t.jsx)("span",{children:a})})}},{key:"description",title:"详情",headerClassName:"",cellClassName:" text-[var(--ds-text)]",render:e=>(0,t.jsxs)(t.Fragment,{children:[e.title,e.description?" — ".concat(e.description):""]})},{key:"status",title:"状态",headerClassName:"",cellClassName:"whitespace-nowrap text-[var(--ds-text)]",render:e=>e.installed?"已安装":"未安装"},{key:"actions",title:"操作",headerClassName:"w-[96px] text-right ",cellClassName:"w-[116px] text-right",render:e=>{let a=!!E[e.id],n=!!e.installed;return!a&&n?"-":(0,t.jsx)(o.Button,{type:"button",size:"sm",variant:"outline",disabled:a||n,onClick:()=>void _(e.id,e.title||e.skillName||e.id),children:a?"安装中…":n?"已安装":"安装"})}}];return(0,t.jsx)("div",{className:v,children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(u.Input,{type:"search",value:b,onChange:e=>L(e.target.value),placeholder:"搜索名称 / 详情",className:"h-8 pl-8","aria-label":"搜索已安装 Skill"}),(0,t.jsx)(c.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-[var(--ds-muted)]","aria-hidden":!0})]}),(0,t.jsx)(d.AppTable,{rows:k,columns:U,getRowKey:e=>e.id,className:"min-h-0 flex-1 rounded-md",bodyProps:{viewportPaginationReserve:64},emptyNode:T?(0,t.jsx)(h.Loading,{text:"加载中…",className:"min-h-[200px]"}):void 0}),(0,t.jsx)(m,{className:"mx-0 w-full",children:(0,t.jsxs)(f,{className:"w-full flex-wrap justify-end gap-2",children:[(0,t.jsx)(g,{children:(0,t.jsxs)(o.Button,{type:"button",variant:"outline",size:"sm",disabled:P,className:"gap-1",onClick:()=>S(e=>Math.max(1,e-1)),"aria-label":"上一页",children:[(0,t.jsx)(c.default,{name:"ChevronLeft",size:16,className:"shrink-0"}),"上一页"]})}),(0,t.jsx)(g,{children:(0,t.jsx)("span",{className:"flex h-9 min-w-[6.5rem] items-center justify-center text-[var(--ds-muted)]",children:O})}),(0,t.jsx)(g,{children:(0,t.jsxs)(o.Button,{type:"button",variant:"outline",size:"sm",disabled:D,className:"gap-1",onClick:()=>S(e=>e+1),"aria-label":"下一页",children:["下一页",(0,t.jsx)(c.default,{name:"ChevronRight",size:16,className:"shrink-0",strokeWidth:1})]})})]})})]})})}var b=e.i(10602),y=e.i(84919);function j(e){let{open:a,onOpenChange:n,wsUrl:r,apiBase:l,agent:s}=e;return(0,t.jsx)(y.ResourceImportDialog,{open:a,onOpenChange:n,title:"导入 Skill zip",description:"选择一个 zip 文件并导入到 skills-runtime。",uploadUrl:(0,b.buildSkillsRuntimeImportUrl)(r,l,s),resetKey:s})}var S=e.i(40751);function w(e){let{open:n,onOpenChange:r,skillName:s,wsUrl:i,apiBase:c,agent:d,onSaved:u}=e,[p,m]=(0,a.useState)(""),[f,g]=(0,a.useState)(!1),[h,v]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(!n||!s.trim())return;let e=!1;return g(!0),m(""),(0,x.loadBaseSkillMd)(i,c,d,s).then(t=>{e||m("string"==typeof t.content?t.content:"")}).catch(t=>{e||(l.appToast.error("加载 SKILL.md 失败:".concat(t instanceof Error?t.message:String(t))),r(!1))}).finally(()=>{e||g(!1)}),()=>{e=!0}},[n,s,i,c,d,r]);let b=(0,a.useCallback)(async()=>{if(s.trim()){v(!0);try{await (0,x.saveBaseSkillMd)(i,c,d,s,p),l.appToast.success("SKILL.md 已保存"),r(!1),null==u||u()}catch(e){l.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{v(!1)}}},[s,i,c,d,p,r,u]);return(0,t.jsx)(S.AppDialog,{open:n,onOpenChange:r,title:"编辑 SKILL.md · /".concat(s),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:f||h,onClick:()=>r(!1),children:"取消"}),(0,t.jsx)(o.Button,{type:"button",size:"lg",disabled:f||h,onClick:()=>void b(),children:"保存"})]}),children:f?(0,t.jsx)("p",{className:"py-6 text-center text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:p,placeholder:"Markdown 源码…",onChange:e=>m(e.target.value)})})}var C=e.i(96214),k=e.i(85941),N=e.i(78678);function T(e){let{items:n,saveBusy:r,onToggleEnabled:l,onEditBase:s,onExport:i,onRemove:o,className:p}=e,[m,f]=(0,a.useState)(""),g=(0,a.useMemo)(()=>n.filter(e=>(function(e,t){var a;let n=t.trim().toLowerCase();return!n||"".concat(e.name," ").concat(null!=(a=e.description)?a:"").toLowerCase().includes(n)})(e,m)),[n,m]),x=[{key:"name",title:"名称",headerClassName:"",cellClassName:"",render:e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{children:"/".concat(e.name)}),(0,t.jsx)(N.StatusBadge,{tone:e.enabled?"success":"default",children:e.enabled?"启用":"未启用"})]})},{key:"description",title:"详情",headerClassName:"",cellClassName:"",render:e=>e.description||"-"},{key:"status",title:"状态",headerClassName:"w-[160px] ",cellClassName:"w-[160px] text-[var(--ds-text)]",render:e=>"base"===e.source?"基础":"已安装"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[160px] text-right ",cellClassName:"w-[160px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2",children:(0,t.jsx)(C.AccentSwitch,{checked:e.enabled,disabled:r,onCheckedChange:t=>l(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] ",cellClassName:"w-[128px]",render:e=>(0,t.jsx)("div",{className:"inline-flex items-center justify-end gap-1",children:"base"===e.source?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k.IconTooltipButton,{icon:"Edit",label:"编辑",ariaLabel:"编辑 ".concat(e.name),disabled:r,onClick:()=>s(e.name)}),(0,t.jsx)(k.IconTooltipButton,{icon:"Trash2",label:"系统技能不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:!0})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k.IconTooltipButton,{icon:"Download",label:"导出",ariaLabel:"导出 ".concat(e.name),disabled:r,onClick:()=>i(e.name)}),(0,t.jsx)(k.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:r,onClick:()=>{o(e.name)}})]})})}],h=m.trim();return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(u.Input,{type:"search",value:m,onChange:e=>f(e.target.value),placeholder:"搜索名称 / 详情",className:"h-8 pl-8","aria-label":"搜索已安装 Skill"}),(0,t.jsx)(c.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)(d.AppTable,{rows:g,columns:x,getRowKey:e=>"skills:".concat(e.name),className:p,emptyText:h?"无匹配的 Skill":void 0})]})}var A=e.i(28661),E=e.i(15692);function M(e,t){var a,n,r;let l=(r=null!=(n=null!=(a=e.description)?a:e.whenToUse)?n:"")?r.length>100?r.slice(0,100):r:"";return{...e,id:e.name,label:"/".concat(e.name),description:l,isRuntime:t,canManage:e.canManage}}let R=[{value:"installed",label:"已安装Skill"},{value:"cloud_catalog",label:"Skill商店"}];function I(){let e=(0,n.useAppStore)(e=>e.wsUrl),d=(0,n.useAppStore)(e=>e.apiBase),u=(0,n.useAppStore)(e=>e.agentConfig),p=(0,n.useAppStore)(e=>e.patchAgentConfig),{currentAgent:m,loadAgentConfig:f}=(0,r.useSession)(),g=(0,s.usePersistAgentConfigField)("skills"),b=u.skills,[y,S]=(0,a.useState)([]),[C,k]=(0,a.useState)([]),[N,I]=(0,a.useState)(!1),[_,L]=(0,a.useState)(!1),[O,P]=(0,a.useState)(!1),[D,U]=(0,a.useState)("installed"),[B,z]=(0,a.useState)(!1),[F,V]=(0,a.useState)(""),[K,W]=(0,a.useState)(!1);(0,a.useEffect)(()=>{f()},[f]);let J=(0,a.useCallback)(async(e,t)=>{P(!0);try{await g(e,{silent:t})}finally{P(!1)}},[g]),H=(0,a.useCallback)(async()=>{S([]),I(!0);try{var t;let a=await (0,x.listBaseSkills)(e,d,m());S((null!=(t=a.skills)?t:[]).map(e=>M(e,!1)))}catch(e){S([]),l.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{I(!1)}},[e,d,m]),G=(0,a.useCallback)(async()=>{k([]),L(!0);try{var t;let a=await (0,x.listInstalledSkills)(e,d,m());k((null!=(t=a.skills)?t:[]).map(e=>M(e,!0)))}catch(e){k([]),l.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{L(!1)}},[e,d,m]),q=(0,a.useCallback)(async()=>{await Promise.all([H(),G()])},[H,G]),Y=(0,a.useCallback)(async t=>{if(await (0,A.confirmAlertDialog)({title:"确认删除 Skill 包?",description:"Skill:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,x.deleteRuntimeSkill)(e,d,m(),t);let a=b.filter(e=>e!==t);p({skills:a}),await J(a,!0),await q()}catch(e){l.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[e,d,m,b,p,J,q]);(0,a.useEffect)(()=>{"installed"===D&&q()},[D,q]);let Z=(0,a.useCallback)(()=>{q()},[q]),Q=(0,a.useMemo)(()=>{let e=y.map(e=>({name:e.id,source:"base",description:e.description||"",enabled:b.includes(e.id)})),t=new Set(e.map(e=>e.name)),a=C.filter(e=>!t.has(e.id)).slice().sort((e,t)=>e.label.localeCompare(t.label)).map(e=>({name:e.id,source:"runtime",description:e.description||"",enabled:b.includes(e.id)}));return[...e.sort((e,t)=>e.name.localeCompare(t.name)),...a]},[y,C,b]),X=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...b,e])].sort():b.filter(t=>t!==e);p({skills:a}),J(a,!0)},[b,p,J]),$=(0,a.useCallback)(t=>{window.open((0,x.exportRuntimeSkillUrl)(e,d,m(),t),"_blank","noopener")},[e,d,m]),ee=(0,a.useCallback)(e=>{V(e),W(!0)},[]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(E.ManageChromeHeaderActions,{children:(0,t.jsxs)(o.Button,{id:"btnAgentImportSkill",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>z(!0),children:[(0,t.jsx)(c.default,{name:"Import",size:16,className:"align-middle"}),"导入Skill"]})}),(0,t.jsxs)(i.AppTabs,{tabs:R,value:D,listVariant:"line",onChange:e=>U(e),children:[(0,t.jsx)(i.AppTabsPanel,{value:"installed",children:N||_?(0,t.jsx)(h.Loading,{text:"加载中…",className:"min-h-[200px]"}):(0,t.jsx)(T,{items:Q,saveBusy:O,onToggleEnabled:X,onEditBase:ee,onExport:$,onRemove:Y})}),(0,t.jsx)(i.AppTabsPanel,{value:"cloud_catalog",className:"flex min-h-0 flex-1 flex-col",children:(0,t.jsx)(v,{active:"cloud_catalog"===D,wsUrl:e,apiBase:d,agent:m(),enabledSkillNames:b,onAfterInstall:Z,className:"min-h-0 flex-1"})})]}),(0,t.jsx)(j,{open:B,onOpenChange:e=>{z(e),e||q()},wsUrl:e,apiBase:d,agent:m()}),(0,t.jsx)(w,{open:K,onOpenChange:W,skillName:F,wsUrl:e,apiBase:d,agent:m(),onSaved:()=>void q()})]})}},76302,e=>{"use strict";e.s(["SettingsRouteBoundary",()=>i]);var t=e.i(59992),a=e.i(48579),n=e.i(74548),r=e.i(28234),l=e.i(75733),s=e.i(49377);function i(e){let{children:i}=e,o=(0,n.usePathname)(),c=(0,s.useAppStore)(e=>e.agentId),d=(0,l.buildAppNavHref)(r.MANAGE_DEFAULT_HREF,{ensureAgent:!0,agent:c});return o&&!(0,r.isManageRouteEnabled)((0,l.normalizeAppPathname)(o))?(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsx)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-4 pb-4",children:(0,t.jsxs)("div",{className:"manage-page-title-block",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:"页面不可用"}),(0,t.jsx)("p",{className:"manage-page-desc",children:"当前设置页未开放或已被禁用。"})]})}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col items-center justify-center gap-3 text-[var(--ds-muted)]",children:(0,t.jsx)(a.default,{className:"text-zinc-900 underline underline-offset-4",href:d,prefetch:!1,children:"返回默认设置页"})})]}):(0,t.jsx)(t.Fragment,{children:i})}}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35992,e=>{"use strict";e.s(["default",()=>t]);let t=Object.freeze(JSON.parse('{"colors":{"activityBar.background":"#2A2A37","activityBar.foreground":"#DCD7BA","activityBarBadge.background":"#658594","activityBarBadge.foreground":"#DCD7BA","badge.background":"#2A2A37","button.background":"#2A2A37","button.foreground":"#C8C093","button.secondaryBackground":"#223249","button.secondaryForeground":"#DCD7BA","checkbox.border":"#223249","debugToolBar.background":"#16161D","descriptionForeground":"#DCD7BA","diffEditor.insertedTextBackground":"#2B332880","dropdown.background":"#16161D","dropdown.border":"#16161D","editor.background":"#1F1F28","editor.findMatchBackground":"#2D4F67","editor.findMatchBorder":"#FF9E3B","editor.findMatchHighlightBackground":"#2D4F6780","editor.foreground":"#DCD7BA","editor.lineHighlightBackground":"#363646","editor.selectionBackground":"#223249","editor.selectionHighlightBackground":"#36364680","editor.selectionHighlightBorder":"#54546D","editor.wordHighlightBackground":"#3636464D","editor.wordHighlightBorder":"#54546D","editor.wordHighlightStrongBackground":"#3636464D","editor.wordHighlightStrongBorder":"#54546D","editorBracketHighlight.foreground1":"#957FB8","editorBracketHighlight.foreground2":"#FFA066","editorBracketHighlight.foreground3":"#7E9CD8","editorBracketHighlight.foreground4":"#D27E99","editorBracketHighlight.foreground5":"#E6C384","editorBracketHighlight.foreground6":"#7AA89F","editorBracketHighlight.unexpectedBracket.foreground":"#FF5D62","editorBracketMatch.background":"#16161D","editorBracketMatch.border":"#54546D","editorBracketPairGuide.activeBackground1":"#957FB8","editorBracketPairGuide.activeBackground2":"#FFA066","editorBracketPairGuide.activeBackground3":"#7E9CD8","editorBracketPairGuide.activeBackground4":"#D27E99","editorBracketPairGuide.activeBackground5":"#E6C384","editorBracketPairGuide.activeBackground6":"#7AA89F","editorCursor.background":"#1F1F28","editorCursor.foreground":"#DCD7BA","editorError.foreground":"#E82424","editorGroup.border":"#16161D","editorGroupHeader.tabsBackground":"#16161D","editorGutter.addedBackground":"#76946A","editorGutter.deletedBackground":"#C34043","editorGutter.modifiedBackground":"#DCA561","editorHoverWidget.background":"#1F1F28","editorHoverWidget.border":"#2A2A37","editorHoverWidget.highlightForeground":"#658594","editorIndentGuide.activeBackground1":"#363646","editorIndentGuide.background1":"#2A2A37","editorInlayHint.background":"#1F1F28","editorInlayHint.foreground":"#727169","editorLineNumber.activeForeground":"#FFA066","editorLineNumber.foreground":"#54546D","editorMarkerNavigation.background":"#363646","editorRuler.foreground":"#363646","editorSuggestWidget.background":"#223249","editorSuggestWidget.border":"#223249","editorSuggestWidget.selectedBackground":"#2D4F67","editorWarning.foreground":"#FF9E3B","editorWhitespace.foreground":"#1F1F28","editorWidget.background":"#1F1F28","focusBorder":"#223249","foreground":"#DCD7BA","gitDecoration.ignoredResourceForeground":"#727169","input.background":"#16161D","list.activeSelectionBackground":"#363646","list.activeSelectionForeground":"#DCD7BA","list.focusBackground":"#2A2A37","list.focusForeground":"#DCD7BA","list.highlightForeground":"#7E9CD8","list.hoverBackground":"#363646","list.hoverForeground":"#DCD7BA","list.inactiveSelectionBackground":"#2A2A37","list.inactiveSelectionForeground":"#DCD7BA","list.warningForeground":"#FF9E3B","menu.background":"#363646","menu.border":"#16161D","menu.foreground":"#DCD7BA","menu.selectionBackground":"#16161D","menu.selectionForeground":"#DCD7BA","menu.separatorBackground":"#54546D","menubar.selectionBackground":"#16161D","menubar.selectionForeground":"#DCD7BA","minimapGutter.addedBackground":"#76946A","minimapGutter.deletedBackground":"#C34043","minimapGutter.modifiedBackground":"#DCA561","panel.border":"#16161D","panelSectionHeader.background":"#1F1F28","peekView.border":"#54546D","peekViewEditor.background":"#2A2A37","peekViewEditor.matchHighlightBackground":"#2D4F67","peekViewResult.background":"#363646","scrollbar.shadow":"#363646","scrollbarSlider.activeBackground":"#2A2A3780","scrollbarSlider.background":"#54546D66","scrollbarSlider.hoverBackground":"#54546D80","settings.focusedRowBackground":"#363646","settings.headerForeground":"#DCD7BA","sideBar.background":"#1F1F28","sideBar.border":"#16161D","sideBar.foreground":"#DCD7BA","sideBarSectionHeader.background":"#363646","sideBarSectionHeader.foreground":"#DCD7BA","statusBar.background":"#16161D","statusBar.debuggingBackground":"#E82424","statusBar.debuggingBorder":"#957FB8","statusBar.debuggingForeground":"#DCD7BA","statusBar.foreground":"#C8C093","statusBar.noFolderBackground":"#1F1F28","statusBarItem.hoverBackground":"#363646","statusBarItem.remoteBackground":"#2D4F67","statusBarItem.remoteForeground":"#DCD7BA","tab.activeBackground":"#2A2A37","tab.activeForeground":"#7E9CD8","tab.border":"#2A2A37","tab.hoverBackground":"#363646","tab.inactiveBackground":"#1A1A22","tab.unfocusedHoverBackground":"#1F1F28","terminal.ansiBlack":"#16161D","terminal.ansiBlue":"#7E9CD8","terminal.ansiBrightBlack":"#727169","terminal.ansiBrightBlue":"#7FB4CA","terminal.ansiBrightCyan":"#7AA89F","terminal.ansiBrightGreen":"#98BB6C","terminal.ansiBrightMagenta":"#938AA9","terminal.ansiBrightRed":"#E82424","terminal.ansiBrightWhite":"#DCD7BA","terminal.ansiBrightYellow":"#E6C384","terminal.ansiCyan":"#6A9589","terminal.ansiGreen":"#76946A","terminal.ansiMagenta":"#957FB8","terminal.ansiRed":"#C34043","terminal.ansiWhite":"#C8C093","terminal.ansiYellow":"#C0A36E","terminal.background":"#1F1F28","terminal.border":"#16161D","terminal.foreground":"#DCD7BA","terminal.selectionBackground":"#223249","textBlockQuote.background":"#1F1F28","textBlockQuote.border":"#16161D","textLink.foreground":"#6A9589","textPreformat.foreground":"#FF9E3B","titleBar.activeBackground":"#363646","titleBar.activeForeground":"#DCD7BA","titleBar.inactiveBackground":"#1F1F28","titleBar.inactiveForeground":"#DCD7BA","walkThrough.embeddedEditorBackground":"#1F1F28"},"displayName":"Kanagawa Wave","name":"kanagawa-wave","semanticHighlighting":true,"semanticTokenColors":{"arithmetic":"#C0A36E","function":"#7E9CD8","keyword.controlFlow":{"fontStyle":"bold","foreground":"#957FB8"},"macro":"#E46876","method":"#7FB4CA","operator":"#C0A36E","parameter":"#B8B4D0","parameter.declaration":"#B8B4D0","parameter.definition":"#B8B4D0","variable":"#DCD7BA","variable.readonly":"#DCD7BA","variable.readonly.defaultLibrary":"#DCD7BA","variable.readonly.local":"#DCD7BA"},"tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#727169"}},{"scope":["variable","string constant.other.placeholder"],"settings":{"foreground":"#DCD7BA"}},{"scope":["constant.other.color"],"settings":{"foreground":"#FFA066"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#E82424"}},{"scope":["storage.type"],"settings":{"foreground":"#957FB8"}},{"scope":["storage.modifier"],"settings":{"foreground":"#957FB8"}},{"scope":["keyword.control.flow","keyword.control.conditional","keyword.control.loop"],"settings":{"fontStyle":"bold","foreground":"#957FB8"}},{"scope":["keyword.control","constant.other.color","meta.tag","keyword.other.template","keyword.other.substitution","keyword.other"],"settings":{"foreground":"#957FB8"}},{"scope":["keyword.other.definition.ini"],"settings":{"foreground":"#FFA066"}},{"scope":["keyword.control.trycatch"],"settings":{"fontStyle":"bold","foreground":"#FF5D62"}},{"scope":["keyword.other.unit","keyword.operator"],"settings":{"foreground":"#E6C384"}},{"scope":["punctuation","punctuation.definition.tag","punctuation.separator.inheritance.php","punctuation.definition.tag.html","punctuation.definition.tag.begin.html","punctuation.definition.tag.end.html","punctuation.section.embedded","meta.brace","keyword.operator.type.annotation","keyword.operator.namespace"],"settings":{"foreground":"#9CABCA"}},{"scope":["entity.name.tag","meta.tag.sgml"],"settings":{"foreground":"#E6C384"}},{"scope":["entity.name.function","meta.function-call","variable.function","support.function"],"settings":{"foreground":"#7E9CD8"}},{"scope":["keyword.other.special-method"],"settings":{"foreground":"#7FB4CA"}},{"scope":["entity.name.function.macro"],"settings":{"foreground":"#E46876"}},{"scope":["meta.block variable.other"],"settings":{"foreground":"#DCD7BA"}},{"scope":["variable.other.enummember"],"settings":{"foreground":"#FFA066"}},{"scope":["support.other.variable"],"settings":{"foreground":"#DCD7BA"}},{"scope":["string.other.link"],"settings":{"foreground":"#7FB4CA"}},{"scope":["constant.numeric","constant.language","support.constant","constant.character","constant.escape"],"settings":{"foreground":"#FFA066"}},{"scope":["constant.language.boolean"],"settings":{"foreground":"#FFA066"}},{"scope":["constant.numeric"],"settings":{"foreground":"#D27E99"}},{"scope":["string","punctuation.definition.string","constant.other.symbol","constant.other.key","entity.other.inherited-class","markup.heading","markup.inserted.git_gutter","meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js","markup.inline.raw.string"],"settings":{"foreground":"#98BB6C"}},{"scope":["entity.name","support.type","support.class","support.other.namespace.use.php","meta.use.php","support.other.namespace.php","support.type.sys-types"],"settings":{"foreground":"#7AA89F"}},{"scope":["entity.name.type.module","entity.name.namespace"],"settings":{"foreground":"#E6C384"}},{"scope":["entity.name.import.go"],"settings":{"foreground":"#98BB6C"}},{"scope":["keyword.blade"],"settings":{"foreground":"#957FB8"}},{"scope":["variable.other.property"],"settings":{"foreground":"#E6C384"}},{"scope":["keyword.control.import","keyword.import","meta.import"],"settings":{"foreground":"#FFA066"}},{"scope":["source.css support.type.property-name","source.sass support.type.property-name","source.scss support.type.property-name","source.less support.type.property-name","source.stylus support.type.property-name","source.postcss support.type.property-name"],"settings":{"foreground":"#7AA89F"}},{"scope":["entity.name.module.js","variable.import.parameter.js","variable.other.class.js"],"settings":{"foreground":"#FF5D62"}},{"scope":["variable.language"],"settings":{"foreground":"#FF5D62"}},{"scope":["entity.name.method.js"],"settings":{"foreground":"#7FB4CA"}},{"scope":["meta.class-method.js entity.name.function.js","variable.function.constructor"],"settings":{"foreground":"#7FB4CA"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#957FB8"}},{"scope":["entity.other.attribute-name.class"],"settings":{"foreground":"#E6C384"}},{"scope":["source.sass keyword.control"],"settings":{"foreground":"#7FB4CA"}},{"scope":["markup.inserted"],"settings":{"foreground":"#76946A"}},{"scope":["markup.deleted"],"settings":{"foreground":"#C34043"}},{"scope":["markup.changed"],"settings":{"foreground":"#DCA561"}},{"scope":["string.regexp"],"settings":{"foreground":"#C0A36E"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#7FB4CA"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["tag.decorator.js entity.name.tag.js","tag.decorator.js punctuation.definition.tag.js"],"settings":{"foreground":"#957FB8"}},{"scope":["source.js constant.other.object.key.js string.unquoted.label.js"],"settings":{"foreground":"#FF5D62"}},{"scope":["source.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#D27E99"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#E6C384"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFA066"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FF5D62"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFA066"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#7E9CD8"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#D27E99"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#957FB8"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#98BB6C"}},{"scope":["meta.tag JSXNested","meta.jsx.children","text.html","text.log"],"settings":{"foreground":"#DCD7BA"}},{"scope":["text.html.markdown","punctuation.definition.list_item.markdown"],"settings":{"foreground":"#DCD7BA"}},{"scope":["text.html.markdown markup.inline.raw.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["markdown.heading","entity.name.section.markdown","markup.heading.markdown"],"settings":{"foreground":"#7E9CD8"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#E46876"}},{"scope":["markup.bold","markup.bold string"],"settings":{"fontStyle":"bold"}},{"scope":["markup.bold markup.italic","markup.italic markup.bold","markup.quote markup.bold","markup.bold markup.italic string","markup.italic markup.bold string","markup.quote markup.bold string"],"settings":{"fontStyle":"bold","foreground":"#E46876"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline","foreground":"#7FB4CA"}},{"scope":["markup.quote punctuation.definition.blockquote.markdown"],"settings":{"foreground":"#727169"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic"}},{"scope":["string.other.link.title.markdown"],"settings":{"foreground":"#FFA066"}},{"scope":["string.other.link.description.title.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["constant.other.reference.link.markdown"],"settings":{"foreground":"#E6C384"}},{"scope":["markup.raw.block"],"settings":{"foreground":"#957FB8"}},{"scope":["markup.raw.block.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["punctuation.definition.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["markup.raw.block.fenced.markdown","variable.language.fenced.markdown","punctuation.section.class.end"],"settings":{"foreground":"#DCD7BA"}},{"scope":["variable.language.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["meta.separator"],"settings":{"fontStyle":"bold","foreground":"#9CABCA"}},{"scope":["markup.table"],"settings":{"foreground":"#DCD7BA"}}],"type":"dark"}'))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,86201,e=>{"use strict";e.s(["default",()=>t]);let t=Object.freeze(JSON.parse('{"colors":{"activityBar.background":"#2A2A37","activityBar.foreground":"#DCD7BA","activityBarBadge.background":"#658594","activityBarBadge.foreground":"#DCD7BA","badge.background":"#2A2A37","button.background":"#2A2A37","button.foreground":"#C8C093","button.secondaryBackground":"#223249","button.secondaryForeground":"#DCD7BA","checkbox.border":"#223249","debugToolBar.background":"#16161D","descriptionForeground":"#DCD7BA","diffEditor.insertedTextBackground":"#2B332880","dropdown.background":"#16161D","dropdown.border":"#16161D","editor.background":"#1F1F28","editor.findMatchBackground":"#2D4F67","editor.findMatchBorder":"#FF9E3B","editor.findMatchHighlightBackground":"#2D4F6780","editor.foreground":"#DCD7BA","editor.lineHighlightBackground":"#363646","editor.selectionBackground":"#223249","editor.selectionHighlightBackground":"#36364680","editor.selectionHighlightBorder":"#54546D","editor.wordHighlightBackground":"#3636464D","editor.wordHighlightBorder":"#54546D","editor.wordHighlightStrongBackground":"#3636464D","editor.wordHighlightStrongBorder":"#54546D","editorBracketHighlight.foreground1":"#957FB8","editorBracketHighlight.foreground2":"#FFA066","editorBracketHighlight.foreground3":"#7E9CD8","editorBracketHighlight.foreground4":"#D27E99","editorBracketHighlight.foreground5":"#E6C384","editorBracketHighlight.foreground6":"#7AA89F","editorBracketHighlight.unexpectedBracket.foreground":"#FF5D62","editorBracketMatch.background":"#16161D","editorBracketMatch.border":"#54546D","editorBracketPairGuide.activeBackground1":"#957FB8","editorBracketPairGuide.activeBackground2":"#FFA066","editorBracketPairGuide.activeBackground3":"#7E9CD8","editorBracketPairGuide.activeBackground4":"#D27E99","editorBracketPairGuide.activeBackground5":"#E6C384","editorBracketPairGuide.activeBackground6":"#7AA89F","editorCursor.background":"#1F1F28","editorCursor.foreground":"#DCD7BA","editorError.foreground":"#E82424","editorGroup.border":"#16161D","editorGroupHeader.tabsBackground":"#16161D","editorGutter.addedBackground":"#76946A","editorGutter.deletedBackground":"#C34043","editorGutter.modifiedBackground":"#DCA561","editorHoverWidget.background":"#1F1F28","editorHoverWidget.border":"#2A2A37","editorHoverWidget.highlightForeground":"#658594","editorIndentGuide.activeBackground1":"#363646","editorIndentGuide.background1":"#2A2A37","editorInlayHint.background":"#1F1F28","editorInlayHint.foreground":"#727169","editorLineNumber.activeForeground":"#FFA066","editorLineNumber.foreground":"#54546D","editorMarkerNavigation.background":"#363646","editorRuler.foreground":"#363646","editorSuggestWidget.background":"#223249","editorSuggestWidget.border":"#223249","editorSuggestWidget.selectedBackground":"#2D4F67","editorWarning.foreground":"#FF9E3B","editorWhitespace.foreground":"#1F1F28","editorWidget.background":"#1F1F28","focusBorder":"#223249","foreground":"#DCD7BA","gitDecoration.ignoredResourceForeground":"#727169","input.background":"#16161D","list.activeSelectionBackground":"#363646","list.activeSelectionForeground":"#DCD7BA","list.focusBackground":"#2A2A37","list.focusForeground":"#DCD7BA","list.highlightForeground":"#7E9CD8","list.hoverBackground":"#363646","list.hoverForeground":"#DCD7BA","list.inactiveSelectionBackground":"#2A2A37","list.inactiveSelectionForeground":"#DCD7BA","list.warningForeground":"#FF9E3B","menu.background":"#363646","menu.border":"#16161D","menu.foreground":"#DCD7BA","menu.selectionBackground":"#16161D","menu.selectionForeground":"#DCD7BA","menu.separatorBackground":"#54546D","menubar.selectionBackground":"#16161D","menubar.selectionForeground":"#DCD7BA","minimapGutter.addedBackground":"#76946A","minimapGutter.deletedBackground":"#C34043","minimapGutter.modifiedBackground":"#DCA561","panel.border":"#16161D","panelSectionHeader.background":"#1F1F28","peekView.border":"#54546D","peekViewEditor.background":"#2A2A37","peekViewEditor.matchHighlightBackground":"#2D4F67","peekViewResult.background":"#363646","scrollbar.shadow":"#363646","scrollbarSlider.activeBackground":"#2A2A3780","scrollbarSlider.background":"#54546D66","scrollbarSlider.hoverBackground":"#54546D80","settings.focusedRowBackground":"#363646","settings.headerForeground":"#DCD7BA","sideBar.background":"#1F1F28","sideBar.border":"#16161D","sideBar.foreground":"#DCD7BA","sideBarSectionHeader.background":"#363646","sideBarSectionHeader.foreground":"#DCD7BA","statusBar.background":"#16161D","statusBar.debuggingBackground":"#E82424","statusBar.debuggingBorder":"#957FB8","statusBar.debuggingForeground":"#DCD7BA","statusBar.foreground":"#C8C093","statusBar.noFolderBackground":"#1F1F28","statusBarItem.hoverBackground":"#363646","statusBarItem.remoteBackground":"#2D4F67","statusBarItem.remoteForeground":"#DCD7BA","tab.activeBackground":"#2A2A37","tab.activeForeground":"#7E9CD8","tab.border":"#2A2A37","tab.hoverBackground":"#363646","tab.inactiveBackground":"#1A1A22","tab.unfocusedHoverBackground":"#1F1F28","terminal.ansiBlack":"#16161D","terminal.ansiBlue":"#7E9CD8","terminal.ansiBrightBlack":"#727169","terminal.ansiBrightBlue":"#7FB4CA","terminal.ansiBrightCyan":"#7AA89F","terminal.ansiBrightGreen":"#98BB6C","terminal.ansiBrightMagenta":"#938AA9","terminal.ansiBrightRed":"#E82424","terminal.ansiBrightWhite":"#DCD7BA","terminal.ansiBrightYellow":"#E6C384","terminal.ansiCyan":"#6A9589","terminal.ansiGreen":"#76946A","terminal.ansiMagenta":"#957FB8","terminal.ansiRed":"#C34043","terminal.ansiWhite":"#C8C093","terminal.ansiYellow":"#C0A36E","terminal.background":"#1F1F28","terminal.border":"#16161D","terminal.foreground":"#DCD7BA","terminal.selectionBackground":"#223249","textBlockQuote.background":"#1F1F28","textBlockQuote.border":"#16161D","textLink.foreground":"#6A9589","textPreformat.foreground":"#FF9E3B","titleBar.activeBackground":"#363646","titleBar.activeForeground":"#DCD7BA","titleBar.inactiveBackground":"#1F1F28","titleBar.inactiveForeground":"#DCD7BA","walkThrough.embeddedEditorBackground":"#1F1F28"},"displayName":"Kanagawa Wave","name":"kanagawa-wave","semanticHighlighting":true,"semanticTokenColors":{"arithmetic":"#C0A36E","function":"#7E9CD8","keyword.controlFlow":{"fontStyle":"bold","foreground":"#957FB8"},"macro":"#E46876","method":"#7FB4CA","operator":"#C0A36E","parameter":"#B8B4D0","parameter.declaration":"#B8B4D0","parameter.definition":"#B8B4D0","variable":"#DCD7BA","variable.readonly":"#DCD7BA","variable.readonly.defaultLibrary":"#DCD7BA","variable.readonly.local":"#DCD7BA"},"tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#727169"}},{"scope":["variable","string constant.other.placeholder"],"settings":{"foreground":"#DCD7BA"}},{"scope":["constant.other.color"],"settings":{"foreground":"#FFA066"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#E82424"}},{"scope":["storage.type"],"settings":{"foreground":"#957FB8"}},{"scope":["storage.modifier"],"settings":{"foreground":"#957FB8"}},{"scope":["keyword.control.flow","keyword.control.conditional","keyword.control.loop"],"settings":{"fontStyle":"bold","foreground":"#957FB8"}},{"scope":["keyword.control","constant.other.color","meta.tag","keyword.other.template","keyword.other.substitution","keyword.other"],"settings":{"foreground":"#957FB8"}},{"scope":["keyword.other.definition.ini"],"settings":{"foreground":"#FFA066"}},{"scope":["keyword.control.trycatch"],"settings":{"fontStyle":"bold","foreground":"#FF5D62"}},{"scope":["keyword.other.unit","keyword.operator"],"settings":{"foreground":"#E6C384"}},{"scope":["punctuation","punctuation.definition.tag","punctuation.separator.inheritance.php","punctuation.definition.tag.html","punctuation.definition.tag.begin.html","punctuation.definition.tag.end.html","punctuation.section.embedded","meta.brace","keyword.operator.type.annotation","keyword.operator.namespace"],"settings":{"foreground":"#9CABCA"}},{"scope":["entity.name.tag","meta.tag.sgml"],"settings":{"foreground":"#E6C384"}},{"scope":["entity.name.function","meta.function-call","variable.function","support.function"],"settings":{"foreground":"#7E9CD8"}},{"scope":["keyword.other.special-method"],"settings":{"foreground":"#7FB4CA"}},{"scope":["entity.name.function.macro"],"settings":{"foreground":"#E46876"}},{"scope":["meta.block variable.other"],"settings":{"foreground":"#DCD7BA"}},{"scope":["variable.other.enummember"],"settings":{"foreground":"#FFA066"}},{"scope":["support.other.variable"],"settings":{"foreground":"#DCD7BA"}},{"scope":["string.other.link"],"settings":{"foreground":"#7FB4CA"}},{"scope":["constant.numeric","constant.language","support.constant","constant.character","constant.escape"],"settings":{"foreground":"#FFA066"}},{"scope":["constant.language.boolean"],"settings":{"foreground":"#FFA066"}},{"scope":["constant.numeric"],"settings":{"foreground":"#D27E99"}},{"scope":["string","punctuation.definition.string","constant.other.symbol","constant.other.key","entity.other.inherited-class","markup.heading","markup.inserted.git_gutter","meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js","markup.inline.raw.string"],"settings":{"foreground":"#98BB6C"}},{"scope":["entity.name","support.type","support.class","support.other.namespace.use.php","meta.use.php","support.other.namespace.php","support.type.sys-types"],"settings":{"foreground":"#7AA89F"}},{"scope":["entity.name.type.module","entity.name.namespace"],"settings":{"foreground":"#E6C384"}},{"scope":["entity.name.import.go"],"settings":{"foreground":"#98BB6C"}},{"scope":["keyword.blade"],"settings":{"foreground":"#957FB8"}},{"scope":["variable.other.property"],"settings":{"foreground":"#E6C384"}},{"scope":["keyword.control.import","keyword.import","meta.import"],"settings":{"foreground":"#FFA066"}},{"scope":["source.css support.type.property-name","source.sass support.type.property-name","source.scss support.type.property-name","source.less support.type.property-name","source.stylus support.type.property-name","source.postcss support.type.property-name"],"settings":{"foreground":"#7AA89F"}},{"scope":["entity.name.module.js","variable.import.parameter.js","variable.other.class.js"],"settings":{"foreground":"#FF5D62"}},{"scope":["variable.language"],"settings":{"foreground":"#FF5D62"}},{"scope":["entity.name.method.js"],"settings":{"foreground":"#7FB4CA"}},{"scope":["meta.class-method.js entity.name.function.js","variable.function.constructor"],"settings":{"foreground":"#7FB4CA"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#957FB8"}},{"scope":["entity.other.attribute-name.class"],"settings":{"foreground":"#E6C384"}},{"scope":["source.sass keyword.control"],"settings":{"foreground":"#7FB4CA"}},{"scope":["markup.inserted"],"settings":{"foreground":"#76946A"}},{"scope":["markup.deleted"],"settings":{"foreground":"#C34043"}},{"scope":["markup.changed"],"settings":{"foreground":"#DCA561"}},{"scope":["string.regexp"],"settings":{"foreground":"#C0A36E"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#7FB4CA"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["tag.decorator.js entity.name.tag.js","tag.decorator.js punctuation.definition.tag.js"],"settings":{"foreground":"#957FB8"}},{"scope":["source.js constant.other.object.key.js string.unquoted.label.js"],"settings":{"foreground":"#FF5D62"}},{"scope":["source.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#D27E99"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#E6C384"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFA066"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FF5D62"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFA066"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#7E9CD8"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#D27E99"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#957FB8"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#98BB6C"}},{"scope":["meta.tag JSXNested","meta.jsx.children","text.html","text.log"],"settings":{"foreground":"#DCD7BA"}},{"scope":["text.html.markdown","punctuation.definition.list_item.markdown"],"settings":{"foreground":"#DCD7BA"}},{"scope":["text.html.markdown markup.inline.raw.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["markdown.heading","entity.name.section.markdown","markup.heading.markdown"],"settings":{"foreground":"#7E9CD8"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#E46876"}},{"scope":["markup.bold","markup.bold string"],"settings":{"fontStyle":"bold"}},{"scope":["markup.bold markup.italic","markup.italic markup.bold","markup.quote markup.bold","markup.bold markup.italic string","markup.italic markup.bold string","markup.quote markup.bold string"],"settings":{"fontStyle":"bold","foreground":"#E46876"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline","foreground":"#7FB4CA"}},{"scope":["markup.quote punctuation.definition.blockquote.markdown"],"settings":{"foreground":"#727169"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic"}},{"scope":["string.other.link.title.markdown"],"settings":{"foreground":"#FFA066"}},{"scope":["string.other.link.description.title.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["constant.other.reference.link.markdown"],"settings":{"foreground":"#E6C384"}},{"scope":["markup.raw.block"],"settings":{"foreground":"#957FB8"}},{"scope":["markup.raw.block.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["punctuation.definition.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["markup.raw.block.fenced.markdown","variable.language.fenced.markdown","punctuation.section.class.end"],"settings":{"foreground":"#DCD7BA"}},{"scope":["variable.language.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["meta.separator"],"settings":{"fontStyle":"bold","foreground":"#9CABCA"}},{"scope":["markup.table"],"settings":{"foreground":"#DCD7BA"}}],"type":"dark"}'))}]);