kenaz 0.3.3 → 0.3.5

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 (413) hide show
  1. package/core/.agents/skills/typesafe-ai/LICENSE +21 -21
  2. package/core/.agents/skills/typesafe-ai/SKILL.md +149 -149
  3. package/core/.claude/commands/Ansuz.md +14 -2
  4. package/core/.claude/hooks/__tests__/task-2395-project-registration.test.js +84 -0
  5. package/core/.claude/hooks/handoff-staleness.js +2 -2
  6. package/core/.claude/hooks/session-init.ps1 +49 -49
  7. package/core/.claude/hooks/turn-context.js +50 -2
  8. package/core/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -26
  9. package/core/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -97
  10. package/core/.claude/skills/ui-ux-pro-max/data/icons.csv +101 -101
  11. package/core/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -31
  12. package/core/.claude/skills/ui-ux-pro-max/data/products.csv +96 -96
  13. package/core/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
  14. package/core/.claude/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  15. package/core/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  16. package/core/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  17. package/core/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  18. package/core/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  19. package/core/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  20. package/core/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  21. package/core/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
  22. package/core/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  23. package/core/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  24. package/core/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  25. package/core/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  26. package/core/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  27. package/core/.claude/skills/ui-ux-pro-max/data/styles.csv +68 -68
  28. package/core/.claude/skills/ui-ux-pro-max/data/typography.csv +57 -57
  29. package/core/.claude/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
  30. package/core/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
  31. package/core/.claude/skills/ui-ux-pro-max/data/web-interface.csv +31 -31
  32. package/core/.claude/skills/ui-ux-pro-max/scripts/core.py +253 -253
  33. package/core/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1067 -1067
  34. package/core/.claude/skills/ui-ux-pro-max/scripts/search.py +106 -106
  35. package/core/.collaboration/core/task-api.js +1 -4
  36. package/core/.formation/README.md +21 -146
  37. package/core/.formation/bifrost/codex-doctor.js +37 -2
  38. package/core/.formation/bifrost/codex-doctor.test.js +18 -0
  39. package/core/.formation/bifrost/launch.js +1 -1
  40. package/core/.formation/bifrost/openai/codex-hook-shim.js +6 -0
  41. package/core/.formation/bifrost/openai/codex-hook-shim.test.js +11 -1
  42. package/core/.formation/bifrost/setup-codex.js +3 -0
  43. package/core/.formation/spec/task_operations.parity.test.js +0 -1
  44. package/core/.formation/tests/hello.txt +2 -2
  45. package/core/.formation/tools/dashboard-models-chain.test.js +0 -6
  46. package/core/.formation/tools/dispatch-detail/cross-project-worktree.md +1 -9
  47. package/core/.formation/tools/dispatch-detail/worktree-subagent-mode.md +2 -2
  48. package/core/.formation/tools/dispatch.js +28 -549
  49. package/core/.formation/tools/mcp-allowlist.test.js +0 -1
  50. package/core/.formation/tools/post-complete/task2345.test.js +0 -5
  51. package/core/.formation/tools/pre-dispatch-snapshot.test.js +0 -100
  52. package/core/.formation/tools/prompt.js +29 -1623
  53. package/core/.formation/tools/prompt.test.js +26 -594
  54. package/core/.kenaz/knowledge/ladybug_2c51da1e_shadow_file_frame_group.patch +163 -163
  55. package/core/.kenaz/knowledge/ladybug_30cf85690e_shadow_page_read_during_checkpoint.patch +393 -393
  56. package/core/.kenaz/knowledge/ladybug_7a17858d3a_node_group_delete_lock.patch +102 -102
  57. package/core/.kenaz/knowledge/ladybug_926a0ba1_column_checkpoint.patch +412 -412
  58. package/core/.kenaz/knowledge/ladybug_a346c4c4b6_pk_index_header_pages.patch +144 -144
  59. package/core/.kenaz/knowledge/ladybug_ba5f38815b_csr_node_group.patch +86 -86
  60. package/core/.kenaz/muninn_episode_write.ps1 +17 -17
  61. package/core/.kenaz/specialist/field_report_watermark.json +1 -1
  62. package/core/.kenaz/specialist/memory_guard_fired.json +1 -1
  63. package/core/.kenaz/specialist/memory_guard_trigger_cache.json +1 -1
  64. package/core/.kenaz/specialist/t1777_probe.txt +1 -1
  65. package/core/.matrix/index.matrix +5 -5
  66. package/core/.specialist/tools/__tests__/freya-cli-contract.test.js +0 -1
  67. package/core/KENAZ_CORE_VERSION +1 -1
  68. package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +355 -355
  69. package/core/dev/JEV_INTEGRATION_PLAN.md +189 -189
  70. package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +13 -13
  71. package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +9 -9
  72. package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +14 -14
  73. package/core/dev/design/matrix_v2_EXAMPLE.matrix +67 -67
  74. package/core/dev/jev-eval/ACTIVE_CORRECTION.md +52 -52
  75. package/core/dev/jev-eval/CONTEXT_REVIEW.md +31 -31
  76. package/core/dev/jev-eval/EVALUATION_STATUS.md +39 -39
  77. package/core/dev/jev-eval/HISTORICAL_CORPUS.md +33 -33
  78. package/core/dev/jev-eval/README.md +99 -99
  79. package/core/dev/jev-eval/THALAMUS_RANKING.md +58 -58
  80. package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +32 -32
  81. package/core/dev/jev-eval/reports/context-review-2026-09-20.json +48 -48
  82. package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +52 -52
  83. package/core/dev/pipeline/SELF_ENHANCEMENT_STATUS.json.bak +47 -47
  84. package/core/dev/pipeline/tasks/.gitkeep +1 -1
  85. package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +27 -27
  86. package/core/dev/scripts/init_git.sh +0 -0
  87. package/core/dev/scripts/init_project.sh +0 -0
  88. package/core/dev/scripts/legacy/dev_agent_scheduler.ps1.bak +536 -536
  89. package/core/dev/scripts/legacy/multi_agent_scheduler.ps1.bak +1978 -1978
  90. package/core/dev/scripts/matrix/src/cli/commands/list-tags.ts.wip +140 -140
  91. package/core/dev/scripts/matrix/src/cli/commands/manage-tags.ts.wip +173 -173
  92. package/core/dev/scripts/matrix/src/cli/commands/stats.ts.wip +168 -168
  93. package/core/dev/scripts/matrix/src/cli/commands/tokens.ts.wip +126 -126
  94. package/core/dev/scripts/multi_agent_scheduler.sh +0 -0
  95. package/core/dev/scripts/run_once.sh +0 -0
  96. package/core/dev/scripts/setup_mcp.sh +0 -0
  97. package/core/dev/scripts/setup_rag.sh +0 -0
  98. package/core/dev/scripts/start_dev_agent.sh +0 -0
  99. package/core/dev/scripts/start_multi_agent.sh +0 -0
  100. package/core/dev/scripts/sync_task_queue.sh +0 -0
  101. package/core/plugins/kenaz/commands/Amelia.md +1 -1
  102. package/core/plugins/kenaz/commands/Ansuz.md +15 -3
  103. package/core/plugins/kenaz/scripts/kenaz-mode.js +11 -1
  104. package/core/plugins/kenaz/scripts/sync.js +6 -2
  105. package/core/plugins/kenaz/scripts/ygg.js +13 -1
  106. package/core/plugins/kenaz/skills/product_manager/SKILL.md +12 -12
  107. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/charts.csv +26 -26
  108. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/colors.csv +97 -97
  109. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/icons.csv +101 -101
  110. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/landing.csv +31 -31
  111. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/products.csv +96 -96
  112. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
  113. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  114. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  115. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  116. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  117. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  118. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  119. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  120. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
  121. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  122. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  123. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  124. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  125. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  126. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/styles.csv +68 -68
  127. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/typography.csv +57 -57
  128. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
  129. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
  130. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/web-interface.csv +31 -31
  131. package/core/plugins/kenaz/skills/ui-ux-pro-max/scripts/core.py +253 -253
  132. package/core/plugins/kenaz/skills/ui-ux-pro-max/scripts/design_system.py +1067 -1067
  133. package/core/plugins/kenaz/skills/ui-ux-pro-max/scripts/search.py +106 -106
  134. package/lib/cli.js +11 -4
  135. package/package.json +11 -7
  136. package/vendor/install-kenaz-cli.js +18 -7
  137. package/core/.formation/tools/broadcast.js +0 -103
  138. package/core/.formation/tools/dispatch-dryrun.test.js +0 -54
  139. package/core/.formation/tools/dispatch-notifier.js +0 -84
  140. package/core/.formation/tools/formations.js +0 -1203
  141. package/core/.formation/tools/headless-branch-recovery.test.js +0 -64
  142. package/core/.formation/tools/headless-dryrun.test.js +0 -79
  143. package/core/.formation/tools/headless-v2.js +0 -659
  144. package/core/.formation/tools/headless.js +0 -1071
  145. package/core/.formation/tools/legacy-scheduler.js +0 -1994
  146. package/core/.formation/tools/logger.js +0 -273
  147. package/core/.formation/tools/memory-loader.js +0 -422
  148. package/core/.formation/tools/process-state.js +0 -33
  149. package/core/.formation/tools/remote-conflict.js +0 -98
  150. package/core/.formation/tools/runner.js +0 -1332
  151. package/core/.formation/tools/task-utils.js +0 -344
  152. package/core/.formation/tools/task2028-headless-worktree.test.js +0 -112
  153. package/core/.formation/tools/tests/headless-mcp-args-plumbing.test.js +0 -123
  154. package/core/.formation/tools/worktree-leak.test.js +0 -162
  155. package/core/k-cli/dist/alaya/run.js +0 -91
  156. package/core/k-cli/dist/core/output.js +0 -24
  157. package/core/k-cli/dist/core/process.js +0 -38
  158. package/core/k-cli/dist/core/project.js +0 -80
  159. package/core/k-cli/dist/core/spawn.js +0 -268
  160. package/core/k-cli/dist/core/types.js +0 -2
  161. package/core/k-cli/dist/dashboard/update.js +0 -53
  162. package/core/k-cli/dist/dashboard/version.js +0 -20
  163. package/core/k-cli/dist/dispatch/run.js +0 -241
  164. package/core/k-cli/dist/dispatch/status.js +0 -103
  165. package/core/k-cli/dist/index.js +0 -283
  166. package/core/k-cli/dist/project/initialize.js +0 -301
  167. package/core/k-cli/dist/project/install.js +0 -89
  168. package/core/k-cli/dist/project/status.js +0 -138
  169. package/core/k-cli/dist/specialist/list.js +0 -100
  170. package/core/k-cli/dist/specialist/run.js +0 -93
  171. package/core/k-cli/dist/task/create.js +0 -194
  172. package/core/k-cli/dist/task/delete.js +0 -98
  173. package/core/k-cli/dist/task/get.js +0 -55
  174. package/core/k-cli/dist/task/list.js +0 -58
  175. package/core/k-cli/dist/task/submit.js +0 -156
  176. package/core/k-cli/dist/ygg/run.js +0 -51
  177. package/core/k-cli/node_modules/.bin/yaml +0 -16
  178. package/core/k-cli/node_modules/.bin/yaml.cmd +0 -17
  179. package/core/k-cli/node_modules/.bin/yaml.ps1 +0 -28
  180. package/core/k-cli/node_modules/.package-lock.json +0 -23
  181. package/core/k-cli/node_modules/yaml/LICENSE +0 -13
  182. package/core/k-cli/node_modules/yaml/README.md +0 -172
  183. package/core/k-cli/node_modules/yaml/bin.mjs +0 -11
  184. package/core/k-cli/node_modules/yaml/browser/dist/compose/compose-collection.js +0 -88
  185. package/core/k-cli/node_modules/yaml/browser/dist/compose/compose-doc.js +0 -43
  186. package/core/k-cli/node_modules/yaml/browser/dist/compose/compose-node.js +0 -109
  187. package/core/k-cli/node_modules/yaml/browser/dist/compose/compose-scalar.js +0 -86
  188. package/core/k-cli/node_modules/yaml/browser/dist/compose/composer.js +0 -217
  189. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-block-map.js +0 -115
  190. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +0 -198
  191. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +0 -49
  192. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-end.js +0 -37
  193. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +0 -207
  194. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +0 -223
  195. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-props.js +0 -146
  196. package/core/k-cli/node_modules/yaml/browser/dist/compose/util-contains-newline.js +0 -34
  197. package/core/k-cli/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +0 -26
  198. package/core/k-cli/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +0 -15
  199. package/core/k-cli/node_modules/yaml/browser/dist/compose/util-map-includes.js +0 -13
  200. package/core/k-cli/node_modules/yaml/browser/dist/doc/Document.js +0 -335
  201. package/core/k-cli/node_modules/yaml/browser/dist/doc/anchors.js +0 -71
  202. package/core/k-cli/node_modules/yaml/browser/dist/doc/applyReviver.js +0 -55
  203. package/core/k-cli/node_modules/yaml/browser/dist/doc/createNode.js +0 -88
  204. package/core/k-cli/node_modules/yaml/browser/dist/doc/directives.js +0 -176
  205. package/core/k-cli/node_modules/yaml/browser/dist/errors.js +0 -57
  206. package/core/k-cli/node_modules/yaml/browser/dist/index.js +0 -17
  207. package/core/k-cli/node_modules/yaml/browser/dist/log.js +0 -11
  208. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Alias.js +0 -114
  209. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Collection.js +0 -147
  210. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Node.js +0 -38
  211. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Pair.js +0 -36
  212. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Scalar.js +0 -24
  213. package/core/k-cli/node_modules/yaml/browser/dist/nodes/YAMLMap.js +0 -144
  214. package/core/k-cli/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +0 -113
  215. package/core/k-cli/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +0 -63
  216. package/core/k-cli/node_modules/yaml/browser/dist/nodes/identity.js +0 -36
  217. package/core/k-cli/node_modules/yaml/browser/dist/nodes/toJS.js +0 -37
  218. package/core/k-cli/node_modules/yaml/browser/dist/parse/cst-scalar.js +0 -214
  219. package/core/k-cli/node_modules/yaml/browser/dist/parse/cst-stringify.js +0 -61
  220. package/core/k-cli/node_modules/yaml/browser/dist/parse/cst-visit.js +0 -97
  221. package/core/k-cli/node_modules/yaml/browser/dist/parse/cst.js +0 -98
  222. package/core/k-cli/node_modules/yaml/browser/dist/parse/lexer.js +0 -717
  223. package/core/k-cli/node_modules/yaml/browser/dist/parse/line-counter.js +0 -39
  224. package/core/k-cli/node_modules/yaml/browser/dist/parse/parser.js +0 -967
  225. package/core/k-cli/node_modules/yaml/browser/dist/public-api.js +0 -102
  226. package/core/k-cli/node_modules/yaml/browser/dist/schema/Schema.js +0 -37
  227. package/core/k-cli/node_modules/yaml/browser/dist/schema/common/map.js +0 -17
  228. package/core/k-cli/node_modules/yaml/browser/dist/schema/common/null.js +0 -15
  229. package/core/k-cli/node_modules/yaml/browser/dist/schema/common/seq.js +0 -17
  230. package/core/k-cli/node_modules/yaml/browser/dist/schema/common/string.js +0 -14
  231. package/core/k-cli/node_modules/yaml/browser/dist/schema/core/bool.js +0 -19
  232. package/core/k-cli/node_modules/yaml/browser/dist/schema/core/float.js +0 -43
  233. package/core/k-cli/node_modules/yaml/browser/dist/schema/core/int.js +0 -38
  234. package/core/k-cli/node_modules/yaml/browser/dist/schema/core/schema.js +0 -23
  235. package/core/k-cli/node_modules/yaml/browser/dist/schema/json/schema.js +0 -62
  236. package/core/k-cli/node_modules/yaml/browser/dist/schema/tags.js +0 -96
  237. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +0 -58
  238. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +0 -26
  239. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +0 -46
  240. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +0 -71
  241. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +0 -64
  242. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +0 -74
  243. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +0 -78
  244. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +0 -39
  245. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +0 -93
  246. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +0 -101
  247. package/core/k-cli/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +0 -146
  248. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringify.js +0 -129
  249. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +0 -153
  250. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyComment.js +0 -20
  251. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +0 -85
  252. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +0 -24
  253. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyPair.js +0 -150
  254. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyString.js +0 -336
  255. package/core/k-cli/node_modules/yaml/browser/dist/util.js +0 -11
  256. package/core/k-cli/node_modules/yaml/browser/dist/visit.js +0 -233
  257. package/core/k-cli/node_modules/yaml/browser/index.js +0 -5
  258. package/core/k-cli/node_modules/yaml/browser/package.json +0 -3
  259. package/core/k-cli/node_modules/yaml/dist/cli.d.ts +0 -8
  260. package/core/k-cli/node_modules/yaml/dist/cli.mjs +0 -201
  261. package/core/k-cli/node_modules/yaml/dist/compose/compose-collection.d.ts +0 -11
  262. package/core/k-cli/node_modules/yaml/dist/compose/compose-collection.js +0 -90
  263. package/core/k-cli/node_modules/yaml/dist/compose/compose-doc.d.ts +0 -7
  264. package/core/k-cli/node_modules/yaml/dist/compose/compose-doc.js +0 -45
  265. package/core/k-cli/node_modules/yaml/dist/compose/compose-node.d.ts +0 -29
  266. package/core/k-cli/node_modules/yaml/dist/compose/compose-node.js +0 -112
  267. package/core/k-cli/node_modules/yaml/dist/compose/compose-scalar.d.ts +0 -5
  268. package/core/k-cli/node_modules/yaml/dist/compose/compose-scalar.js +0 -88
  269. package/core/k-cli/node_modules/yaml/dist/compose/composer.d.ts +0 -63
  270. package/core/k-cli/node_modules/yaml/dist/compose/composer.js +0 -222
  271. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-map.d.ts +0 -6
  272. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-map.js +0 -117
  273. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +0 -11
  274. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-scalar.js +0 -200
  275. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +0 -6
  276. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-seq.js +0 -51
  277. package/core/k-cli/node_modules/yaml/dist/compose/resolve-end.d.ts +0 -6
  278. package/core/k-cli/node_modules/yaml/dist/compose/resolve-end.js +0 -39
  279. package/core/k-cli/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +0 -7
  280. package/core/k-cli/node_modules/yaml/dist/compose/resolve-flow-collection.js +0 -209
  281. package/core/k-cli/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +0 -10
  282. package/core/k-cli/node_modules/yaml/dist/compose/resolve-flow-scalar.js +0 -225
  283. package/core/k-cli/node_modules/yaml/dist/compose/resolve-props.d.ts +0 -23
  284. package/core/k-cli/node_modules/yaml/dist/compose/resolve-props.js +0 -148
  285. package/core/k-cli/node_modules/yaml/dist/compose/util-contains-newline.d.ts +0 -2
  286. package/core/k-cli/node_modules/yaml/dist/compose/util-contains-newline.js +0 -36
  287. package/core/k-cli/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +0 -2
  288. package/core/k-cli/node_modules/yaml/dist/compose/util-empty-scalar-position.js +0 -28
  289. package/core/k-cli/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +0 -3
  290. package/core/k-cli/node_modules/yaml/dist/compose/util-flow-indent-check.js +0 -17
  291. package/core/k-cli/node_modules/yaml/dist/compose/util-map-includes.d.ts +0 -4
  292. package/core/k-cli/node_modules/yaml/dist/compose/util-map-includes.js +0 -15
  293. package/core/k-cli/node_modules/yaml/dist/doc/Document.d.ts +0 -141
  294. package/core/k-cli/node_modules/yaml/dist/doc/Document.js +0 -337
  295. package/core/k-cli/node_modules/yaml/dist/doc/anchors.d.ts +0 -24
  296. package/core/k-cli/node_modules/yaml/dist/doc/anchors.js +0 -76
  297. package/core/k-cli/node_modules/yaml/dist/doc/applyReviver.d.ts +0 -9
  298. package/core/k-cli/node_modules/yaml/dist/doc/applyReviver.js +0 -57
  299. package/core/k-cli/node_modules/yaml/dist/doc/createNode.d.ts +0 -17
  300. package/core/k-cli/node_modules/yaml/dist/doc/createNode.js +0 -90
  301. package/core/k-cli/node_modules/yaml/dist/doc/directives.d.ts +0 -49
  302. package/core/k-cli/node_modules/yaml/dist/doc/directives.js +0 -178
  303. package/core/k-cli/node_modules/yaml/dist/errors.d.ts +0 -21
  304. package/core/k-cli/node_modules/yaml/dist/errors.js +0 -62
  305. package/core/k-cli/node_modules/yaml/dist/index.d.ts +0 -25
  306. package/core/k-cli/node_modules/yaml/dist/index.js +0 -50
  307. package/core/k-cli/node_modules/yaml/dist/log.d.ts +0 -3
  308. package/core/k-cli/node_modules/yaml/dist/log.js +0 -19
  309. package/core/k-cli/node_modules/yaml/dist/nodes/Alias.d.ts +0 -29
  310. package/core/k-cli/node_modules/yaml/dist/nodes/Alias.js +0 -116
  311. package/core/k-cli/node_modules/yaml/dist/nodes/Collection.d.ts +0 -73
  312. package/core/k-cli/node_modules/yaml/dist/nodes/Collection.js +0 -151
  313. package/core/k-cli/node_modules/yaml/dist/nodes/Node.d.ts +0 -53
  314. package/core/k-cli/node_modules/yaml/dist/nodes/Node.js +0 -40
  315. package/core/k-cli/node_modules/yaml/dist/nodes/Pair.d.ts +0 -22
  316. package/core/k-cli/node_modules/yaml/dist/nodes/Pair.js +0 -39
  317. package/core/k-cli/node_modules/yaml/dist/nodes/Scalar.d.ts +0 -43
  318. package/core/k-cli/node_modules/yaml/dist/nodes/Scalar.js +0 -27
  319. package/core/k-cli/node_modules/yaml/dist/nodes/YAMLMap.d.ts +0 -53
  320. package/core/k-cli/node_modules/yaml/dist/nodes/YAMLMap.js +0 -147
  321. package/core/k-cli/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +0 -60
  322. package/core/k-cli/node_modules/yaml/dist/nodes/YAMLSeq.js +0 -115
  323. package/core/k-cli/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +0 -4
  324. package/core/k-cli/node_modules/yaml/dist/nodes/addPairToJSMap.js +0 -65
  325. package/core/k-cli/node_modules/yaml/dist/nodes/identity.d.ts +0 -23
  326. package/core/k-cli/node_modules/yaml/dist/nodes/identity.js +0 -53
  327. package/core/k-cli/node_modules/yaml/dist/nodes/toJS.d.ts +0 -29
  328. package/core/k-cli/node_modules/yaml/dist/nodes/toJS.js +0 -39
  329. package/core/k-cli/node_modules/yaml/dist/options.d.ts +0 -350
  330. package/core/k-cli/node_modules/yaml/dist/parse/cst-scalar.d.ts +0 -64
  331. package/core/k-cli/node_modules/yaml/dist/parse/cst-scalar.js +0 -218
  332. package/core/k-cli/node_modules/yaml/dist/parse/cst-stringify.d.ts +0 -8
  333. package/core/k-cli/node_modules/yaml/dist/parse/cst-stringify.js +0 -63
  334. package/core/k-cli/node_modules/yaml/dist/parse/cst-visit.d.ts +0 -39
  335. package/core/k-cli/node_modules/yaml/dist/parse/cst-visit.js +0 -99
  336. package/core/k-cli/node_modules/yaml/dist/parse/cst.d.ts +0 -109
  337. package/core/k-cli/node_modules/yaml/dist/parse/cst.js +0 -112
  338. package/core/k-cli/node_modules/yaml/dist/parse/lexer.d.ts +0 -87
  339. package/core/k-cli/node_modules/yaml/dist/parse/lexer.js +0 -719
  340. package/core/k-cli/node_modules/yaml/dist/parse/line-counter.d.ts +0 -22
  341. package/core/k-cli/node_modules/yaml/dist/parse/line-counter.js +0 -41
  342. package/core/k-cli/node_modules/yaml/dist/parse/parser.d.ts +0 -84
  343. package/core/k-cli/node_modules/yaml/dist/parse/parser.js +0 -972
  344. package/core/k-cli/node_modules/yaml/dist/public-api.d.ts +0 -44
  345. package/core/k-cli/node_modules/yaml/dist/public-api.js +0 -107
  346. package/core/k-cli/node_modules/yaml/dist/schema/Schema.d.ts +0 -17
  347. package/core/k-cli/node_modules/yaml/dist/schema/Schema.js +0 -39
  348. package/core/k-cli/node_modules/yaml/dist/schema/common/map.d.ts +0 -2
  349. package/core/k-cli/node_modules/yaml/dist/schema/common/map.js +0 -19
  350. package/core/k-cli/node_modules/yaml/dist/schema/common/null.d.ts +0 -4
  351. package/core/k-cli/node_modules/yaml/dist/schema/common/null.js +0 -17
  352. package/core/k-cli/node_modules/yaml/dist/schema/common/seq.d.ts +0 -2
  353. package/core/k-cli/node_modules/yaml/dist/schema/common/seq.js +0 -19
  354. package/core/k-cli/node_modules/yaml/dist/schema/common/string.d.ts +0 -2
  355. package/core/k-cli/node_modules/yaml/dist/schema/common/string.js +0 -16
  356. package/core/k-cli/node_modules/yaml/dist/schema/core/bool.d.ts +0 -4
  357. package/core/k-cli/node_modules/yaml/dist/schema/core/bool.js +0 -21
  358. package/core/k-cli/node_modules/yaml/dist/schema/core/float.d.ts +0 -4
  359. package/core/k-cli/node_modules/yaml/dist/schema/core/float.js +0 -47
  360. package/core/k-cli/node_modules/yaml/dist/schema/core/int.d.ts +0 -4
  361. package/core/k-cli/node_modules/yaml/dist/schema/core/int.js +0 -42
  362. package/core/k-cli/node_modules/yaml/dist/schema/core/schema.d.ts +0 -1
  363. package/core/k-cli/node_modules/yaml/dist/schema/core/schema.js +0 -25
  364. package/core/k-cli/node_modules/yaml/dist/schema/json/schema.d.ts +0 -2
  365. package/core/k-cli/node_modules/yaml/dist/schema/json/schema.js +0 -64
  366. package/core/k-cli/node_modules/yaml/dist/schema/json-schema.d.ts +0 -69
  367. package/core/k-cli/node_modules/yaml/dist/schema/tags.d.ts +0 -48
  368. package/core/k-cli/node_modules/yaml/dist/schema/tags.js +0 -99
  369. package/core/k-cli/node_modules/yaml/dist/schema/types.d.ts +0 -92
  370. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +0 -2
  371. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/binary.js +0 -70
  372. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +0 -7
  373. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/bool.js +0 -29
  374. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +0 -4
  375. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/float.js +0 -50
  376. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +0 -5
  377. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/int.js +0 -76
  378. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +0 -9
  379. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/merge.js +0 -68
  380. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +0 -22
  381. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/omap.js +0 -77
  382. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +0 -10
  383. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +0 -82
  384. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +0 -1
  385. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/schema.js +0 -41
  386. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +0 -28
  387. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/set.js +0 -96
  388. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +0 -6
  389. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +0 -105
  390. package/core/k-cli/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +0 -34
  391. package/core/k-cli/node_modules/yaml/dist/stringify/foldFlowLines.js +0 -151
  392. package/core/k-cli/node_modules/yaml/dist/stringify/stringify.d.ts +0 -21
  393. package/core/k-cli/node_modules/yaml/dist/stringify/stringify.js +0 -132
  394. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +0 -17
  395. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyCollection.js +0 -155
  396. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyComment.d.ts +0 -10
  397. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyComment.js +0 -24
  398. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +0 -4
  399. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyDocument.js +0 -87
  400. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +0 -2
  401. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyNumber.js +0 -26
  402. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyPair.d.ts +0 -3
  403. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyPair.js +0 -152
  404. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyString.d.ts +0 -9
  405. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyString.js +0 -338
  406. package/core/k-cli/node_modules/yaml/dist/test-events.d.ts +0 -4
  407. package/core/k-cli/node_modules/yaml/dist/test-events.js +0 -134
  408. package/core/k-cli/node_modules/yaml/dist/util.d.ts +0 -16
  409. package/core/k-cli/node_modules/yaml/dist/util.js +0 -28
  410. package/core/k-cli/node_modules/yaml/dist/visit.d.ts +0 -102
  411. package/core/k-cli/node_modules/yaml/dist/visit.js +0 -236
  412. package/core/k-cli/node_modules/yaml/package.json +0 -97
  413. package/core/k-cli/node_modules/yaml/util.js +0 -2
@@ -1,43 +0,0 @@
1
- import { Document } from '../doc/Document.js';
2
- import { composeNode, composeEmptyNode } from './compose-node.js';
3
- import { resolveEnd } from './resolve-end.js';
4
- import { resolveProps } from './resolve-props.js';
5
-
6
- function composeDoc(options, directives, { offset, start, value, end }, onError) {
7
- const opts = Object.assign({ _directives: directives }, options);
8
- const doc = new Document(undefined, opts);
9
- const ctx = {
10
- atKey: false,
11
- atRoot: true,
12
- directives: doc.directives,
13
- options: doc.options,
14
- schema: doc.schema
15
- };
16
- const props = resolveProps(start, {
17
- indicator: 'doc-start',
18
- next: value ?? end?.[0],
19
- offset,
20
- onError,
21
- parentIndent: 0,
22
- startOnNewline: true
23
- });
24
- if (props.found) {
25
- doc.directives.docStart = true;
26
- if (value &&
27
- (value.type === 'block-map' || value.type === 'block-seq') &&
28
- !props.hasNewline)
29
- onError(props.end, 'MISSING_CHAR', 'Block collection cannot start on same line with directives-end marker');
30
- }
31
- // @ts-expect-error If Contents is set, let's trust the user
32
- doc.contents = value
33
- ? composeNode(ctx, value, props, onError)
34
- : composeEmptyNode(ctx, props.end, start, null, props, onError);
35
- const contentEnd = doc.contents.range[2];
36
- const re = resolveEnd(end, contentEnd, false, onError);
37
- if (re.comment)
38
- doc.comment = re.comment;
39
- doc.range = [offset, contentEnd, re.offset];
40
- return doc;
41
- }
42
-
43
- export { composeDoc };
@@ -1,109 +0,0 @@
1
- import { Alias } from '../nodes/Alias.js';
2
- import { isScalar } from '../nodes/identity.js';
3
- import { composeCollection } from './compose-collection.js';
4
- import { composeScalar } from './compose-scalar.js';
5
- import { resolveEnd } from './resolve-end.js';
6
- import { emptyScalarPosition } from './util-empty-scalar-position.js';
7
-
8
- const CN = { composeNode, composeEmptyNode };
9
- function composeNode(ctx, token, props, onError) {
10
- const atKey = ctx.atKey;
11
- const { spaceBefore, comment, anchor, tag } = props;
12
- let node;
13
- let isSrcToken = true;
14
- switch (token.type) {
15
- case 'alias':
16
- node = composeAlias(ctx, token, onError);
17
- if (anchor || tag)
18
- onError(token, 'ALIAS_PROPS', 'An alias node must not specify any properties');
19
- break;
20
- case 'scalar':
21
- case 'single-quoted-scalar':
22
- case 'double-quoted-scalar':
23
- case 'block-scalar':
24
- node = composeScalar(ctx, token, tag, onError);
25
- if (anchor)
26
- node.anchor = anchor.source.substring(1);
27
- break;
28
- case 'block-map':
29
- case 'block-seq':
30
- case 'flow-collection':
31
- try {
32
- node = composeCollection(CN, ctx, token, props, onError);
33
- if (anchor)
34
- node.anchor = anchor.source.substring(1);
35
- }
36
- catch (error) {
37
- // Almost certainly here due to a stack overflow
38
- const message = error instanceof Error ? error.message : String(error);
39
- onError(token, 'RESOURCE_EXHAUSTION', message);
40
- }
41
- break;
42
- default: {
43
- const message = token.type === 'error'
44
- ? token.message
45
- : `Unsupported token (type: ${token.type})`;
46
- onError(token, 'UNEXPECTED_TOKEN', message);
47
- isSrcToken = false;
48
- }
49
- }
50
- node ?? (node = composeEmptyNode(ctx, token.offset, undefined, null, props, onError));
51
- if (anchor && node.anchor === '')
52
- onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
53
- if (atKey &&
54
- ctx.options.stringKeys &&
55
- (!isScalar(node) ||
56
- typeof node.value !== 'string' ||
57
- (node.tag && node.tag !== 'tag:yaml.org,2002:str'))) {
58
- const msg = 'With stringKeys, all keys must be strings';
59
- onError(tag ?? token, 'NON_STRING_KEY', msg);
60
- }
61
- if (spaceBefore)
62
- node.spaceBefore = true;
63
- if (comment) {
64
- if (token.type === 'scalar' && token.source === '')
65
- node.comment = comment;
66
- else
67
- node.commentBefore = comment;
68
- }
69
- // @ts-expect-error Type checking misses meaning of isSrcToken
70
- if (ctx.options.keepSourceTokens && isSrcToken)
71
- node.srcToken = token;
72
- return node;
73
- }
74
- function composeEmptyNode(ctx, offset, before, pos, { spaceBefore, comment, anchor, tag, end }, onError) {
75
- const token = {
76
- type: 'scalar',
77
- offset: emptyScalarPosition(offset, before, pos),
78
- indent: -1,
79
- source: ''
80
- };
81
- const node = composeScalar(ctx, token, tag, onError);
82
- if (anchor) {
83
- node.anchor = anchor.source.substring(1);
84
- if (node.anchor === '')
85
- onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
86
- }
87
- if (spaceBefore)
88
- node.spaceBefore = true;
89
- if (comment) {
90
- node.comment = comment;
91
- node.range[2] = end;
92
- }
93
- return node;
94
- }
95
- function composeAlias({ options }, { offset, source, end }, onError) {
96
- const alias = new Alias(source.substring(1));
97
- if (alias.source === '')
98
- onError(offset, 'BAD_ALIAS', 'Alias cannot be an empty string');
99
- if (alias.source.endsWith(':'))
100
- onError(offset + source.length - 1, 'BAD_ALIAS', 'Alias ending in : is ambiguous', true);
101
- const valueEnd = offset + source.length;
102
- const re = resolveEnd(end, valueEnd, options.strict, onError);
103
- alias.range = [offset, valueEnd, re.offset];
104
- if (re.comment)
105
- alias.comment = re.comment;
106
- return alias;
107
- }
108
-
109
- export { composeEmptyNode, composeNode };
@@ -1,86 +0,0 @@
1
- import { isScalar, SCALAR } from '../nodes/identity.js';
2
- import { Scalar } from '../nodes/Scalar.js';
3
- import { resolveBlockScalar } from './resolve-block-scalar.js';
4
- import { resolveFlowScalar } from './resolve-flow-scalar.js';
5
-
6
- function composeScalar(ctx, token, tagToken, onError) {
7
- const { value, type, comment, range } = token.type === 'block-scalar'
8
- ? resolveBlockScalar(ctx, token, onError)
9
- : resolveFlowScalar(token, ctx.options.strict, onError);
10
- const tagName = tagToken
11
- ? ctx.directives.tagName(tagToken.source, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg))
12
- : null;
13
- let tag;
14
- if (ctx.options.stringKeys && ctx.atKey) {
15
- tag = ctx.schema[SCALAR];
16
- }
17
- else if (tagName)
18
- tag = findScalarTagByName(ctx.schema, value, tagName, tagToken, onError);
19
- else if (token.type === 'scalar')
20
- tag = findScalarTagByTest(ctx, value, token, onError);
21
- else
22
- tag = ctx.schema[SCALAR];
23
- let scalar;
24
- try {
25
- const res = tag.resolve(value, msg => onError(tagToken ?? token, 'TAG_RESOLVE_FAILED', msg), ctx.options);
26
- scalar = isScalar(res) ? res : new Scalar(res);
27
- }
28
- catch (error) {
29
- const msg = error instanceof Error ? error.message : String(error);
30
- onError(tagToken ?? token, 'TAG_RESOLVE_FAILED', msg);
31
- scalar = new Scalar(value);
32
- }
33
- scalar.range = range;
34
- scalar.source = value;
35
- if (type)
36
- scalar.type = type;
37
- if (tagName)
38
- scalar.tag = tagName;
39
- if (tag.format)
40
- scalar.format = tag.format;
41
- if (comment)
42
- scalar.comment = comment;
43
- return scalar;
44
- }
45
- function findScalarTagByName(schema, value, tagName, tagToken, onError) {
46
- if (tagName === '!')
47
- return schema[SCALAR]; // non-specific tag
48
- const matchWithTest = [];
49
- for (const tag of schema.tags) {
50
- if (!tag.collection && tag.tag === tagName) {
51
- if (tag.default && tag.test)
52
- matchWithTest.push(tag);
53
- else
54
- return tag;
55
- }
56
- }
57
- for (const tag of matchWithTest)
58
- if (tag.test?.test(value))
59
- return tag;
60
- const kt = schema.knownTags[tagName];
61
- if (kt && !kt.collection) {
62
- // Ensure that the known tag is available for stringifying,
63
- // but does not get used by default.
64
- schema.tags.push(Object.assign({}, kt, { default: false, test: undefined }));
65
- return kt;
66
- }
67
- onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, tagName !== 'tag:yaml.org,2002:str');
68
- return schema[SCALAR];
69
- }
70
- function findScalarTagByTest({ atKey, directives, schema }, value, token, onError) {
71
- const tag = schema.tags.find(tag => (tag.default === true || (atKey && tag.default === 'key')) &&
72
- tag.test?.test(value)) || schema[SCALAR];
73
- if (schema.compat) {
74
- const compat = schema.compat.find(tag => tag.default && tag.test?.test(value)) ??
75
- schema[SCALAR];
76
- if (tag.tag !== compat.tag) {
77
- const ts = directives.tagString(tag.tag);
78
- const cs = directives.tagString(compat.tag);
79
- const msg = `Value may be parsed as either ${ts} or ${cs}`;
80
- onError(token, 'TAG_RESOLVE_FAILED', msg, true);
81
- }
82
- }
83
- return tag;
84
- }
85
-
86
- export { composeScalar };
@@ -1,217 +0,0 @@
1
- import { Directives } from '../doc/directives.js';
2
- import { Document } from '../doc/Document.js';
3
- import { YAMLWarning, YAMLParseError } from '../errors.js';
4
- import { isCollection, isPair } from '../nodes/identity.js';
5
- import { composeDoc } from './compose-doc.js';
6
- import { resolveEnd } from './resolve-end.js';
7
-
8
- function getErrorPos(src) {
9
- if (typeof src === 'number')
10
- return [src, src + 1];
11
- if (Array.isArray(src))
12
- return src.length === 2 ? src : [src[0], src[1]];
13
- const { offset, source } = src;
14
- return [offset, offset + (typeof source === 'string' ? source.length : 1)];
15
- }
16
- function parsePrelude(prelude) {
17
- let comment = '';
18
- let atComment = false;
19
- let afterEmptyLine = false;
20
- for (let i = 0; i < prelude.length; ++i) {
21
- const source = prelude[i];
22
- switch (source[0]) {
23
- case '#':
24
- comment +=
25
- (comment === '' ? '' : afterEmptyLine ? '\n\n' : '\n') +
26
- (source.substring(1) || ' ');
27
- atComment = true;
28
- afterEmptyLine = false;
29
- break;
30
- case '%':
31
- if (prelude[i + 1]?.[0] !== '#')
32
- i += 1;
33
- atComment = false;
34
- break;
35
- default:
36
- // This may be wrong after doc-end, but in that case it doesn't matter
37
- if (!atComment)
38
- afterEmptyLine = true;
39
- atComment = false;
40
- }
41
- }
42
- return { comment, afterEmptyLine };
43
- }
44
- /**
45
- * Compose a stream of CST nodes into a stream of YAML Documents.
46
- *
47
- * ```ts
48
- * import { Composer, Parser } from 'yaml'
49
- *
50
- * const src: string = ...
51
- * const tokens = new Parser().parse(src)
52
- * const docs = new Composer().compose(tokens)
53
- * ```
54
- */
55
- class Composer {
56
- constructor(options = {}) {
57
- this.doc = null;
58
- this.atDirectives = false;
59
- this.prelude = [];
60
- this.errors = [];
61
- this.warnings = [];
62
- this.onError = (source, code, message, warning) => {
63
- const pos = getErrorPos(source);
64
- if (warning)
65
- this.warnings.push(new YAMLWarning(pos, code, message));
66
- else
67
- this.errors.push(new YAMLParseError(pos, code, message));
68
- };
69
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
70
- this.directives = new Directives({ version: options.version || '1.2' });
71
- this.options = options;
72
- }
73
- decorate(doc, afterDoc) {
74
- const { comment, afterEmptyLine } = parsePrelude(this.prelude);
75
- //console.log({ dc: doc.comment, prelude, comment })
76
- if (comment) {
77
- const dc = doc.contents;
78
- if (afterDoc) {
79
- doc.comment = doc.comment ? `${doc.comment}\n${comment}` : comment;
80
- }
81
- else if (afterEmptyLine || doc.directives.docStart || !dc) {
82
- doc.commentBefore = comment;
83
- }
84
- else if (isCollection(dc) && !dc.flow && dc.items.length > 0) {
85
- let it = dc.items[0];
86
- if (isPair(it))
87
- it = it.key;
88
- const cb = it.commentBefore;
89
- it.commentBefore = cb ? `${comment}\n${cb}` : comment;
90
- }
91
- else {
92
- const cb = dc.commentBefore;
93
- dc.commentBefore = cb ? `${comment}\n${cb}` : comment;
94
- }
95
- }
96
- if (afterDoc) {
97
- Array.prototype.push.apply(doc.errors, this.errors);
98
- Array.prototype.push.apply(doc.warnings, this.warnings);
99
- }
100
- else {
101
- doc.errors = this.errors;
102
- doc.warnings = this.warnings;
103
- }
104
- this.prelude = [];
105
- this.errors = [];
106
- this.warnings = [];
107
- }
108
- /**
109
- * Current stream status information.
110
- *
111
- * Mostly useful at the end of input for an empty stream.
112
- */
113
- streamInfo() {
114
- return {
115
- comment: parsePrelude(this.prelude).comment,
116
- directives: this.directives,
117
- errors: this.errors,
118
- warnings: this.warnings
119
- };
120
- }
121
- /**
122
- * Compose tokens into documents.
123
- *
124
- * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
125
- * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
126
- */
127
- *compose(tokens, forceDoc = false, endOffset = -1) {
128
- for (const token of tokens)
129
- yield* this.next(token);
130
- yield* this.end(forceDoc, endOffset);
131
- }
132
- /** Advance the composer by one CST token. */
133
- *next(token) {
134
- switch (token.type) {
135
- case 'directive':
136
- this.directives.add(token.source, (offset, message, warning) => {
137
- const pos = getErrorPos(token);
138
- pos[0] += offset;
139
- this.onError(pos, 'BAD_DIRECTIVE', message, warning);
140
- });
141
- this.prelude.push(token.source);
142
- this.atDirectives = true;
143
- break;
144
- case 'document': {
145
- const doc = composeDoc(this.options, this.directives, token, this.onError);
146
- if (this.atDirectives && !doc.directives.docStart)
147
- this.onError(token, 'MISSING_CHAR', 'Missing directives-end/doc-start indicator line');
148
- this.decorate(doc, false);
149
- if (this.doc)
150
- yield this.doc;
151
- this.doc = doc;
152
- this.atDirectives = false;
153
- break;
154
- }
155
- case 'byte-order-mark':
156
- case 'space':
157
- break;
158
- case 'comment':
159
- case 'newline':
160
- this.prelude.push(token.source);
161
- break;
162
- case 'error': {
163
- const msg = token.source
164
- ? `${token.message}: ${JSON.stringify(token.source)}`
165
- : token.message;
166
- const error = new YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg);
167
- if (this.atDirectives || !this.doc)
168
- this.errors.push(error);
169
- else
170
- this.doc.errors.push(error);
171
- break;
172
- }
173
- case 'doc-end': {
174
- if (!this.doc) {
175
- const msg = 'Unexpected doc-end without preceding document';
176
- this.errors.push(new YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg));
177
- break;
178
- }
179
- this.doc.directives.docEnd = true;
180
- const end = resolveEnd(token.end, token.offset + token.source.length, this.doc.options.strict, this.onError);
181
- this.decorate(this.doc, true);
182
- if (end.comment) {
183
- const dc = this.doc.comment;
184
- this.doc.comment = dc ? `${dc}\n${end.comment}` : end.comment;
185
- }
186
- this.doc.range[2] = end.offset;
187
- break;
188
- }
189
- default:
190
- this.errors.push(new YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', `Unsupported token ${token.type}`));
191
- }
192
- }
193
- /**
194
- * Call at end of input to yield any remaining document.
195
- *
196
- * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
197
- * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
198
- */
199
- *end(forceDoc = false, endOffset = -1) {
200
- if (this.doc) {
201
- this.decorate(this.doc, true);
202
- yield this.doc;
203
- this.doc = null;
204
- }
205
- else if (forceDoc) {
206
- const opts = Object.assign({ _directives: this.directives }, this.options);
207
- const doc = new Document(undefined, opts);
208
- if (this.atDirectives)
209
- this.onError(endOffset, 'MISSING_CHAR', 'Missing directives-end indicator line');
210
- doc.range = [0, endOffset, endOffset];
211
- this.decorate(doc, false);
212
- yield doc;
213
- }
214
- }
215
- }
216
-
217
- export { Composer };
@@ -1,115 +0,0 @@
1
- import { Pair } from '../nodes/Pair.js';
2
- import { YAMLMap } from '../nodes/YAMLMap.js';
3
- import { resolveProps } from './resolve-props.js';
4
- import { containsNewline } from './util-contains-newline.js';
5
- import { flowIndentCheck } from './util-flow-indent-check.js';
6
- import { mapIncludes } from './util-map-includes.js';
7
-
8
- const startColMsg = 'All mapping items must start at the same column';
9
- function resolveBlockMap({ composeNode, composeEmptyNode }, ctx, bm, onError, tag) {
10
- const NodeClass = tag?.nodeClass ?? YAMLMap;
11
- const map = new NodeClass(ctx.schema);
12
- if (ctx.atRoot)
13
- ctx.atRoot = false;
14
- let offset = bm.offset;
15
- let commentEnd = null;
16
- for (const collItem of bm.items) {
17
- const { start, key, sep, value } = collItem;
18
- // key properties
19
- const keyProps = resolveProps(start, {
20
- indicator: 'explicit-key-ind',
21
- next: key ?? sep?.[0],
22
- offset,
23
- onError,
24
- parentIndent: bm.indent,
25
- startOnNewline: true
26
- });
27
- const implicitKey = !keyProps.found;
28
- if (implicitKey) {
29
- if (key) {
30
- if (key.type === 'block-seq')
31
- onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'A block sequence may not be used as an implicit map key');
32
- else if ('indent' in key && key.indent !== bm.indent)
33
- onError(offset, 'BAD_INDENT', startColMsg);
34
- }
35
- if (!keyProps.anchor && !keyProps.tag && !sep) {
36
- commentEnd = keyProps.end;
37
- if (keyProps.comment) {
38
- if (map.comment)
39
- map.comment += '\n' + keyProps.comment;
40
- else
41
- map.comment = keyProps.comment;
42
- }
43
- continue;
44
- }
45
- if (keyProps.newlineAfterProp || containsNewline(key)) {
46
- onError(key ?? start[start.length - 1], 'MULTILINE_IMPLICIT_KEY', 'Implicit keys need to be on a single line');
47
- }
48
- }
49
- else if (keyProps.found?.indent !== bm.indent) {
50
- onError(offset, 'BAD_INDENT', startColMsg);
51
- }
52
- // key value
53
- ctx.atKey = true;
54
- const keyStart = keyProps.end;
55
- const keyNode = key
56
- ? composeNode(ctx, key, keyProps, onError)
57
- : composeEmptyNode(ctx, keyStart, start, null, keyProps, onError);
58
- if (ctx.schema.compat)
59
- flowIndentCheck(bm.indent, key, onError);
60
- ctx.atKey = false;
61
- if (mapIncludes(ctx, map.items, keyNode))
62
- onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
63
- // value properties
64
- const valueProps = resolveProps(sep ?? [], {
65
- indicator: 'map-value-ind',
66
- next: value,
67
- offset: keyNode.range[2],
68
- onError,
69
- parentIndent: bm.indent,
70
- startOnNewline: !key || key.type === 'block-scalar'
71
- });
72
- offset = valueProps.end;
73
- if (valueProps.found) {
74
- if (implicitKey) {
75
- if (value?.type === 'block-map' && !valueProps.hasNewline)
76
- onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'Nested mappings are not allowed in compact mappings');
77
- if (ctx.options.strict &&
78
- keyProps.start < valueProps.found.offset - 1024)
79
- onError(keyNode.range, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit block mapping key');
80
- }
81
- // value value
82
- const valueNode = value
83
- ? composeNode(ctx, value, valueProps, onError)
84
- : composeEmptyNode(ctx, offset, sep, null, valueProps, onError);
85
- if (ctx.schema.compat)
86
- flowIndentCheck(bm.indent, value, onError);
87
- offset = valueNode.range[2];
88
- const pair = new Pair(keyNode, valueNode);
89
- if (ctx.options.keepSourceTokens)
90
- pair.srcToken = collItem;
91
- map.items.push(pair);
92
- }
93
- else {
94
- // key with no value
95
- if (implicitKey)
96
- onError(keyNode.range, 'MISSING_CHAR', 'Implicit map keys need to be followed by map values');
97
- if (valueProps.comment) {
98
- if (keyNode.comment)
99
- keyNode.comment += '\n' + valueProps.comment;
100
- else
101
- keyNode.comment = valueProps.comment;
102
- }
103
- const pair = new Pair(keyNode);
104
- if (ctx.options.keepSourceTokens)
105
- pair.srcToken = collItem;
106
- map.items.push(pair);
107
- }
108
- }
109
- if (commentEnd && commentEnd < offset)
110
- onError(commentEnd, 'IMPOSSIBLE', 'Map comment with trailing content');
111
- map.range = [bm.offset, offset, commentEnd ?? offset];
112
- return map;
113
- }
114
-
115
- export { resolveBlockMap };