kenaz 0.3.3 → 0.3.6

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 (451) 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 +15 -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/native/claude/README.md +1 -1
  44. package/core/.formation/role-map.yaml +3 -3
  45. package/core/.formation/spec/task_operations.parity.test.js +0 -1
  46. package/core/.formation/spec/task_operations.yaml +3 -3
  47. package/core/.formation/tests/hello.txt +2 -2
  48. package/core/.formation/tools/__tests__/subagent-bifrost-guard.test.js +4 -4
  49. package/core/.formation/tools/dashboard-models-chain.test.js +0 -6
  50. package/core/.formation/tools/dispatch-detail/cross-project-worktree.md +1 -9
  51. package/core/.formation/tools/dispatch-detail/worktree-subagent-mode.md +2 -2
  52. package/core/.formation/tools/dispatch.js +33 -554
  53. package/core/.formation/tools/mcp-allowlist.test.js +0 -1
  54. package/core/.formation/tools/post-complete/task2345.test.js +0 -5
  55. package/core/.formation/tools/pre-dispatch-snapshot.test.js +0 -100
  56. package/core/.formation/tools/prompt.js +33 -1623
  57. package/core/.formation/tools/prompt.test.js +26 -594
  58. package/core/.formation/unit/do.yaml +2 -4
  59. package/core/.kenaz/knowledge/ladybug_2c51da1e_shadow_file_frame_group.patch +163 -163
  60. package/core/.kenaz/knowledge/ladybug_30cf85690e_shadow_page_read_during_checkpoint.patch +393 -393
  61. package/core/.kenaz/knowledge/ladybug_7a17858d3a_node_group_delete_lock.patch +102 -102
  62. package/core/.kenaz/knowledge/ladybug_926a0ba1_column_checkpoint.patch +412 -412
  63. package/core/.kenaz/knowledge/ladybug_a346c4c4b6_pk_index_header_pages.patch +144 -144
  64. package/core/.kenaz/knowledge/ladybug_ba5f38815b_csr_node_group.patch +86 -86
  65. package/core/.kenaz/muninn_episode_write.ps1 +17 -17
  66. package/core/.kenaz/specialist/field_report_watermark.json +1 -1
  67. package/core/.kenaz/specialist/memory_guard_fired.json +1 -1
  68. package/core/.kenaz/specialist/memory_guard_trigger_cache.json +1 -1
  69. package/core/.kenaz/specialist/t1777_probe.txt +1 -1
  70. package/core/.matrix/index.matrix +5 -5
  71. package/core/.rule/general/agent-workflow.yaml +4 -4
  72. package/core/.rule/general/file-size-threshold.yaml +16 -4
  73. package/core/.rule/general/rust-verify-target.yaml +0 -1
  74. package/core/.rule/general/system-invariants.yaml +8 -25
  75. package/core/.specialist/Ansuz/SYSTEM_DOC.md +17 -42
  76. package/core/.specialist/Ansuz/capability.yaml +7 -14
  77. package/core/.specialist/Ansuz/concepts/formation_quick_ref.yaml +4 -11
  78. package/core/.specialist/Ansuz/elixir.yaml +3 -4
  79. package/core/.specialist/Ansuz/identity_contract.yaml +1 -1
  80. package/core/.specialist/Ansuz/knowledge.yaml +7 -10
  81. package/core/.specialist/Ansuz/rule.yaml +2 -2
  82. package/core/.specialist/Ansuz/tools/verify-and-land.js +22 -0
  83. package/core/.specialist/Ansuz/tools/verify-and-land.test.js +59 -5
  84. package/core/.specialist/Ansuz/workflow.yaml +7 -11
  85. package/core/.specialist/Forseti/core.yaml +1 -1
  86. package/core/.specialist/Heimdall/SKILL.md +1 -1
  87. package/core/.specialist/Heimdall/core.yaml +2 -2
  88. package/core/.specialist/Huginn/rule.yaml +1 -1
  89. package/core/.specialist/tools/README.md +2 -2
  90. package/core/.specialist/tools/__tests__/freya-cli-contract.test.js +0 -1
  91. package/core/.system/collaboration/README.md +1 -1
  92. package/core/.system/formation/LEGACY_SKILLS.md +2 -0
  93. package/core/.system/formation/POST_COMPLETE.md +2 -0
  94. package/core/.system/formation/README.md +2 -0
  95. package/core/KENAZ_CORE_VERSION +1 -1
  96. package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +355 -355
  97. package/core/dev/JEV_INTEGRATION_PLAN.md +189 -189
  98. package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +13 -13
  99. package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +9 -9
  100. package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +14 -14
  101. package/core/dev/design/matrix_v2_EXAMPLE.matrix +67 -67
  102. package/core/dev/jev-eval/ACTIVE_CORRECTION.md +52 -52
  103. package/core/dev/jev-eval/CONTEXT_REVIEW.md +31 -31
  104. package/core/dev/jev-eval/EVALUATION_STATUS.md +39 -39
  105. package/core/dev/jev-eval/HISTORICAL_CORPUS.md +33 -33
  106. package/core/dev/jev-eval/README.md +99 -99
  107. package/core/dev/jev-eval/THALAMUS_RANKING.md +58 -58
  108. package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +32 -32
  109. package/core/dev/jev-eval/reports/context-review-2026-09-20.json +48 -48
  110. package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +52 -52
  111. package/core/dev/pipeline/SELF_ENHANCEMENT_STATUS.json.bak +47 -47
  112. package/core/dev/pipeline/tasks/.gitkeep +1 -1
  113. package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +27 -27
  114. package/core/dev/scripts/check-file-size.js +44 -17
  115. package/core/dev/scripts/init_git.sh +0 -0
  116. package/core/dev/scripts/init_project.sh +0 -0
  117. package/core/dev/scripts/legacy/dev_agent_scheduler.ps1.bak +536 -536
  118. package/core/dev/scripts/legacy/multi_agent_scheduler.ps1.bak +1978 -1978
  119. package/core/dev/scripts/matrix/src/cli/commands/list-tags.ts.wip +140 -140
  120. package/core/dev/scripts/matrix/src/cli/commands/manage-tags.ts.wip +173 -173
  121. package/core/dev/scripts/matrix/src/cli/commands/stats.ts.wip +168 -168
  122. package/core/dev/scripts/matrix/src/cli/commands/tokens.ts.wip +126 -126
  123. package/core/dev/scripts/multi_agent_scheduler.sh +0 -0
  124. package/core/dev/scripts/run_once.sh +0 -0
  125. package/core/dev/scripts/setup_mcp.sh +0 -0
  126. package/core/dev/scripts/setup_rag.sh +0 -0
  127. package/core/dev/scripts/start_dev_agent.sh +0 -0
  128. package/core/dev/scripts/start_multi_agent.sh +0 -0
  129. package/core/dev/scripts/sync_task_queue.sh +0 -0
  130. package/core/k-cli/README.md +1 -94
  131. package/core/k-cli/test/TEST_SPEC.md +5 -22
  132. package/core/k-cli/test/run.sh +1 -67
  133. package/core/plugins/kenaz/commands/Amelia.md +1 -1
  134. package/core/plugins/kenaz/commands/Ansuz.md +16 -3
  135. package/core/plugins/kenaz/scripts/kenaz-mode.js +11 -1
  136. package/core/plugins/kenaz/scripts/sync.js +6 -2
  137. package/core/plugins/kenaz/scripts/ygg.js +13 -1
  138. package/core/plugins/kenaz/skills/product_manager/SKILL.md +12 -12
  139. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/charts.csv +26 -26
  140. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/colors.csv +97 -97
  141. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/icons.csv +101 -101
  142. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/landing.csv +31 -31
  143. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/products.csv +96 -96
  144. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
  145. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  146. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  147. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  148. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  149. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  150. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  151. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  152. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
  153. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  154. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  155. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  156. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  157. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  158. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/styles.csv +68 -68
  159. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/typography.csv +57 -57
  160. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
  161. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
  162. package/core/plugins/kenaz/skills/ui-ux-pro-max/data/web-interface.csv +31 -31
  163. package/core/plugins/kenaz/skills/ui-ux-pro-max/scripts/core.py +253 -253
  164. package/core/plugins/kenaz/skills/ui-ux-pro-max/scripts/design_system.py +1067 -1067
  165. package/core/plugins/kenaz/skills/ui-ux-pro-max/scripts/search.py +106 -106
  166. package/lib/cli.js +11 -4
  167. package/package.json +11 -7
  168. package/vendor/install-kenaz-cli.js +18 -7
  169. package/core/.formation/legion/forge.yaml +0 -299
  170. package/core/.formation/legion/hive.yaml +0 -238
  171. package/core/.formation/squad/blitz.yaml +0 -192
  172. package/core/.formation/squad/strategy-tribunal.yaml +0 -354
  173. package/core/.formation/squad/strategy.yaml +0 -349
  174. package/core/.formation/squad/sweep.yaml +0 -208
  175. package/core/.formation/tools/broadcast.js +0 -103
  176. package/core/.formation/tools/dispatch-dryrun.test.js +0 -54
  177. package/core/.formation/tools/dispatch-notifier.js +0 -84
  178. package/core/.formation/tools/formations.js +0 -1203
  179. package/core/.formation/tools/headless-branch-recovery.test.js +0 -64
  180. package/core/.formation/tools/headless-dryrun.test.js +0 -79
  181. package/core/.formation/tools/headless-v2.js +0 -659
  182. package/core/.formation/tools/headless.js +0 -1071
  183. package/core/.formation/tools/legacy-scheduler.js +0 -1994
  184. package/core/.formation/tools/logger.js +0 -273
  185. package/core/.formation/tools/memory-loader.js +0 -422
  186. package/core/.formation/tools/process-state.js +0 -33
  187. package/core/.formation/tools/remote-conflict.js +0 -98
  188. package/core/.formation/tools/runner.js +0 -1332
  189. package/core/.formation/tools/task-utils.js +0 -344
  190. package/core/.formation/tools/task2028-headless-worktree.test.js +0 -112
  191. package/core/.formation/tools/tests/headless-mcp-args-plumbing.test.js +0 -123
  192. package/core/.formation/tools/worktree-leak.test.js +0 -162
  193. package/core/k-cli/dist/alaya/run.js +0 -91
  194. package/core/k-cli/dist/core/output.js +0 -24
  195. package/core/k-cli/dist/core/process.js +0 -38
  196. package/core/k-cli/dist/core/project.js +0 -80
  197. package/core/k-cli/dist/core/spawn.js +0 -268
  198. package/core/k-cli/dist/core/types.js +0 -2
  199. package/core/k-cli/dist/dashboard/update.js +0 -53
  200. package/core/k-cli/dist/dashboard/version.js +0 -20
  201. package/core/k-cli/dist/dispatch/run.js +0 -241
  202. package/core/k-cli/dist/dispatch/status.js +0 -103
  203. package/core/k-cli/dist/index.js +0 -283
  204. package/core/k-cli/dist/project/initialize.js +0 -301
  205. package/core/k-cli/dist/project/install.js +0 -89
  206. package/core/k-cli/dist/project/status.js +0 -138
  207. package/core/k-cli/dist/specialist/list.js +0 -100
  208. package/core/k-cli/dist/specialist/run.js +0 -93
  209. package/core/k-cli/dist/task/create.js +0 -194
  210. package/core/k-cli/dist/task/delete.js +0 -98
  211. package/core/k-cli/dist/task/get.js +0 -55
  212. package/core/k-cli/dist/task/list.js +0 -58
  213. package/core/k-cli/dist/task/submit.js +0 -156
  214. package/core/k-cli/dist/ygg/run.js +0 -51
  215. package/core/k-cli/node_modules/.bin/yaml +0 -16
  216. package/core/k-cli/node_modules/.bin/yaml.cmd +0 -17
  217. package/core/k-cli/node_modules/.bin/yaml.ps1 +0 -28
  218. package/core/k-cli/node_modules/.package-lock.json +0 -23
  219. package/core/k-cli/node_modules/yaml/LICENSE +0 -13
  220. package/core/k-cli/node_modules/yaml/README.md +0 -172
  221. package/core/k-cli/node_modules/yaml/bin.mjs +0 -11
  222. package/core/k-cli/node_modules/yaml/browser/dist/compose/compose-collection.js +0 -88
  223. package/core/k-cli/node_modules/yaml/browser/dist/compose/compose-doc.js +0 -43
  224. package/core/k-cli/node_modules/yaml/browser/dist/compose/compose-node.js +0 -109
  225. package/core/k-cli/node_modules/yaml/browser/dist/compose/compose-scalar.js +0 -86
  226. package/core/k-cli/node_modules/yaml/browser/dist/compose/composer.js +0 -217
  227. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-block-map.js +0 -115
  228. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +0 -198
  229. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +0 -49
  230. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-end.js +0 -37
  231. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +0 -207
  232. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +0 -223
  233. package/core/k-cli/node_modules/yaml/browser/dist/compose/resolve-props.js +0 -146
  234. package/core/k-cli/node_modules/yaml/browser/dist/compose/util-contains-newline.js +0 -34
  235. package/core/k-cli/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +0 -26
  236. package/core/k-cli/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +0 -15
  237. package/core/k-cli/node_modules/yaml/browser/dist/compose/util-map-includes.js +0 -13
  238. package/core/k-cli/node_modules/yaml/browser/dist/doc/Document.js +0 -335
  239. package/core/k-cli/node_modules/yaml/browser/dist/doc/anchors.js +0 -71
  240. package/core/k-cli/node_modules/yaml/browser/dist/doc/applyReviver.js +0 -55
  241. package/core/k-cli/node_modules/yaml/browser/dist/doc/createNode.js +0 -88
  242. package/core/k-cli/node_modules/yaml/browser/dist/doc/directives.js +0 -176
  243. package/core/k-cli/node_modules/yaml/browser/dist/errors.js +0 -57
  244. package/core/k-cli/node_modules/yaml/browser/dist/index.js +0 -17
  245. package/core/k-cli/node_modules/yaml/browser/dist/log.js +0 -11
  246. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Alias.js +0 -114
  247. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Collection.js +0 -147
  248. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Node.js +0 -38
  249. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Pair.js +0 -36
  250. package/core/k-cli/node_modules/yaml/browser/dist/nodes/Scalar.js +0 -24
  251. package/core/k-cli/node_modules/yaml/browser/dist/nodes/YAMLMap.js +0 -144
  252. package/core/k-cli/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +0 -113
  253. package/core/k-cli/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +0 -63
  254. package/core/k-cli/node_modules/yaml/browser/dist/nodes/identity.js +0 -36
  255. package/core/k-cli/node_modules/yaml/browser/dist/nodes/toJS.js +0 -37
  256. package/core/k-cli/node_modules/yaml/browser/dist/parse/cst-scalar.js +0 -214
  257. package/core/k-cli/node_modules/yaml/browser/dist/parse/cst-stringify.js +0 -61
  258. package/core/k-cli/node_modules/yaml/browser/dist/parse/cst-visit.js +0 -97
  259. package/core/k-cli/node_modules/yaml/browser/dist/parse/cst.js +0 -98
  260. package/core/k-cli/node_modules/yaml/browser/dist/parse/lexer.js +0 -717
  261. package/core/k-cli/node_modules/yaml/browser/dist/parse/line-counter.js +0 -39
  262. package/core/k-cli/node_modules/yaml/browser/dist/parse/parser.js +0 -967
  263. package/core/k-cli/node_modules/yaml/browser/dist/public-api.js +0 -102
  264. package/core/k-cli/node_modules/yaml/browser/dist/schema/Schema.js +0 -37
  265. package/core/k-cli/node_modules/yaml/browser/dist/schema/common/map.js +0 -17
  266. package/core/k-cli/node_modules/yaml/browser/dist/schema/common/null.js +0 -15
  267. package/core/k-cli/node_modules/yaml/browser/dist/schema/common/seq.js +0 -17
  268. package/core/k-cli/node_modules/yaml/browser/dist/schema/common/string.js +0 -14
  269. package/core/k-cli/node_modules/yaml/browser/dist/schema/core/bool.js +0 -19
  270. package/core/k-cli/node_modules/yaml/browser/dist/schema/core/float.js +0 -43
  271. package/core/k-cli/node_modules/yaml/browser/dist/schema/core/int.js +0 -38
  272. package/core/k-cli/node_modules/yaml/browser/dist/schema/core/schema.js +0 -23
  273. package/core/k-cli/node_modules/yaml/browser/dist/schema/json/schema.js +0 -62
  274. package/core/k-cli/node_modules/yaml/browser/dist/schema/tags.js +0 -96
  275. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +0 -58
  276. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +0 -26
  277. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +0 -46
  278. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +0 -71
  279. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +0 -64
  280. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +0 -74
  281. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +0 -78
  282. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +0 -39
  283. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +0 -93
  284. package/core/k-cli/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +0 -101
  285. package/core/k-cli/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +0 -146
  286. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringify.js +0 -129
  287. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +0 -153
  288. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyComment.js +0 -20
  289. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +0 -85
  290. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +0 -24
  291. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyPair.js +0 -150
  292. package/core/k-cli/node_modules/yaml/browser/dist/stringify/stringifyString.js +0 -336
  293. package/core/k-cli/node_modules/yaml/browser/dist/util.js +0 -11
  294. package/core/k-cli/node_modules/yaml/browser/dist/visit.js +0 -233
  295. package/core/k-cli/node_modules/yaml/browser/index.js +0 -5
  296. package/core/k-cli/node_modules/yaml/browser/package.json +0 -3
  297. package/core/k-cli/node_modules/yaml/dist/cli.d.ts +0 -8
  298. package/core/k-cli/node_modules/yaml/dist/cli.mjs +0 -201
  299. package/core/k-cli/node_modules/yaml/dist/compose/compose-collection.d.ts +0 -11
  300. package/core/k-cli/node_modules/yaml/dist/compose/compose-collection.js +0 -90
  301. package/core/k-cli/node_modules/yaml/dist/compose/compose-doc.d.ts +0 -7
  302. package/core/k-cli/node_modules/yaml/dist/compose/compose-doc.js +0 -45
  303. package/core/k-cli/node_modules/yaml/dist/compose/compose-node.d.ts +0 -29
  304. package/core/k-cli/node_modules/yaml/dist/compose/compose-node.js +0 -112
  305. package/core/k-cli/node_modules/yaml/dist/compose/compose-scalar.d.ts +0 -5
  306. package/core/k-cli/node_modules/yaml/dist/compose/compose-scalar.js +0 -88
  307. package/core/k-cli/node_modules/yaml/dist/compose/composer.d.ts +0 -63
  308. package/core/k-cli/node_modules/yaml/dist/compose/composer.js +0 -222
  309. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-map.d.ts +0 -6
  310. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-map.js +0 -117
  311. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +0 -11
  312. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-scalar.js +0 -200
  313. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +0 -6
  314. package/core/k-cli/node_modules/yaml/dist/compose/resolve-block-seq.js +0 -51
  315. package/core/k-cli/node_modules/yaml/dist/compose/resolve-end.d.ts +0 -6
  316. package/core/k-cli/node_modules/yaml/dist/compose/resolve-end.js +0 -39
  317. package/core/k-cli/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +0 -7
  318. package/core/k-cli/node_modules/yaml/dist/compose/resolve-flow-collection.js +0 -209
  319. package/core/k-cli/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +0 -10
  320. package/core/k-cli/node_modules/yaml/dist/compose/resolve-flow-scalar.js +0 -225
  321. package/core/k-cli/node_modules/yaml/dist/compose/resolve-props.d.ts +0 -23
  322. package/core/k-cli/node_modules/yaml/dist/compose/resolve-props.js +0 -148
  323. package/core/k-cli/node_modules/yaml/dist/compose/util-contains-newline.d.ts +0 -2
  324. package/core/k-cli/node_modules/yaml/dist/compose/util-contains-newline.js +0 -36
  325. package/core/k-cli/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +0 -2
  326. package/core/k-cli/node_modules/yaml/dist/compose/util-empty-scalar-position.js +0 -28
  327. package/core/k-cli/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +0 -3
  328. package/core/k-cli/node_modules/yaml/dist/compose/util-flow-indent-check.js +0 -17
  329. package/core/k-cli/node_modules/yaml/dist/compose/util-map-includes.d.ts +0 -4
  330. package/core/k-cli/node_modules/yaml/dist/compose/util-map-includes.js +0 -15
  331. package/core/k-cli/node_modules/yaml/dist/doc/Document.d.ts +0 -141
  332. package/core/k-cli/node_modules/yaml/dist/doc/Document.js +0 -337
  333. package/core/k-cli/node_modules/yaml/dist/doc/anchors.d.ts +0 -24
  334. package/core/k-cli/node_modules/yaml/dist/doc/anchors.js +0 -76
  335. package/core/k-cli/node_modules/yaml/dist/doc/applyReviver.d.ts +0 -9
  336. package/core/k-cli/node_modules/yaml/dist/doc/applyReviver.js +0 -57
  337. package/core/k-cli/node_modules/yaml/dist/doc/createNode.d.ts +0 -17
  338. package/core/k-cli/node_modules/yaml/dist/doc/createNode.js +0 -90
  339. package/core/k-cli/node_modules/yaml/dist/doc/directives.d.ts +0 -49
  340. package/core/k-cli/node_modules/yaml/dist/doc/directives.js +0 -178
  341. package/core/k-cli/node_modules/yaml/dist/errors.d.ts +0 -21
  342. package/core/k-cli/node_modules/yaml/dist/errors.js +0 -62
  343. package/core/k-cli/node_modules/yaml/dist/index.d.ts +0 -25
  344. package/core/k-cli/node_modules/yaml/dist/index.js +0 -50
  345. package/core/k-cli/node_modules/yaml/dist/log.d.ts +0 -3
  346. package/core/k-cli/node_modules/yaml/dist/log.js +0 -19
  347. package/core/k-cli/node_modules/yaml/dist/nodes/Alias.d.ts +0 -29
  348. package/core/k-cli/node_modules/yaml/dist/nodes/Alias.js +0 -116
  349. package/core/k-cli/node_modules/yaml/dist/nodes/Collection.d.ts +0 -73
  350. package/core/k-cli/node_modules/yaml/dist/nodes/Collection.js +0 -151
  351. package/core/k-cli/node_modules/yaml/dist/nodes/Node.d.ts +0 -53
  352. package/core/k-cli/node_modules/yaml/dist/nodes/Node.js +0 -40
  353. package/core/k-cli/node_modules/yaml/dist/nodes/Pair.d.ts +0 -22
  354. package/core/k-cli/node_modules/yaml/dist/nodes/Pair.js +0 -39
  355. package/core/k-cli/node_modules/yaml/dist/nodes/Scalar.d.ts +0 -43
  356. package/core/k-cli/node_modules/yaml/dist/nodes/Scalar.js +0 -27
  357. package/core/k-cli/node_modules/yaml/dist/nodes/YAMLMap.d.ts +0 -53
  358. package/core/k-cli/node_modules/yaml/dist/nodes/YAMLMap.js +0 -147
  359. package/core/k-cli/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +0 -60
  360. package/core/k-cli/node_modules/yaml/dist/nodes/YAMLSeq.js +0 -115
  361. package/core/k-cli/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +0 -4
  362. package/core/k-cli/node_modules/yaml/dist/nodes/addPairToJSMap.js +0 -65
  363. package/core/k-cli/node_modules/yaml/dist/nodes/identity.d.ts +0 -23
  364. package/core/k-cli/node_modules/yaml/dist/nodes/identity.js +0 -53
  365. package/core/k-cli/node_modules/yaml/dist/nodes/toJS.d.ts +0 -29
  366. package/core/k-cli/node_modules/yaml/dist/nodes/toJS.js +0 -39
  367. package/core/k-cli/node_modules/yaml/dist/options.d.ts +0 -350
  368. package/core/k-cli/node_modules/yaml/dist/parse/cst-scalar.d.ts +0 -64
  369. package/core/k-cli/node_modules/yaml/dist/parse/cst-scalar.js +0 -218
  370. package/core/k-cli/node_modules/yaml/dist/parse/cst-stringify.d.ts +0 -8
  371. package/core/k-cli/node_modules/yaml/dist/parse/cst-stringify.js +0 -63
  372. package/core/k-cli/node_modules/yaml/dist/parse/cst-visit.d.ts +0 -39
  373. package/core/k-cli/node_modules/yaml/dist/parse/cst-visit.js +0 -99
  374. package/core/k-cli/node_modules/yaml/dist/parse/cst.d.ts +0 -109
  375. package/core/k-cli/node_modules/yaml/dist/parse/cst.js +0 -112
  376. package/core/k-cli/node_modules/yaml/dist/parse/lexer.d.ts +0 -87
  377. package/core/k-cli/node_modules/yaml/dist/parse/lexer.js +0 -719
  378. package/core/k-cli/node_modules/yaml/dist/parse/line-counter.d.ts +0 -22
  379. package/core/k-cli/node_modules/yaml/dist/parse/line-counter.js +0 -41
  380. package/core/k-cli/node_modules/yaml/dist/parse/parser.d.ts +0 -84
  381. package/core/k-cli/node_modules/yaml/dist/parse/parser.js +0 -972
  382. package/core/k-cli/node_modules/yaml/dist/public-api.d.ts +0 -44
  383. package/core/k-cli/node_modules/yaml/dist/public-api.js +0 -107
  384. package/core/k-cli/node_modules/yaml/dist/schema/Schema.d.ts +0 -17
  385. package/core/k-cli/node_modules/yaml/dist/schema/Schema.js +0 -39
  386. package/core/k-cli/node_modules/yaml/dist/schema/common/map.d.ts +0 -2
  387. package/core/k-cli/node_modules/yaml/dist/schema/common/map.js +0 -19
  388. package/core/k-cli/node_modules/yaml/dist/schema/common/null.d.ts +0 -4
  389. package/core/k-cli/node_modules/yaml/dist/schema/common/null.js +0 -17
  390. package/core/k-cli/node_modules/yaml/dist/schema/common/seq.d.ts +0 -2
  391. package/core/k-cli/node_modules/yaml/dist/schema/common/seq.js +0 -19
  392. package/core/k-cli/node_modules/yaml/dist/schema/common/string.d.ts +0 -2
  393. package/core/k-cli/node_modules/yaml/dist/schema/common/string.js +0 -16
  394. package/core/k-cli/node_modules/yaml/dist/schema/core/bool.d.ts +0 -4
  395. package/core/k-cli/node_modules/yaml/dist/schema/core/bool.js +0 -21
  396. package/core/k-cli/node_modules/yaml/dist/schema/core/float.d.ts +0 -4
  397. package/core/k-cli/node_modules/yaml/dist/schema/core/float.js +0 -47
  398. package/core/k-cli/node_modules/yaml/dist/schema/core/int.d.ts +0 -4
  399. package/core/k-cli/node_modules/yaml/dist/schema/core/int.js +0 -42
  400. package/core/k-cli/node_modules/yaml/dist/schema/core/schema.d.ts +0 -1
  401. package/core/k-cli/node_modules/yaml/dist/schema/core/schema.js +0 -25
  402. package/core/k-cli/node_modules/yaml/dist/schema/json/schema.d.ts +0 -2
  403. package/core/k-cli/node_modules/yaml/dist/schema/json/schema.js +0 -64
  404. package/core/k-cli/node_modules/yaml/dist/schema/json-schema.d.ts +0 -69
  405. package/core/k-cli/node_modules/yaml/dist/schema/tags.d.ts +0 -48
  406. package/core/k-cli/node_modules/yaml/dist/schema/tags.js +0 -99
  407. package/core/k-cli/node_modules/yaml/dist/schema/types.d.ts +0 -92
  408. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +0 -2
  409. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/binary.js +0 -70
  410. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +0 -7
  411. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/bool.js +0 -29
  412. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +0 -4
  413. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/float.js +0 -50
  414. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +0 -5
  415. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/int.js +0 -76
  416. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +0 -9
  417. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/merge.js +0 -68
  418. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +0 -22
  419. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/omap.js +0 -77
  420. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +0 -10
  421. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +0 -82
  422. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +0 -1
  423. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/schema.js +0 -41
  424. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +0 -28
  425. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/set.js +0 -96
  426. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +0 -6
  427. package/core/k-cli/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +0 -105
  428. package/core/k-cli/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +0 -34
  429. package/core/k-cli/node_modules/yaml/dist/stringify/foldFlowLines.js +0 -151
  430. package/core/k-cli/node_modules/yaml/dist/stringify/stringify.d.ts +0 -21
  431. package/core/k-cli/node_modules/yaml/dist/stringify/stringify.js +0 -132
  432. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +0 -17
  433. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyCollection.js +0 -155
  434. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyComment.d.ts +0 -10
  435. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyComment.js +0 -24
  436. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +0 -4
  437. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyDocument.js +0 -87
  438. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +0 -2
  439. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyNumber.js +0 -26
  440. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyPair.d.ts +0 -3
  441. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyPair.js +0 -152
  442. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyString.d.ts +0 -9
  443. package/core/k-cli/node_modules/yaml/dist/stringify/stringifyString.js +0 -338
  444. package/core/k-cli/node_modules/yaml/dist/test-events.d.ts +0 -4
  445. package/core/k-cli/node_modules/yaml/dist/test-events.js +0 -134
  446. package/core/k-cli/node_modules/yaml/dist/util.d.ts +0 -16
  447. package/core/k-cli/node_modules/yaml/dist/util.js +0 -28
  448. package/core/k-cli/node_modules/yaml/dist/visit.d.ts +0 -102
  449. package/core/k-cli/node_modules/yaml/dist/visit.js +0 -236
  450. package/core/k-cli/node_modules/yaml/package.json +0 -97
  451. package/core/k-cli/node_modules/yaml/util.js +0 -2
@@ -1,209 +0,0 @@
1
- 'use strict';
2
-
3
- var identity = require('../nodes/identity.js');
4
- var Pair = require('../nodes/Pair.js');
5
- var YAMLMap = require('../nodes/YAMLMap.js');
6
- var YAMLSeq = require('../nodes/YAMLSeq.js');
7
- var resolveEnd = require('./resolve-end.js');
8
- var resolveProps = require('./resolve-props.js');
9
- var utilContainsNewline = require('./util-contains-newline.js');
10
- var utilMapIncludes = require('./util-map-includes.js');
11
-
12
- const blockMsg = 'Block collections are not allowed within flow collections';
13
- const isBlock = (token) => token && (token.type === 'block-map' || token.type === 'block-seq');
14
- function resolveFlowCollection({ composeNode, composeEmptyNode }, ctx, fc, onError, tag) {
15
- const isMap = fc.start.source === '{';
16
- const fcName = isMap ? 'flow map' : 'flow sequence';
17
- const NodeClass = (tag?.nodeClass ?? (isMap ? YAMLMap.YAMLMap : YAMLSeq.YAMLSeq));
18
- const coll = new NodeClass(ctx.schema);
19
- coll.flow = true;
20
- const atRoot = ctx.atRoot;
21
- if (atRoot)
22
- ctx.atRoot = false;
23
- if (ctx.atKey)
24
- ctx.atKey = false;
25
- let offset = fc.offset + fc.start.source.length;
26
- for (let i = 0; i < fc.items.length; ++i) {
27
- const collItem = fc.items[i];
28
- const { start, key, sep, value } = collItem;
29
- const props = resolveProps.resolveProps(start, {
30
- flow: fcName,
31
- indicator: 'explicit-key-ind',
32
- next: key ?? sep?.[0],
33
- offset,
34
- onError,
35
- parentIndent: fc.indent,
36
- startOnNewline: false
37
- });
38
- if (!props.found) {
39
- if (!props.anchor && !props.tag && !sep && !value) {
40
- if (i === 0 && props.comma)
41
- onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`);
42
- else if (i < fc.items.length - 1)
43
- onError(props.start, 'UNEXPECTED_TOKEN', `Unexpected empty item in ${fcName}`);
44
- if (props.comment) {
45
- if (coll.comment)
46
- coll.comment += '\n' + props.comment;
47
- else
48
- coll.comment = props.comment;
49
- }
50
- offset = props.end;
51
- continue;
52
- }
53
- if (!isMap && ctx.options.strict && utilContainsNewline.containsNewline(key))
54
- onError(key, // checked by containsNewline()
55
- 'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line');
56
- }
57
- if (i === 0) {
58
- if (props.comma)
59
- onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`);
60
- }
61
- else {
62
- if (!props.comma)
63
- onError(props.start, 'MISSING_CHAR', `Missing , between ${fcName} items`);
64
- if (props.comment) {
65
- let prevItemComment = '';
66
- loop: for (const st of start) {
67
- switch (st.type) {
68
- case 'comma':
69
- case 'space':
70
- break;
71
- case 'comment':
72
- prevItemComment = st.source.substring(1);
73
- break loop;
74
- default:
75
- break loop;
76
- }
77
- }
78
- if (prevItemComment) {
79
- let prev = coll.items[coll.items.length - 1];
80
- if (identity.isPair(prev))
81
- prev = prev.value ?? prev.key;
82
- if (prev.comment)
83
- prev.comment += '\n' + prevItemComment;
84
- else
85
- prev.comment = prevItemComment;
86
- props.comment = props.comment.substring(prevItemComment.length + 1);
87
- }
88
- }
89
- }
90
- if (!isMap && !sep && !props.found) {
91
- // item is a value in a seq
92
- // → key & sep are empty, start does not include ? or :
93
- const valueNode = value
94
- ? composeNode(ctx, value, props, onError)
95
- : composeEmptyNode(ctx, props.end, sep, null, props, onError);
96
- coll.items.push(valueNode);
97
- offset = valueNode.range[2];
98
- if (isBlock(value))
99
- onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg);
100
- }
101
- else {
102
- // item is a key+value pair
103
- // key value
104
- ctx.atKey = true;
105
- const keyStart = props.end;
106
- const keyNode = key
107
- ? composeNode(ctx, key, props, onError)
108
- : composeEmptyNode(ctx, keyStart, start, null, props, onError);
109
- if (isBlock(key))
110
- onError(keyNode.range, 'BLOCK_IN_FLOW', blockMsg);
111
- ctx.atKey = false;
112
- // value properties
113
- const valueProps = resolveProps.resolveProps(sep ?? [], {
114
- flow: fcName,
115
- indicator: 'map-value-ind',
116
- next: value,
117
- offset: keyNode.range[2],
118
- onError,
119
- parentIndent: fc.indent,
120
- startOnNewline: false
121
- });
122
- if (valueProps.found) {
123
- if (!isMap && !props.found && ctx.options.strict) {
124
- if (sep)
125
- for (const st of sep) {
126
- if (st === valueProps.found)
127
- break;
128
- if (st.type === 'newline') {
129
- onError(st, 'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line');
130
- break;
131
- }
132
- }
133
- if (props.start < valueProps.found.offset - 1024)
134
- onError(valueProps.found, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit flow sequence key');
135
- }
136
- }
137
- else if (value) {
138
- if ('source' in value && value.source?.[0] === ':')
139
- onError(value, 'MISSING_CHAR', `Missing space after : in ${fcName}`);
140
- else
141
- onError(valueProps.start, 'MISSING_CHAR', `Missing , or : between ${fcName} items`);
142
- }
143
- // value value
144
- const valueNode = value
145
- ? composeNode(ctx, value, valueProps, onError)
146
- : valueProps.found
147
- ? composeEmptyNode(ctx, valueProps.end, sep, null, valueProps, onError)
148
- : null;
149
- if (valueNode) {
150
- if (isBlock(value))
151
- onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg);
152
- }
153
- else if (valueProps.comment) {
154
- if (keyNode.comment)
155
- keyNode.comment += '\n' + valueProps.comment;
156
- else
157
- keyNode.comment = valueProps.comment;
158
- }
159
- const pair = new Pair.Pair(keyNode, valueNode);
160
- if (ctx.options.keepSourceTokens)
161
- pair.srcToken = collItem;
162
- if (isMap) {
163
- const map = coll;
164
- if (utilMapIncludes.mapIncludes(ctx, map.items, keyNode))
165
- onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
166
- map.items.push(pair);
167
- }
168
- else {
169
- const map = new YAMLMap.YAMLMap(ctx.schema);
170
- map.flow = true;
171
- map.items.push(pair);
172
- const endRange = (valueNode ?? keyNode).range;
173
- map.range = [keyNode.range[0], endRange[1], endRange[2]];
174
- coll.items.push(map);
175
- }
176
- offset = valueNode ? valueNode.range[2] : valueProps.end;
177
- }
178
- }
179
- const expectedEnd = isMap ? '}' : ']';
180
- const [ce, ...ee] = fc.end;
181
- let cePos = offset;
182
- if (ce?.source === expectedEnd)
183
- cePos = ce.offset + ce.source.length;
184
- else {
185
- const name = fcName[0].toUpperCase() + fcName.substring(1);
186
- const msg = atRoot
187
- ? `${name} must end with a ${expectedEnd}`
188
- : `${name} in block collection must be sufficiently indented and end with a ${expectedEnd}`;
189
- onError(offset, atRoot ? 'MISSING_CHAR' : 'BAD_INDENT', msg);
190
- if (ce && ce.source.length !== 1)
191
- ee.unshift(ce);
192
- }
193
- if (ee.length > 0) {
194
- const end = resolveEnd.resolveEnd(ee, cePos, ctx.options.strict, onError);
195
- if (end.comment) {
196
- if (coll.comment)
197
- coll.comment += '\n' + end.comment;
198
- else
199
- coll.comment = end.comment;
200
- }
201
- coll.range = [fc.offset, cePos, end.offset];
202
- }
203
- else {
204
- coll.range = [fc.offset, cePos, cePos];
205
- }
206
- return coll;
207
- }
208
-
209
- exports.resolveFlowCollection = resolveFlowCollection;
@@ -1,10 +0,0 @@
1
- import type { Range } from '../nodes/Node';
2
- import { Scalar } from '../nodes/Scalar';
3
- import type { FlowScalar } from '../parse/cst';
4
- import type { ComposeErrorHandler } from './composer';
5
- export declare function resolveFlowScalar(scalar: FlowScalar, strict: boolean, onError: ComposeErrorHandler): {
6
- value: string;
7
- type: Scalar.PLAIN | Scalar.QUOTE_DOUBLE | Scalar.QUOTE_SINGLE | null;
8
- comment: string;
9
- range: Range;
10
- };
@@ -1,225 +0,0 @@
1
- 'use strict';
2
-
3
- var Scalar = require('../nodes/Scalar.js');
4
- var resolveEnd = require('./resolve-end.js');
5
-
6
- function resolveFlowScalar(scalar, strict, onError) {
7
- const { offset, type, source, end } = scalar;
8
- let _type;
9
- let value;
10
- const _onError = (rel, code, msg) => onError(offset + rel, code, msg);
11
- switch (type) {
12
- case 'scalar':
13
- _type = Scalar.Scalar.PLAIN;
14
- value = plainValue(source, _onError);
15
- break;
16
- case 'single-quoted-scalar':
17
- _type = Scalar.Scalar.QUOTE_SINGLE;
18
- value = singleQuotedValue(source, _onError);
19
- break;
20
- case 'double-quoted-scalar':
21
- _type = Scalar.Scalar.QUOTE_DOUBLE;
22
- value = doubleQuotedValue(source, _onError);
23
- break;
24
- /* istanbul ignore next should not happen */
25
- default:
26
- onError(scalar, 'UNEXPECTED_TOKEN', `Expected a flow scalar value, but found: ${type}`);
27
- return {
28
- value: '',
29
- type: null,
30
- comment: '',
31
- range: [offset, offset + source.length, offset + source.length]
32
- };
33
- }
34
- const valueEnd = offset + source.length;
35
- const re = resolveEnd.resolveEnd(end, valueEnd, strict, onError);
36
- return {
37
- value,
38
- type: _type,
39
- comment: re.comment,
40
- range: [offset, valueEnd, re.offset]
41
- };
42
- }
43
- function plainValue(source, onError) {
44
- let badChar = '';
45
- switch (source[0]) {
46
- /* istanbul ignore next should not happen */
47
- case '\t':
48
- badChar = 'a tab character';
49
- break;
50
- case ',':
51
- badChar = 'flow indicator character ,';
52
- break;
53
- case '%':
54
- badChar = 'directive indicator character %';
55
- break;
56
- case '|':
57
- case '>': {
58
- badChar = `block scalar indicator ${source[0]}`;
59
- break;
60
- }
61
- case '@':
62
- case '`': {
63
- badChar = `reserved character ${source[0]}`;
64
- break;
65
- }
66
- }
67
- if (badChar)
68
- onError(0, 'BAD_SCALAR_START', `Plain value cannot start with ${badChar}`);
69
- return foldLines(source);
70
- }
71
- function singleQuotedValue(source, onError) {
72
- if (source[source.length - 1] !== "'" || source.length === 1)
73
- onError(source.length, 'MISSING_CHAR', "Missing closing 'quote");
74
- return foldLines(source.slice(1, -1)).replace(/''/g, "'");
75
- }
76
- function foldLines(source) {
77
- /**
78
- * The negative lookbehind here and in the `re` RegExp is to
79
- * prevent causing a polynomial search time in certain cases.
80
- *
81
- * The try-catch is for Safari, which doesn't support this yet:
82
- * https://caniuse.com/js-regexp-lookbehind
83
- */
84
- let first, line;
85
- try {
86
- first = new RegExp('(.*?)(?<![ \t])[ \t]*\r?\n', 'sy');
87
- line = new RegExp('[ \t]*(.*?)(?:(?<![ \t])[ \t]*)?\r?\n', 'sy');
88
- }
89
- catch {
90
- first = /(.*?)[ \t]*\r?\n/sy;
91
- line = /[ \t]*(.*?)[ \t]*\r?\n/sy;
92
- }
93
- let match = first.exec(source);
94
- if (!match)
95
- return source;
96
- let res = match[1];
97
- let sep = ' ';
98
- let pos = first.lastIndex;
99
- line.lastIndex = pos;
100
- while ((match = line.exec(source))) {
101
- if (match[1] === '') {
102
- if (sep === '\n')
103
- res += sep;
104
- else
105
- sep = '\n';
106
- }
107
- else {
108
- res += sep + match[1];
109
- sep = ' ';
110
- }
111
- pos = line.lastIndex;
112
- }
113
- const last = /[ \t]*(.*)/sy;
114
- last.lastIndex = pos;
115
- match = last.exec(source);
116
- return res + sep + (match?.[1] ?? '');
117
- }
118
- function doubleQuotedValue(source, onError) {
119
- let res = '';
120
- for (let i = 1; i < source.length - 1; ++i) {
121
- const ch = source[i];
122
- if (ch === '\r' && source[i + 1] === '\n')
123
- continue;
124
- if (ch === '\n') {
125
- const { fold, offset } = foldNewline(source, i);
126
- res += fold;
127
- i = offset;
128
- }
129
- else if (ch === '\\') {
130
- let next = source[++i];
131
- const cc = escapeCodes[next];
132
- if (cc)
133
- res += cc;
134
- else if (next === '\n') {
135
- // skip escaped newlines, but still trim the following line
136
- next = source[i + 1];
137
- while (next === ' ' || next === '\t')
138
- next = source[++i + 1];
139
- }
140
- else if (next === '\r' && source[i + 1] === '\n') {
141
- // skip escaped CRLF newlines, but still trim the following line
142
- next = source[++i + 1];
143
- while (next === ' ' || next === '\t')
144
- next = source[++i + 1];
145
- }
146
- else if (next === 'x' || next === 'u' || next === 'U') {
147
- const length = { x: 2, u: 4, U: 8 }[next];
148
- res += parseCharCode(source, i + 1, length, onError);
149
- i += length;
150
- }
151
- else {
152
- const raw = source.substr(i - 1, 2);
153
- onError(i - 1, 'BAD_DQ_ESCAPE', `Invalid escape sequence ${raw}`);
154
- res += raw;
155
- }
156
- }
157
- else if (ch === ' ' || ch === '\t') {
158
- // trim trailing whitespace
159
- const wsStart = i;
160
- let next = source[i + 1];
161
- while (next === ' ' || next === '\t')
162
- next = source[++i + 1];
163
- if (next !== '\n' && !(next === '\r' && source[i + 2] === '\n'))
164
- res += i > wsStart ? source.slice(wsStart, i + 1) : ch;
165
- }
166
- else {
167
- res += ch;
168
- }
169
- }
170
- if (source[source.length - 1] !== '"' || source.length === 1)
171
- onError(source.length, 'MISSING_CHAR', 'Missing closing "quote');
172
- return res;
173
- }
174
- /**
175
- * Fold a single newline into a space, multiple newlines to N - 1 newlines.
176
- * Presumes `source[offset] === '\n'`
177
- */
178
- function foldNewline(source, offset) {
179
- let fold = '';
180
- let ch = source[offset + 1];
181
- while (ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r') {
182
- if (ch === '\r' && source[offset + 2] !== '\n')
183
- break;
184
- if (ch === '\n')
185
- fold += '\n';
186
- offset += 1;
187
- ch = source[offset + 1];
188
- }
189
- if (!fold)
190
- fold = ' ';
191
- return { fold, offset };
192
- }
193
- const escapeCodes = {
194
- '0': '\0', // null character
195
- a: '\x07', // bell character
196
- b: '\b', // backspace
197
- e: '\x1b', // escape character
198
- f: '\f', // form feed
199
- n: '\n', // line feed
200
- r: '\r', // carriage return
201
- t: '\t', // horizontal tab
202
- v: '\v', // vertical tab
203
- N: '\u0085', // Unicode next line
204
- _: '\u00a0', // Unicode non-breaking space
205
- L: '\u2028', // Unicode line separator
206
- P: '\u2029', // Unicode paragraph separator
207
- ' ': ' ',
208
- '"': '"',
209
- '/': '/',
210
- '\\': '\\',
211
- '\t': '\t'
212
- };
213
- function parseCharCode(source, offset, length, onError) {
214
- const cc = source.substr(offset, length);
215
- const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);
216
- const code = ok ? parseInt(cc, 16) : NaN;
217
- if (isNaN(code)) {
218
- const raw = source.substr(offset - 2, length + 2);
219
- onError(offset - 2, 'BAD_DQ_ESCAPE', `Invalid escape sequence ${raw}`);
220
- return raw;
221
- }
222
- return String.fromCodePoint(code);
223
- }
224
-
225
- exports.resolveFlowScalar = resolveFlowScalar;
@@ -1,23 +0,0 @@
1
- import type { SourceToken, Token } from '../parse/cst';
2
- import type { ComposeErrorHandler } from './composer';
3
- export interface ResolvePropsArg {
4
- flow?: 'flow map' | 'flow sequence';
5
- indicator: 'doc-start' | 'explicit-key-ind' | 'map-value-ind' | 'seq-item-ind';
6
- next: Token | null | undefined;
7
- offset: number;
8
- onError: ComposeErrorHandler;
9
- parentIndent: number;
10
- startOnNewline: boolean;
11
- }
12
- export declare function resolveProps(tokens: SourceToken[], { flow, indicator, next, offset, onError, parentIndent, startOnNewline }: ResolvePropsArg): {
13
- comma: SourceToken | null;
14
- found: SourceToken | null;
15
- spaceBefore: boolean;
16
- comment: string;
17
- hasNewline: boolean;
18
- anchor: SourceToken | null;
19
- tag: SourceToken | null;
20
- newlineAfterProp: SourceToken | null;
21
- end: number;
22
- start: number;
23
- };
@@ -1,148 +0,0 @@
1
- 'use strict';
2
-
3
- function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
4
- let spaceBefore = false;
5
- let atNewline = startOnNewline;
6
- let hasSpace = startOnNewline;
7
- let comment = '';
8
- let commentSep = '';
9
- let hasNewline = false;
10
- let reqSpace = false;
11
- let tab = null;
12
- let anchor = null;
13
- let tag = null;
14
- let newlineAfterProp = null;
15
- let comma = null;
16
- let found = null;
17
- let start = null;
18
- for (const token of tokens) {
19
- if (reqSpace) {
20
- if (token.type !== 'space' &&
21
- token.type !== 'newline' &&
22
- token.type !== 'comma')
23
- onError(token.offset, 'MISSING_CHAR', 'Tags and anchors must be separated from the next token by white space');
24
- reqSpace = false;
25
- }
26
- if (tab) {
27
- if (atNewline && token.type !== 'comment' && token.type !== 'newline') {
28
- onError(tab, 'TAB_AS_INDENT', 'Tabs are not allowed as indentation');
29
- }
30
- tab = null;
31
- }
32
- switch (token.type) {
33
- case 'space':
34
- // At the doc level, tabs at line start may be parsed
35
- // as leading white space rather than indentation.
36
- // In a flow collection, only the parser handles indent.
37
- if (!flow &&
38
- (indicator !== 'doc-start' || next?.type !== 'flow-collection') &&
39
- token.source.includes('\t')) {
40
- tab = token;
41
- }
42
- hasSpace = true;
43
- break;
44
- case 'comment': {
45
- if (!hasSpace)
46
- onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters');
47
- const cb = token.source.substring(1) || ' ';
48
- if (!comment)
49
- comment = cb;
50
- else
51
- comment += commentSep + cb;
52
- commentSep = '';
53
- atNewline = false;
54
- break;
55
- }
56
- case 'newline':
57
- if (atNewline) {
58
- if (comment)
59
- comment += token.source;
60
- else if (!found || indicator !== 'seq-item-ind')
61
- spaceBefore = true;
62
- }
63
- else
64
- commentSep += token.source;
65
- atNewline = true;
66
- hasNewline = true;
67
- if (anchor || tag)
68
- newlineAfterProp = token;
69
- hasSpace = true;
70
- break;
71
- case 'anchor':
72
- if (anchor)
73
- onError(token, 'MULTIPLE_ANCHORS', 'A node can have at most one anchor');
74
- if (token.source.endsWith(':'))
75
- onError(token.offset + token.source.length - 1, 'BAD_ALIAS', 'Anchor ending in : is ambiguous', true);
76
- anchor = token;
77
- start ?? (start = token.offset);
78
- atNewline = false;
79
- hasSpace = false;
80
- reqSpace = true;
81
- break;
82
- case 'tag': {
83
- if (tag)
84
- onError(token, 'MULTIPLE_TAGS', 'A node can have at most one tag');
85
- tag = token;
86
- start ?? (start = token.offset);
87
- atNewline = false;
88
- hasSpace = false;
89
- reqSpace = true;
90
- break;
91
- }
92
- case indicator:
93
- // Could here handle preceding comments differently
94
- if (anchor || tag)
95
- onError(token, 'BAD_PROP_ORDER', `Anchors and tags must be after the ${token.source} indicator`);
96
- if (found)
97
- onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${token.source} in ${flow ?? 'collection'}`);
98
- found = token;
99
- atNewline =
100
- indicator === 'seq-item-ind' || indicator === 'explicit-key-ind';
101
- hasSpace = false;
102
- break;
103
- case 'comma':
104
- if (flow) {
105
- if (comma)
106
- onError(token, 'UNEXPECTED_TOKEN', `Unexpected , in ${flow}`);
107
- comma = token;
108
- atNewline = false;
109
- hasSpace = false;
110
- break;
111
- }
112
- // else fallthrough
113
- default:
114
- onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${token.type} token`);
115
- atNewline = false;
116
- hasSpace = false;
117
- }
118
- }
119
- const last = tokens[tokens.length - 1];
120
- const end = last ? last.offset + last.source.length : offset;
121
- if (reqSpace &&
122
- next &&
123
- next.type !== 'space' &&
124
- next.type !== 'newline' &&
125
- next.type !== 'comma' &&
126
- (next.type !== 'scalar' || next.source !== '')) {
127
- onError(next.offset, 'MISSING_CHAR', 'Tags and anchors must be separated from the next token by white space');
128
- }
129
- if (tab &&
130
- ((atNewline && tab.indent <= parentIndent) ||
131
- next?.type === 'block-map' ||
132
- next?.type === 'block-seq'))
133
- onError(tab, 'TAB_AS_INDENT', 'Tabs are not allowed as indentation');
134
- return {
135
- comma,
136
- found,
137
- spaceBefore,
138
- comment,
139
- hasNewline,
140
- anchor,
141
- tag,
142
- newlineAfterProp,
143
- end,
144
- start: start ?? end
145
- };
146
- }
147
-
148
- exports.resolveProps = resolveProps;
@@ -1,2 +0,0 @@
1
- import type { Token } from '../parse/cst';
2
- export declare function containsNewline(key: Token | null | undefined): boolean | null;
@@ -1,36 +0,0 @@
1
- 'use strict';
2
-
3
- function containsNewline(key) {
4
- if (!key)
5
- return null;
6
- switch (key.type) {
7
- case 'alias':
8
- case 'scalar':
9
- case 'double-quoted-scalar':
10
- case 'single-quoted-scalar':
11
- if (key.source.includes('\n'))
12
- return true;
13
- if (key.end)
14
- for (const st of key.end)
15
- if (st.type === 'newline')
16
- return true;
17
- return false;
18
- case 'flow-collection':
19
- for (const it of key.items) {
20
- for (const st of it.start)
21
- if (st.type === 'newline')
22
- return true;
23
- if (it.sep)
24
- for (const st of it.sep)
25
- if (st.type === 'newline')
26
- return true;
27
- if (containsNewline(it.key) || containsNewline(it.value))
28
- return true;
29
- }
30
- return false;
31
- default:
32
- return true;
33
- }
34
- }
35
-
36
- exports.containsNewline = containsNewline;
@@ -1,2 +0,0 @@
1
- import type { Token } from '../parse/cst';
2
- export declare function emptyScalarPosition(offset: number, before: Token[] | undefined, pos: number | null): number;