@debian777/kairos-mcp 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +2 -2
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/bootstrap.d.ts +2 -0
  4. package/dist/bootstrap.d.ts.map +1 -0
  5. package/dist/bootstrap.js +60 -0
  6. package/dist/bootstrap.js.map +1 -0
  7. package/dist/config.d.ts +13 -0
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +18 -3
  10. package/dist/config.js.map +1 -1
  11. package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002001.md +1 -1
  12. package/dist/embed-docs/mem/00000000-0000-0000-0000-000000002002.md +1 -1
  13. package/dist/http/http-api-dump.d.ts.map +1 -1
  14. package/dist/http/http-api-dump.js +1 -1
  15. package/dist/http/http-api-dump.js.map +1 -1
  16. package/dist/http/http-api-mint.d.ts.map +1 -1
  17. package/dist/http/http-api-mint.js +31 -4
  18. package/dist/http/http-api-mint.js.map +1 -1
  19. package/dist/http/http-api-next.d.ts.map +1 -1
  20. package/dist/http/http-api-next.js +2 -2
  21. package/dist/http/http-api-next.js.map +1 -1
  22. package/dist/http/http-api-snapshot.d.ts.map +1 -1
  23. package/dist/http/http-api-snapshot.js +0 -1
  24. package/dist/http/http-api-snapshot.js.map +1 -1
  25. package/dist/http/http-auth-callback.d.ts.map +1 -1
  26. package/dist/http/http-auth-callback.js +3 -2
  27. package/dist/http/http-auth-callback.js.map +1 -1
  28. package/dist/http/http-auth-middleware.d.ts +1 -0
  29. package/dist/http/http-auth-middleware.d.ts.map +1 -1
  30. package/dist/http/http-auth-middleware.js +2 -0
  31. package/dist/http/http-auth-middleware.js.map +1 -1
  32. package/dist/http/http-error-handlers.d.ts.map +1 -1
  33. package/dist/http/http-error-handlers.js +12 -1
  34. package/dist/http/http-error-handlers.js.map +1 -1
  35. package/dist/http/http-health-routes.d.ts.map +1 -1
  36. package/dist/http/http-health-routes.js +9 -6
  37. package/dist/http/http-health-routes.js.map +1 -1
  38. package/dist/http/http-mcp-handler.d.ts.map +1 -1
  39. package/dist/http/http-mcp-handler.js +44 -11
  40. package/dist/http/http-mcp-handler.js.map +1 -1
  41. package/dist/http/http-server-config.d.ts.map +1 -1
  42. package/dist/http/http-server-config.js +51 -1
  43. package/dist/http/http-server-config.js.map +1 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -10
  46. package/dist/index.js.map +1 -1
  47. package/dist/resources/docs-resources.js +1 -1
  48. package/dist/resources/docs-resources.js.map +1 -1
  49. package/dist/resources/prompt-resources.js +1 -1
  50. package/dist/resources/prompt-resources.js.map +1 -1
  51. package/dist/services/chain-utils.d.ts +0 -7
  52. package/dist/services/chain-utils.d.ts.map +1 -1
  53. package/dist/services/chain-utils.js +0 -6
  54. package/dist/services/chain-utils.js.map +1 -1
  55. package/dist/services/embedding/audit.d.ts +35 -0
  56. package/dist/services/embedding/audit.d.ts.map +1 -0
  57. package/dist/services/embedding/audit.js +146 -0
  58. package/dist/services/embedding/audit.js.map +1 -0
  59. package/dist/services/embedding/config.js +1 -1
  60. package/dist/services/embedding/config.js.map +1 -1
  61. package/dist/services/embedding/health.d.ts +5 -0
  62. package/dist/services/embedding/health.d.ts.map +1 -0
  63. package/dist/services/embedding/health.js +112 -0
  64. package/dist/services/embedding/health.js.map +1 -0
  65. package/dist/services/embedding/providers.d.ts.map +1 -1
  66. package/dist/services/embedding/providers.js +65 -1
  67. package/dist/services/embedding/providers.js.map +1 -1
  68. package/dist/services/embedding/service.d.ts +1 -0
  69. package/dist/services/embedding/service.d.ts.map +1 -1
  70. package/dist/services/embedding/service.js +94 -124
  71. package/dist/services/embedding/service.js.map +1 -1
  72. package/dist/services/memory/store-chain-default-handler.d.ts.map +1 -1
  73. package/dist/services/memory/store-chain-default-handler.js +7 -2
  74. package/dist/services/memory/store-chain-default-handler.js.map +1 -1
  75. package/dist/services/memory/store-chain-header-handler.d.ts.map +1 -1
  76. package/dist/services/memory/store-chain-header-handler.js +7 -2
  77. package/dist/services/memory/store-chain-header-handler.js.map +1 -1
  78. package/dist/services/memory/store-chain-helpers.js +1 -1
  79. package/dist/services/memory/store-chain-helpers.js.map +1 -1
  80. package/dist/services/memory/store-chain.js +1 -1
  81. package/dist/services/memory/store-chain.js.map +1 -1
  82. package/dist/services/memory/store-init.js +1 -1
  83. package/dist/services/memory/store-init.js.map +1 -1
  84. package/dist/services/memory/store-methods.js +1 -1
  85. package/dist/services/memory/store-methods.js.map +1 -1
  86. package/dist/services/memory/store.js +1 -1
  87. package/dist/services/memory/store.js.map +1 -1
  88. package/dist/services/memory-store.js +1 -1
  89. package/dist/services/memory-store.js.map +1 -1
  90. package/dist/services/metrics/anomaly-metrics.d.ts +3 -0
  91. package/dist/services/metrics/anomaly-metrics.d.ts.map +1 -0
  92. package/dist/services/metrics/anomaly-metrics.js +9 -0
  93. package/dist/services/metrics/anomaly-metrics.js.map +1 -0
  94. package/dist/services/proof-of-work-store.js +1 -1
  95. package/dist/services/proof-of-work-store.js.map +1 -1
  96. package/dist/services/qdrant/attest-propagation.d.ts.map +1 -1
  97. package/dist/services/qdrant/attest-propagation.js +5 -8
  98. package/dist/services/qdrant/attest-propagation.js.map +1 -1
  99. package/dist/services/qdrant/connection.js +1 -1
  100. package/dist/services/qdrant/connection.js.map +1 -1
  101. package/dist/services/qdrant/initialization.js +1 -1
  102. package/dist/services/qdrant/initialization.js.map +1 -1
  103. package/dist/services/qdrant/listing.js +1 -1
  104. package/dist/services/qdrant/listing.js.map +1 -1
  105. package/dist/services/qdrant/memory-retrieval.d.ts +21 -0
  106. package/dist/services/qdrant/memory-retrieval.d.ts.map +1 -1
  107. package/dist/services/qdrant/memory-retrieval.js +36 -18
  108. package/dist/services/qdrant/memory-retrieval.js.map +1 -1
  109. package/dist/services/qdrant/memory-store.js +1 -1
  110. package/dist/services/qdrant/memory-store.js.map +1 -1
  111. package/dist/services/qdrant/memory-updates.d.ts.map +1 -1
  112. package/dist/services/qdrant/memory-updates.js +35 -37
  113. package/dist/services/qdrant/memory-updates.js.map +1 -1
  114. package/dist/services/qdrant/quality.d.ts.map +1 -1
  115. package/dist/services/qdrant/quality.js +13 -27
  116. package/dist/services/qdrant/quality.js.map +1 -1
  117. package/dist/services/qdrant/resources.d.ts.map +1 -1
  118. package/dist/services/qdrant/resources.js +23 -8
  119. package/dist/services/qdrant/resources.js.map +1 -1
  120. package/dist/services/qdrant/search.js +1 -1
  121. package/dist/services/qdrant/search.js.map +1 -1
  122. package/dist/services/qdrant/service.js +1 -1
  123. package/dist/services/qdrant/service.js.map +1 -1
  124. package/dist/services/qdrant/utils.js +1 -1
  125. package/dist/services/qdrant/utils.js.map +1 -1
  126. package/dist/services/redis-cache.js +1 -1
  127. package/dist/services/redis-cache.js.map +1 -1
  128. package/dist/services/redis.d.ts +1 -0
  129. package/dist/services/redis.d.ts.map +1 -1
  130. package/dist/services/redis.js +20 -6
  131. package/dist/services/redis.js.map +1 -1
  132. package/dist/services/stats/model-stats.js +1 -1
  133. package/dist/services/stats/model-stats.js.map +1 -1
  134. package/dist/services/stats/protocol.js +1 -1
  135. package/dist/services/stats/protocol.js.map +1 -1
  136. package/dist/tools/kairos_attest.js +1 -1
  137. package/dist/tools/kairos_attest.js.map +1 -1
  138. package/dist/tools/kairos_mint.js +1 -1
  139. package/dist/tools/kairos_mint.js.map +1 -1
  140. package/dist/tools/kairos_search.d.ts.map +1 -1
  141. package/dist/tools/kairos_search.js +26 -13
  142. package/dist/tools/kairos_search.js.map +1 -1
  143. package/dist/ui/assets/{AccountPage-xcULo_Ht.js → AccountPage-kxmPtqQP.js} +1 -1
  144. package/dist/ui/assets/{ErrorAlert-Bp_BC2t_.js → ErrorAlert-ME7tEJ6X.js} +1 -1
  145. package/dist/ui/assets/{HomePage-YaKMlhFN.js → HomePage-DxiAsvs-.js} +1 -1
  146. package/dist/ui/assets/{KairosPage-DgO58pOn.js → KairosPage-BkqYs3-_.js} +1 -1
  147. package/dist/ui/assets/NotFoundPage-DyfbQ-6G.js +1 -0
  148. package/dist/ui/assets/{ProtocolDetailPage-D93cKbME.js → ProtocolDetailPage-DKaSVepL.js} +1 -1
  149. package/dist/ui/assets/{ProtocolEditPage-CCwQy6yl.js → ProtocolEditPage-D-aTavvx.js} +1 -1
  150. package/dist/ui/assets/{RenderedMarkdown-Dd_bDNwz.js → RenderedMarkdown-DjbuQlBl.js} +1 -1
  151. package/dist/ui/assets/{RunGuidedPage-CcTlI5HF.js → RunGuidedPage-BUD0MaGh.js} +1 -1
  152. package/dist/ui/assets/{RunsPage-BjSaeOq_.js → RunsPage-ctnsEF2U.js} +1 -1
  153. package/dist/ui/assets/{SkillBundlePage-D2cJwwA1.js → SkillBundlePage-CaWW5oGq.js} +1 -1
  154. package/dist/ui/assets/{index-BE1NYtLh.css → index-BAOM7Ima.css} +1 -1
  155. package/dist/ui/assets/{index-Dj9XLtnR.js → index-BrTmRWuA.js} +3 -3
  156. package/dist/ui/assets/{tiptap-BEg0BoNB.js → tiptap-kMFBDujG.js} +2 -2
  157. package/dist/ui/assets/{useProtocol-D_32bpf9.js → useProtocol-BruWpIzq.js} +1 -1
  158. package/dist/ui/assets/{useSpaces-DdE67BYD.js → useSpaces-BV6eUjY3.js} +1 -1
  159. package/dist/ui/assets/vendor-GiUVcjs7.js +33 -0
  160. package/dist/ui/index.html +4 -4
  161. package/dist/utils/qdrant-vector-management.js +1 -1
  162. package/dist/utils/qdrant-vector-management.js.map +1 -1
  163. package/dist/utils/structured-logger.d.ts +6 -1
  164. package/dist/utils/structured-logger.d.ts.map +1 -1
  165. package/dist/utils/structured-logger.js +103 -16
  166. package/dist/utils/structured-logger.js.map +1 -1
  167. package/dist/utils/tenant-context.d.ts +7 -0
  168. package/dist/utils/tenant-context.d.ts.map +1 -1
  169. package/dist/utils/tenant-context.js +20 -6
  170. package/dist/utils/tenant-context.js.map +1 -1
  171. package/package.json +10 -7
  172. package/dist/ui/assets/NotFoundPage-BnEJbefZ.js +0 -1
  173. package/dist/ui/assets/vendor-BxD5ItEO.js +0 -33
  174. package/dist/utils/logger.d.ts +0 -22
  175. package/dist/utils/logger.d.ts.map +0 -1
  176. package/dist/utils/logger.js +0 -63
  177. package/dist/utils/logger.js.map +0 -1
@@ -1,2 +1,2 @@
1
- /*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
2
  @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--radius-sm:var(--radius-sm);--radius-md:var(--radius-md);--radius-lg:var(--radius-lg);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:var(--color-primary);--color-primary-hover:var(--color-primary-hover);--color-secondary:var(--color-secondary);--color-accent:var(--color-accent);--color-text:var(--color-text);--color-text-heading:var(--color-text-heading);--color-text-muted:var(--color-text-muted);--color-surface:var(--color-surface);--color-surface-elevated:var(--color-surface-elevated);--color-border:var(--color-border);--color-error:var(--color-error);--color-error-bg:var(--color-error-bg);--color-success:var(--color-success);--color-warning:var(--color-warning);--color-focus-ring:var(--color-focus-ring);--font-size-xs:var(--font-size-xs);--font-size-sm:var(--font-size-sm);--font-size-base:var(--font-size-base);--font-size-lg:var(--font-size-lg);--font-size-xl:var(--font-size-xl);--font-size-2xl:var(--font-size-2xl);--font-size-3xl:var(--font-size-3xl)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-full{top:100%}.left-0{left:var(--space-0)}.z-10{z-index:10}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:var(--space-0)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:var(--space-0)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.ml-2{margin-left:var(--space-2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:var(--space-4)}.h-5{height:var(--space-5)}.h-10{height:var(--space-10)}.h-11{height:calc(var(--spacing) * 11)}.min-h-\[6rem\]{min-height:6rem}.min-h-\[8rem\]{min-height:8rem}.min-h-\[10rem\]{min-height:10rem}.min-h-\[11rem\]{min-height:11rem}.min-h-\[12rem\]{min-height:12rem}.min-h-\[32px\]{min-height:32px}.min-h-\[36px\]{min-height:36px}.min-h-\[44px\]{min-height:44px}.min-h-\[var\(--layout-touch-target\)\]{min-height:var(--layout-touch-target)}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-3\/4{width:75%}.w-4{width:var(--space-4)}.w-10{width:var(--space-10)}.w-11{width:calc(var(--spacing) * 11)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-\[var\(--layout-sidebar-width\)\]{width:var(--layout-sidebar-width)}.w-full{width:100%}.max-w-\[22rem\]{max-width:22rem}.max-w-\[70ch\]{max-width:70ch}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:var(--space-0)}.min-w-\[7rem\]{min-width:7rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[36px\]{min-width:36px}.min-w-\[44px\]{min-width:44px}.min-w-\[var\(--layout-touch-target\)\]{min-width:var(--layout-touch-target)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-1) * var(--tw-space-y-reverse));margin-block-end:calc(var(--space-1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-2) * var(--tw-space-y-reverse));margin-block-end:calc(var(--space-2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-3) * var(--tw-space-y-reverse));margin-block-end:calc(var(--space-3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-4) * var(--tw-space-y-reverse));margin-block-end:calc(var(--space-4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-5) * var(--tw-space-y-reverse));margin-block-end:calc(var(--space-5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--space-6) * var(--tw-space-y-reverse));margin-block-end:calc(var(--space-6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--color-border\)\]>:not(:last-child)){border-color:var(--color-border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-error\)\]{border-color:var(--color-error)}.border-\[var\(--color-primary\)\]{border-color:var(--color-primary)}.border-transparent{border-color:#0000}.border-l-\[var\(--color-primary\)\]{border-left-color:var(--color-primary)}.bg-\[\#dbeafe\]{background-color:#dbeafe}.bg-\[\#dcfce7\]{background-color:#dcfce7}.bg-\[\#e2e8f0\]{background-color:#e2e8f0}.bg-\[\#ede9fe\]{background-color:#ede9fe}.bg-\[\#fef3c7\]{background-color:#fef3c7}.bg-\[var\(--color-border\)\]{background-color:var(--color-border)}.bg-\[var\(--color-error-bg\)\]{background-color:var(--color-error-bg)}.bg-\[var\(--color-primary\)\]{background-color:var(--color-primary)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.bg-\[var\(--color-surface-elevated\)\]{background-color:var(--color-surface-elevated)}.bg-transparent{background-color:#0000}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:var(--space-0)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-2{padding-inline:var(--space-2)}.px-3{padding-inline:var(--space-3)}.px-4{padding-inline:var(--space-4)}.px-\[var\(--layout-main-padding-x\)\]{padding-inline:var(--layout-main-padding-x)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--space-1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:var(--space-2)}.py-3{padding-block:var(--space-3)}.py-4{padding-block:var(--space-4)}.py-\[var\(--layout-main-padding-y\)\]{padding-block:var(--layout-main-padding-y)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pb-4{padding-bottom:var(--space-4)}.pl-5{padding-left:var(--space-5)}.pl-6{padding-left:var(--space-6)}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:var(--space-5);line-height:var(--space-5)}.leading-6{--tw-leading:var(--space-6);line-height:var(--space-6)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-\[\#1e40af\]{color:#1e40af}.text-\[\#5b21b6\]{color:#5b21b6}.text-\[\#92400e\]{color:#92400e}.text-\[\#166534\]{color:#166534}.text-\[\#334155\]{color:#334155}.text-\[var\(--color-error\)\]{color:var(--color-error)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-\[var\(--color-text-heading\)\]{color:var(--color-text-heading)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[var\(--color-primary\)\]{--tw-ring-color:var(--color-primary)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-\[var\(--color-surface\)\]{--tw-ring-offset-color:var(--color-surface)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-offset-2{outline-offset:2px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-\[var\(--color-primary-hover\)\]:hover{background-color:var(--color-primary-hover)}.hover\:bg-\[var\(--color-surface\)\]:hover{background-color:var(--color-surface)}.hover\:bg-\[var\(--color-surface-elevated\)\]:hover{background-color:var(--color-surface-elevated)}.hover\:text-\[var\(--color-text\)\]:hover{color:var(--color-text)}.hover\:text-\[var\(--color-text-heading\)\]:hover{color:var(--color-text-heading)}.hover\:no-underline:hover{text-decoration-line:none}}.focus\:bg-\[var\(--color-surface-elevated\)\]:focus{background-color:var(--color-surface-elevated)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--color-focus-ring\)\]:focus-visible{outline-color:var(--color-focus-ring)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}}@media (width>=48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}}@media (width>=64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[1\.3fr_1fr\]{grid-template-columns:1.3fr 1fr}.xl\:grid-cols-\[1\.6fr_1fr\]{grid-template-columns:1.6fr 1fr}.xl\:grid-cols-\[1\.45fr_1fr\]{grid-template-columns:1.45fr 1fr}}.\[\&_a\]\:text-\[var\(--color-primary\)\] a{color:var(--color-primary)}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\:focus-visible\]\:outline a:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.\[\&_a\:focus-visible\]\:outline-2 a:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.\[\&_a\:focus-visible\]\:outline-offset-2 a:focus-visible{outline-offset:2px}.\[\&_a\:focus-visible\]\:outline-\[var\(--color-focus-ring\)\] a:focus-visible{outline-color:var(--color-focus-ring)}.\[\&_a\:hover\]\:no-underline a:hover{text-decoration-line:none}.\[\&_blockquote\]\:border-l-4 blockquote{border-left-style:var(--tw-border-style);border-left-width:4px}.\[\&_blockquote\]\:border-\[var\(--color-border\)\] blockquote{border-color:var(--color-border)}.\[\&_blockquote\]\:pl-4 blockquote{padding-left:var(--space-4)}.\[\&_blockquote\]\:text-\[var\(--color-text-muted\)\] blockquote{color:var(--color-text-muted)}.\[\&_blockquote\]\:italic blockquote{font-style:italic}.\[\&_code\]\:rounded code{border-radius:.25rem}.\[\&_code\]\:bg-\[var\(--color-surface-elevated\)\] code{background-color:var(--color-surface-elevated)}.\[\&_code\]\:px-1\.5 code{padding-inline:calc(var(--spacing) * 1.5)}.\[\&_code\]\:py-0\.5 code{padding-block:calc(var(--spacing) * .5)}.\[\&_code\]\:font-mono code{font-family:var(--font-mono)}.\[\&_code\]\:text-xs code{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_h1\]\:mt-4 h1{margin-top:var(--space-4)}.\[\&_h1\]\:mb-2 h1{margin-bottom:var(--space-2)}.\[\&_h1\]\:text-xl h1{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.\[\&_h1\]\:font-semibold h1{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_h1\]\:text-\[var\(--color-text-heading\)\] h1{color:var(--color-text-heading)}.\[\&_h2\]\:mt-4 h2{margin-top:var(--space-4)}.\[\&_h2\]\:mb-2 h2{margin-bottom:var(--space-2)}.\[\&_h2\]\:text-lg h2{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.\[\&_h2\]\:font-semibold h2{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_h2\]\:text-\[var\(--color-text-heading\)\] h2{color:var(--color-text-heading)}.\[\&_h3\]\:mt-3 h3{margin-top:var(--space-3)}.\[\&_h3\]\:mb-1 h3{margin-bottom:var(--space-1)}.\[\&_h3\]\:text-base h3{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.\[\&_h3\]\:font-medium h3{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_h3\]\:text-\[var\(--color-text-heading\)\] h3{color:var(--color-text-heading)}.\[\&_li\]\:my-0\.5 li{margin-block:calc(var(--spacing) * .5)}.\[\&_ol\]\:my-3 ol{margin-block:var(--space-3)}.\[\&_ol\]\:pl-6 ol{padding-left:var(--space-6)}.\[\&_p\]\:mt-0 p{margin-top:var(--space-0)}.\[\&_p\+p\]\:mt-3 p+p{margin-top:var(--space-3)}.\[\&_p\:first-child\]\:mt-0 p:first-child{margin-top:var(--space-0)}.\[\&_pre\]\:my-3 pre{margin-block:var(--space-3)}.\[\&_pre\]\:overflow-x-auto pre{overflow-x:auto}.\[\&_pre\]\:rounded-\[var\(--radius-md\)\] pre{border-radius:var(--radius-md)}.\[\&_pre\]\:bg-\[var\(--color-surface-elevated\)\] pre{background-color:var(--color-surface-elevated)}.\[\&_pre\]\:p-3 pre{padding:var(--space-3)}.\[\&_pre\]\:font-mono pre{font-family:var(--font-mono)}.\[\&_pre\]\:text-sm pre{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\[\&_pre\]\:whitespace-pre-wrap pre{white-space:pre-wrap}.\[\&_pre_code\]\:bg-transparent pre code{background-color:#0000}.\[\&_pre_code\]\:p-0 pre code{padding:var(--space-0)}.\[\&_pre_code\]\:text-inherit pre code{color:inherit}.\[\&_strong\]\:font-semibold strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_strong\]\:text-\[var\(--color-text-heading\)\] strong{color:var(--color-text-heading)}.\[\&_table\]\:my-3 table{margin-block:var(--space-3)}.\[\&_table\]\:my-4 table{margin-block:var(--space-4)}.\[\&_table\]\:w-full table{width:100%}.\[\&_table\]\:border-collapse table{border-collapse:collapse}.\[\&_table\]\:text-left table{text-align:left}.\[\&_td\]\:border td{border-style:var(--tw-border-style);border-width:1px}.\[\&_td\]\:border-\[var\(--color-border\)\] td{border-color:var(--color-border)}.\[\&_td\]\:px-2 td{padding-inline:var(--space-2)}.\[\&_td\]\:px-3 td{padding-inline:var(--space-3)}.\[\&_td\]\:py-1\.5 td{padding-block:calc(var(--spacing) * 1.5)}.\[\&_td\]\:py-2 td{padding-block:var(--space-2)}.\[\&_th\]\:border th{border-style:var(--tw-border-style);border-width:1px}.\[\&_th\]\:border-\[var\(--color-border\)\] th{border-color:var(--color-border)}.\[\&_th\]\:bg-\[var\(--color-surface-elevated\)\] th{background-color:var(--color-surface-elevated)}.\[\&_th\]\:px-2 th{padding-inline:var(--space-2)}.\[\&_th\]\:px-3 th{padding-inline:var(--space-3)}.\[\&_th\]\:py-1\.5 th{padding-block:calc(var(--spacing) * 1.5)}.\[\&_th\]\:py-2 th{padding-block:var(--space-2)}.\[\&_th\]\:font-semibold th{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_th\]\:text-\[var\(--color-text-heading\)\] th{color:var(--color-text-heading)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\]\:border-\[var\(--color-border\)\] tr{border-color:var(--color-border)}.\[\&_tr\:last-child\]\:border-b-0 tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&_ul\]\:my-3 ul{margin-block:var(--space-3)}.\[\&_ul\]\:pl-6 ul{padding-left:var(--space-6)}}:root{--color-primary:#0d9488;--color-primary-hover:#0f766e;--color-primary-focus:#0d9488;--color-secondary:#64748b;--color-accent:#0ea5e9;--color-text:#1e293b;--color-text-heading:#0f172a;--color-text-muted:#64748b;--color-surface:#fff;--color-surface-elevated:#f8fafc;--color-border:#e2e8f0;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-success:#16a34a;--color-warning:#d97706;--color-focus-ring:var(--color-primary);--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--font-sans:system-ui, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.6;--letter-spacing-uppercase:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--layout-main-max:80rem;--layout-main-narrow:48rem;--layout-main-wide:72rem;--layout-sidebar-width:12rem;--layout-touch-target:44px;--layout-main-padding-x:1.5rem;--layout-main-padding-y:1.5rem;--section-gap:var(--space-8);--card-padding:var(--space-6)}@media (width>=1024px){:root{--layout-main-padding-x:2rem}}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.skip-link{top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;font-weight:var(--font-weight-medium);z-index:100;border-radius:var(--radius-md);position:absolute}.skip-link:focus{top:var(--space-4)}.skip-link:focus:not(:focus-visible){top:-100%}.skip-link:focus-visible{top:var(--space-4)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
@@ -1,8 +1,8 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomePage-YaKMlhFN.js","assets/vendor-BxD5ItEO.js","assets/rolldown-runtime-Dw2cE7zH.js","assets/tiptap-BEg0BoNB.js","assets/react-BdWJx0XL.js","assets/useSpaces-DdE67BYD.js","assets/api-D88c6lbH.js","assets/KairosPage-DgO58pOn.js","assets/ErrorAlert-Bp_BC2t_.js","assets/RunsPage-BjSaeOq_.js","assets/useRunSession-CciNdgs6.js","assets/ProtocolEditPage-CCwQy6yl.js","assets/useProtocol-D_32bpf9.js","assets/RunGuidedPage-CcTlI5HF.js","assets/RenderedMarkdown-Dd_bDNwz.js","assets/SkillBundlePage-D2cJwwA1.js","assets/ProtocolDetailPage-D93cKbME.js","assets/AccountPage-xcULo_Ht.js","assets/NotFoundPage-BnEJbefZ.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{_ as t,b as n,c as r,i,l as a,m as o,o as s,s as c,u as l,v as u,x as d,y as f}from"./vendor-BxD5ItEO.js";import{i as p,n as m,t as h}from"./react-BdWJx0XL.js";import"./tiptap-BEg0BoNB.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var g=`Skip to main content`,_={"nav.home":`Home`,"nav.kairos":`Browse`,"nav.create":`Create`,"nav.runs":`Test Run`,"nav.account":`Account`,skipToMain:g,"home.title":`Home`,"home.tagline":`Overview of your spaces and protocols.`,"home.searchLabel":`Search protocols`,"home.searchPlaceholder":`e.g. deploy and test`,"home.searchHint":`Enter a query to find protocols. Results open in the KAIROS tab.`,"home.statsLabel":`Space and protocol counts`,"home.stats.personalProtocols":`—`,"home.stats.personalProtocolsLabel":`Personal protocols`,"home.stats.kairosApp":`—`,"home.stats.kairosAppLabel":`Kairos app`,"home.stats.spaces":`—`,"home.stats.spacesLabel":`Spaces`,"home.stats.protocolCount":`{{count}} protocol`,"home.stats.protocolCount_plural":`{{count}} protocols`,"home.ctaPre":`Search and manage protocols in`,"home.ctaSuffix":`.`,"kairos.title":`Browse`,"kairos.searchLabel":`Search protocols`,"kairos.searchPlaceholder":`e.g. deploy and test`,"kairos.searchHint":`Search or browse by label. Enter a query to find protocols.`,"kairos.browseByLabel":`Browse by label`,"kairos.browseByLetterHint":`Click a letter to show protocols whose label starts with that letter.`,"kairos.letterCount":`Letter {{letter}}, {{count}} protocols`,"kairos.labelsStartingWith":`Labels starting with {{letter}}`,"kairos.noLabelsForLetter":`No protocols starting with this letter.`,"kairos.enterQueryHint":`Enter a query above to find protocols. Results appear below when you search.`,"kairos.search":`Search`,"kairos.loading":`Searching…`,"kairos.empty":`No protocols found`,"kairos.foundMatches":`Found {{count}} matches (top confidence: {{top}}%). View one, refine your search, or create a new protocol.`,"kairos.resultsLabel":`Search results`,"kairos.score":`Score`,"kairos.version":`Version`,"kairos.tagsLabel":`Tags`,"kairos.refineMeta":`Refine query`,"kairos.createMeta":`Start from scratch`,"kairos.view":`View`,"kairos.viewProtocol":`View {{title}}`,"kairos.refineSearch":`Refine search`,"kairos.createNew":`Create new`,"protocol.loading":`Loading protocol…`,"protocol.notFound":`Protocol not found`,"protocol.uri":`URI`,"protocol.readOnly":`Read-only`,"protocol.copyUri":`Copy URI`,"protocol.download":`Download`,"protocol.downloadAsMarkdown":`Download as Markdown`,"protocol.downloadAsSkill":`Download as Skill`,"protocol.editAsSkill":`Edit as Skill`,"protocol.expand":`Expand`,"protocol.collapse":`Collapse`,"protocol.edit":`Edit`,"protocol.duplicate":`Duplicate`,"protocol.runGuided":`Test Run`,"protocol.steps":`Steps`,"protocol.triggers":`Natural language triggers`,"protocol.completion":`Completion rule`,"protocol.howToUse":`How to use this protocol`,"protocol.howToUseInProduct":`Use Test Run from the button above to step through this protocol in the browser. For agents or CLI, use the documentation link below.`,"protocol.howToUseCopy":`Use in Cursor (MCP) or via CLI. See`,"protocol.docsLink":`documentation`,"runs.title":`Test Run`,"runs.subtitle":`Continue a test run you started earlier on this device.`,"runs.empty":`No runs yet.`,"runs.listLabel":`Test Run list`,"runs.status":`Status`,"runs.updated":`Updated`,"runs.stepsDone":`{{count}} steps completed`,"runs.resume":`Resume`,"runs.remove":`Remove`,"run.title":`Test Run`,"run.protocolUri":`Protocol URI`,"run.backToProtocol":`Back to protocol`,"run.start":`Start run`,"run.starting":`Starting…`,"run.safety.title":`Safe by default`,"run.safety.copy":`This guided run never executes shell commands in your browser. For shell challenges, run the command yourself and paste the real results.`,"run.serverMessage":`Server message`,"run.currentStep":`Current step`,"run.stepUri":`Step URI`,"run.noStepContent":`(No step content)`,"run.challenge":`Challenge`,"run.challengeType":`Type`,"run.advanced":`Advanced`,"run.nonce":`Nonce`,"run.proofHash":`Challenge proof_hash`,"run.previousProofHash":`Previous proof_hash`,"run.copy":`Copy`,"run.copied":`Copied`,"run.solution":`Solution`,"run.solutionFormLabel":`Submit solution`,"run.submitStep":`Submit step`,"run.shell.command":`Command`,"run.shell.exitCode":`Exit code`,"run.shell.stdout":`Stdout`,"run.shell.stderr":`Stderr`,"run.mcp.toolName":`Tool`,"run.mcp.toolMissing":`(Missing tool name)`,"run.mcp.success":`Success`,"run.mcp.arguments":`Arguments (JSON)`,"run.mcp.result":`Result (JSON)`,"run.userInput.prompt":`Prompt`,"run.userInput.promptMissing":`(Missing prompt)`,"run.userInput.confirmation":`User confirmation`,"run.comment.minLength":`Minimum {{count}} characters`,"run.comment.count":`{{count}} typed`,"run.comment.text":`Comment`,"run.attest.title":`Attest completion`,"run.attest.subtitle":`Finalize the run outcome for quality feedback.`,"run.attest.outcomeLabel":`Outcome`,"run.attest.success":`Success`,"run.attest.failure":`Failure`,"run.attest.message":`Message`,"run.attest.submit":`Submit attestation`,"run.attest.submitting":`Submitting…`,"run.attest.defaultMessage":`Completed guided run.`,"run.stepperProgress":`{{completed}} step(s) completed`,"run.history":`History`,"run.historyLabel":`Run history`,"run.completed":`Run completed`,"run.missingUri":`Missing protocol URI.`,"protocolEdit.newTitle":`New protocol`,"protocolEdit.editTitle":`Edit protocol`,"protocolEdit.hint":`Write as a human. The editor renders text and keeps the saved format compatible with generic Markdown.`,"protocolEdit.formLabel":`Protocol form`,"protocolEdit.protocolLabel":`Protocol label`,"protocolEdit.triggersLabel":`Natural language triggers`,"protocolEdit.triggersHint":`Describe when this protocol should run (e.g. deploy and test).`,"protocolEdit.stepLabel":`Step label`,"protocolEdit.stepContent":`Step content`,"protocolEdit.challengeType":`Challenge type`,"protocolEdit.addStep":`Add step`,"protocolEdit.removeStep":`Remove step`,"protocolEdit.completionLabel":`Completion rule`,"protocolEdit.challengeShell":`Shell command`,"protocolEdit.challengeMcp":`MCP tool call`,"protocolEdit.challengeUserInput":`User input`,"protocolEdit.challengeComment":`Comment`,"protocolEdit.shellCmd":`Command`,"protocolEdit.mcpToolName":`Tool name`,"protocolEdit.userInputPrompt":`Prompt`,"protocolEdit.commentMinLength":`Minimum length (characters)`,"protocolEdit.uploadHint":`Uploading a .md file fills this form. It does not publish until you save.`,"protocolEdit.contentLabel":`Protocol content (markdown)`,"protocolEdit.previewLabel":`Protocol preview`,"protocolEdit.previewTitle":`Live preview`,"protocolEdit.previewSteps":`Steps`,"protocolEdit.previewNoSteps":`No steps yet.`,"protocolEdit.previewSections":`Key sections`,"protocolEdit.present":`present`,"protocolEdit.missing":`missing`,"protocolEdit.insertTemplate":`Insert template`,"protocolEdit.upload":`Upload .md file`,"skill.title":`Edit as Skill`,"skill.subtitle":`Prepare a skill bundle for external AI tools. Customize metadata then download.`,"skill.skillName":`Skill name`,"skill.description":`Skill description`,"skill.whenToUse":`When to use it`,"skill.includeReferences":`Include references folder`,"skill.downloadAsSkill":`Download as Skill`,"skill.backToProtocol":`Back to protocol`,"protocolEdit.placeholder":`# Protocol title
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomePage-DxiAsvs-.js","assets/vendor-GiUVcjs7.js","assets/rolldown-runtime-Dw2cE7zH.js","assets/tiptap-kMFBDujG.js","assets/react-BdWJx0XL.js","assets/useSpaces-BV6eUjY3.js","assets/api-D88c6lbH.js","assets/KairosPage-BkqYs3-_.js","assets/ErrorAlert-ME7tEJ6X.js","assets/RunsPage-ctnsEF2U.js","assets/useRunSession-CciNdgs6.js","assets/ProtocolEditPage-D-aTavvx.js","assets/useProtocol-BruWpIzq.js","assets/RunGuidedPage-BUD0MaGh.js","assets/RenderedMarkdown-DjbuQlBl.js","assets/SkillBundlePage-CaWW5oGq.js","assets/ProtocolDetailPage-DKaSVepL.js","assets/AccountPage-kxmPtqQP.js","assets/NotFoundPage-DyfbQ-6G.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{_ as t,b as n,c as r,i,l as a,m as o,o as s,s as c,u as l,v as u,x as d,y as f}from"./vendor-GiUVcjs7.js";import{i as p,n as m,t as h}from"./react-BdWJx0XL.js";import"./tiptap-kMFBDujG.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var g=`Skip to main content`,_={"nav.home":`Home`,"nav.kairos":`Browse`,"nav.create":`Create`,"nav.runs":`Test Run`,"nav.account":`Account`,skipToMain:g,"home.title":`Home`,"home.tagline":`Overview of your spaces and protocols.`,"home.searchLabel":`Search protocols`,"home.searchPlaceholder":`e.g. deploy and test`,"home.searchHint":`Enter a query to find protocols. Results open in the KAIROS tab.`,"home.statsLabel":`Space and protocol counts`,"home.stats.personalProtocols":`—`,"home.stats.personalProtocolsLabel":`Personal protocols`,"home.stats.kairosApp":`—`,"home.stats.kairosAppLabel":`Kairos app`,"home.stats.spaces":`—`,"home.stats.spacesLabel":`Spaces`,"home.stats.protocolCount":`{{count}} protocol`,"home.stats.protocolCount_plural":`{{count}} protocols`,"home.ctaPre":`Search and manage protocols in`,"home.ctaSuffix":`.`,"kairos.title":`Browse`,"kairos.searchLabel":`Search protocols`,"kairos.searchPlaceholder":`e.g. deploy and test`,"kairos.searchHint":`Search or browse by label. Enter a query to find protocols.`,"kairos.browseByLabel":`Browse by label`,"kairos.browseByLetterHint":`Click a letter to show protocols whose label starts with that letter.`,"kairos.letterCount":`Letter {{letter}}, {{count}} protocols`,"kairos.labelsStartingWith":`Labels starting with {{letter}}`,"kairos.noLabelsForLetter":`No protocols starting with this letter.`,"kairos.enterQueryHint":`Enter a query above to find protocols. Results appear below when you search.`,"kairos.search":`Search`,"kairos.loading":`Searching…`,"kairos.empty":`No protocols found`,"kairos.foundMatches":`Found {{count}} matches (top confidence: {{top}}%). View one, refine your search, or create a new protocol.`,"kairos.resultsLabel":`Search results`,"kairos.score":`Score`,"kairos.version":`Version`,"kairos.tagsLabel":`Tags`,"kairos.refineMeta":`Refine query`,"kairos.createMeta":`Start from scratch`,"kairos.view":`View`,"kairos.viewProtocol":`View {{title}}`,"kairos.refineSearch":`Refine search`,"kairos.createNew":`Create new`,"protocol.loading":`Loading protocol…`,"protocol.notFound":`Protocol not found`,"protocol.uri":`URI`,"protocol.readOnly":`Read-only`,"protocol.copyUri":`Copy URI`,"protocol.download":`Download`,"protocol.downloadAsMarkdown":`Download as Markdown`,"protocol.downloadAsSkill":`Download as Skill`,"protocol.editAsSkill":`Edit as Skill`,"protocol.expand":`Expand`,"protocol.collapse":`Collapse`,"protocol.edit":`Edit`,"protocol.duplicate":`Duplicate`,"protocol.runGuided":`Test Run`,"protocol.steps":`Steps`,"protocol.triggers":`Natural language triggers`,"protocol.completion":`Completion rule`,"protocol.howToUse":`How to use this protocol`,"protocol.howToUseInProduct":`Use Test Run from the button above to step through this protocol in the browser. For agents or CLI, use the documentation link below.`,"protocol.howToUseCopy":`Use in Cursor (MCP) or via CLI. See`,"protocol.docsLink":`documentation`,"runs.title":`Test Run`,"runs.subtitle":`Continue a test run you started earlier on this device.`,"runs.empty":`No runs yet.`,"runs.listLabel":`Test Run list`,"runs.status":`Status`,"runs.updated":`Updated`,"runs.stepsDone":`{{count}} steps completed`,"runs.resume":`Resume`,"runs.remove":`Remove`,"run.title":`Test Run`,"run.protocolUri":`Protocol URI`,"run.backToProtocol":`Back to protocol`,"run.start":`Start run`,"run.starting":`Starting…`,"run.safety.title":`Safe by default`,"run.safety.copy":`This guided run never executes shell commands in your browser. For shell challenges, run the command yourself and paste the real results.`,"run.serverMessage":`Server message`,"run.currentStep":`Current step`,"run.stepUri":`Step URI`,"run.noStepContent":`(No step content)`,"run.challenge":`Challenge`,"run.challengeType":`Type`,"run.advanced":`Advanced`,"run.nonce":`Nonce`,"run.proofHash":`Challenge proof_hash`,"run.previousProofHash":`Previous proof_hash`,"run.copy":`Copy`,"run.copied":`Copied`,"run.solution":`Solution`,"run.solutionFormLabel":`Submit solution`,"run.submitStep":`Submit step`,"run.shell.command":`Command`,"run.shell.exitCode":`Exit code`,"run.shell.stdout":`Stdout`,"run.shell.stderr":`Stderr`,"run.mcp.toolName":`Tool`,"run.mcp.toolMissing":`(Missing tool name)`,"run.mcp.success":`Success`,"run.mcp.arguments":`Arguments (JSON)`,"run.mcp.result":`Result (JSON)`,"run.userInput.prompt":`Prompt`,"run.userInput.promptMissing":`(Missing prompt)`,"run.userInput.confirmation":`User confirmation`,"run.comment.minLength":`Minimum {{count}} characters`,"run.comment.count":`{{count}} typed`,"run.comment.text":`Comment`,"run.attest.title":`Attest completion`,"run.attest.subtitle":`Finalize the run outcome for quality feedback.`,"run.attest.outcomeLabel":`Outcome`,"run.attest.success":`Success`,"run.attest.failure":`Failure`,"run.attest.message":`Message`,"run.attest.submit":`Submit attestation`,"run.attest.submitting":`Submitting…`,"run.attest.defaultMessage":`Completed guided run.`,"run.stepperProgress":`{{completed}} step(s) completed`,"run.history":`History`,"run.historyLabel":`Run history`,"run.completed":`Run completed`,"run.missingUri":`Missing protocol URI.`,"protocolEdit.newTitle":`New protocol`,"protocolEdit.editTitle":`Edit protocol`,"protocolEdit.hint":`Write as a human. The editor renders text and keeps the saved format compatible with generic Markdown.`,"protocolEdit.formLabel":`Protocol form`,"protocolEdit.protocolLabel":`Protocol label`,"protocolEdit.triggersLabel":`Natural language triggers`,"protocolEdit.triggersHint":`Describe when this protocol should run (e.g. deploy and test).`,"protocolEdit.stepLabel":`Step label`,"protocolEdit.stepContent":`Step content`,"protocolEdit.challengeType":`Challenge type`,"protocolEdit.addStep":`Add step`,"protocolEdit.removeStep":`Remove step`,"protocolEdit.completionLabel":`Completion rule`,"protocolEdit.challengeShell":`Shell command`,"protocolEdit.challengeMcp":`MCP tool call`,"protocolEdit.challengeUserInput":`User input`,"protocolEdit.challengeComment":`Comment`,"protocolEdit.shellCmd":`Command`,"protocolEdit.mcpToolName":`Tool name`,"protocolEdit.userInputPrompt":`Prompt`,"protocolEdit.commentMinLength":`Minimum length (characters)`,"protocolEdit.uploadHint":`Uploading a .md file fills this form. It does not publish until you save.`,"protocolEdit.contentLabel":`Protocol content (markdown)`,"protocolEdit.previewLabel":`Protocol preview`,"protocolEdit.previewTitle":`Live preview`,"protocolEdit.previewSteps":`Steps`,"protocolEdit.previewNoSteps":`No steps yet.`,"protocolEdit.previewSections":`Key sections`,"protocolEdit.present":`present`,"protocolEdit.missing":`missing`,"protocolEdit.insertTemplate":`Insert template`,"protocolEdit.upload":`Upload .md file`,"skill.title":`Edit as Skill`,"skill.subtitle":`Prepare a skill bundle for external AI tools. Customize metadata then download.`,"skill.skillName":`Skill name`,"skill.description":`Skill description`,"skill.whenToUse":`When to use it`,"skill.includeReferences":`Include references folder`,"skill.downloadAsSkill":`Download as Skill`,"skill.backToProtocol":`Back to protocol`,"protocolEdit.placeholder":`# Protocol title
3
3
 
4
4
  ## Natural language triggers
5
5
  ...
6
6
 
7
7
  ## Step 1
8
- ...`,"protocolEdit.contentHint":`Include: Natural language triggers (first H2), steps (H2 + optional challenge block), Completion rule (last H2).`,"protocolEdit.save":`Save`,"protocolEdit.saving":`Saving…`,"protocolEdit.cancel":`Cancel`,"account.title":`Account`,"account.intro":`You are signed in. Sign out below or use the options to manage your profile.`,"account.loading":`Loading…`,"account.notSignedIn":`You are not signed in.`,"account.signIn":`Sign in`,"account.name":`Name`,"account.email":`Email`,"account.logOut":`Log out`,"notFound.title":`Page not found`,"notFound.message":`The page you requested could not be found.`,"notFound.goHome":`Go to Home`,"error.title":`Something went wrong`,"error.retry":`Retry`,"error.goBack":`Go to Home`,"error.support":`Support`};d.use(n).init({lng:`en`,fallbackLng:`en`,ns:[`translation`],defaultNS:`translation`,resources:{en:{translation:_}},interpolation:{escapeValue:!1}});var v=m(),y=e(p(),1),b=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%3e%3ctitle%3eKAIROS%20Logo%2016%20-%20Deterministic%20Path%3c/title%3e%3cdefs%3e%3clinearGradient%20id='grad-a'%20x1='64'%20y1='64'%20x2='448'%20y2='448'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%237C3AED'/%3e%3cstop%20offset='0.5'%20stop-color='%2306B6D4'/%3e%3cstop%20offset='1'%20stop-color='%2322C55E'/%3e%3c/linearGradient%3e%3clinearGradient%20id='grad-b'%20x1='96'%20y1='416'%20x2='416'%20y2='96'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23F97316'/%3e%3cstop%20offset='1'%20stop-color='%23FACC15'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20width='512'%20height='512'%20rx='112'%20fill='%2308111F'/%3e%3cpath%20d='M118%20336c48%200%2048-160%2096-160s48%20160%2096%20160s48-160%2096-160'%20fill='none'%20stroke='%23223454'%20stroke-width='24'%20stroke-linecap='round'/%3e%3cpath%20d='M118%20336c48%200%2048-160%2096-160s48%20160%2096%20160s48-160%2096-160'%20fill='none'%20stroke='url(%23grad-a)'%20stroke-width='12'%20stroke-linecap='round'/%3e%3cg%3e%3ccircle%20cx='118'%20cy='336'%20r='20'%20fill='%23F8FAFC'/%3e%3ccircle%20cx='214'%20cy='176'%20r='20'%20fill='%23F97316'/%3e%3ccircle%20cx='310'%20cy='336'%20r='20'%20fill='%2306B6D4'/%3e%3ccircle%20cx='406'%20cy='176'%20r='20'%20fill='%2322C55E'/%3e%3c/g%3e%3c/svg%3e`,x=h(),S=e=>e.startsWith(`/protocols`)||e.startsWith(`/runs`);function C(){let{t:e}=f(),t=l().pathname,n=({isActive:e})=>`min-h-[var(--layout-touch-target)] flex items-center px-4 py-3 text-[var(--color-text)] no-underline border-l-[3px] border-transparent outline-offset-2 focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--color-focus-ring)] hover:bg-[var(--color-surface)] hover:text-[var(--color-text-heading)] ${e?`font-semibold text-[var(--color-primary)] border-l-[var(--color-primary)] bg-[var(--color-surface)]`:``}`,r=S(t)?`min(100%, var(--layout-main-max), var(--layout-main-wide))`:`min(100%, var(--layout-main-max), var(--layout-main-narrow))`;return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`a`,{href:`#main`,className:`skip-link`,children:e(`skipToMain`)}),(0,x.jsxs)(`div`,{className:`flex min-h-screen`,children:[(0,x.jsxs)(`aside`,{className:`w-[var(--layout-sidebar-width)] flex-shrink-0 border-r border-[var(--color-border)] bg-[var(--color-surface-elevated)] py-4`,"aria-label":`Main navigation`,children:[(0,x.jsx)(`div`,{className:`px-4 pb-4`,children:(0,x.jsxs)(s,{to:`/`,end:!0,className:`flex min-h-[var(--layout-touch-target)] min-w-[var(--layout-touch-target)] items-center gap-3 rounded-md outline-offset-2 focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--color-focus-ring)]`,children:[(0,x.jsx)(`img`,{src:b,alt:``,className:`h-10 w-10 flex-shrink-0 rounded-lg object-contain`,width:`40`,height:`40`}),(0,x.jsxs)(`span`,{className:`flex flex-col leading-tight`,children:[(0,x.jsx)(`span`,{className:`font-bold text-[var(--color-text-heading)] text-lg`,children:`Kairos`}),(0,x.jsx)(`span`,{className:`font-bold text-[var(--color-text-muted)] text-xs uppercase tracking-wide`,children:`MCP`})]})]})}),(0,x.jsxs)(`nav`,{className:`flex flex-col gap-0.5`,children:[(0,x.jsx)(s,{to:`/`,end:!0,"aria-current":t===`/`?`page`:void 0,className:n,children:e(`nav.home`)}),(0,x.jsx)(s,{to:`/kairos`,"aria-current":t===`/kairos`?`page`:void 0,className:n,children:e(`nav.kairos`)}),(0,x.jsx)(s,{to:`/protocols/new`,"aria-current":t===`/protocols/new`?`page`:void 0,className:n,children:e(`nav.create`)}),(0,x.jsx)(s,{to:`/runs`,"aria-current":t===`/runs`?`page`:void 0,className:n,children:e(`nav.runs`)}),(0,x.jsx)(s,{to:`/account`,"aria-current":t===`/account`?`page`:void 0,className:n,children:e(`nav.account`)})]})]}),(0,x.jsx)(`main`,{id:`main`,className:`flex-1 mx-auto w-full py-[var(--layout-main-padding-y)] px-[var(--layout-main-padding-x)]`,style:{maxWidth:r},tabIndex:-1,children:(0,x.jsx)(c,{})})]})]})}var w=(0,y.lazy)(()=>o(()=>import(`./HomePage-YaKMlhFN.js`).then(e=>({default:e.HomePage})),__vite__mapDeps([0,1,2,3,4,5,6]))),T=(0,y.lazy)(()=>o(()=>import(`./KairosPage-DgO58pOn.js`).then(e=>({default:e.KairosPage})),__vite__mapDeps([7,2,1,3,4,8,5,6]))),E=(0,y.lazy)(()=>o(()=>import(`./RunsPage-BjSaeOq_.js`).then(e=>({default:e.RunsPage})),__vite__mapDeps([9,1,2,3,4,10]))),D=(0,y.lazy)(()=>o(()=>import(`./ProtocolEditPage-CCwQy6yl.js`).then(e=>({default:e.ProtocolEditPage})),__vite__mapDeps([11,2,1,3,4,12,6]))),O=(0,y.lazy)(()=>o(()=>import(`./RunGuidedPage-CcTlI5HF.js`).then(e=>({default:e.RunGuidedPage})),__vite__mapDeps([13,2,1,3,4,8,14,10,6]))),k=(0,y.lazy)(()=>o(()=>import(`./SkillBundlePage-D2cJwwA1.js`).then(e=>({default:e.SkillBundlePage})),__vite__mapDeps([15,2,1,3,4,12,6]))),A=(0,y.lazy)(()=>o(()=>import(`./ProtocolDetailPage-D93cKbME.js`).then(e=>({default:e.ProtocolDetailPage})),__vite__mapDeps([16,2,1,3,4,14,12,6]))),j=(0,y.lazy)(()=>o(()=>import(`./AccountPage-xcULo_Ht.js`).then(e=>({default:e.AccountPage})),__vite__mapDeps([17,1,2,3,4,6]))),M=(0,y.lazy)(()=>o(()=>import(`./NotFoundPage-BnEJbefZ.js`).then(e=>({default:e.NotFoundPage})),__vite__mapDeps([18,1,2,3,4,8])));function N(){return(0,x.jsx)(`div`,{className:`flex min-h-[12rem] items-center justify-center text-[var(--color-text-muted)]`,"aria-busy":`true`,children:`Loading…`})}function P(){return(0,x.jsx)(a,{children:(0,x.jsxs)(r,{path:`/`,element:(0,x.jsx)(C,{}),children:[(0,x.jsx)(r,{index:!0,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(w,{})})}),(0,x.jsx)(r,{path:`kairos`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(T,{})})}),(0,x.jsx)(r,{path:`runs`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(E,{})})}),(0,x.jsx)(r,{path:`protocols/new`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(D,{})})}),(0,x.jsx)(r,{path:`protocols/:uri/edit`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(D,{})})}),(0,x.jsx)(r,{path:`protocols/:uri/run`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(O,{})})}),(0,x.jsx)(r,{path:`protocols/:uri/skill`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(k,{})})}),(0,x.jsx)(r,{path:`protocols/:uri`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(A,{})})}),(0,x.jsx)(r,{path:`account`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(j,{})})}),(0,x.jsx)(r,{path:`*`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(M,{})})})]})})}function F(){return(0,x.jsx)(i,{basename:`/ui`,children:(0,x.jsx)(P,{})})}var I=new u;(0,v.createRoot)(document.getElementById(`root`)).render((0,x.jsx)(y.StrictMode,{children:(0,x.jsx)(t,{client:I,children:(0,x.jsx)(F,{})})}));
8
+ ...`,"protocolEdit.contentHint":`Include: Natural language triggers (first H2), steps (H2 + optional challenge block), Completion rule (last H2).`,"protocolEdit.save":`Save`,"protocolEdit.saving":`Saving…`,"protocolEdit.cancel":`Cancel`,"account.title":`Account`,"account.intro":`You are signed in. Sign out below or use the options to manage your profile.`,"account.loading":`Loading…`,"account.notSignedIn":`You are not signed in.`,"account.signIn":`Sign in`,"account.name":`Name`,"account.email":`Email`,"account.logOut":`Log out`,"notFound.title":`Page not found`,"notFound.message":`The page you requested could not be found.`,"notFound.goHome":`Go to Home`,"error.title":`Something went wrong`,"error.retry":`Retry`,"error.goBack":`Go to Home`,"error.support":`Support`};d.use(n).init({lng:`en`,fallbackLng:`en`,ns:[`translation`],defaultNS:`translation`,resources:{en:{translation:_}},interpolation:{escapeValue:!1}});var v=m(),y=e(p(),1),b=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='512'%20height='512'%20viewBox='0%200%20512%20512'%3e%3ctitle%3eKAIROS%20Logo%2016%20-%20Deterministic%20Path%3c/title%3e%3cdefs%3e%3clinearGradient%20id='grad-a'%20x1='64'%20y1='64'%20x2='448'%20y2='448'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%237C3AED'/%3e%3cstop%20offset='0.5'%20stop-color='%2306B6D4'/%3e%3cstop%20offset='1'%20stop-color='%2322C55E'/%3e%3c/linearGradient%3e%3clinearGradient%20id='grad-b'%20x1='96'%20y1='416'%20x2='416'%20y2='96'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0'%20stop-color='%23F97316'/%3e%3cstop%20offset='1'%20stop-color='%23FACC15'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20width='512'%20height='512'%20rx='112'%20fill='%2308111F'/%3e%3cpath%20d='M118%20336c48%200%2048-160%2096-160s48%20160%2096%20160s48-160%2096-160'%20fill='none'%20stroke='%23223454'%20stroke-width='24'%20stroke-linecap='round'/%3e%3cpath%20d='M118%20336c48%200%2048-160%2096-160s48%20160%2096%20160s48-160%2096-160'%20fill='none'%20stroke='url(%23grad-a)'%20stroke-width='12'%20stroke-linecap='round'/%3e%3cg%3e%3ccircle%20cx='118'%20cy='336'%20r='20'%20fill='%23F8FAFC'/%3e%3ccircle%20cx='214'%20cy='176'%20r='20'%20fill='%23F97316'/%3e%3ccircle%20cx='310'%20cy='336'%20r='20'%20fill='%2306B6D4'/%3e%3ccircle%20cx='406'%20cy='176'%20r='20'%20fill='%2322C55E'/%3e%3c/g%3e%3c/svg%3e`,x=h(),S=e=>e.startsWith(`/protocols`)||e.startsWith(`/runs`);function C(){let{t:e}=f(),t=l().pathname,n=({isActive:e})=>`min-h-[var(--layout-touch-target)] flex items-center px-4 py-3 text-[var(--color-text)] no-underline border-l-[3px] border-transparent outline-offset-2 focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--color-focus-ring)] hover:bg-[var(--color-surface)] hover:text-[var(--color-text-heading)] ${e?`font-semibold text-[var(--color-primary)] border-l-[var(--color-primary)] bg-[var(--color-surface)]`:``}`,r=S(t)?`min(100%, var(--layout-main-max), var(--layout-main-wide))`:`min(100%, var(--layout-main-max), var(--layout-main-narrow))`;return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`a`,{href:`#main`,className:`skip-link`,children:e(`skipToMain`)}),(0,x.jsxs)(`div`,{className:`flex min-h-screen`,children:[(0,x.jsxs)(`aside`,{className:`w-[var(--layout-sidebar-width)] flex-shrink-0 border-r border-[var(--color-border)] bg-[var(--color-surface-elevated)] py-4`,"aria-label":`Main navigation`,children:[(0,x.jsx)(`div`,{className:`px-4 pb-4`,children:(0,x.jsxs)(s,{to:`/`,end:!0,className:`flex min-h-[var(--layout-touch-target)] min-w-[var(--layout-touch-target)] items-center gap-3 rounded-md outline-offset-2 focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--color-focus-ring)]`,children:[(0,x.jsx)(`img`,{src:b,alt:``,className:`h-10 w-10 flex-shrink-0 rounded-lg object-contain`,width:`40`,height:`40`}),(0,x.jsxs)(`span`,{className:`flex flex-col leading-tight`,children:[(0,x.jsx)(`span`,{className:`font-bold text-[var(--color-text-heading)] text-lg`,children:`Kairos`}),(0,x.jsx)(`span`,{className:`font-bold text-[var(--color-text-muted)] text-xs uppercase tracking-wide`,children:`MCP`})]})]})}),(0,x.jsxs)(`nav`,{className:`flex flex-col gap-0.5`,children:[(0,x.jsx)(s,{to:`/`,end:!0,"aria-current":t===`/`?`page`:void 0,className:n,children:e(`nav.home`)}),(0,x.jsx)(s,{to:`/kairos`,"aria-current":t===`/kairos`?`page`:void 0,className:n,children:e(`nav.kairos`)}),(0,x.jsx)(s,{to:`/protocols/new`,"aria-current":t===`/protocols/new`?`page`:void 0,className:n,children:e(`nav.create`)}),(0,x.jsx)(s,{to:`/runs`,"aria-current":t===`/runs`?`page`:void 0,className:n,children:e(`nav.runs`)}),(0,x.jsx)(s,{to:`/account`,"aria-current":t===`/account`?`page`:void 0,className:n,children:e(`nav.account`)})]})]}),(0,x.jsx)(`main`,{id:`main`,className:`flex-1 mx-auto w-full py-[var(--layout-main-padding-y)] px-[var(--layout-main-padding-x)]`,style:{maxWidth:r},tabIndex:-1,children:(0,x.jsx)(c,{})})]})]})}var w=(0,y.lazy)(()=>o(()=>import(`./HomePage-DxiAsvs-.js`).then(e=>({default:e.HomePage})),__vite__mapDeps([0,1,2,3,4,5,6]))),T=(0,y.lazy)(()=>o(()=>import(`./KairosPage-BkqYs3-_.js`).then(e=>({default:e.KairosPage})),__vite__mapDeps([7,2,1,3,4,8,5,6]))),E=(0,y.lazy)(()=>o(()=>import(`./RunsPage-ctnsEF2U.js`).then(e=>({default:e.RunsPage})),__vite__mapDeps([9,1,2,3,4,10]))),D=(0,y.lazy)(()=>o(()=>import(`./ProtocolEditPage-D-aTavvx.js`).then(e=>({default:e.ProtocolEditPage})),__vite__mapDeps([11,2,1,3,4,12,6]))),O=(0,y.lazy)(()=>o(()=>import(`./RunGuidedPage-BUD0MaGh.js`).then(e=>({default:e.RunGuidedPage})),__vite__mapDeps([13,2,1,3,4,8,14,10,6]))),k=(0,y.lazy)(()=>o(()=>import(`./SkillBundlePage-CaWW5oGq.js`).then(e=>({default:e.SkillBundlePage})),__vite__mapDeps([15,2,1,3,4,12,6]))),A=(0,y.lazy)(()=>o(()=>import(`./ProtocolDetailPage-DKaSVepL.js`).then(e=>({default:e.ProtocolDetailPage})),__vite__mapDeps([16,2,1,3,4,14,12,6]))),j=(0,y.lazy)(()=>o(()=>import(`./AccountPage-kxmPtqQP.js`).then(e=>({default:e.AccountPage})),__vite__mapDeps([17,1,2,3,4,6]))),M=(0,y.lazy)(()=>o(()=>import(`./NotFoundPage-DyfbQ-6G.js`).then(e=>({default:e.NotFoundPage})),__vite__mapDeps([18,1,2,3,4,8])));function N(){return(0,x.jsx)(`div`,{className:`flex min-h-[12rem] items-center justify-center text-[var(--color-text-muted)]`,"aria-busy":`true`,children:`Loading…`})}function P(){return(0,x.jsx)(a,{children:(0,x.jsxs)(r,{path:`/`,element:(0,x.jsx)(C,{}),children:[(0,x.jsx)(r,{index:!0,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(w,{})})}),(0,x.jsx)(r,{path:`kairos`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(T,{})})}),(0,x.jsx)(r,{path:`runs`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(E,{})})}),(0,x.jsx)(r,{path:`protocols/new`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(D,{})})}),(0,x.jsx)(r,{path:`protocols/:uri/edit`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(D,{})})}),(0,x.jsx)(r,{path:`protocols/:uri/run`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(O,{})})}),(0,x.jsx)(r,{path:`protocols/:uri/skill`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(k,{})})}),(0,x.jsx)(r,{path:`protocols/:uri`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(A,{})})}),(0,x.jsx)(r,{path:`account`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(j,{})})}),(0,x.jsx)(r,{path:`*`,element:(0,x.jsx)(y.Suspense,{fallback:(0,x.jsx)(N,{}),children:(0,x.jsx)(M,{})})})]})})}function F(){return(0,x.jsx)(i,{basename:`/ui`,children:(0,x.jsx)(P,{})})}var I=new u;(0,v.createRoot)(document.getElementById(`root`)).render((0,x.jsx)(y.StrictMode,{children:(0,x.jsx)(t,{client:I,children:(0,x.jsx)(F,{})})}));
@@ -88,7 +88,7 @@ ${t.renderChildren(e.content||[],`
88
88
 
89
89
  `)}
90
90
 
91
- :::`}}}function Md(e){if(!e.trim())return{};let t={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g,r=n.exec(e);for(;r!==null;){let[,i,a,o]=r;t[i]=a||o,r=n.exec(e)}return t}function Nd(e){return Object.entries(e).filter(([,e])=>e!=null).map(([e,t])=>`${e}="${t}"`).join(` `)}function Pd(e){let{nodeName:t,name:n,getContent:r,parseAttributes:i=Md,serializeAttributes:a=Nd,defaultAttributes:o={},selfClosing:s=!1,allowedAttributes:c}=e,l=n||t,u=e=>{if(!c)return e;let t={};return c.forEach(n=>{let r=typeof n==`string`?n:n.name,i=typeof n==`string`?void 0:n.skipIfDefault;if(r in e){let n=e[r];if(i!==void 0&&n===i)return;t[r]=n}}),t},d=l.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return{parseMarkdown:(e,n)=>{let i={...o,...e.attributes};if(s)return n.createNode(t,i);let a=r?r(e):e.content||``;return a?n.createNode(t,i,[n.createTextNode(a)]):n.createNode(t,i,[])},markdownTokenizer:{name:t,level:`inline`,start(e){let t=s?RegExp(`\\[${d}\\s*[^\\]]*\\]`):RegExp(`\\[${d}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${d}\\]`),n=e.match(t)?.index;return n===void 0?-1:n},tokenize(e,n,r){let a=s?RegExp(`^\\[${d}\\s*([^\\]]*)\\]`):RegExp(`^\\[${d}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${d}\\]`),o=e.match(a);if(!o)return;let c=``,l=``;if(s){let[,e]=o;l=e}else{let[,e,t]=o;l=e,c=t||``}let u=i(l.trim());return{type:t,raw:o[0],content:c.trim(),attributes:u}}},renderMarkdown:e=>{let t=``;r?t=r(e):e.content&&e.content.length>0&&(t=e.content.filter(e=>e.type===`text`).map(e=>e.text).join(``));let n=a(u(e.attrs||{})),i=n?` ${n}`:``;return s?`[${l}${i}]`:`[${l}${i}]${t}[/${l}]`}}}function Fd(e,t,n){let r=e.split(`
91
+ :::`}}}function Md(e){if(!e.trim())return{};let t={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g,r=n.exec(e);for(;r!==null;){let[,i,a,o]=r;t[i]=a||o,r=n.exec(e)}return t}function Nd(e){return Object.entries(e).filter(([,e])=>e!=null).map(([e,t])=>`${e}="${t}"`).join(` `)}function Pd(e){let{nodeName:t,name:n,getContent:r,parseAttributes:i=Md,serializeAttributes:a=Nd,defaultAttributes:o={},selfClosing:s=!1,allowedAttributes:c}=e,l=n||t,u=e=>{if(!c)return e;let t={};return c.forEach(n=>{let r=typeof n==`string`?n:n.name,i=typeof n==`string`?void 0:n.skipIfDefault;if(r in e){let n=e[r];if(i!==void 0&&n===i)return;t[r]=n}}),t},d=l.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return{parseMarkdown:(e,n)=>{let i={...o,...e.attributes};if(s)return n.createNode(t,i);let a=r?r(e):e.content||``;return a?n.createNode(t,i,[n.createTextNode(a)]):n.createNode(t,i,[])},markdownTokenizer:{name:t,level:`inline`,start(e){let t=RegExp(s?`\\[${d}\\s*[^\\]]*\\]`:`\\[${d}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${d}\\]`),n=e.match(t)?.index;return n===void 0?-1:n},tokenize(e,n,r){let a=RegExp(s?`^\\[${d}\\s*([^\\]]*)\\]`:`^\\[${d}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${d}\\]`),o=e.match(a);if(!o)return;let c=``,l=``;if(s){let[,e]=o;l=e}else{let[,e,t]=o;l=e,c=t||``}let u=i(l.trim());return{type:t,raw:o[0],content:c.trim(),attributes:u}}},renderMarkdown:e=>{let t=``;r?t=r(e):e.content&&e.content.length>0&&(t=e.content.filter(e=>e.type===`text`).map(e=>e.text).join(``));let n=a(u(e.attrs||{})),i=n?` ${n}`:``;return s?`[${l}${i}]`:`[${l}${i}]${t}[/${l}]`}}}function Fd(e,t,n){let r=e.split(`
92
92
  `),i=[],a=``,o=0,s=t.baseIndentSize||2;for(;o<r.length;){let e=r[o],c=e.match(t.itemPattern);if(!c){if(i.length>0)break;if(e.trim()===``){o+=1,a=`${a}${e}
93
93
  `;continue}else return}let l=t.extractItemData(c),{indentLevel:u,mainContent:d}=l;a=`${a}${e}
94
94
  `;let f=[d];for(o+=1;o<r.length;){let e=r[o];if(e.trim()===``){let t=r.slice(o+1).findIndex(e=>e.trim()!==``);if(t===-1)break;if((r[o+1+t].match(/^(\s*)/)?.[1]?.length||0)>u){f.push(e),a=`${a}${e}
@@ -199,7 +199,7 @@ ${e}</tr>
199
199
  `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${Iv(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=Lv(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+Iv(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=Lv(e);if(i===null)return Iv(n);e=i;let a=`<img src="${e}" alt="${Iv(n)}"`;return t&&(a+=` title="${Iv(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:Iv(e.text)}},qv=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},Jv=class e{options;renderer;textRenderer;constructor(e){this.options=e||S_,this.options.renderer=this.options.renderer||new Kv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new qv}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Yv=class{options;block;constructor(e){this.options=e||S_}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?Gv.lex:Gv.lexInline}provideParser(){return this.block?Jv.parse:Jv.parseInline}},Xv=new class{defaults=x_();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Jv;Renderer=Kv;TextRenderer=qv;Lexer=Gv;Tokenizer=Wv;Hooks=Yv;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new Kv(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new Wv(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Yv;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];Yv.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&Yv.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Gv.lex(e,t??this.defaults)}parser(e,t){return Jv.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer():e?Gv.lex:Gv.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser():e?Jv.parse:Jv.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer():e?Gv.lex:Gv.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser():e?Jv.parse:Jv.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
200
200
  Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+Iv(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function X(e,t){return Xv.parse(e,t)}X.options=X.setOptions=function(e){return Xv.setOptions(e),X.defaults=Xv.defaults,C_(X.defaults),X},X.getDefaults=x_,X.defaults=S_,X.use=function(...e){return Xv.use(...e),X.defaults=Xv.defaults,C_(X.defaults),X},X.walkTokens=function(e,t){return Xv.walkTokens(e,t)},X.parseInline=Xv.parseInline,X.Parser=Jv,X.parser=Jv.parse,X.Renderer=Kv,X.TextRenderer=qv,X.Lexer=Gv,X.lexer=Gv.lex,X.Tokenizer=Wv,X.Hooks=Yv,X.parse=X,X.options,X.setOptions,X.use,X.walkTokens,X.parseInline,Jv.parse,Gv.lex;function Zv(e,t){let n=t.split(`
201
201
  `).flatMap(e=>[e,``]).map(t=>`${e}${t}`).join(`
202
- `);return n.slice(0,n.length-1)}function Qv(e,t){let n=[];return Array.from(e.keys()).forEach(e=>{(!t||!t.marks||!t.marks.map(e=>e.type).includes(e))&&n.push(e)}),n}function $v(e,t){let n=[];return Array.from(t.entries()).forEach(([t,r])=>{e.has(t)||n.push({type:t,mark:r})}),n}function ey(e,t,n,r){let i=!n,a=n&&n.type===`text`&&(!n.marks||n.marks.length===0),o=n&&n.type===`text`&&n.marks&&!r(t,new Map(n.marks.map(e=>[e.type,e]))),s=[];if(i||a||o)if(n&&n.type===`text`&&n.marks){let t=new Map(n.marks.map(e=>[e.type,e]));Array.from(e.keys()).reverse().forEach(e=>{t.has(e)||s.push(e)})}else (i||a)&&s.push(...Array.from(e.keys()).reverse());return s}function ty(e,t){let n=``;return Array.from(e.keys()).reverse().forEach(r=>{let i=t(r,e.get(r));i&&(n=i+n)}),e.clear(),n}function ny(e,t,n){let r=``;return Array.from(e.entries()).forEach(([e,i])=>{let a=n(e,i);a&&(r+=a),t.set(e,i)}),r}function ry(e){let t=(e.raw||e.text||``).match(/^(\s*)[-+*]\s+\[([ xX])\]\s+/);return t?{isTask:!0,checked:t[2].toLowerCase()===`x`,indentLevel:t[1].length}:{isTask:!1,indentLevel:0}}function iy(e,t){return typeof e==`string`?t:`json`}var ay=class{constructor(e){this.baseExtensions=[],this.extensions=[],this.lastParseResult=null,this.markedInstance=e?.marked??X,this.lexer=new this.markedInstance.Lexer,this.indentStyle=e?.indentation?.style??`space`,this.indentSize=e?.indentation?.size??2,this.baseExtensions=e?.extensions||[],e?.markedOptions&&typeof this.markedInstance.setOptions==`function`&&this.markedInstance.setOptions(e.markedOptions),this.registry=new Map,this.nodeTypeRegistry=new Map,e?.extensions&&(this.baseExtensions=e.extensions,jl(e.extensions).forEach(e=>this.registerExtension(e,!1))),this.lexer=new this.markedInstance.Lexer}get instance(){return this.markedInstance}get indentCharacter(){return this.indentStyle===`space`?` `:` `}get indentString(){return this.indentCharacter.repeat(this.indentSize)}hasMarked(){return!!this.markedInstance}registerExtension(e,t=!0){this.extensions.push(e);let n=e.name,r=L(e,`markdownTokenName`)||n,i=L(e,`parseMarkdown`),a=L(e,`renderMarkdown`),o=L(e,`markdownTokenizer`),s=L(e,`markdownOptions`)??null,c={tokenName:r,nodeName:n,parseMarkdown:i,renderMarkdown:a,isIndenting:s?.indentsContent??!1,htmlReopen:s?.htmlReopen,tokenizer:o};if(r&&i){let e=this.registry.get(r)||[];e.push(c),this.registry.set(r,e)}if(a){let e=this.nodeTypeRegistry.get(n)||[];e.push(c),this.nodeTypeRegistry.set(n,e)}o&&this.hasMarked()&&(this.registerTokenizer(o),t&&(this.lexer=new this.markedInstance.Lexer))}registerTokenizer(e){if(!this.hasMarked())return;let{name:t,start:n,level:r=`inline`,tokenize:i}=e,a={inlineTokens:e=>this.lexer.inlineTokens(e),blockTokens:e=>this.lexer.blockTokens(e)},o;o=n?typeof n==`function`?n:e=>e.indexOf(n):e=>{let t=i(e,[],a);return t&&t.raw?e.indexOf(t.raw):-1};let s={name:t,level:r,start:o,tokenizer:(e,n)=>{let r=i(e,n,a);if(r&&r.type)return{...r,type:r.type||t,raw:r.raw||``,tokens:r.tokens||[]}},childTokens:[]};this.markedInstance.use({extensions:[s]})}getHandlersForToken(e){try{return this.registry.get(e)||[]}catch{return[]}}getHandlerForToken(e){let t=this.getHandlersForToken(e);if(t.length>0)return t[0];let n=this.getHandlersForNodeType(e);return n.length>0?n[0]:void 0}getHandlersForNodeType(e){try{return this.nodeTypeRegistry.get(e)||[]}catch{return[]}}serialize(e){if(!e)return``;let t=this.renderNodes(e,e);return this.isEmptyOutput(t)?``:t}isEmptyOutput(e){return!e||e.trim()===``?!0:e.replace(/&nbsp;/g,``).replace(/\u00A0/g,``).trim()===``}parse(e){if(!this.hasMarked())throw Error(`No marked instance available for parsing`);let t=this.markedInstance.lexer(e);return{type:`doc`,content:this.parseTokens(t,!0)}}parseTokens(e,t=!1){let n=e.reduce((e,t,n)=>(t.type!==`space`&&e.push(n),e),[]),r=-1,i=0;return e.flatMap((e,a)=>{for(;i<n.length&&n[i]<a;)r=n[i],i+=1;if(t&&e.type===`space`){let t=n[i]??-1;return this.createImplicitEmptyParagraphsFromSpace(e,r,t)}let o=this.parseToken(e,t);return o===null?[]:Array.isArray(o)?o:[o]})}createImplicitEmptyParagraphsFromSpace(e,t,n){let r=this.countParagraphSeparators(e.raw||``);if(r===0)return[];let i=t===-1||n===-1,a=Math.max(r-(i?0:1),0);return Array.from({length:a},()=>({type:`paragraph`,content:[]}))}countParagraphSeparators(e){return(e.replace(/\r\n/g,`
202
+ `);return n.slice(0,n.length-1)}function Qv(e,t){let n=[];return Array.from(e.keys()).forEach(e=>{(!t||!t.marks||!t.marks.map(e=>e.type).includes(e))&&n.push(e)}),n}function $v(e,t){let n=[];return Array.from(t.entries()).forEach(([t,r])=>{e.has(t)||n.push({type:t,mark:r})}),n}function ey(e,t,n,r){let i=!n,a=n&&n.type===`text`&&(!n.marks||n.marks.length===0),o=n&&n.type===`text`&&n.marks&&!r(t,new Map(n.marks.map(e=>[e.type,e]))),s=[];if(i||a||o)if(n&&n.type===`text`&&n.marks){let t=new Map(n.marks.map(e=>[e.type,e]));Array.from(e.keys()).reverse().forEach(e=>{t.has(e)||s.push(e)})}else (i||a)&&s.push(...Array.from(e.keys()).reverse());return s}function ty(e,t){let n=``;return Array.from(e.keys()).reverse().forEach(r=>{let i=t(r,e.get(r));i&&(n=i+n)}),e.clear(),n}function ny(e,t,n){let r=``;return Array.from(e.entries()).forEach(([e,i])=>{let a=n(e,i);a&&(r+=a),t.set(e,i)}),r}function ry(e){let t=(e.raw||e.text||``).match(/^(\s*)[-+*]\s+\[([ xX])\]\s+/);return t?{isTask:!0,checked:t[2].toLowerCase()===`x`,indentLevel:t[1].length}:{isTask:!1,indentLevel:0}}function iy(e,t){return typeof e==`string`?t:`json`}var ay=class{constructor(e){this.baseExtensions=[],this.extensions=[],this.lastParseResult=null,this.markedInstance=e?.marked??X,this.lexer=new this.markedInstance.Lexer,this.indentStyle=e?.indentation?.style??`space`,this.indentSize=e?.indentation?.size??2,this.baseExtensions=e?.extensions||[],e?.markedOptions&&typeof this.markedInstance.setOptions==`function`&&this.markedInstance.setOptions(e.markedOptions),this.registry=new Map,this.nodeTypeRegistry=new Map,e?.extensions&&(this.baseExtensions=e.extensions,jl(e.extensions).forEach(e=>this.registerExtension(e,!1))),this.lexer=new this.markedInstance.Lexer}get instance(){return this.markedInstance}get indentCharacter(){return this.indentStyle===`space`?` `:` `}get indentString(){return this.indentCharacter.repeat(this.indentSize)}hasMarked(){return!!this.markedInstance}registerExtension(e,t=!0){this.extensions.push(e);let n=e.name,r=L(e,`markdownTokenName`)||n,i=L(e,`parseMarkdown`),a=L(e,`renderMarkdown`),o=L(e,`markdownTokenizer`),s=L(e,`markdownOptions`)??null,c={tokenName:r,nodeName:n,parseMarkdown:i,renderMarkdown:a,isIndenting:s?.indentsContent??!1,htmlReopen:s?.htmlReopen,tokenizer:o};if(r&&i){let e=this.registry.get(r)||[];e.push(c),this.registry.set(r,e)}if(a){let e=this.nodeTypeRegistry.get(n)||[];e.push(c),this.nodeTypeRegistry.set(n,e)}o&&this.hasMarked()&&(this.registerTokenizer(o),t&&(this.lexer=new this.markedInstance.Lexer))}registerTokenizer(e){if(!this.hasMarked())return;let{name:t,start:n,level:r=`inline`,tokenize:i}=e,a={inlineTokens:e=>this.lexer.inlineTokens(e),blockTokens:e=>this.lexer.blockTokens(e)},o;o=n?typeof n==`function`?n:e=>e.indexOf(n):e=>{let t=i(e,[],a);return t&&t.raw?e.indexOf(t.raw):-1};let s={name:t,level:r,start:o,tokenizer:(e,n)=>{let r=i(e,n,a);if(r&&r.type)return{...r,type:r.type||t,raw:r.raw||``,tokens:r.tokens||[]}},childTokens:[]};this.markedInstance.use({extensions:[s]})}getHandlersForToken(e){try{return this.registry.get(e)||[]}catch{return[]}}getHandlerForToken(e){let t=this.getHandlersForToken(e);if(t.length>0)return t[0];let n=this.getHandlersForNodeType(e);return n.length>0?n[0]:void 0}getHandlersForNodeType(e){try{return this.nodeTypeRegistry.get(e)||[]}catch{return[]}}serialize(e){if(!e)return``;let t=this.renderNodes(e,e);return this.isEmptyOutput(t)?``:t}isEmptyOutput(e){return!e||e.trim()===``?!0:e.replace(/&nbsp;/g,``).replace(/\u00A0/g,``).trim()===``}parse(e){if(!this.hasMarked())throw Error(`No marked instance available for parsing`);let t=this.markedInstance.lexer(e);return{type:`doc`,content:this.parseTokens(t,!0)}}parseTokens(e,t=!1){let n=e.reduce((e,t,n)=>(t.type!==`space`&&e.push(n),e),[]),r=-1,i=0;return e.flatMap((e,a)=>{for(;i<n.length&&n[i]<a;)r=n[i],i+=1;if(t&&e.type===`space`){let t=n[i]??-1;return this.createImplicitEmptyParagraphsFromSpace(e,r,t)}let o=this.parseToken(e,t);return o===null?[]:Array.isArray(o)?o:[o]})}createImplicitEmptyParagraphsFromSpace(e,t,n){let r=this.countParagraphSeparators(e.raw||``);if(r===0)return[];let i=Math.max(r-(t===-1||n===-1?0:1),0);return Array.from({length:i},()=>({type:`paragraph`,content:[]}))}countParagraphSeparators(e){return(e.replace(/\r\n/g,`
203
203
  `).match(/\n\n/g)||[]).length}parseToken(e,t=!1){if(!e.type)return null;if(e.type===`list`)return this.parseListToken(e);let n=this.getHandlersForToken(e.type),r=this.createParseHelpers();if(n.find(t=>{if(!t.parseMarkdown)return!1;let n=t.parseMarkdown(e,r),i=this.normalizeParseResult(n);return i&&(!Array.isArray(i)||i.length>0)?(this.lastParseResult=i,!0):!1})&&this.lastParseResult){let e=this.lastParseResult;return this.lastParseResult=null,e}return this.parseFallbackToken(e,t)}parseListToken(e){if(!e.items||e.items.length===0)return this.parseTokenWithHandlers(e);let t=e.items.some(e=>ry(e).isTask),n=e.items.some(e=>!ry(e).isTask);if(!t||!n||this.getHandlersForToken(`taskList`).length===0)return this.parseTokenWithHandlers(e);let r=[],i=[],a=null;for(let t=0;t<e.items.length;t+=1){let n=e.items[t],{isTask:o,checked:s,indentLevel:c}=ry(n),l=n;if(o){let e=(n.raw||n.text||``).split(`
204
204
  `),t=e[0].match(/^\s*[-+*]\s+\[([ xX])\]\s+(.*)$/),r=t?t[2]:``,i=[];if(e.length>1&&e.slice(1).join(`
205
205
  `).trim()){let t=e.slice(1),n=t.filter(e=>e.trim());if(n.length>0){let e=Math.min(...n.map(e=>e.length-e.trimStart().length)),r=t.map(t=>t.trim()?t.slice(e):``).join(`
@@ -1,4 +1,4 @@
1
- import{g as e}from"./vendor-BxD5ItEO.js";import{t}from"./api-D88c6lbH.js";async function n(e){let n=await t(`/api/kairos_dump`,{method:`POST`,body:JSON.stringify({uri:e,protocol:!0})});if(!n.ok){let e=(await n.json().catch(()=>({}))).message??n.statusText,t=Error(e);throw t.statusCode=n.status,t}return n.json()}function r(t,r){return e({queryKey:[`protocol`,t],queryFn:()=>n(t),enabled:!!(t&&r)})}function i(e){let t=e.split(`
1
+ import{g as e}from"./vendor-GiUVcjs7.js";import{t}from"./api-D88c6lbH.js";async function n(e){let n=await t(`/api/kairos_dump`,{method:`POST`,body:JSON.stringify({uri:e,protocol:!0})});if(!n.ok){let e=(await n.json().catch(()=>({}))).message??n.statusText,t=Error(e);throw t.statusCode=n.status,t}return n.json()}function r(t,r){return e({queryKey:[`protocol`,t],queryFn:()=>n(t),enabled:!!(t&&r)})}function i(e){let t=e.split(`
2
2
  `),n=`Protocol`,r=[],i=``,a=``,o=t.find(e=>e.startsWith(`# `));o&&(n=o.replace(/^#\s+/,``).trim());let s=e.split(/\n##\s+/);for(let e=1;e<s.length;e++){let t=s[e],n=t.split(`
3
3
  `)[0]??``,o=n.trim(),c=t.slice(n.length).replace(/^\n+/,``).trim();if(o.toLowerCase().includes(`natural language trigger`))i=c.replace(/\n```json[\s\S]*?```/g,``).trim();else if(o.toLowerCase().includes(`completion rule`))a=c.replace(/\n```json[\s\S]*?```/g,``).trim();else{let e=c.match(/```json\s*([\s\S]*?)```/),t=`comment`,n=`Comment`;if(e)try{let r=JSON.parse(e[1].trim()),i=r?.challenge??r;if(i?.type&&(t=String(i.type)),t===`shell`){let e=i?.shell?.cmd??i?.cmd;n=e?`Shell: ${String(e)}`:`Shell`}else if(t===`mcp`){let e=i?.mcp?.tool_name;n=e?`MCP: ${String(e)}`:`MCP`}else if(t===`user_input`){let e=i?.user_input?.prompt;n=e?`User input: ${String(e)}`:`User input`}else if(t===`comment`){let e=i?.comment?.min_length;n=e?`Comment: min ${Number(e)} chars`:`Comment`}else n=String(t)}catch{}n||=String(t),r.push({label:o,type:t,summary:n,body:c})}}return{title:n,steps:r,triggers:i,completion:a}}function a(e){let{title:t,steps:n,triggers:r,completion:a}=i(e);return{protocolLabel:t,triggersMarkdown:r,steps:n.map(e=>{let t=e.body.replace(/\n```json\s*[\s\S]*?```\s*$/g,``).trim(),n=`comment`,r={label:e.label,bodyMarkdown:t,type:n},i=e.body.match(/```json\s*([\s\S]*?)```/);if(i)try{let e=JSON.parse(i[1].trim()),t=e?.challenge??e;t?.type&&[`shell`,`mcp`,`user_input`,`comment`].includes(String(t.type))&&(n=t.type,r.type=n),n===`shell`?r.shell={cmd:String(t?.shell?.cmd??t?.cmd??``).trim()}:n===`mcp`?r.mcp={tool_name:String(t?.mcp?.tool_name??``).trim()}:n===`user_input`?r.user_input={prompt:String(t?.user_input?.prompt??``).trim()}:n===`comment`&&(r.comment={min_length:Number(t?.comment?.min_length??10)})}catch{}return r}),completionMarkdown:a}}function o(e){let t=[];t.push(`# ${e.protocolLabel.trim()||`Protocol`}`),t.push(``),t.push(`## Natural language triggers`),t.push(``),t.push(e.triggersMarkdown.trim()||`Describe when this protocol should run.`),t.push(``);for(let n of e.steps){t.push(`## ${n.label.trim()||`Step`}`),t.push(``),t.push(n.bodyMarkdown.trim()||`Step content.`);let e={type:n.type};n.type===`shell`?e.shell={cmd:n.shell?.cmd??``}:n.type===`mcp`?e.mcp={tool_name:n.mcp?.tool_name??``}:n.type===`user_input`?e.user_input={prompt:n.user_input?.prompt??``}:n.type===`comment`&&(e.comment={min_length:n.comment?.min_length??10}),t.push(``),t.push("```json"),t.push(JSON.stringify({challenge:e},null,2)),t.push("```"),t.push(``)}return t.push(`## Completion rule`),t.push(``),t.push(e.completionMarkdown.trim()||`When is this protocol considered complete?`),t.join(`
4
4
  `)}export{r as i,i as n,a as r,o as t};
@@ -1 +1 @@
1
- import{g as e}from"./vendor-BxD5ItEO.js";import{t}from"./api-D88c6lbH.js";async function n(e={}){let n=await t(`/api/kairos_spaces`,{method:`POST`,body:JSON.stringify({include_chain_titles:e.includeChainTitles??!1})});if(!n.ok){let e=(await n.json().catch(()=>({}))).message??n.statusText;throw Error(e)}return{spaces:(await n.json()).spaces??[]}}function r(t=!0,r={}){return e({queryKey:[`spaces`,{includeChainTitles:r.includeChainTitles??!1}],queryFn:()=>n(r),enabled:t})}export{r as t};
1
+ import{g as e}from"./vendor-GiUVcjs7.js";import{t}from"./api-D88c6lbH.js";async function n(e={}){let n=await t(`/api/kairos_spaces`,{method:`POST`,body:JSON.stringify({include_chain_titles:e.includeChainTitles??!1})});if(!n.ok){let e=(await n.json().catch(()=>({}))).message??n.statusText;throw Error(e)}return{spaces:(await n.json()).spaces??[]}}function r(t=!0,r={}){return e({queryKey:[`spaces`,{includeChainTitles:r.includeChainTitles??!1}],queryFn:()=>n(r),enabled:t})}export{r as t};