cann-workbench 0.0.0-stage → 0.0.2-alpha

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 (408) hide show
  1. package/README.md +183 -2
  2. package/THIRD_PARTY_NOTICES.md +85 -0
  3. package/cordis.patch.yml +3 -0
  4. package/doctor/LICENSE +202 -0
  5. package/doctor/NOTICE +12 -0
  6. package/doctor/README.md +18 -0
  7. package/lib/client.js +94437 -0
  8. package/lib/index.d.ts +722 -0
  9. package/lib/index.js +33711 -0
  10. package/locale/en.json +6 -0
  11. package/locale/zh.json +6 -0
  12. package/package.json +171 -4
  13. package/skills/asc-tools/tool-ops-tune/INSTALL.md +52 -0
  14. package/skills/asc-tools/tool-ops-tune/LICENSE +38 -0
  15. package/skills/asc-tools/tool-ops-tune/README.md +167 -0
  16. package/skills/asc-tools/tool-ops-tune/SKILL.md +93 -0
  17. package/skills/asc-tools/tool-ops-tune/agent/AGENTS.md +195 -0
  18. package/skills/asc-tools/tool-ops-tune/agent/agents/perf-implementer.md +68 -0
  19. package/skills/asc-tools/tool-ops-tune/agent/agents/perf-reviewer.md +86 -0
  20. package/skills/asc-tools/tool-ops-tune/agent/workflows/task-prompts.md +362 -0
  21. package/skills/asc-tools/tool-ops-tune/agent/workflows/troubleshooting.md +43 -0
  22. package/skills/asc-tools/tool-ops-tune/docs/figures/opstune-architecture.png +0 -0
  23. package/skills/asc-tools/tool-ops-tune/docs/figures/opstune-architecture.svg +253 -0
  24. package/skills/asc-tools/tool-ops-tune/docs/ops-tune-design.md +404 -0
  25. package/skills/asc-tools/tool-ops-tune/docs//347/224/250/344/276/213/346/236/204/345/273/272.md +730 -0
  26. package/skills/asc-tools/tool-ops-tune/docs//347/237/245/350/257/206/345/272/223/350/247/204/350/214/203.md +103 -0
  27. package/skills/asc-tools/tool-ops-tune/evals/evals.json +242 -0
  28. package/skills/asc-tools/tool-ops-tune/ops-collect/SKILL.md +146 -0
  29. package/skills/asc-tools/tool-ops-tune/ops-collect/references/tool-routing.md +86 -0
  30. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/collect_board.sh +458 -0
  31. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/collect_cases.py +368 -0
  32. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/collect_sim.sh +134 -0
  33. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/csv_to_db.py +314 -0
  34. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/db_bench.py +545 -0
  35. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/facts_bridge.py +1102 -0
  36. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/isolation_test.py +452 -0
  37. package/skills/asc-tools/tool-ops-tune/ops-collect/scripts/jsonl_to_cases.py +163 -0
  38. package/skills/asc-tools/tool-ops-tune/ops-family/SKILL.md +76 -0
  39. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/advanced_tiling.md +92 -0
  40. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/broadcast_design.md +160 -0
  41. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/broadcast_add_kernel.cpp +126 -0
  42. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/broadcast_add_tiling.cpp +144 -0
  43. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/broadcast_tiling_common.h +401 -0
  44. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/onedim_add_kernel.cpp +107 -0
  45. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/code/onedim_add_tiling.cpp +64 -0
  46. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/datacopypad_design.md +46 -0
  47. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/guide.md +14 -0
  48. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/nddma_design.md +53 -0
  49. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/onedim_design.md +114 -0
  50. package/skills/asc-tools/tool-ops-tune/ops-family/references/broadcast/ub_broadcast_design.md +67 -0
  51. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/datacopy_optimization_design.md +351 -0
  52. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/index.md +9 -0
  53. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/tail_block_design.md +268 -0
  54. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/timing_harness/index.md +38 -0
  55. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/timing_harness/timing_harness_aclrt_event.cpp +199 -0
  56. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/timing_harness/timing_harness_torch_event.py +130 -0
  57. package/skills/asc-tools/tool-ops-tune/ops-family/references/common/ub_resident_design.md +342 -0
  58. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/guide.md +69 -0
  59. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/index.md +4 -0
  60. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_base.template +81 -0
  61. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_big_dim.template +217 -0
  62. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_cut_one_axis.template +336 -0
  63. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_cut_two_axis.template +781 -0
  64. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_n_last.template +340 -0
  65. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_small_shape.template +321 -0
  66. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_tensor_move.template +102 -0
  67. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_transdata_5hd.template +480 -0
  68. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_transdata_5hd_021axis.template +533 -0
  69. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/dav3510/transpose_with_gather.template +688 -0
  70. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/templates/transpose_tiling_data.template +192 -0
  71. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_big_dim.md +220 -0
  72. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_cut_one_axis.md +175 -0
  73. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_cut_two_axis.md +177 -0
  74. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_fusion_design.md +398 -0
  75. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_gather.md +191 -0
  76. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_n_last.md +276 -0
  77. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_small_shape.md +315 -0
  78. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_tensor_move.md +203 -0
  79. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_tiling_data.md +176 -0
  80. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_vconv_021.md +206 -0
  81. package/skills/asc-tools/tool-ops-tune/ops-family/references/conversion/transpose_vconv_5hd.md +179 -0
  82. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/double_buffer_design.md +288 -0
  83. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/guide.md +46 -0
  84. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/index.md +10 -0
  85. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/CMakeLists.txt +131 -0
  86. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/README.md +55 -0
  87. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_extension/add_custom_torch.cpp +80 -0
  88. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_extension/ops.h +23 -0
  89. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_extension/register.cpp +30 -0
  90. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_host/add_custom.asc +149 -0
  91. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_host/data_utils.h +97 -0
  92. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_kernel/add_custom_kernel.asc +136 -0
  93. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/op_kernel/add_custom_tiling.h +31 -0
  94. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/run.sh +87 -0
  95. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/gen_data.py +70 -0
  96. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/golden.py +34 -0
  97. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/test_torch.py +99 -0
  98. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/add_custom/scripts/verify_result.py +56 -0
  99. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/templates/usage_guide.md +61 -0
  100. package/skills/asc-tools/tool-ops-tune/ops-family/references/elementwise/vector_efficiency_design.md +203 -0
  101. package/skills/asc-tools/tool-ops-tune/ops-family/references/fa/fa_mixed_kernel_design.md +174 -0
  102. package/skills/asc-tools/tool-ops-tune/ops-family/references/fa/fa_roofline_design.md +141 -0
  103. package/skills/asc-tools/tool-ops-tune/ops-family/references/fa/guide.md +87 -0
  104. package/skills/asc-tools/tool-ops-tune/ops-family/references/knowledge_gaps.json +56 -0
  105. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/best-practices-guide.md +14 -0
  106. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/fullload_design.md +344 -0
  107. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/guide.md +52 -0
  108. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/mte2_preload_design.md +320 -0
  109. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/pingpong_design.md +254 -0
  110. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/scale_coalescing_design.md +282 -0
  111. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/streamk_design.md +374 -0
  112. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/swat_design.md +423 -0
  113. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/templates/matmul_basic_blaze.template +165 -0
  114. package/skills/asc-tools/tool-ops-tune/ops-family/references/matmul/templates/usage_guide.md +29 -0
  115. package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/best-practices-guide.md +43 -0
  116. package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/guide.md +42 -0
  117. package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/local_matmul_design.md +130 -0
  118. package/skills/asc-tools/tool-ops-tune/ops-family/references/mc2/pipeline_balancing_design.md +502 -0
  119. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/guide.md +178 -0
  120. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/kernel_utils.template +75 -0
  121. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ar_full_load.template +429 -0
  122. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ar_recompute.template +485 -0
  123. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ar_small_r.template +348 -0
  124. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ara_full_load.template +574 -0
  125. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ara_online.template +324 -0
  126. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_ara_recompute.template +436 -0
  127. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/dav310/softmax_v2_base.template +950 -0
  128. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/fused_attention_online_softmax_design.md +428 -0
  129. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ar_full_load.md +137 -0
  130. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ar_recompute.md +135 -0
  131. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ar_small_r.md +122 -0
  132. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ara_full_load.md +144 -0
  133. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ara_online.md +185 -0
  134. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_ara_recompute.md +163 -0
  135. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_tiling.template +460 -0
  136. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/softmax_v2_tiling_data.template +278 -0
  137. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/state_resident_design.md +337 -0
  138. package/skills/asc-tools/tool-ops-tune/ops-family/references/reduce/templates/usage_guide.md +253 -0
  139. package/skills/asc-tools/tool-ops-tune/ops-family/references/scalar/coding_principles.md +476 -0
  140. package/skills/asc-tools/tool-ops-tune/ops-family/references/scalar/conv_scalar.md +163 -0
  141. package/skills/asc-tools/tool-ops-tune/ops-family/references/scalar/guide.md +30 -0
  142. package/skills/asc-tools/tool-ops-tune/ops-family/references/simt/guide.md +91 -0
  143. package/skills/asc-tools/tool-ops-tune/ops-family/references/simt/optimization-guide.md +110 -0
  144. package/skills/asc-tools/tool-ops-tune/ops-family/references/sort/guide.md +83 -0
  145. package/skills/asc-tools/tool-ops-tune/ops-family/references/sort/radix_sort.md +354 -0
  146. package/skills/asc-tools/tool-ops-tune/ops-family/scripts/family_asset_audit.py +68 -0
  147. package/skills/asc-tools/tool-ops-tune/ops-family/scripts/tiling_candidates.py +419 -0
  148. package/skills/asc-tools/tool-ops-tune/ops-mechanism/SKILL.md +23 -0
  149. package/skills/asc-tools/tool-ops-tune/ops-mechanism/cases/ascendc/case_groupedmatmul_pipeline.md +23 -0
  150. package/skills/asc-tools/tool-ops-tune/ops-mechanism/cases/ascendc/case_triton_atomic_revert.md +19 -0
  151. package/skills/asc-tools/tool-ops-tune/ops-mechanism/cases/mc2/case_mc2_fusion.md +19 -0
  152. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/api-usage.md +70 -0
  153. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/ascendc-regbase-vf.md +45 -0
  154. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/ascendc-tiling.md +51 -0
  155. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/data-copy.md +67 -0
  156. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/index.md +45 -0
  157. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/mc2-balancing.md +77 -0
  158. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/mc2.md +103 -0
  159. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/memory-hierarchy.md +40 -0
  160. package/skills/asc-tools/tool-ops-tune/ops-mechanism/references/optimize/pipeline.md +95 -0
  161. package/skills/asc-tools/tool-ops-tune/ops-mechanism/scripts/case_backfill.py +170 -0
  162. package/skills/asc-tools/tool-ops-tune/ops-mechanism/scripts/log_gap.py +145 -0
  163. package/skills/asc-tools/tool-ops-tune/ops-mechanism/scripts/mc2_search.py +367 -0
  164. package/skills/asc-tools/tool-ops-tune/ops-report/SKILL.md +77 -0
  165. package/skills/asc-tools/tool-ops-tune/ops-verdict/evals/run_evals.py +963 -0
  166. package/skills/asc-tools/tool-ops-tune/ops-verdict/evals/smoke/install-hooks.sh +65 -0
  167. package/skills/asc-tools/tool-ops-tune/ops-verdict/evals/smoke/run_smoke.sh +535 -0
  168. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/core_tail_a5.csv +25 -0
  169. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/few_cores_a5.csv +5 -0
  170. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/mte2_bound_a2.csv +17 -0
  171. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/multi_kernel_mix_a5.csv +7 -0
  172. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/no_bound_a5.csv +9 -0
  173. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/serial_no_overlap_a2.csv +9 -0
  174. package/skills/asc-tools/tool-ops-tune/ops-verdict/fixtures/vec_bound_a5.csv +9 -0
  175. package/skills/asc-tools/tool-ops-tune/ops-verdict/references/io-contracts.md +94 -0
  176. package/skills/asc-tools/tool-ops-tune/ops-verdict/references/rule-schema.md +130 -0
  177. package/skills/asc-tools/tool-ops-tune/ops-verdict/references/scope-schema.md +61 -0
  178. package/skills/asc-tools/tool-ops-tune/ops-verdict/references/soc-spec.yaml +140 -0
  179. package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L0-instruction.yaml +67 -0
  180. package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L1-single-core.yaml +316 -0
  181. package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L2-inter-core.yaml +173 -0
  182. package/skills/asc-tools/tool-ops-tune/ops-verdict/rules/L3-inter-card.yaml +156 -0
  183. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/batch_pipeline.py +466 -0
  184. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/calibrate.py +249 -0
  185. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/delta_compare.py +278 -0
  186. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/render_html.py +304 -0
  187. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/snapshot.py +200 -0
  188. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/trace_bubble.py +331 -0
  189. package/skills/asc-tools/tool-ops-tune/ops-verdict/scripts/verdict.py +1094 -0
  190. package/skills/asc-tools/tool-ops-tune/scripts/diff_audit.py +281 -0
  191. package/skills/asc-tools/tool-precision-debug/LICENSE +38 -0
  192. package/skills/asc-tools/tool-precision-debug/README.md +190 -0
  193. package/skills/asc-tools/tool-precision-debug/scripts/install.sh +475 -0
  194. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/LICENSE +38 -0
  195. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/SKILL.md +136 -0
  196. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/evals/evals.json +932 -0
  197. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/baseline.md +69 -0
  198. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/checkpoint-design.md +82 -0
  199. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/dumptensor.md +83 -0
  200. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/hypothesis-experiment.md +114 -0
  201. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/index.md +20 -0
  202. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/localization.md +85 -0
  203. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/numerical-modeling.md +94 -0
  204. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/operator-modeling.md +116 -0
  205. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/progressive-error-analysis.md +86 -0
  206. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/reporting.md +140 -0
  207. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/reproducibility.md +121 -0
  208. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/semantic-bisection.md +72 -0
  209. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/diagnosis/sensitive-points.md +146 -0
  210. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/fp16-promotion-boundary.md +46 -0
  211. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/fused-rmsnorm-gelu-residual.md +162 -0
  212. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/index.md +16 -0
  213. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/integer-float-collision.md +44 -0
  214. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/partial-statistics-merge.md +30 -0
  215. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/softplus-v2-grad-family.md +156 -0
  216. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/sync-dataflow-handshake.md +89 -0
  217. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/tail-valid-region-state.md +30 -0
  218. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/cases/thnn-fused-gru-bias-reduction.md +73 -0
  219. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/index.md +34 -0
  220. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/accumulation-order.md +108 -0
  221. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/algorithm-parameter-contract.md +118 -0
  222. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/buffer-lifetime-alias.md +133 -0
  223. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/cast-rounding.md +76 -0
  224. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/complex-operator-boundary.md +48 -0
  225. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/data-movement-alignment.md +104 -0
  226. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/golden-host-contract.md +84 -0
  227. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/index-address-ownership.md +57 -0
  228. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/index.md +32 -0
  229. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/multicore-ownership.md +117 -0
  230. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/pipeline-sync-visibility.md +146 -0
  231. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/precision-mode-approximation.md +90 -0
  232. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/shape-boundary-contract.md +57 -0
  233. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/special-values.md +122 -0
  234. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/mechanisms/tiling-tail-state.md +146 -0
  235. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/broadcast-transpose.md +64 -0
  236. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/convolution.md +60 -0
  237. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/dynamic-quant.md +47 -0
  238. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/index.md +18 -0
  239. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/matmul-mmad.md +131 -0
  240. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/normalization.md +145 -0
  241. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/reduction.md +167 -0
  242. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/softplus-v2-grad.md +58 -0
  243. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/patterns/operators/sort-merge.md +65 -0
  244. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/tools/index.md +18 -0
  245. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/tools/kernel-debug-data.md +133 -0
  246. package/skills/asc-tools/tool-precision-debug/skills/tool-precision-debug/references/tools/msobjdump.md +150 -0
  247. package/skills/cann-doctor/SKILL.md +15 -0
  248. package/skills/catalog.json +79 -0
  249. package/skills/mattpocock/GLOSSARY.md +30 -0
  250. package/skills/mattpocock/LICENSE +21 -0
  251. package/skills/mattpocock/README.md +258 -0
  252. package/skills/mattpocock/SCOPE.md +35 -0
  253. package/skills/mattpocock/docs/agents/triage-labels.md +15 -0
  254. package/skills/mattpocock/docs/engineering/ask-matt.md +91 -0
  255. package/skills/mattpocock/docs/engineering/code-review.md +101 -0
  256. package/skills/mattpocock/docs/engineering/codebase-design.md +88 -0
  257. package/skills/mattpocock/docs/engineering/diagnosing-bugs.md +94 -0
  258. package/skills/mattpocock/docs/engineering/domain-modeling.md +86 -0
  259. package/skills/mattpocock/docs/engineering/grill-with-docs.md +82 -0
  260. package/skills/mattpocock/docs/engineering/implement-spec.md +86 -0
  261. package/skills/mattpocock/docs/engineering/implement.md +97 -0
  262. package/skills/mattpocock/docs/engineering/improve-codebase-architecture.md +113 -0
  263. package/skills/mattpocock/docs/engineering/pr.md +79 -0
  264. package/skills/mattpocock/docs/engineering/prototype.md +67 -0
  265. package/skills/mattpocock/docs/engineering/research.md +73 -0
  266. package/skills/mattpocock/docs/engineering/resolving-merge-conflicts.md +53 -0
  267. package/skills/mattpocock/docs/engineering/retro.md +81 -0
  268. package/skills/mattpocock/docs/engineering/setup-matt-pocock-skills.md +94 -0
  269. package/skills/mattpocock/docs/engineering/tdd.md +94 -0
  270. package/skills/mattpocock/docs/engineering/to-spec.md +81 -0
  271. package/skills/mattpocock/docs/engineering/to-tickets.md +99 -0
  272. package/skills/mattpocock/docs/engineering/triage.md +109 -0
  273. package/skills/mattpocock/docs/engineering/wayfinder.md +103 -0
  274. package/skills/mattpocock/docs/engineering/wizard.md +96 -0
  275. package/skills/mattpocock/docs/productivity/grill-me.md +76 -0
  276. package/skills/mattpocock/docs/productivity/grilling.md +87 -0
  277. package/skills/mattpocock/docs/productivity/handoff.md +76 -0
  278. package/skills/mattpocock/docs/productivity/teach.md +97 -0
  279. package/skills/mattpocock/docs/productivity/to-questionnaire.md +78 -0
  280. package/skills/mattpocock/docs/productivity/wait-what.md +36 -0
  281. package/skills/mattpocock/docs/productivity/writing-for-agents.md +70 -0
  282. package/skills/mattpocock/scripts/link-skills.sh +62 -0
  283. package/skills/mattpocock/scripts/list-skills.sh +7 -0
  284. package/skills/mattpocock/scripts/sync-plugin-version.mjs +41 -0
  285. package/skills/mattpocock/skills/deprecated/README.md +3 -0
  286. package/skills/mattpocock/skills/engineering/README.md +34 -0
  287. package/skills/mattpocock/skills/engineering/ask-matt/PHASE-BOUNDARIES.md +55 -0
  288. package/skills/mattpocock/skills/engineering/ask-matt/SKILL.md +97 -0
  289. package/skills/mattpocock/skills/engineering/ask-matt/agents/openai.yaml +5 -0
  290. package/skills/mattpocock/skills/engineering/code-review/SKILL.md +89 -0
  291. package/skills/mattpocock/skills/engineering/code-review/agents/openai.yaml +3 -0
  292. package/skills/mattpocock/skills/engineering/codebase-design/DEEPENING.md +37 -0
  293. package/skills/mattpocock/skills/engineering/codebase-design/DESIGN-IT-TWICE.md +44 -0
  294. package/skills/mattpocock/skills/engineering/codebase-design/SKILL.md +114 -0
  295. package/skills/mattpocock/skills/engineering/codebase-design/agents/openai.yaml +3 -0
  296. package/skills/mattpocock/skills/engineering/diagnosing-bugs/SKILL.md +138 -0
  297. package/skills/mattpocock/skills/engineering/diagnosing-bugs/agents/openai.yaml +3 -0
  298. package/skills/mattpocock/skills/engineering/diagnosing-bugs/scripts/hitl-loop.template.sh +44 -0
  299. package/skills/mattpocock/skills/engineering/domain-modeling/ADR-FORMAT.md +47 -0
  300. package/skills/mattpocock/skills/engineering/domain-modeling/GLOSSARY-FORMAT.md +60 -0
  301. package/skills/mattpocock/skills/engineering/domain-modeling/SKILL.md +74 -0
  302. package/skills/mattpocock/skills/engineering/domain-modeling/agents/openai.yaml +3 -0
  303. package/skills/mattpocock/skills/engineering/grill-with-docs/SKILL.md +7 -0
  304. package/skills/mattpocock/skills/engineering/grill-with-docs/agents/openai.yaml +5 -0
  305. package/skills/mattpocock/skills/engineering/implement/SKILL.md +17 -0
  306. package/skills/mattpocock/skills/engineering/implement/agents/openai.yaml +5 -0
  307. package/skills/mattpocock/skills/engineering/implement-spec/SKILL.md +42 -0
  308. package/skills/mattpocock/skills/engineering/implement-spec/agents/openai.yaml +5 -0
  309. package/skills/mattpocock/skills/engineering/improve-codebase-architecture/HTML-REPORT.md +123 -0
  310. package/skills/mattpocock/skills/engineering/improve-codebase-architecture/SKILL.md +71 -0
  311. package/skills/mattpocock/skills/engineering/improve-codebase-architecture/agents/openai.yaml +5 -0
  312. package/skills/mattpocock/skills/engineering/pr/CREDITS.md +3 -0
  313. package/skills/mattpocock/skills/engineering/pr/SKILL.md +170 -0
  314. package/skills/mattpocock/skills/engineering/pr/agents/openai.yaml +3 -0
  315. package/skills/mattpocock/skills/engineering/prototype/LOGIC.md +67 -0
  316. package/skills/mattpocock/skills/engineering/prototype/SKILL.md +26 -0
  317. package/skills/mattpocock/skills/engineering/prototype/UI.md +112 -0
  318. package/skills/mattpocock/skills/engineering/prototype/agents/openai.yaml +3 -0
  319. package/skills/mattpocock/skills/engineering/research/SKILL.md +12 -0
  320. package/skills/mattpocock/skills/engineering/research/agents/openai.yaml +3 -0
  321. package/skills/mattpocock/skills/engineering/retro/SKILL.md +44 -0
  322. package/skills/mattpocock/skills/engineering/retro/agents/openai.yaml +5 -0
  323. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/SKILL.md +120 -0
  324. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  325. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/domain.md +51 -0
  326. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-github.md +50 -0
  327. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md +46 -0
  328. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/issue-tracker-local.md +30 -0
  329. package/skills/mattpocock/skills/engineering/setup-matt-pocock-skills/triage-labels.md +15 -0
  330. package/skills/mattpocock/skills/engineering/tdd/SKILL.md +38 -0
  331. package/skills/mattpocock/skills/engineering/tdd/agents/openai.yaml +3 -0
  332. package/skills/mattpocock/skills/engineering/tdd/mocking.md +59 -0
  333. package/skills/mattpocock/skills/engineering/tdd/tests.md +77 -0
  334. package/skills/mattpocock/skills/engineering/to-spec/SKILL.md +75 -0
  335. package/skills/mattpocock/skills/engineering/to-spec/agents/openai.yaml +5 -0
  336. package/skills/mattpocock/skills/engineering/to-tickets/SKILL.md +105 -0
  337. package/skills/mattpocock/skills/engineering/to-tickets/agents/openai.yaml +5 -0
  338. package/skills/mattpocock/skills/engineering/triage/AGENT-BRIEF.md +207 -0
  339. package/skills/mattpocock/skills/engineering/triage/OUT-OF-SCOPE.md +105 -0
  340. package/skills/mattpocock/skills/engineering/triage/SKILL.md +112 -0
  341. package/skills/mattpocock/skills/engineering/triage/agents/openai.yaml +5 -0
  342. package/skills/mattpocock/skills/engineering/wayfinder/SKILL.md +128 -0
  343. package/skills/mattpocock/skills/engineering/wayfinder/agents/openai.yaml +5 -0
  344. package/skills/mattpocock/skills/engineering/wizard/SKILL.md +44 -0
  345. package/skills/mattpocock/skills/engineering/wizard/agents/openai.yaml +3 -0
  346. package/skills/mattpocock/skills/engineering/wizard/template.sh +223 -0
  347. package/skills/mattpocock/skills/in-progress/README.md +17 -0
  348. package/skills/mattpocock/skills/in-progress/chief-of-staff/SKILL.md +75 -0
  349. package/skills/mattpocock/skills/in-progress/chief-of-staff/agents/openai.yaml +5 -0
  350. package/skills/mattpocock/skills/in-progress/claude-handoff/SKILL.md +18 -0
  351. package/skills/mattpocock/skills/in-progress/claude-handoff/agents/openai.yaml +5 -0
  352. package/skills/mattpocock/skills/in-progress/loop-me/SKILL.md +32 -0
  353. package/skills/mattpocock/skills/in-progress/loop-me/agents/openai.yaml +5 -0
  354. package/skills/mattpocock/skills/in-progress/setup-ts-deep-modules/SKILL.md +102 -0
  355. package/skills/mattpocock/skills/in-progress/setup-ts-deep-modules/agents/openai.yaml +5 -0
  356. package/skills/mattpocock/skills/in-progress/setup-ts-deep-modules/dependency-cruiser.config.cjs +95 -0
  357. package/skills/mattpocock/skills/in-progress/software-factory/EXAMPLE-TASKS.md +80 -0
  358. package/skills/mattpocock/skills/in-progress/software-factory/GIT-HOSTS.md +84 -0
  359. package/skills/mattpocock/skills/in-progress/software-factory/OBSERVABILITY-PLATFORMS.md +75 -0
  360. package/skills/mattpocock/skills/in-progress/software-factory/RUNNERS.md +94 -0
  361. package/skills/mattpocock/skills/in-progress/software-factory/SKILL.md +98 -0
  362. package/skills/mattpocock/skills/in-progress/software-factory/TICKET-TRACKERS.md +85 -0
  363. package/skills/mattpocock/skills/in-progress/writing-beats/SKILL.md +67 -0
  364. package/skills/mattpocock/skills/in-progress/writing-beats/agents/openai.yaml +5 -0
  365. package/skills/mattpocock/skills/in-progress/writing-fragments/SKILL.md +79 -0
  366. package/skills/mattpocock/skills/in-progress/writing-fragments/agents/openai.yaml +5 -0
  367. package/skills/mattpocock/skills/in-progress/writing-shape/SKILL.md +79 -0
  368. package/skills/mattpocock/skills/in-progress/writing-shape/agents/openai.yaml +5 -0
  369. package/skills/mattpocock/skills/misc/README.md +8 -0
  370. package/skills/mattpocock/skills/misc/git-guardrails-claude-code/SKILL.md +95 -0
  371. package/skills/mattpocock/skills/misc/git-guardrails-claude-code/agents/openai.yaml +3 -0
  372. package/skills/mattpocock/skills/misc/git-guardrails-claude-code/scripts/block-dangerous-git.sh +25 -0
  373. package/skills/mattpocock/skills/misc/migrate-to-shoehorn/SKILL.md +118 -0
  374. package/skills/mattpocock/skills/misc/migrate-to-shoehorn/agents/openai.yaml +3 -0
  375. package/skills/mattpocock/skills/misc/scaffold-exercises/SKILL.md +106 -0
  376. package/skills/mattpocock/skills/misc/scaffold-exercises/agents/openai.yaml +3 -0
  377. package/skills/mattpocock/skills/misc/setup-pre-commit/SKILL.md +91 -0
  378. package/skills/mattpocock/skills/misc/setup-pre-commit/agents/openai.yaml +3 -0
  379. package/skills/mattpocock/skills/productivity/README.md +20 -0
  380. package/skills/mattpocock/skills/productivity/grill-me/SKILL.md +7 -0
  381. package/skills/mattpocock/skills/productivity/grill-me/agents/openai.yaml +5 -0
  382. package/skills/mattpocock/skills/productivity/grilling/SKILL.md +30 -0
  383. package/skills/mattpocock/skills/productivity/grilling/agents/openai.yaml +3 -0
  384. package/skills/mattpocock/skills/productivity/handoff/SKILL.md +16 -0
  385. package/skills/mattpocock/skills/productivity/handoff/agents/openai.yaml +5 -0
  386. package/skills/mattpocock/skills/productivity/teach/GLOSSARY-FORMAT.md +35 -0
  387. package/skills/mattpocock/skills/productivity/teach/LEARNING-RECORD-FORMAT.md +46 -0
  388. package/skills/mattpocock/skills/productivity/teach/MISSION-FORMAT.md +31 -0
  389. package/skills/mattpocock/skills/productivity/teach/RESOURCES-FORMAT.md +32 -0
  390. package/skills/mattpocock/skills/productivity/teach/SKILL.md +140 -0
  391. package/skills/mattpocock/skills/productivity/teach/agents/openai.yaml +5 -0
  392. package/skills/mattpocock/skills/productivity/to-questionnaire/SKILL.md +54 -0
  393. package/skills/mattpocock/skills/productivity/to-questionnaire/agents/openai.yaml +5 -0
  394. package/skills/mattpocock/skills/productivity/wait-what/SKILL.md +7 -0
  395. package/skills/mattpocock/skills/productivity/wait-what/agents/openai.yaml +5 -0
  396. package/skills/mattpocock/skills/productivity/writing-for-agents/SKILL-MECHANICS.md +22 -0
  397. package/skills/mattpocock/skills/productivity/writing-for-agents/SKILL.md +81 -0
  398. package/skills/mattpocock/skills/productivity/writing-for-agents/agents/openai.yaml +3 -0
  399. package/skills/task-agents/operator-development/Agent.md +71 -0
  400. package/skills/task-agents/operator-development/skills.json +120 -0
  401. package/skills/task-agents/operator-development/stages.schema.json +532 -0
  402. package/skills/task-agents/performance-optimization/Agent.md +78 -0
  403. package/skills/task-agents/performance-optimization/skills.json +64 -0
  404. package/skills/task-agents/response-protocol.md +35 -0
  405. package/skills/task-agents/sidebar-contracts.schema.json +4168 -0
  406. package/skills/task-agents/sidebar-selection.schema.json +971 -0
  407. package/skills/task-agents/visuals/components.json +283 -0
  408. package/skills/task-agents/visuals/contracts.schema.json +3628 -0
@@ -0,0 +1,3628 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://cann-workbench.local/design/sidebar-components/v1",
4
+ "title": "Sidebar component contracts draft",
5
+ "description": "Design contracts only. Cross-record and numerical semantics are specified in README.md. No runtime integration.",
6
+ "$defs": {
7
+ "Source": {
8
+ "type": "object",
9
+ "properties": {
10
+ "type": {
11
+ "enum": [
12
+ "tool",
13
+ "profiler",
14
+ "file",
15
+ "sample"
16
+ ]
17
+ },
18
+ "reference": {
19
+ "type": "string",
20
+ "minLength": 1
21
+ },
22
+ "collectedAt": {
23
+ "type": "string",
24
+ "format": "date-time"
25
+ },
26
+ "device": {
27
+ "anyOf": [
28
+ {
29
+ "type": "string"
30
+ },
31
+ {
32
+ "type": "null"
33
+ }
34
+ ]
35
+ },
36
+ "captureMode": {
37
+ "anyOf": [
38
+ {
39
+ "enum": [
40
+ "hardware",
41
+ "simulator",
42
+ "sampling",
43
+ "record"
44
+ ]
45
+ },
46
+ {
47
+ "type": "null"
48
+ }
49
+ ]
50
+ }
51
+ },
52
+ "required": [
53
+ "type",
54
+ "reference",
55
+ "collectedAt",
56
+ "device",
57
+ "captureMode"
58
+ ],
59
+ "additionalProperties": false
60
+ },
61
+ "Error": {
62
+ "type": "object",
63
+ "properties": {
64
+ "code": {
65
+ "type": "string",
66
+ "minLength": 1,
67
+ "maxLength": 240
68
+ },
69
+ "message": {
70
+ "type": "string",
71
+ "minLength": 1
72
+ },
73
+ "recoverable": {
74
+ "type": "boolean"
75
+ }
76
+ },
77
+ "required": [
78
+ "code",
79
+ "message",
80
+ "recoverable"
81
+ ],
82
+ "additionalProperties": false
83
+ },
84
+ "LocalizedText": {
85
+ "type": "object",
86
+ "properties": {
87
+ "zh": {
88
+ "type": "string"
89
+ },
90
+ "en": {
91
+ "type": "string"
92
+ }
93
+ },
94
+ "required": [
95
+ "zh",
96
+ "en"
97
+ ],
98
+ "additionalProperties": false
99
+ },
100
+ "CodeChangeData": {
101
+ "type": "object",
102
+ "properties": {
103
+ "contract": {
104
+ "const": "code-change/1"
105
+ },
106
+ "changeId": {
107
+ "type": "string",
108
+ "minLength": 1,
109
+ "maxLength": 240
110
+ },
111
+ "toolCallId": {
112
+ "anyOf": [
113
+ {
114
+ "type": "string",
115
+ "minLength": 1,
116
+ "maxLength": 240
117
+ },
118
+ {
119
+ "type": "null"
120
+ }
121
+ ]
122
+ },
123
+ "path": {
124
+ "type": "string",
125
+ "minLength": 1
126
+ },
127
+ "language": {
128
+ "anyOf": [
129
+ {
130
+ "type": "string"
131
+ },
132
+ {
133
+ "type": "null"
134
+ }
135
+ ]
136
+ },
137
+ "operation": {
138
+ "enum": [
139
+ "create",
140
+ "modify",
141
+ "delete"
142
+ ]
143
+ },
144
+ "status": {
145
+ "enum": [
146
+ "proposed",
147
+ "applied",
148
+ "failed",
149
+ "reverted"
150
+ ]
151
+ },
152
+ "comparisonScope": {
153
+ "enum": [
154
+ "file",
155
+ "fragment"
156
+ ]
157
+ },
158
+ "baselineState": {
159
+ "enum": [
160
+ "known",
161
+ "new-file",
162
+ "unavailable"
163
+ ]
164
+ },
165
+ "oldText": {
166
+ "anyOf": [
167
+ {
168
+ "type": "string"
169
+ },
170
+ {
171
+ "type": "null"
172
+ }
173
+ ]
174
+ },
175
+ "newText": {
176
+ "type": "string"
177
+ },
178
+ "oldStartLine": {
179
+ "anyOf": [
180
+ {
181
+ "type": "integer",
182
+ "minimum": 1
183
+ },
184
+ {
185
+ "type": "null"
186
+ }
187
+ ]
188
+ },
189
+ "newStartLine": {
190
+ "anyOf": [
191
+ {
192
+ "type": "integer",
193
+ "minimum": 1
194
+ },
195
+ {
196
+ "type": "null"
197
+ }
198
+ ]
199
+ },
200
+ "baseRevision": {
201
+ "anyOf": [
202
+ {
203
+ "type": "string",
204
+ "minLength": 1,
205
+ "maxLength": 240
206
+ },
207
+ {
208
+ "type": "null"
209
+ }
210
+ ]
211
+ },
212
+ "resultRevision": {
213
+ "anyOf": [
214
+ {
215
+ "type": "string",
216
+ "minLength": 1,
217
+ "maxLength": 240
218
+ },
219
+ {
220
+ "type": "null"
221
+ }
222
+ ]
223
+ },
224
+ "source": {
225
+ "$ref": "#/$defs/Source"
226
+ }
227
+ },
228
+ "required": [
229
+ "contract",
230
+ "changeId",
231
+ "toolCallId",
232
+ "path",
233
+ "language",
234
+ "operation",
235
+ "status",
236
+ "comparisonScope",
237
+ "baselineState",
238
+ "oldText",
239
+ "newText",
240
+ "oldStartLine",
241
+ "newStartLine",
242
+ "baseRevision",
243
+ "resultRevision",
244
+ "source"
245
+ ],
246
+ "additionalProperties": false,
247
+ "allOf": [
248
+ {
249
+ "if": {
250
+ "properties": {
251
+ "baselineState": {
252
+ "const": "unavailable"
253
+ }
254
+ }
255
+ },
256
+ "then": {
257
+ "properties": {
258
+ "oldText": {
259
+ "type": "null"
260
+ }
261
+ }
262
+ }
263
+ },
264
+ {
265
+ "if": {
266
+ "properties": {
267
+ "baselineState": {
268
+ "const": "new-file"
269
+ }
270
+ }
271
+ },
272
+ "then": {
273
+ "properties": {
274
+ "oldText": {
275
+ "const": ""
276
+ },
277
+ "operation": {
278
+ "const": "create"
279
+ }
280
+ }
281
+ }
282
+ },
283
+ {
284
+ "if": {
285
+ "properties": {
286
+ "baselineState": {
287
+ "const": "known"
288
+ }
289
+ }
290
+ },
291
+ "then": {
292
+ "properties": {
293
+ "oldText": {
294
+ "type": "string"
295
+ }
296
+ }
297
+ }
298
+ },
299
+ {
300
+ "if": {
301
+ "properties": {
302
+ "operation": {
303
+ "const": "delete"
304
+ }
305
+ }
306
+ },
307
+ "then": {
308
+ "properties": {
309
+ "newText": {
310
+ "const": ""
311
+ }
312
+ }
313
+ }
314
+ }
315
+ ]
316
+ },
317
+ "LogChunk": {
318
+ "type": "object",
319
+ "properties": {
320
+ "id": {
321
+ "type": "string",
322
+ "minLength": 1,
323
+ "maxLength": 240
324
+ },
325
+ "sequence": {
326
+ "type": "integer",
327
+ "minimum": 0
328
+ },
329
+ "channel": {
330
+ "enum": [
331
+ "stdout",
332
+ "stderr",
333
+ "pty",
334
+ "log"
335
+ ]
336
+ },
337
+ "text": {
338
+ "type": "string"
339
+ },
340
+ "gapBefore": {
341
+ "type": "boolean"
342
+ }
343
+ },
344
+ "required": [
345
+ "id",
346
+ "sequence",
347
+ "channel",
348
+ "text",
349
+ "gapBefore"
350
+ ],
351
+ "additionalProperties": false
352
+ },
353
+ "ConsoleData": {
354
+ "type": "object",
355
+ "properties": {
356
+ "contract": {
357
+ "const": "execution-console/1"
358
+ },
359
+ "runId": {
360
+ "type": "string",
361
+ "minLength": 1,
362
+ "maxLength": 240
363
+ },
364
+ "toolCallId": {
365
+ "anyOf": [
366
+ {
367
+ "type": "string",
368
+ "minLength": 1,
369
+ "maxLength": 240
370
+ },
371
+ {
372
+ "type": "null"
373
+ }
374
+ ]
375
+ },
376
+ "command": {
377
+ "type": "string",
378
+ "minLength": 1
379
+ },
380
+ "cwd": {
381
+ "anyOf": [
382
+ {
383
+ "type": "string"
384
+ },
385
+ {
386
+ "type": "null"
387
+ }
388
+ ]
389
+ },
390
+ "phase": {
391
+ "enum": [
392
+ "build",
393
+ "run",
394
+ "test",
395
+ "command"
396
+ ]
397
+ },
398
+ "status": {
399
+ "enum": [
400
+ "waiting",
401
+ "running",
402
+ "succeeded",
403
+ "failed",
404
+ "cancelled",
405
+ "unknown"
406
+ ]
407
+ },
408
+ "startedAt": {
409
+ "anyOf": [
410
+ {
411
+ "type": "string",
412
+ "format": "date-time"
413
+ },
414
+ {
415
+ "type": "null"
416
+ }
417
+ ]
418
+ },
419
+ "finishedAt": {
420
+ "anyOf": [
421
+ {
422
+ "type": "string",
423
+ "format": "date-time"
424
+ },
425
+ {
426
+ "type": "null"
427
+ }
428
+ ]
429
+ },
430
+ "exitCode": {
431
+ "anyOf": [
432
+ {
433
+ "type": "integer"
434
+ },
435
+ {
436
+ "type": "null"
437
+ }
438
+ ]
439
+ },
440
+ "signal": {
441
+ "anyOf": [
442
+ {
443
+ "type": "string"
444
+ },
445
+ {
446
+ "type": "null"
447
+ }
448
+ ]
449
+ },
450
+ "outputMode": {
451
+ "enum": [
452
+ "live",
453
+ "record"
454
+ ]
455
+ },
456
+ "chunks": {
457
+ "type": "array",
458
+ "items": {
459
+ "$ref": "#/$defs/LogChunk"
460
+ }
461
+ },
462
+ "nextSequence": {
463
+ "type": "integer",
464
+ "minimum": 0
465
+ },
466
+ "hasGap": {
467
+ "type": "boolean"
468
+ },
469
+ "fullLogRef": {
470
+ "anyOf": [
471
+ {
472
+ "type": "string",
473
+ "minLength": 1
474
+ },
475
+ {
476
+ "type": "null"
477
+ }
478
+ ]
479
+ },
480
+ "source": {
481
+ "$ref": "#/$defs/Source"
482
+ }
483
+ },
484
+ "required": [
485
+ "contract",
486
+ "runId",
487
+ "toolCallId",
488
+ "command",
489
+ "cwd",
490
+ "phase",
491
+ "status",
492
+ "startedAt",
493
+ "finishedAt",
494
+ "exitCode",
495
+ "signal",
496
+ "outputMode",
497
+ "chunks",
498
+ "nextSequence",
499
+ "hasGap",
500
+ "fullLogRef",
501
+ "source"
502
+ ],
503
+ "additionalProperties": false,
504
+ "allOf": [
505
+ {
506
+ "if": {
507
+ "properties": {
508
+ "status": {
509
+ "const": "succeeded"
510
+ }
511
+ }
512
+ },
513
+ "then": {
514
+ "properties": {
515
+ "exitCode": {
516
+ "const": 0
517
+ },
518
+ "signal": {
519
+ "type": "null"
520
+ },
521
+ "finishedAt": {
522
+ "type": "string",
523
+ "format": "date-time"
524
+ }
525
+ }
526
+ }
527
+ },
528
+ {
529
+ "if": {
530
+ "properties": {
531
+ "status": {
532
+ "enum": [
533
+ "running",
534
+ "waiting"
535
+ ]
536
+ }
537
+ }
538
+ },
539
+ "then": {
540
+ "properties": {
541
+ "exitCode": {
542
+ "type": "null"
543
+ },
544
+ "finishedAt": {
545
+ "type": "null"
546
+ },
547
+ "signal": {
548
+ "type": "null"
549
+ }
550
+ }
551
+ }
552
+ }
553
+ ]
554
+ },
555
+ "FlameNode": {
556
+ "type": "object",
557
+ "properties": {
558
+ "id": {
559
+ "type": "string",
560
+ "minLength": 1,
561
+ "maxLength": 240
562
+ },
563
+ "parentId": {
564
+ "anyOf": [
565
+ {
566
+ "type": "string",
567
+ "minLength": 1,
568
+ "maxLength": 240
569
+ },
570
+ {
571
+ "type": "null"
572
+ }
573
+ ]
574
+ },
575
+ "name": {
576
+ "type": "string",
577
+ "minLength": 1
578
+ },
579
+ "selfCost": {
580
+ "type": "number",
581
+ "minimum": 0
582
+ },
583
+ "sourceLocation": {
584
+ "anyOf": [
585
+ {
586
+ "type": "object",
587
+ "properties": {
588
+ "path": {
589
+ "type": "string",
590
+ "minLength": 1
591
+ },
592
+ "line": {
593
+ "type": "integer",
594
+ "minimum": 1
595
+ }
596
+ },
597
+ "required": [
598
+ "path",
599
+ "line"
600
+ ],
601
+ "additionalProperties": false
602
+ },
603
+ {
604
+ "type": "null"
605
+ }
606
+ ]
607
+ }
608
+ },
609
+ "required": [
610
+ "id",
611
+ "parentId",
612
+ "name",
613
+ "selfCost",
614
+ "sourceLocation"
615
+ ],
616
+ "additionalProperties": false
617
+ },
618
+ "FlamegraphData": {
619
+ "type": "object",
620
+ "properties": {
621
+ "contract": {
622
+ "const": "profile-flamegraph/1"
623
+ },
624
+ "datasetId": {
625
+ "type": "string",
626
+ "minLength": 1,
627
+ "maxLength": 240
628
+ },
629
+ "mode": {
630
+ "const": "aggregate"
631
+ },
632
+ "measure": {
633
+ "enum": [
634
+ "cpu-samples",
635
+ "call-cost"
636
+ ]
637
+ },
638
+ "unit": {
639
+ "enum": [
640
+ "samples",
641
+ "us",
642
+ "ns",
643
+ "bytes"
644
+ ]
645
+ },
646
+ "nodes": {
647
+ "type": "array",
648
+ "items": {
649
+ "$ref": "#/$defs/FlameNode"
650
+ },
651
+ "minItems": 1
652
+ },
653
+ "source": {
654
+ "$ref": "#/$defs/Source"
655
+ }
656
+ },
657
+ "required": [
658
+ "contract",
659
+ "datasetId",
660
+ "mode",
661
+ "measure",
662
+ "unit",
663
+ "nodes",
664
+ "source"
665
+ ],
666
+ "additionalProperties": false,
667
+ "allOf": [
668
+ {
669
+ "if": {
670
+ "properties": {
671
+ "measure": {
672
+ "const": "cpu-samples"
673
+ }
674
+ }
675
+ },
676
+ "then": {
677
+ "properties": {
678
+ "unit": {
679
+ "const": "samples"
680
+ }
681
+ }
682
+ }
683
+ }
684
+ ]
685
+ },
686
+ "Lane": {
687
+ "type": "object",
688
+ "properties": {
689
+ "id": {
690
+ "type": "string",
691
+ "minLength": 1,
692
+ "maxLength": 240
693
+ },
694
+ "coreId": {
695
+ "type": "string",
696
+ "minLength": 1,
697
+ "maxLength": 240
698
+ },
699
+ "label": {
700
+ "type": "string",
701
+ "minLength": 1
702
+ }
703
+ },
704
+ "required": [
705
+ "id",
706
+ "coreId",
707
+ "label"
708
+ ],
709
+ "additionalProperties": false
710
+ },
711
+ "TimelineEvent": {
712
+ "type": "object",
713
+ "properties": {
714
+ "id": {
715
+ "type": "string",
716
+ "minLength": 1,
717
+ "maxLength": 240
718
+ },
719
+ "laneId": {
720
+ "type": "string",
721
+ "minLength": 1,
722
+ "maxLength": 240
723
+ },
724
+ "label": {
725
+ "type": "string"
726
+ },
727
+ "start": {
728
+ "type": "number",
729
+ "minimum": 0
730
+ },
731
+ "end": {
732
+ "type": "number",
733
+ "minimum": 0
734
+ },
735
+ "instructionId": {
736
+ "anyOf": [
737
+ {
738
+ "type": "string",
739
+ "minLength": 1,
740
+ "maxLength": 240
741
+ },
742
+ {
743
+ "type": "null"
744
+ }
745
+ ]
746
+ },
747
+ "opcode": {
748
+ "anyOf": [
749
+ {
750
+ "type": "string"
751
+ },
752
+ {
753
+ "type": "null"
754
+ }
755
+ ]
756
+ },
757
+ "dependencyIds": {
758
+ "anyOf": [
759
+ {
760
+ "type": "array",
761
+ "items": {
762
+ "type": "string",
763
+ "minLength": 1,
764
+ "maxLength": 240
765
+ },
766
+ "uniqueItems": true
767
+ },
768
+ {
769
+ "type": "null"
770
+ }
771
+ ]
772
+ },
773
+ "sourceLocation": {
774
+ "anyOf": [
775
+ {
776
+ "type": "object",
777
+ "properties": {
778
+ "path": {
779
+ "type": "string",
780
+ "minLength": 1
781
+ },
782
+ "line": {
783
+ "type": "integer",
784
+ "minimum": 1
785
+ }
786
+ },
787
+ "required": [
788
+ "path",
789
+ "line"
790
+ ],
791
+ "additionalProperties": false
792
+ },
793
+ {
794
+ "type": "null"
795
+ }
796
+ ]
797
+ }
798
+ },
799
+ "required": [
800
+ "id",
801
+ "laneId",
802
+ "label",
803
+ "start",
804
+ "end",
805
+ "instructionId",
806
+ "opcode",
807
+ "dependencyIds",
808
+ "sourceLocation"
809
+ ],
810
+ "additionalProperties": false
811
+ },
812
+ "TimelineData": {
813
+ "type": "object",
814
+ "properties": {
815
+ "contract": {
816
+ "const": "instruction-timeline/1"
817
+ },
818
+ "traceId": {
819
+ "type": "string",
820
+ "minLength": 1,
821
+ "maxLength": 240
822
+ },
823
+ "mode": {
824
+ "enum": [
825
+ "pipe-trace",
826
+ "instruction"
827
+ ]
828
+ },
829
+ "clockId": {
830
+ "type": "string",
831
+ "minLength": 1,
832
+ "maxLength": 240
833
+ },
834
+ "unit": {
835
+ "enum": [
836
+ "us",
837
+ "ns",
838
+ "cycles"
839
+ ]
840
+ },
841
+ "lanes": {
842
+ "type": "array",
843
+ "items": {
844
+ "$ref": "#/$defs/Lane"
845
+ },
846
+ "minItems": 1
847
+ },
848
+ "events": {
849
+ "type": "array",
850
+ "items": {
851
+ "$ref": "#/$defs/TimelineEvent"
852
+ }
853
+ },
854
+ "source": {
855
+ "$ref": "#/$defs/Source"
856
+ }
857
+ },
858
+ "required": [
859
+ "contract",
860
+ "traceId",
861
+ "mode",
862
+ "clockId",
863
+ "unit",
864
+ "lanes",
865
+ "events",
866
+ "source"
867
+ ],
868
+ "additionalProperties": false,
869
+ "allOf": [
870
+ {
871
+ "if": {
872
+ "properties": {
873
+ "mode": {
874
+ "const": "instruction"
875
+ }
876
+ }
877
+ },
878
+ "then": {
879
+ "properties": {
880
+ "events": {
881
+ "type": "array",
882
+ "items": {
883
+ "allOf": [
884
+ {
885
+ "$ref": "#/$defs/TimelineEvent"
886
+ },
887
+ {
888
+ "properties": {
889
+ "instructionId": {
890
+ "type": "string",
891
+ "minLength": 1
892
+ }
893
+ }
894
+ }
895
+ ]
896
+ }
897
+ }
898
+ }
899
+ }
900
+ }
901
+ ]
902
+ },
903
+ "MemoryPoint": {
904
+ "type": "object",
905
+ "properties": {
906
+ "id": {
907
+ "type": "string",
908
+ "minLength": 1,
909
+ "maxLength": 240
910
+ },
911
+ "time": {
912
+ "type": "number",
913
+ "minimum": 0
914
+ },
915
+ "value": {
916
+ "anyOf": [
917
+ {
918
+ "type": "number",
919
+ "minimum": 0
920
+ },
921
+ {
922
+ "type": "null"
923
+ }
924
+ ]
925
+ }
926
+ },
927
+ "required": [
928
+ "id",
929
+ "time",
930
+ "value"
931
+ ],
932
+ "additionalProperties": false
933
+ },
934
+ "MemorySeries": {
935
+ "type": "object",
936
+ "properties": {
937
+ "id": {
938
+ "type": "string",
939
+ "minLength": 1,
940
+ "maxLength": 240
941
+ },
942
+ "label": {
943
+ "type": "string",
944
+ "minLength": 1
945
+ },
946
+ "role": {
947
+ "enum": [
948
+ "allocated",
949
+ "reserved",
950
+ "held",
951
+ "observed"
952
+ ]
953
+ },
954
+ "points": {
955
+ "type": "array",
956
+ "items": {
957
+ "$ref": "#/$defs/MemoryPoint"
958
+ },
959
+ "minItems": 1
960
+ }
961
+ },
962
+ "required": [
963
+ "id",
964
+ "label",
965
+ "role",
966
+ "points"
967
+ ],
968
+ "additionalProperties": false
969
+ },
970
+ "MemoryData": {
971
+ "type": "object",
972
+ "properties": {
973
+ "contract": {
974
+ "const": "memory-chart/1"
975
+ },
976
+ "datasetId": {
977
+ "type": "string",
978
+ "minLength": 1,
979
+ "maxLength": 240
980
+ },
981
+ "mode": {
982
+ "enum": [
983
+ "series",
984
+ "summary"
985
+ ]
986
+ },
987
+ "memoryKind": {
988
+ "type": "string",
989
+ "minLength": 1
990
+ },
991
+ "metric": {
992
+ "enum": [
993
+ "capacity",
994
+ "bandwidth",
995
+ "utilization"
996
+ ]
997
+ },
998
+ "unit": {
999
+ "enum": [
1000
+ "bytes",
1001
+ "GB/s",
1002
+ "percent"
1003
+ ]
1004
+ },
1005
+ "clockId": {
1006
+ "anyOf": [
1007
+ {
1008
+ "type": "string",
1009
+ "minLength": 1,
1010
+ "maxLength": 240
1011
+ },
1012
+ {
1013
+ "type": "null"
1014
+ }
1015
+ ]
1016
+ },
1017
+ "timeUnit": {
1018
+ "anyOf": [
1019
+ {
1020
+ "enum": [
1021
+ "us",
1022
+ "ms",
1023
+ "s"
1024
+ ]
1025
+ },
1026
+ {
1027
+ "type": "null"
1028
+ }
1029
+ ]
1030
+ },
1031
+ "capacity": {
1032
+ "anyOf": [
1033
+ {
1034
+ "type": "number",
1035
+ "minimum": 0
1036
+ },
1037
+ {
1038
+ "type": "null"
1039
+ }
1040
+ ]
1041
+ },
1042
+ "series": {
1043
+ "type": "array",
1044
+ "items": {
1045
+ "$ref": "#/$defs/MemorySeries"
1046
+ }
1047
+ },
1048
+ "summary": {
1049
+ "type": "object",
1050
+ "properties": {
1051
+ "current": {
1052
+ "anyOf": [
1053
+ {
1054
+ "type": "number",
1055
+ "minimum": 0
1056
+ },
1057
+ {
1058
+ "type": "null"
1059
+ }
1060
+ ]
1061
+ },
1062
+ "peak": {
1063
+ "type": "number",
1064
+ "minimum": 0
1065
+ },
1066
+ "seriesId": {
1067
+ "anyOf": [
1068
+ {
1069
+ "type": "string",
1070
+ "minLength": 1,
1071
+ "maxLength": 240
1072
+ },
1073
+ {
1074
+ "type": "null"
1075
+ }
1076
+ ]
1077
+ }
1078
+ },
1079
+ "required": [
1080
+ "current",
1081
+ "peak",
1082
+ "seriesId"
1083
+ ],
1084
+ "additionalProperties": false
1085
+ },
1086
+ "source": {
1087
+ "$ref": "#/$defs/Source"
1088
+ }
1089
+ },
1090
+ "required": [
1091
+ "contract",
1092
+ "datasetId",
1093
+ "mode",
1094
+ "memoryKind",
1095
+ "metric",
1096
+ "unit",
1097
+ "clockId",
1098
+ "timeUnit",
1099
+ "capacity",
1100
+ "series",
1101
+ "summary",
1102
+ "source"
1103
+ ],
1104
+ "additionalProperties": false,
1105
+ "allOf": [
1106
+ {
1107
+ "if": {
1108
+ "properties": {
1109
+ "metric": {
1110
+ "const": "capacity"
1111
+ }
1112
+ }
1113
+ },
1114
+ "then": {
1115
+ "properties": {
1116
+ "unit": {
1117
+ "const": "bytes"
1118
+ }
1119
+ }
1120
+ }
1121
+ },
1122
+ {
1123
+ "if": {
1124
+ "properties": {
1125
+ "metric": {
1126
+ "const": "bandwidth"
1127
+ }
1128
+ }
1129
+ },
1130
+ "then": {
1131
+ "properties": {
1132
+ "unit": {
1133
+ "const": "GB/s"
1134
+ }
1135
+ }
1136
+ }
1137
+ },
1138
+ {
1139
+ "if": {
1140
+ "properties": {
1141
+ "metric": {
1142
+ "const": "utilization"
1143
+ }
1144
+ }
1145
+ },
1146
+ "then": {
1147
+ "properties": {
1148
+ "unit": {
1149
+ "const": "percent"
1150
+ }
1151
+ }
1152
+ }
1153
+ },
1154
+ {
1155
+ "if": {
1156
+ "properties": {
1157
+ "mode": {
1158
+ "const": "series"
1159
+ }
1160
+ }
1161
+ },
1162
+ "then": {
1163
+ "properties": {
1164
+ "series": {
1165
+ "minItems": 1
1166
+ },
1167
+ "clockId": {
1168
+ "type": "string",
1169
+ "minLength": 1
1170
+ },
1171
+ "timeUnit": {
1172
+ "enum": [
1173
+ "us",
1174
+ "ms",
1175
+ "s"
1176
+ ]
1177
+ }
1178
+ }
1179
+ }
1180
+ },
1181
+ {
1182
+ "if": {
1183
+ "properties": {
1184
+ "mode": {
1185
+ "const": "summary"
1186
+ }
1187
+ }
1188
+ },
1189
+ "then": {
1190
+ "properties": {
1191
+ "series": {
1192
+ "maxItems": 0
1193
+ },
1194
+ "clockId": {
1195
+ "type": "null"
1196
+ },
1197
+ "timeUnit": {
1198
+ "type": "null"
1199
+ },
1200
+ "summary": {
1201
+ "properties": {
1202
+ "seriesId": {
1203
+ "type": "null"
1204
+ }
1205
+ }
1206
+ }
1207
+ }
1208
+ }
1209
+ },
1210
+ {
1211
+ "if": {
1212
+ "properties": {
1213
+ "metric": {
1214
+ "enum": [
1215
+ "bandwidth",
1216
+ "utilization"
1217
+ ]
1218
+ }
1219
+ }
1220
+ },
1221
+ "then": {
1222
+ "properties": {
1223
+ "capacity": {
1224
+ "type": "null"
1225
+ }
1226
+ }
1227
+ }
1228
+ }
1229
+ ]
1230
+ },
1231
+ "Input": {
1232
+ "oneOf": [
1233
+ {
1234
+ "type": "object",
1235
+ "properties": {
1236
+ "schema": {
1237
+ "const": "cann.sidebar.component-input/1"
1238
+ },
1239
+ "componentId": {
1240
+ "type": "string",
1241
+ "minLength": 1,
1242
+ "maxLength": 240
1243
+ },
1244
+ "componentType": {
1245
+ "const": "code-change"
1246
+ },
1247
+ "contextRef": {
1248
+ "anyOf": [
1249
+ {
1250
+ "type": "string",
1251
+ "minLength": 1,
1252
+ "maxLength": 240
1253
+ },
1254
+ {
1255
+ "type": "null"
1256
+ }
1257
+ ]
1258
+ },
1259
+ "revision": {
1260
+ "type": "integer",
1261
+ "minimum": 0
1262
+ },
1263
+ "availability": {
1264
+ "enum": [
1265
+ "loading",
1266
+ "empty",
1267
+ "ready",
1268
+ "error",
1269
+ "stale"
1270
+ ]
1271
+ },
1272
+ "data": {
1273
+ "anyOf": [
1274
+ {
1275
+ "$ref": "#/$defs/CodeChangeData"
1276
+ },
1277
+ {
1278
+ "type": "null"
1279
+ }
1280
+ ]
1281
+ },
1282
+ "error": {
1283
+ "anyOf": [
1284
+ {
1285
+ "$ref": "#/$defs/Error"
1286
+ },
1287
+ {
1288
+ "type": "null"
1289
+ }
1290
+ ]
1291
+ }
1292
+ },
1293
+ "required": [
1294
+ "schema",
1295
+ "componentId",
1296
+ "componentType",
1297
+ "contextRef",
1298
+ "revision",
1299
+ "availability",
1300
+ "data",
1301
+ "error"
1302
+ ],
1303
+ "additionalProperties": false,
1304
+ "allOf": [
1305
+ {
1306
+ "if": {
1307
+ "properties": {
1308
+ "availability": {
1309
+ "enum": [
1310
+ "loading",
1311
+ "empty"
1312
+ ]
1313
+ }
1314
+ }
1315
+ },
1316
+ "then": {
1317
+ "properties": {
1318
+ "data": {
1319
+ "type": "null"
1320
+ },
1321
+ "error": {
1322
+ "type": "null"
1323
+ }
1324
+ }
1325
+ }
1326
+ },
1327
+ {
1328
+ "if": {
1329
+ "properties": {
1330
+ "availability": {
1331
+ "const": "ready"
1332
+ }
1333
+ }
1334
+ },
1335
+ "then": {
1336
+ "properties": {
1337
+ "data": {
1338
+ "$ref": "#/$defs/CodeChangeData"
1339
+ },
1340
+ "error": {
1341
+ "type": "null"
1342
+ }
1343
+ }
1344
+ }
1345
+ },
1346
+ {
1347
+ "if": {
1348
+ "properties": {
1349
+ "availability": {
1350
+ "const": "error"
1351
+ }
1352
+ }
1353
+ },
1354
+ "then": {
1355
+ "properties": {
1356
+ "data": {
1357
+ "type": "null"
1358
+ },
1359
+ "error": {
1360
+ "$ref": "#/$defs/Error"
1361
+ }
1362
+ }
1363
+ }
1364
+ },
1365
+ {
1366
+ "if": {
1367
+ "properties": {
1368
+ "availability": {
1369
+ "const": "stale"
1370
+ }
1371
+ }
1372
+ },
1373
+ "then": {
1374
+ "properties": {
1375
+ "data": {
1376
+ "$ref": "#/$defs/CodeChangeData"
1377
+ },
1378
+ "error": {
1379
+ "$ref": "#/$defs/Error"
1380
+ }
1381
+ }
1382
+ }
1383
+ }
1384
+ ]
1385
+ },
1386
+ {
1387
+ "type": "object",
1388
+ "properties": {
1389
+ "schema": {
1390
+ "const": "cann.sidebar.component-input/1"
1391
+ },
1392
+ "componentId": {
1393
+ "type": "string",
1394
+ "minLength": 1,
1395
+ "maxLength": 240
1396
+ },
1397
+ "componentType": {
1398
+ "const": "execution-console"
1399
+ },
1400
+ "contextRef": {
1401
+ "anyOf": [
1402
+ {
1403
+ "type": "string",
1404
+ "minLength": 1,
1405
+ "maxLength": 240
1406
+ },
1407
+ {
1408
+ "type": "null"
1409
+ }
1410
+ ]
1411
+ },
1412
+ "revision": {
1413
+ "type": "integer",
1414
+ "minimum": 0
1415
+ },
1416
+ "availability": {
1417
+ "enum": [
1418
+ "loading",
1419
+ "empty",
1420
+ "ready",
1421
+ "error",
1422
+ "stale"
1423
+ ]
1424
+ },
1425
+ "data": {
1426
+ "anyOf": [
1427
+ {
1428
+ "$ref": "#/$defs/ConsoleData"
1429
+ },
1430
+ {
1431
+ "type": "null"
1432
+ }
1433
+ ]
1434
+ },
1435
+ "error": {
1436
+ "anyOf": [
1437
+ {
1438
+ "$ref": "#/$defs/Error"
1439
+ },
1440
+ {
1441
+ "type": "null"
1442
+ }
1443
+ ]
1444
+ }
1445
+ },
1446
+ "required": [
1447
+ "schema",
1448
+ "componentId",
1449
+ "componentType",
1450
+ "contextRef",
1451
+ "revision",
1452
+ "availability",
1453
+ "data",
1454
+ "error"
1455
+ ],
1456
+ "additionalProperties": false,
1457
+ "allOf": [
1458
+ {
1459
+ "if": {
1460
+ "properties": {
1461
+ "availability": {
1462
+ "enum": [
1463
+ "loading",
1464
+ "empty"
1465
+ ]
1466
+ }
1467
+ }
1468
+ },
1469
+ "then": {
1470
+ "properties": {
1471
+ "data": {
1472
+ "type": "null"
1473
+ },
1474
+ "error": {
1475
+ "type": "null"
1476
+ }
1477
+ }
1478
+ }
1479
+ },
1480
+ {
1481
+ "if": {
1482
+ "properties": {
1483
+ "availability": {
1484
+ "const": "ready"
1485
+ }
1486
+ }
1487
+ },
1488
+ "then": {
1489
+ "properties": {
1490
+ "data": {
1491
+ "$ref": "#/$defs/ConsoleData"
1492
+ },
1493
+ "error": {
1494
+ "type": "null"
1495
+ }
1496
+ }
1497
+ }
1498
+ },
1499
+ {
1500
+ "if": {
1501
+ "properties": {
1502
+ "availability": {
1503
+ "const": "error"
1504
+ }
1505
+ }
1506
+ },
1507
+ "then": {
1508
+ "properties": {
1509
+ "data": {
1510
+ "type": "null"
1511
+ },
1512
+ "error": {
1513
+ "$ref": "#/$defs/Error"
1514
+ }
1515
+ }
1516
+ }
1517
+ },
1518
+ {
1519
+ "if": {
1520
+ "properties": {
1521
+ "availability": {
1522
+ "const": "stale"
1523
+ }
1524
+ }
1525
+ },
1526
+ "then": {
1527
+ "properties": {
1528
+ "data": {
1529
+ "$ref": "#/$defs/ConsoleData"
1530
+ },
1531
+ "error": {
1532
+ "$ref": "#/$defs/Error"
1533
+ }
1534
+ }
1535
+ }
1536
+ }
1537
+ ]
1538
+ },
1539
+ {
1540
+ "type": "object",
1541
+ "properties": {
1542
+ "schema": {
1543
+ "const": "cann.sidebar.component-input/1"
1544
+ },
1545
+ "componentId": {
1546
+ "type": "string",
1547
+ "minLength": 1,
1548
+ "maxLength": 240
1549
+ },
1550
+ "componentType": {
1551
+ "const": "profile-flamegraph"
1552
+ },
1553
+ "contextRef": {
1554
+ "anyOf": [
1555
+ {
1556
+ "type": "string",
1557
+ "minLength": 1,
1558
+ "maxLength": 240
1559
+ },
1560
+ {
1561
+ "type": "null"
1562
+ }
1563
+ ]
1564
+ },
1565
+ "revision": {
1566
+ "type": "integer",
1567
+ "minimum": 0
1568
+ },
1569
+ "availability": {
1570
+ "enum": [
1571
+ "loading",
1572
+ "empty",
1573
+ "ready",
1574
+ "error",
1575
+ "stale"
1576
+ ]
1577
+ },
1578
+ "data": {
1579
+ "anyOf": [
1580
+ {
1581
+ "$ref": "#/$defs/FlamegraphData"
1582
+ },
1583
+ {
1584
+ "type": "null"
1585
+ }
1586
+ ]
1587
+ },
1588
+ "error": {
1589
+ "anyOf": [
1590
+ {
1591
+ "$ref": "#/$defs/Error"
1592
+ },
1593
+ {
1594
+ "type": "null"
1595
+ }
1596
+ ]
1597
+ }
1598
+ },
1599
+ "required": [
1600
+ "schema",
1601
+ "componentId",
1602
+ "componentType",
1603
+ "contextRef",
1604
+ "revision",
1605
+ "availability",
1606
+ "data",
1607
+ "error"
1608
+ ],
1609
+ "additionalProperties": false,
1610
+ "allOf": [
1611
+ {
1612
+ "if": {
1613
+ "properties": {
1614
+ "availability": {
1615
+ "enum": [
1616
+ "loading",
1617
+ "empty"
1618
+ ]
1619
+ }
1620
+ }
1621
+ },
1622
+ "then": {
1623
+ "properties": {
1624
+ "data": {
1625
+ "type": "null"
1626
+ },
1627
+ "error": {
1628
+ "type": "null"
1629
+ }
1630
+ }
1631
+ }
1632
+ },
1633
+ {
1634
+ "if": {
1635
+ "properties": {
1636
+ "availability": {
1637
+ "const": "ready"
1638
+ }
1639
+ }
1640
+ },
1641
+ "then": {
1642
+ "properties": {
1643
+ "data": {
1644
+ "$ref": "#/$defs/FlamegraphData"
1645
+ },
1646
+ "error": {
1647
+ "type": "null"
1648
+ }
1649
+ }
1650
+ }
1651
+ },
1652
+ {
1653
+ "if": {
1654
+ "properties": {
1655
+ "availability": {
1656
+ "const": "error"
1657
+ }
1658
+ }
1659
+ },
1660
+ "then": {
1661
+ "properties": {
1662
+ "data": {
1663
+ "type": "null"
1664
+ },
1665
+ "error": {
1666
+ "$ref": "#/$defs/Error"
1667
+ }
1668
+ }
1669
+ }
1670
+ },
1671
+ {
1672
+ "if": {
1673
+ "properties": {
1674
+ "availability": {
1675
+ "const": "stale"
1676
+ }
1677
+ }
1678
+ },
1679
+ "then": {
1680
+ "properties": {
1681
+ "data": {
1682
+ "$ref": "#/$defs/FlamegraphData"
1683
+ },
1684
+ "error": {
1685
+ "$ref": "#/$defs/Error"
1686
+ }
1687
+ }
1688
+ }
1689
+ }
1690
+ ]
1691
+ },
1692
+ {
1693
+ "type": "object",
1694
+ "properties": {
1695
+ "schema": {
1696
+ "const": "cann.sidebar.component-input/1"
1697
+ },
1698
+ "componentId": {
1699
+ "type": "string",
1700
+ "minLength": 1,
1701
+ "maxLength": 240
1702
+ },
1703
+ "componentType": {
1704
+ "const": "instruction-timeline"
1705
+ },
1706
+ "contextRef": {
1707
+ "anyOf": [
1708
+ {
1709
+ "type": "string",
1710
+ "minLength": 1,
1711
+ "maxLength": 240
1712
+ },
1713
+ {
1714
+ "type": "null"
1715
+ }
1716
+ ]
1717
+ },
1718
+ "revision": {
1719
+ "type": "integer",
1720
+ "minimum": 0
1721
+ },
1722
+ "availability": {
1723
+ "enum": [
1724
+ "loading",
1725
+ "empty",
1726
+ "ready",
1727
+ "error",
1728
+ "stale"
1729
+ ]
1730
+ },
1731
+ "data": {
1732
+ "anyOf": [
1733
+ {
1734
+ "$ref": "#/$defs/TimelineData"
1735
+ },
1736
+ {
1737
+ "type": "null"
1738
+ }
1739
+ ]
1740
+ },
1741
+ "error": {
1742
+ "anyOf": [
1743
+ {
1744
+ "$ref": "#/$defs/Error"
1745
+ },
1746
+ {
1747
+ "type": "null"
1748
+ }
1749
+ ]
1750
+ }
1751
+ },
1752
+ "required": [
1753
+ "schema",
1754
+ "componentId",
1755
+ "componentType",
1756
+ "contextRef",
1757
+ "revision",
1758
+ "availability",
1759
+ "data",
1760
+ "error"
1761
+ ],
1762
+ "additionalProperties": false,
1763
+ "allOf": [
1764
+ {
1765
+ "if": {
1766
+ "properties": {
1767
+ "availability": {
1768
+ "enum": [
1769
+ "loading",
1770
+ "empty"
1771
+ ]
1772
+ }
1773
+ }
1774
+ },
1775
+ "then": {
1776
+ "properties": {
1777
+ "data": {
1778
+ "type": "null"
1779
+ },
1780
+ "error": {
1781
+ "type": "null"
1782
+ }
1783
+ }
1784
+ }
1785
+ },
1786
+ {
1787
+ "if": {
1788
+ "properties": {
1789
+ "availability": {
1790
+ "const": "ready"
1791
+ }
1792
+ }
1793
+ },
1794
+ "then": {
1795
+ "properties": {
1796
+ "data": {
1797
+ "$ref": "#/$defs/TimelineData"
1798
+ },
1799
+ "error": {
1800
+ "type": "null"
1801
+ }
1802
+ }
1803
+ }
1804
+ },
1805
+ {
1806
+ "if": {
1807
+ "properties": {
1808
+ "availability": {
1809
+ "const": "error"
1810
+ }
1811
+ }
1812
+ },
1813
+ "then": {
1814
+ "properties": {
1815
+ "data": {
1816
+ "type": "null"
1817
+ },
1818
+ "error": {
1819
+ "$ref": "#/$defs/Error"
1820
+ }
1821
+ }
1822
+ }
1823
+ },
1824
+ {
1825
+ "if": {
1826
+ "properties": {
1827
+ "availability": {
1828
+ "const": "stale"
1829
+ }
1830
+ }
1831
+ },
1832
+ "then": {
1833
+ "properties": {
1834
+ "data": {
1835
+ "$ref": "#/$defs/TimelineData"
1836
+ },
1837
+ "error": {
1838
+ "$ref": "#/$defs/Error"
1839
+ }
1840
+ }
1841
+ }
1842
+ }
1843
+ ]
1844
+ },
1845
+ {
1846
+ "type": "object",
1847
+ "properties": {
1848
+ "schema": {
1849
+ "const": "cann.sidebar.component-input/1"
1850
+ },
1851
+ "componentId": {
1852
+ "type": "string",
1853
+ "minLength": 1,
1854
+ "maxLength": 240
1855
+ },
1856
+ "componentType": {
1857
+ "const": "memory-chart"
1858
+ },
1859
+ "contextRef": {
1860
+ "anyOf": [
1861
+ {
1862
+ "type": "string",
1863
+ "minLength": 1,
1864
+ "maxLength": 240
1865
+ },
1866
+ {
1867
+ "type": "null"
1868
+ }
1869
+ ]
1870
+ },
1871
+ "revision": {
1872
+ "type": "integer",
1873
+ "minimum": 0
1874
+ },
1875
+ "availability": {
1876
+ "enum": [
1877
+ "loading",
1878
+ "empty",
1879
+ "ready",
1880
+ "error",
1881
+ "stale"
1882
+ ]
1883
+ },
1884
+ "data": {
1885
+ "anyOf": [
1886
+ {
1887
+ "$ref": "#/$defs/MemoryData"
1888
+ },
1889
+ {
1890
+ "type": "null"
1891
+ }
1892
+ ]
1893
+ },
1894
+ "error": {
1895
+ "anyOf": [
1896
+ {
1897
+ "$ref": "#/$defs/Error"
1898
+ },
1899
+ {
1900
+ "type": "null"
1901
+ }
1902
+ ]
1903
+ }
1904
+ },
1905
+ "required": [
1906
+ "schema",
1907
+ "componentId",
1908
+ "componentType",
1909
+ "contextRef",
1910
+ "revision",
1911
+ "availability",
1912
+ "data",
1913
+ "error"
1914
+ ],
1915
+ "additionalProperties": false,
1916
+ "allOf": [
1917
+ {
1918
+ "if": {
1919
+ "properties": {
1920
+ "availability": {
1921
+ "enum": [
1922
+ "loading",
1923
+ "empty"
1924
+ ]
1925
+ }
1926
+ }
1927
+ },
1928
+ "then": {
1929
+ "properties": {
1930
+ "data": {
1931
+ "type": "null"
1932
+ },
1933
+ "error": {
1934
+ "type": "null"
1935
+ }
1936
+ }
1937
+ }
1938
+ },
1939
+ {
1940
+ "if": {
1941
+ "properties": {
1942
+ "availability": {
1943
+ "const": "ready"
1944
+ }
1945
+ }
1946
+ },
1947
+ "then": {
1948
+ "properties": {
1949
+ "data": {
1950
+ "$ref": "#/$defs/MemoryData"
1951
+ },
1952
+ "error": {
1953
+ "type": "null"
1954
+ }
1955
+ }
1956
+ }
1957
+ },
1958
+ {
1959
+ "if": {
1960
+ "properties": {
1961
+ "availability": {
1962
+ "const": "error"
1963
+ }
1964
+ }
1965
+ },
1966
+ "then": {
1967
+ "properties": {
1968
+ "data": {
1969
+ "type": "null"
1970
+ },
1971
+ "error": {
1972
+ "$ref": "#/$defs/Error"
1973
+ }
1974
+ }
1975
+ }
1976
+ },
1977
+ {
1978
+ "if": {
1979
+ "properties": {
1980
+ "availability": {
1981
+ "const": "stale"
1982
+ }
1983
+ }
1984
+ },
1985
+ "then": {
1986
+ "properties": {
1987
+ "data": {
1988
+ "$ref": "#/$defs/MemoryData"
1989
+ },
1990
+ "error": {
1991
+ "$ref": "#/$defs/Error"
1992
+ }
1993
+ }
1994
+ }
1995
+ }
1996
+ ]
1997
+ }
1998
+ ]
1999
+ },
2000
+ "TimeRange": {
2001
+ "type": "object",
2002
+ "properties": {
2003
+ "clockId": {
2004
+ "type": "string",
2005
+ "minLength": 1,
2006
+ "maxLength": 240
2007
+ },
2008
+ "unit": {
2009
+ "enum": [
2010
+ "us",
2011
+ "ns",
2012
+ "cycles",
2013
+ "ms",
2014
+ "s"
2015
+ ]
2016
+ },
2017
+ "start": {
2018
+ "type": "number",
2019
+ "minimum": 0
2020
+ },
2021
+ "end": {
2022
+ "type": "number",
2023
+ "minimum": 0
2024
+ }
2025
+ },
2026
+ "required": [
2027
+ "clockId",
2028
+ "unit",
2029
+ "start",
2030
+ "end"
2031
+ ],
2032
+ "additionalProperties": false
2033
+ },
2034
+ "Event": {
2035
+ "oneOf": [
2036
+ {
2037
+ "type": "object",
2038
+ "properties": {
2039
+ "schema": {
2040
+ "const": "cann.sidebar.component-event/1"
2041
+ },
2042
+ "eventId": {
2043
+ "type": "string",
2044
+ "format": "uuid"
2045
+ },
2046
+ "componentId": {
2047
+ "type": "string",
2048
+ "minLength": 1,
2049
+ "maxLength": 240
2050
+ },
2051
+ "componentType": {
2052
+ "const": "code-change"
2053
+ },
2054
+ "contextRef": {
2055
+ "anyOf": [
2056
+ {
2057
+ "type": "string",
2058
+ "minLength": 1,
2059
+ "maxLength": 240
2060
+ },
2061
+ {
2062
+ "type": "null"
2063
+ }
2064
+ ]
2065
+ },
2066
+ "inputRevision": {
2067
+ "type": "integer",
2068
+ "minimum": 0
2069
+ },
2070
+ "occurredAt": {
2071
+ "type": "string",
2072
+ "format": "date-time"
2073
+ },
2074
+ "action": {
2075
+ "oneOf": [
2076
+ {
2077
+ "type": "object",
2078
+ "properties": {
2079
+ "kind": {
2080
+ "const": "code.select"
2081
+ },
2082
+ "changeId": {
2083
+ "type": "string",
2084
+ "minLength": 1,
2085
+ "maxLength": 240
2086
+ },
2087
+ "path": {
2088
+ "type": "string"
2089
+ },
2090
+ "side": {
2091
+ "enum": [
2092
+ "before",
2093
+ "after"
2094
+ ]
2095
+ },
2096
+ "fromLine": {
2097
+ "type": "integer",
2098
+ "minimum": 1
2099
+ },
2100
+ "toLine": {
2101
+ "type": "integer",
2102
+ "minimum": 1
2103
+ }
2104
+ },
2105
+ "required": [
2106
+ "kind",
2107
+ "changeId",
2108
+ "path",
2109
+ "side",
2110
+ "fromLine",
2111
+ "toLine"
2112
+ ],
2113
+ "additionalProperties": false
2114
+ },
2115
+ {
2116
+ "type": "object",
2117
+ "properties": {
2118
+ "kind": {
2119
+ "const": "playback.change"
2120
+ },
2121
+ "changeId": {
2122
+ "type": "string",
2123
+ "minLength": 1,
2124
+ "maxLength": 240
2125
+ },
2126
+ "state": {
2127
+ "enum": [
2128
+ "playing",
2129
+ "paused",
2130
+ "finished"
2131
+ ]
2132
+ },
2133
+ "action": {
2134
+ "enum": [
2135
+ "pause",
2136
+ "resume",
2137
+ "show-final",
2138
+ "replay"
2139
+ ]
2140
+ }
2141
+ },
2142
+ "required": [
2143
+ "kind",
2144
+ "changeId",
2145
+ "state",
2146
+ "action"
2147
+ ],
2148
+ "additionalProperties": false
2149
+ }
2150
+ ]
2151
+ }
2152
+ },
2153
+ "required": [
2154
+ "schema",
2155
+ "eventId",
2156
+ "componentId",
2157
+ "componentType",
2158
+ "contextRef",
2159
+ "inputRevision",
2160
+ "occurredAt",
2161
+ "action"
2162
+ ],
2163
+ "additionalProperties": false
2164
+ },
2165
+ {
2166
+ "type": "object",
2167
+ "properties": {
2168
+ "schema": {
2169
+ "const": "cann.sidebar.component-event/1"
2170
+ },
2171
+ "eventId": {
2172
+ "type": "string",
2173
+ "format": "uuid"
2174
+ },
2175
+ "componentId": {
2176
+ "type": "string",
2177
+ "minLength": 1,
2178
+ "maxLength": 240
2179
+ },
2180
+ "componentType": {
2181
+ "const": "execution-console"
2182
+ },
2183
+ "contextRef": {
2184
+ "anyOf": [
2185
+ {
2186
+ "type": "string",
2187
+ "minLength": 1,
2188
+ "maxLength": 240
2189
+ },
2190
+ {
2191
+ "type": "null"
2192
+ }
2193
+ ]
2194
+ },
2195
+ "inputRevision": {
2196
+ "type": "integer",
2197
+ "minimum": 0
2198
+ },
2199
+ "occurredAt": {
2200
+ "type": "string",
2201
+ "format": "date-time"
2202
+ },
2203
+ "action": {
2204
+ "oneOf": [
2205
+ {
2206
+ "type": "object",
2207
+ "properties": {
2208
+ "kind": {
2209
+ "const": "console.select"
2210
+ },
2211
+ "runId": {
2212
+ "type": "string",
2213
+ "minLength": 1,
2214
+ "maxLength": 240
2215
+ },
2216
+ "fromSequence": {
2217
+ "type": "integer",
2218
+ "minimum": 0
2219
+ },
2220
+ "toSequence": {
2221
+ "type": "integer",
2222
+ "minimum": 0
2223
+ }
2224
+ },
2225
+ "required": [
2226
+ "kind",
2227
+ "runId",
2228
+ "fromSequence",
2229
+ "toSequence"
2230
+ ],
2231
+ "additionalProperties": false
2232
+ },
2233
+ {
2234
+ "type": "object",
2235
+ "properties": {
2236
+ "kind": {
2237
+ "const": "console.follow"
2238
+ },
2239
+ "runId": {
2240
+ "type": "string",
2241
+ "minLength": 1,
2242
+ "maxLength": 240
2243
+ },
2244
+ "following": {
2245
+ "type": "boolean"
2246
+ }
2247
+ },
2248
+ "required": [
2249
+ "kind",
2250
+ "runId",
2251
+ "following"
2252
+ ],
2253
+ "additionalProperties": false
2254
+ }
2255
+ ]
2256
+ }
2257
+ },
2258
+ "required": [
2259
+ "schema",
2260
+ "eventId",
2261
+ "componentId",
2262
+ "componentType",
2263
+ "contextRef",
2264
+ "inputRevision",
2265
+ "occurredAt",
2266
+ "action"
2267
+ ],
2268
+ "additionalProperties": false
2269
+ },
2270
+ {
2271
+ "type": "object",
2272
+ "properties": {
2273
+ "schema": {
2274
+ "const": "cann.sidebar.component-event/1"
2275
+ },
2276
+ "eventId": {
2277
+ "type": "string",
2278
+ "format": "uuid"
2279
+ },
2280
+ "componentId": {
2281
+ "type": "string",
2282
+ "minLength": 1,
2283
+ "maxLength": 240
2284
+ },
2285
+ "componentType": {
2286
+ "const": "profile-flamegraph"
2287
+ },
2288
+ "contextRef": {
2289
+ "anyOf": [
2290
+ {
2291
+ "type": "string",
2292
+ "minLength": 1,
2293
+ "maxLength": 240
2294
+ },
2295
+ {
2296
+ "type": "null"
2297
+ }
2298
+ ]
2299
+ },
2300
+ "inputRevision": {
2301
+ "type": "integer",
2302
+ "minimum": 0
2303
+ },
2304
+ "occurredAt": {
2305
+ "type": "string",
2306
+ "format": "date-time"
2307
+ },
2308
+ "action": {
2309
+ "oneOf": [
2310
+ {
2311
+ "type": "object",
2312
+ "properties": {
2313
+ "kind": {
2314
+ "const": "flame.select"
2315
+ },
2316
+ "datasetId": {
2317
+ "type": "string",
2318
+ "minLength": 1,
2319
+ "maxLength": 240
2320
+ },
2321
+ "nodeId": {
2322
+ "type": "string",
2323
+ "minLength": 1,
2324
+ "maxLength": 240
2325
+ }
2326
+ },
2327
+ "required": [
2328
+ "kind",
2329
+ "datasetId",
2330
+ "nodeId"
2331
+ ],
2332
+ "additionalProperties": false
2333
+ },
2334
+ {
2335
+ "type": "object",
2336
+ "properties": {
2337
+ "kind": {
2338
+ "const": "flame.focus"
2339
+ },
2340
+ "datasetId": {
2341
+ "type": "string",
2342
+ "minLength": 1,
2343
+ "maxLength": 240
2344
+ },
2345
+ "rootId": {
2346
+ "anyOf": [
2347
+ {
2348
+ "type": "string",
2349
+ "minLength": 1,
2350
+ "maxLength": 240
2351
+ },
2352
+ {
2353
+ "type": "null"
2354
+ }
2355
+ ]
2356
+ }
2357
+ },
2358
+ "required": [
2359
+ "kind",
2360
+ "datasetId",
2361
+ "rootId"
2362
+ ],
2363
+ "additionalProperties": false
2364
+ }
2365
+ ]
2366
+ }
2367
+ },
2368
+ "required": [
2369
+ "schema",
2370
+ "eventId",
2371
+ "componentId",
2372
+ "componentType",
2373
+ "contextRef",
2374
+ "inputRevision",
2375
+ "occurredAt",
2376
+ "action"
2377
+ ],
2378
+ "additionalProperties": false
2379
+ },
2380
+ {
2381
+ "type": "object",
2382
+ "properties": {
2383
+ "schema": {
2384
+ "const": "cann.sidebar.component-event/1"
2385
+ },
2386
+ "eventId": {
2387
+ "type": "string",
2388
+ "format": "uuid"
2389
+ },
2390
+ "componentId": {
2391
+ "type": "string",
2392
+ "minLength": 1,
2393
+ "maxLength": 240
2394
+ },
2395
+ "componentType": {
2396
+ "const": "instruction-timeline"
2397
+ },
2398
+ "contextRef": {
2399
+ "anyOf": [
2400
+ {
2401
+ "type": "string",
2402
+ "minLength": 1,
2403
+ "maxLength": 240
2404
+ },
2405
+ {
2406
+ "type": "null"
2407
+ }
2408
+ ]
2409
+ },
2410
+ "inputRevision": {
2411
+ "type": "integer",
2412
+ "minimum": 0
2413
+ },
2414
+ "occurredAt": {
2415
+ "type": "string",
2416
+ "format": "date-time"
2417
+ },
2418
+ "action": {
2419
+ "oneOf": [
2420
+ {
2421
+ "type": "object",
2422
+ "properties": {
2423
+ "kind": {
2424
+ "const": "timeline.select"
2425
+ },
2426
+ "traceId": {
2427
+ "type": "string",
2428
+ "minLength": 1,
2429
+ "maxLength": 240
2430
+ },
2431
+ "eventIds": {
2432
+ "type": "array",
2433
+ "items": {
2434
+ "type": "string",
2435
+ "minLength": 1,
2436
+ "maxLength": 240
2437
+ },
2438
+ "minItems": 1,
2439
+ "uniqueItems": true
2440
+ }
2441
+ },
2442
+ "required": [
2443
+ "kind",
2444
+ "traceId",
2445
+ "eventIds"
2446
+ ],
2447
+ "additionalProperties": false
2448
+ },
2449
+ {
2450
+ "type": "object",
2451
+ "properties": {
2452
+ "kind": {
2453
+ "const": "timeline.range"
2454
+ },
2455
+ "traceId": {
2456
+ "type": "string",
2457
+ "minLength": 1,
2458
+ "maxLength": 240
2459
+ },
2460
+ "range": {
2461
+ "$ref": "#/$defs/TimeRange"
2462
+ },
2463
+ "coreIds": {
2464
+ "type": "array",
2465
+ "items": {
2466
+ "type": "string",
2467
+ "minLength": 1,
2468
+ "maxLength": 240
2469
+ },
2470
+ "uniqueItems": true
2471
+ },
2472
+ "laneIds": {
2473
+ "type": "array",
2474
+ "items": {
2475
+ "type": "string",
2476
+ "minLength": 1,
2477
+ "maxLength": 240
2478
+ },
2479
+ "uniqueItems": true
2480
+ }
2481
+ },
2482
+ "required": [
2483
+ "kind",
2484
+ "traceId",
2485
+ "range",
2486
+ "coreIds",
2487
+ "laneIds"
2488
+ ],
2489
+ "additionalProperties": false
2490
+ }
2491
+ ]
2492
+ }
2493
+ },
2494
+ "required": [
2495
+ "schema",
2496
+ "eventId",
2497
+ "componentId",
2498
+ "componentType",
2499
+ "contextRef",
2500
+ "inputRevision",
2501
+ "occurredAt",
2502
+ "action"
2503
+ ],
2504
+ "additionalProperties": false
2505
+ },
2506
+ {
2507
+ "type": "object",
2508
+ "properties": {
2509
+ "schema": {
2510
+ "const": "cann.sidebar.component-event/1"
2511
+ },
2512
+ "eventId": {
2513
+ "type": "string",
2514
+ "format": "uuid"
2515
+ },
2516
+ "componentId": {
2517
+ "type": "string",
2518
+ "minLength": 1,
2519
+ "maxLength": 240
2520
+ },
2521
+ "componentType": {
2522
+ "const": "memory-chart"
2523
+ },
2524
+ "contextRef": {
2525
+ "anyOf": [
2526
+ {
2527
+ "type": "string",
2528
+ "minLength": 1,
2529
+ "maxLength": 240
2530
+ },
2531
+ {
2532
+ "type": "null"
2533
+ }
2534
+ ]
2535
+ },
2536
+ "inputRevision": {
2537
+ "type": "integer",
2538
+ "minimum": 0
2539
+ },
2540
+ "occurredAt": {
2541
+ "type": "string",
2542
+ "format": "date-time"
2543
+ },
2544
+ "action": {
2545
+ "oneOf": [
2546
+ {
2547
+ "type": "object",
2548
+ "properties": {
2549
+ "kind": {
2550
+ "const": "memory.select"
2551
+ },
2552
+ "datasetId": {
2553
+ "type": "string",
2554
+ "minLength": 1,
2555
+ "maxLength": 240
2556
+ },
2557
+ "seriesId": {
2558
+ "type": "string",
2559
+ "minLength": 1,
2560
+ "maxLength": 240
2561
+ },
2562
+ "pointId": {
2563
+ "type": "string",
2564
+ "minLength": 1,
2565
+ "maxLength": 240
2566
+ }
2567
+ },
2568
+ "required": [
2569
+ "kind",
2570
+ "datasetId",
2571
+ "seriesId",
2572
+ "pointId"
2573
+ ],
2574
+ "additionalProperties": false
2575
+ },
2576
+ {
2577
+ "type": "object",
2578
+ "properties": {
2579
+ "kind": {
2580
+ "const": "memory.range"
2581
+ },
2582
+ "datasetId": {
2583
+ "type": "string",
2584
+ "minLength": 1,
2585
+ "maxLength": 240
2586
+ },
2587
+ "seriesIds": {
2588
+ "type": "array",
2589
+ "items": {
2590
+ "type": "string",
2591
+ "minLength": 1,
2592
+ "maxLength": 240
2593
+ },
2594
+ "minItems": 1,
2595
+ "uniqueItems": true
2596
+ },
2597
+ "range": {
2598
+ "$ref": "#/$defs/TimeRange"
2599
+ }
2600
+ },
2601
+ "required": [
2602
+ "kind",
2603
+ "datasetId",
2604
+ "seriesIds",
2605
+ "range"
2606
+ ],
2607
+ "additionalProperties": false
2608
+ }
2609
+ ]
2610
+ }
2611
+ },
2612
+ "required": [
2613
+ "schema",
2614
+ "eventId",
2615
+ "componentId",
2616
+ "componentType",
2617
+ "contextRef",
2618
+ "inputRevision",
2619
+ "occurredAt",
2620
+ "action"
2621
+ ],
2622
+ "additionalProperties": false
2623
+ }
2624
+ ]
2625
+ },
2626
+ "Update": {
2627
+ "oneOf": [
2628
+ {
2629
+ "type": "object",
2630
+ "properties": {
2631
+ "schema": {
2632
+ "const": "cann.sidebar.component-update/1"
2633
+ },
2634
+ "componentId": {
2635
+ "type": "string",
2636
+ "minLength": 1,
2637
+ "maxLength": 240
2638
+ },
2639
+ "componentType": {
2640
+ "const": "execution-console"
2641
+ },
2642
+ "contextRef": {
2643
+ "anyOf": [
2644
+ {
2645
+ "type": "string",
2646
+ "minLength": 1,
2647
+ "maxLength": 240
2648
+ },
2649
+ {
2650
+ "type": "null"
2651
+ }
2652
+ ]
2653
+ },
2654
+ "baseRevision": {
2655
+ "type": "integer",
2656
+ "minimum": 0
2657
+ },
2658
+ "revision": {
2659
+ "type": "integer",
2660
+ "minimum": 0
2661
+ },
2662
+ "update": {
2663
+ "type": "object",
2664
+ "properties": {
2665
+ "kind": {
2666
+ "const": "console.append"
2667
+ },
2668
+ "runId": {
2669
+ "type": "string",
2670
+ "minLength": 1,
2671
+ "maxLength": 240
2672
+ },
2673
+ "chunks": {
2674
+ "type": "array",
2675
+ "items": {
2676
+ "$ref": "#/$defs/LogChunk"
2677
+ },
2678
+ "minItems": 1
2679
+ },
2680
+ "nextSequence": {
2681
+ "type": "integer",
2682
+ "minimum": 0
2683
+ },
2684
+ "hasGap": {
2685
+ "type": "boolean"
2686
+ }
2687
+ },
2688
+ "required": [
2689
+ "kind",
2690
+ "runId",
2691
+ "chunks",
2692
+ "nextSequence",
2693
+ "hasGap"
2694
+ ],
2695
+ "additionalProperties": false
2696
+ }
2697
+ },
2698
+ "required": [
2699
+ "schema",
2700
+ "componentId",
2701
+ "componentType",
2702
+ "contextRef",
2703
+ "baseRevision",
2704
+ "revision",
2705
+ "update"
2706
+ ],
2707
+ "additionalProperties": false
2708
+ },
2709
+ {
2710
+ "type": "object",
2711
+ "properties": {
2712
+ "schema": {
2713
+ "const": "cann.sidebar.component-update/1"
2714
+ },
2715
+ "componentId": {
2716
+ "type": "string",
2717
+ "minLength": 1,
2718
+ "maxLength": 240
2719
+ },
2720
+ "componentType": {
2721
+ "const": "execution-console"
2722
+ },
2723
+ "contextRef": {
2724
+ "anyOf": [
2725
+ {
2726
+ "type": "string",
2727
+ "minLength": 1,
2728
+ "maxLength": 240
2729
+ },
2730
+ {
2731
+ "type": "null"
2732
+ }
2733
+ ]
2734
+ },
2735
+ "baseRevision": {
2736
+ "type": "integer",
2737
+ "minimum": 0
2738
+ },
2739
+ "revision": {
2740
+ "type": "integer",
2741
+ "minimum": 0
2742
+ },
2743
+ "update": {
2744
+ "type": "object",
2745
+ "properties": {
2746
+ "kind": {
2747
+ "const": "console.finish"
2748
+ },
2749
+ "runId": {
2750
+ "type": "string",
2751
+ "minLength": 1,
2752
+ "maxLength": 240
2753
+ },
2754
+ "status": {
2755
+ "enum": [
2756
+ "succeeded",
2757
+ "failed",
2758
+ "cancelled",
2759
+ "unknown"
2760
+ ]
2761
+ },
2762
+ "finishedAt": {
2763
+ "type": "string",
2764
+ "format": "date-time"
2765
+ },
2766
+ "exitCode": {
2767
+ "anyOf": [
2768
+ {
2769
+ "type": "integer"
2770
+ },
2771
+ {
2772
+ "type": "null"
2773
+ }
2774
+ ]
2775
+ },
2776
+ "signal": {
2777
+ "anyOf": [
2778
+ {
2779
+ "type": "string"
2780
+ },
2781
+ {
2782
+ "type": "null"
2783
+ }
2784
+ ]
2785
+ }
2786
+ },
2787
+ "required": [
2788
+ "kind",
2789
+ "runId",
2790
+ "status",
2791
+ "finishedAt",
2792
+ "exitCode",
2793
+ "signal"
2794
+ ],
2795
+ "additionalProperties": false,
2796
+ "allOf": [
2797
+ {
2798
+ "if": {
2799
+ "properties": {
2800
+ "status": {
2801
+ "const": "succeeded"
2802
+ }
2803
+ }
2804
+ },
2805
+ "then": {
2806
+ "properties": {
2807
+ "exitCode": {
2808
+ "const": 0
2809
+ },
2810
+ "signal": {
2811
+ "type": "null"
2812
+ }
2813
+ }
2814
+ }
2815
+ }
2816
+ ]
2817
+ }
2818
+ },
2819
+ "required": [
2820
+ "schema",
2821
+ "componentId",
2822
+ "componentType",
2823
+ "contextRef",
2824
+ "baseRevision",
2825
+ "revision",
2826
+ "update"
2827
+ ],
2828
+ "additionalProperties": false
2829
+ }
2830
+ ]
2831
+ },
2832
+ "Catalog": {
2833
+ "type": "object",
2834
+ "properties": {
2835
+ "schema": {
2836
+ "const": "cann.sidebar.component-catalog/1"
2837
+ },
2838
+ "status": {
2839
+ "const": "draft"
2840
+ },
2841
+ "components": {
2842
+ "type": "array",
2843
+ "items": {
2844
+ "$ref": "#/$defs/Definition"
2845
+ },
2846
+ "minItems": 5,
2847
+ "maxItems": 5
2848
+ }
2849
+ },
2850
+ "required": [
2851
+ "schema",
2852
+ "status",
2853
+ "components"
2854
+ ],
2855
+ "additionalProperties": false
2856
+ },
2857
+ "Definition": {
2858
+ "oneOf": [
2859
+ {
2860
+ "type": "object",
2861
+ "properties": {
2862
+ "type": {
2863
+ "const": "code-change"
2864
+ },
2865
+ "version": {
2866
+ "const": "1"
2867
+ },
2868
+ "title": {
2869
+ "$ref": "#/$defs/LocalizedText"
2870
+ },
2871
+ "inputSchema": {
2872
+ "type": "string",
2873
+ "minLength": 1
2874
+ },
2875
+ "outputSchema": {
2876
+ "type": "string",
2877
+ "minLength": 1
2878
+ },
2879
+ "layout": {
2880
+ "type": "object",
2881
+ "properties": {
2882
+ "preset": {
2883
+ "enum": [
2884
+ "host-detail",
2885
+ "host-detail-compact"
2886
+ ]
2887
+ },
2888
+ "minWidth": {
2889
+ "type": "integer",
2890
+ "minimum": 0
2891
+ },
2892
+ "preferredHeight": {
2893
+ "type": "integer",
2894
+ "minimum": 0
2895
+ },
2896
+ "expandedHeight": {
2897
+ "type": "integer",
2898
+ "minimum": 0
2899
+ }
2900
+ },
2901
+ "required": [
2902
+ "preset",
2903
+ "minWidth",
2904
+ "preferredHeight",
2905
+ "expandedHeight"
2906
+ ],
2907
+ "additionalProperties": false
2908
+ },
2909
+ "presentation": {
2910
+ "type": "object",
2911
+ "properties": {
2912
+ "mode": {
2913
+ "const": "unified"
2914
+ },
2915
+ "playback": {
2916
+ "enum": [
2917
+ "progressive",
2918
+ "instant"
2919
+ ]
2920
+ },
2921
+ "maxPlaybackMs": {
2922
+ "type": "integer",
2923
+ "minimum": 0,
2924
+ "maximum": 10000
2925
+ },
2926
+ "showContextLines": {
2927
+ "type": "integer",
2928
+ "minimum": 0,
2929
+ "maximum": 10
2930
+ },
2931
+ "reducedMotion": {
2932
+ "const": "instant"
2933
+ }
2934
+ },
2935
+ "required": [
2936
+ "mode",
2937
+ "playback",
2938
+ "maxPlaybackMs",
2939
+ "showContextLines",
2940
+ "reducedMotion"
2941
+ ],
2942
+ "additionalProperties": false
2943
+ },
2944
+ "copy": {
2945
+ "type": "object",
2946
+ "additionalProperties": {
2947
+ "$ref": "#/$defs/LocalizedText"
2948
+ }
2949
+ },
2950
+ "actions": {
2951
+ "type": "array",
2952
+ "items": {
2953
+ "enum": [
2954
+ "pause",
2955
+ "resume",
2956
+ "show-final",
2957
+ "replay",
2958
+ "select-lines"
2959
+ ]
2960
+ },
2961
+ "uniqueItems": true
2962
+ },
2963
+ "reuse": {
2964
+ "type": "object",
2965
+ "properties": {
2966
+ "primary": {
2967
+ "type": "string"
2968
+ },
2969
+ "alternative": {
2970
+ "anyOf": [
2971
+ {
2972
+ "type": "string"
2973
+ },
2974
+ {
2975
+ "type": "null"
2976
+ }
2977
+ ]
2978
+ },
2979
+ "status": {
2980
+ "const": "candidate"
2981
+ }
2982
+ },
2983
+ "required": [
2984
+ "primary",
2985
+ "alternative",
2986
+ "status"
2987
+ ],
2988
+ "additionalProperties": false
2989
+ },
2990
+ "emits": {
2991
+ "type": "array",
2992
+ "items": {
2993
+ "enum": [
2994
+ "code.select",
2995
+ "playback.change"
2996
+ ]
2997
+ },
2998
+ "uniqueItems": true
2999
+ }
3000
+ },
3001
+ "required": [
3002
+ "type",
3003
+ "version",
3004
+ "title",
3005
+ "inputSchema",
3006
+ "outputSchema",
3007
+ "layout",
3008
+ "presentation",
3009
+ "copy",
3010
+ "actions",
3011
+ "reuse",
3012
+ "emits"
3013
+ ],
3014
+ "additionalProperties": false
3015
+ },
3016
+ {
3017
+ "type": "object",
3018
+ "properties": {
3019
+ "type": {
3020
+ "const": "execution-console"
3021
+ },
3022
+ "version": {
3023
+ "const": "1"
3024
+ },
3025
+ "title": {
3026
+ "$ref": "#/$defs/LocalizedText"
3027
+ },
3028
+ "inputSchema": {
3029
+ "type": "string",
3030
+ "minLength": 1
3031
+ },
3032
+ "outputSchema": {
3033
+ "type": "string",
3034
+ "minLength": 1
3035
+ },
3036
+ "layout": {
3037
+ "type": "object",
3038
+ "properties": {
3039
+ "preset": {
3040
+ "enum": [
3041
+ "host-detail",
3042
+ "host-detail-compact"
3043
+ ]
3044
+ },
3045
+ "minWidth": {
3046
+ "type": "integer",
3047
+ "minimum": 0
3048
+ },
3049
+ "preferredHeight": {
3050
+ "type": "integer",
3051
+ "minimum": 0
3052
+ },
3053
+ "expandedHeight": {
3054
+ "type": "integer",
3055
+ "minimum": 0
3056
+ }
3057
+ },
3058
+ "required": [
3059
+ "preset",
3060
+ "minWidth",
3061
+ "preferredHeight",
3062
+ "expandedHeight"
3063
+ ],
3064
+ "additionalProperties": false
3065
+ },
3066
+ "presentation": {
3067
+ "type": "object",
3068
+ "properties": {
3069
+ "mode": {
3070
+ "const": "read-only"
3071
+ },
3072
+ "followOutput": {
3073
+ "type": "boolean"
3074
+ },
3075
+ "maxVisibleLines": {
3076
+ "type": "integer",
3077
+ "minimum": 20,
3078
+ "maximum": 1000
3079
+ },
3080
+ "showExitCode": {
3081
+ "type": "boolean"
3082
+ }
3083
+ },
3084
+ "required": [
3085
+ "mode",
3086
+ "followOutput",
3087
+ "maxVisibleLines",
3088
+ "showExitCode"
3089
+ ],
3090
+ "additionalProperties": false
3091
+ },
3092
+ "copy": {
3093
+ "type": "object",
3094
+ "additionalProperties": {
3095
+ "$ref": "#/$defs/LocalizedText"
3096
+ }
3097
+ },
3098
+ "actions": {
3099
+ "type": "array",
3100
+ "items": {
3101
+ "enum": [
3102
+ "select-output",
3103
+ "follow-output",
3104
+ "copy-output"
3105
+ ]
3106
+ },
3107
+ "uniqueItems": true
3108
+ },
3109
+ "reuse": {
3110
+ "type": "object",
3111
+ "properties": {
3112
+ "primary": {
3113
+ "type": "string"
3114
+ },
3115
+ "alternative": {
3116
+ "anyOf": [
3117
+ {
3118
+ "type": "string"
3119
+ },
3120
+ {
3121
+ "type": "null"
3122
+ }
3123
+ ]
3124
+ },
3125
+ "status": {
3126
+ "const": "candidate"
3127
+ }
3128
+ },
3129
+ "required": [
3130
+ "primary",
3131
+ "alternative",
3132
+ "status"
3133
+ ],
3134
+ "additionalProperties": false
3135
+ },
3136
+ "emits": {
3137
+ "type": "array",
3138
+ "items": {
3139
+ "enum": [
3140
+ "console.select",
3141
+ "console.follow"
3142
+ ]
3143
+ },
3144
+ "uniqueItems": true
3145
+ }
3146
+ },
3147
+ "required": [
3148
+ "type",
3149
+ "version",
3150
+ "title",
3151
+ "inputSchema",
3152
+ "outputSchema",
3153
+ "layout",
3154
+ "presentation",
3155
+ "copy",
3156
+ "actions",
3157
+ "reuse",
3158
+ "emits"
3159
+ ],
3160
+ "additionalProperties": false
3161
+ },
3162
+ {
3163
+ "type": "object",
3164
+ "properties": {
3165
+ "type": {
3166
+ "const": "profile-flamegraph"
3167
+ },
3168
+ "version": {
3169
+ "const": "1"
3170
+ },
3171
+ "title": {
3172
+ "$ref": "#/$defs/LocalizedText"
3173
+ },
3174
+ "inputSchema": {
3175
+ "type": "string",
3176
+ "minLength": 1
3177
+ },
3178
+ "outputSchema": {
3179
+ "type": "string",
3180
+ "minLength": 1
3181
+ },
3182
+ "layout": {
3183
+ "type": "object",
3184
+ "properties": {
3185
+ "preset": {
3186
+ "enum": [
3187
+ "host-detail",
3188
+ "host-detail-compact"
3189
+ ]
3190
+ },
3191
+ "minWidth": {
3192
+ "type": "integer",
3193
+ "minimum": 0
3194
+ },
3195
+ "preferredHeight": {
3196
+ "type": "integer",
3197
+ "minimum": 0
3198
+ },
3199
+ "expandedHeight": {
3200
+ "type": "integer",
3201
+ "minimum": 0
3202
+ }
3203
+ },
3204
+ "required": [
3205
+ "preset",
3206
+ "minWidth",
3207
+ "preferredHeight",
3208
+ "expandedHeight"
3209
+ ],
3210
+ "additionalProperties": false
3211
+ },
3212
+ "presentation": {
3213
+ "type": "object",
3214
+ "properties": {
3215
+ "mode": {
3216
+ "const": "aggregate"
3217
+ },
3218
+ "showSelfCost": {
3219
+ "type": "boolean"
3220
+ },
3221
+ "showInclusiveCost": {
3222
+ "type": "boolean"
3223
+ },
3224
+ "orientation": {
3225
+ "enum": [
3226
+ "bottom-up",
3227
+ "top-down"
3228
+ ]
3229
+ }
3230
+ },
3231
+ "required": [
3232
+ "mode",
3233
+ "showSelfCost",
3234
+ "showInclusiveCost",
3235
+ "orientation"
3236
+ ],
3237
+ "additionalProperties": false
3238
+ },
3239
+ "copy": {
3240
+ "type": "object",
3241
+ "additionalProperties": {
3242
+ "$ref": "#/$defs/LocalizedText"
3243
+ }
3244
+ },
3245
+ "actions": {
3246
+ "type": "array",
3247
+ "items": {
3248
+ "enum": [
3249
+ "search",
3250
+ "select-node",
3251
+ "focus-node",
3252
+ "reset-view"
3253
+ ]
3254
+ },
3255
+ "uniqueItems": true
3256
+ },
3257
+ "reuse": {
3258
+ "type": "object",
3259
+ "properties": {
3260
+ "primary": {
3261
+ "type": "string"
3262
+ },
3263
+ "alternative": {
3264
+ "anyOf": [
3265
+ {
3266
+ "type": "string"
3267
+ },
3268
+ {
3269
+ "type": "null"
3270
+ }
3271
+ ]
3272
+ },
3273
+ "status": {
3274
+ "const": "candidate"
3275
+ }
3276
+ },
3277
+ "required": [
3278
+ "primary",
3279
+ "alternative",
3280
+ "status"
3281
+ ],
3282
+ "additionalProperties": false
3283
+ },
3284
+ "emits": {
3285
+ "type": "array",
3286
+ "items": {
3287
+ "enum": [
3288
+ "flame.select",
3289
+ "flame.focus"
3290
+ ]
3291
+ },
3292
+ "uniqueItems": true
3293
+ }
3294
+ },
3295
+ "required": [
3296
+ "type",
3297
+ "version",
3298
+ "title",
3299
+ "inputSchema",
3300
+ "outputSchema",
3301
+ "layout",
3302
+ "presentation",
3303
+ "copy",
3304
+ "actions",
3305
+ "reuse",
3306
+ "emits"
3307
+ ],
3308
+ "additionalProperties": false
3309
+ },
3310
+ {
3311
+ "type": "object",
3312
+ "properties": {
3313
+ "type": {
3314
+ "const": "instruction-timeline"
3315
+ },
3316
+ "version": {
3317
+ "const": "1"
3318
+ },
3319
+ "title": {
3320
+ "$ref": "#/$defs/LocalizedText"
3321
+ },
3322
+ "inputSchema": {
3323
+ "type": "string",
3324
+ "minLength": 1
3325
+ },
3326
+ "outputSchema": {
3327
+ "type": "string",
3328
+ "minLength": 1
3329
+ },
3330
+ "layout": {
3331
+ "type": "object",
3332
+ "properties": {
3333
+ "preset": {
3334
+ "enum": [
3335
+ "host-detail",
3336
+ "host-detail-compact"
3337
+ ]
3338
+ },
3339
+ "minWidth": {
3340
+ "type": "integer",
3341
+ "minimum": 0
3342
+ },
3343
+ "preferredHeight": {
3344
+ "type": "integer",
3345
+ "minimum": 0
3346
+ },
3347
+ "expandedHeight": {
3348
+ "type": "integer",
3349
+ "minimum": 0
3350
+ }
3351
+ },
3352
+ "required": [
3353
+ "preset",
3354
+ "minWidth",
3355
+ "preferredHeight",
3356
+ "expandedHeight"
3357
+ ],
3358
+ "additionalProperties": false
3359
+ },
3360
+ "presentation": {
3361
+ "type": "object",
3362
+ "properties": {
3363
+ "groupBy": {
3364
+ "const": "core-then-lane"
3365
+ },
3366
+ "timeAxis": {
3367
+ "const": "shared"
3368
+ },
3369
+ "showDependencies": {
3370
+ "enum": [
3371
+ "when-present",
3372
+ "hidden"
3373
+ ]
3374
+ },
3375
+ "defaultCoreCount": {
3376
+ "type": "integer",
3377
+ "minimum": 1,
3378
+ "maximum": 8
3379
+ }
3380
+ },
3381
+ "required": [
3382
+ "groupBy",
3383
+ "timeAxis",
3384
+ "showDependencies",
3385
+ "defaultCoreCount"
3386
+ ],
3387
+ "additionalProperties": false
3388
+ },
3389
+ "copy": {
3390
+ "type": "object",
3391
+ "additionalProperties": {
3392
+ "$ref": "#/$defs/LocalizedText"
3393
+ }
3394
+ },
3395
+ "actions": {
3396
+ "type": "array",
3397
+ "items": {
3398
+ "enum": [
3399
+ "select-event",
3400
+ "select-range",
3401
+ "filter-core",
3402
+ "filter-lane",
3403
+ "reset-view"
3404
+ ]
3405
+ },
3406
+ "uniqueItems": true
3407
+ },
3408
+ "reuse": {
3409
+ "type": "object",
3410
+ "properties": {
3411
+ "primary": {
3412
+ "type": "string"
3413
+ },
3414
+ "alternative": {
3415
+ "anyOf": [
3416
+ {
3417
+ "type": "string"
3418
+ },
3419
+ {
3420
+ "type": "null"
3421
+ }
3422
+ ]
3423
+ },
3424
+ "status": {
3425
+ "const": "candidate"
3426
+ }
3427
+ },
3428
+ "required": [
3429
+ "primary",
3430
+ "alternative",
3431
+ "status"
3432
+ ],
3433
+ "additionalProperties": false
3434
+ },
3435
+ "emits": {
3436
+ "type": "array",
3437
+ "items": {
3438
+ "enum": [
3439
+ "timeline.select",
3440
+ "timeline.range"
3441
+ ]
3442
+ },
3443
+ "uniqueItems": true
3444
+ }
3445
+ },
3446
+ "required": [
3447
+ "type",
3448
+ "version",
3449
+ "title",
3450
+ "inputSchema",
3451
+ "outputSchema",
3452
+ "layout",
3453
+ "presentation",
3454
+ "copy",
3455
+ "actions",
3456
+ "reuse",
3457
+ "emits"
3458
+ ],
3459
+ "additionalProperties": false
3460
+ },
3461
+ {
3462
+ "type": "object",
3463
+ "properties": {
3464
+ "type": {
3465
+ "const": "memory-chart"
3466
+ },
3467
+ "version": {
3468
+ "const": "1"
3469
+ },
3470
+ "title": {
3471
+ "$ref": "#/$defs/LocalizedText"
3472
+ },
3473
+ "inputSchema": {
3474
+ "type": "string",
3475
+ "minLength": 1
3476
+ },
3477
+ "outputSchema": {
3478
+ "type": "string",
3479
+ "minLength": 1
3480
+ },
3481
+ "layout": {
3482
+ "type": "object",
3483
+ "properties": {
3484
+ "preset": {
3485
+ "enum": [
3486
+ "host-detail",
3487
+ "host-detail-compact"
3488
+ ]
3489
+ },
3490
+ "minWidth": {
3491
+ "type": "integer",
3492
+ "minimum": 0
3493
+ },
3494
+ "preferredHeight": {
3495
+ "type": "integer",
3496
+ "minimum": 0
3497
+ },
3498
+ "expandedHeight": {
3499
+ "type": "integer",
3500
+ "minimum": 0
3501
+ }
3502
+ },
3503
+ "required": [
3504
+ "preset",
3505
+ "minWidth",
3506
+ "preferredHeight",
3507
+ "expandedHeight"
3508
+ ],
3509
+ "additionalProperties": false
3510
+ },
3511
+ "presentation": {
3512
+ "type": "object",
3513
+ "properties": {
3514
+ "defaultSeriesCount": {
3515
+ "type": "integer",
3516
+ "minimum": 1,
3517
+ "maximum": 4
3518
+ },
3519
+ "missingSamples": {
3520
+ "const": "gap"
3521
+ },
3522
+ "showPeak": {
3523
+ "type": "boolean"
3524
+ },
3525
+ "showCapacity": {
3526
+ "enum": [
3527
+ "when-known",
3528
+ "hidden"
3529
+ ]
3530
+ }
3531
+ },
3532
+ "required": [
3533
+ "defaultSeriesCount",
3534
+ "missingSamples",
3535
+ "showPeak",
3536
+ "showCapacity"
3537
+ ],
3538
+ "additionalProperties": false
3539
+ },
3540
+ "copy": {
3541
+ "type": "object",
3542
+ "additionalProperties": {
3543
+ "$ref": "#/$defs/LocalizedText"
3544
+ }
3545
+ },
3546
+ "actions": {
3547
+ "type": "array",
3548
+ "items": {
3549
+ "enum": [
3550
+ "select-point",
3551
+ "select-range",
3552
+ "select-series",
3553
+ "reset-view"
3554
+ ]
3555
+ },
3556
+ "uniqueItems": true
3557
+ },
3558
+ "reuse": {
3559
+ "type": "object",
3560
+ "properties": {
3561
+ "primary": {
3562
+ "type": "string"
3563
+ },
3564
+ "alternative": {
3565
+ "anyOf": [
3566
+ {
3567
+ "type": "string"
3568
+ },
3569
+ {
3570
+ "type": "null"
3571
+ }
3572
+ ]
3573
+ },
3574
+ "status": {
3575
+ "const": "candidate"
3576
+ }
3577
+ },
3578
+ "required": [
3579
+ "primary",
3580
+ "alternative",
3581
+ "status"
3582
+ ],
3583
+ "additionalProperties": false
3584
+ },
3585
+ "emits": {
3586
+ "type": "array",
3587
+ "items": {
3588
+ "enum": [
3589
+ "memory.select",
3590
+ "memory.range"
3591
+ ]
3592
+ },
3593
+ "uniqueItems": true
3594
+ }
3595
+ },
3596
+ "required": [
3597
+ "type",
3598
+ "version",
3599
+ "title",
3600
+ "inputSchema",
3601
+ "outputSchema",
3602
+ "layout",
3603
+ "presentation",
3604
+ "copy",
3605
+ "actions",
3606
+ "reuse",
3607
+ "emits"
3608
+ ],
3609
+ "additionalProperties": false
3610
+ }
3611
+ ]
3612
+ }
3613
+ },
3614
+ "oneOf": [
3615
+ {
3616
+ "$ref": "#/$defs/Input"
3617
+ },
3618
+ {
3619
+ "$ref": "#/$defs/Event"
3620
+ },
3621
+ {
3622
+ "$ref": "#/$defs/Update"
3623
+ },
3624
+ {
3625
+ "$ref": "#/$defs/Catalog"
3626
+ }
3627
+ ]
3628
+ }