@code-yeongyu/senpi 2026.7.10 → 2026.7.13

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 (547) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +4 -2
  3. package/dist/core/agent-session.d.ts +9 -0
  4. package/dist/core/agent-session.d.ts.map +1 -1
  5. package/dist/core/agent-session.js +56 -15
  6. package/dist/core/agent-session.js.map +1 -1
  7. package/dist/core/extensions/builtin/bash-timeout/timeout.js +2 -2
  8. package/dist/core/extensions/builtin/bash-timeout/timeout.js.map +1 -1
  9. package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
  10. package/dist/core/extensions/builtin/compaction/index.js +10 -1
  11. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  12. package/dist/core/extensions/builtin/goal/store.d.ts.map +1 -1
  13. package/dist/core/extensions/builtin/goal/store.js +88 -3
  14. package/dist/core/extensions/builtin/goal/store.js.map +1 -1
  15. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.d.ts +3 -0
  16. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.d.ts.map +1 -0
  17. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js +134 -0
  18. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js.map +1 -0
  19. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  20. package/dist/core/extensions/builtin/prompt-preset/presets.js +6 -0
  21. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  22. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  23. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  24. package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
  25. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  26. package/dist/core/extensions/builtin/terminal/notify.d.ts +3 -3
  27. package/dist/core/extensions/builtin/terminal/notify.d.ts.map +1 -1
  28. package/dist/core/extensions/builtin/terminal/notify.js +7 -4
  29. package/dist/core/extensions/builtin/terminal/notify.js.map +1 -1
  30. package/dist/core/extensions/builtin/terminal/runtime-session.d.ts +5 -3
  31. package/dist/core/extensions/builtin/terminal/runtime-session.d.ts.map +1 -1
  32. package/dist/core/extensions/builtin/terminal/runtime-session.js +32 -16
  33. package/dist/core/extensions/builtin/terminal/runtime-session.js.map +1 -1
  34. package/dist/core/extensions/builtin/terminal/tools/bash-output.d.ts +1 -1
  35. package/dist/core/extensions/builtin/terminal/tools/bash-output.d.ts.map +1 -1
  36. package/dist/core/extensions/builtin/terminal/tools/bash-output.js +10 -4
  37. package/dist/core/extensions/builtin/terminal/tools/bash-output.js.map +1 -1
  38. package/dist/core/extensions/builtin/todotools/tools/todowrite.d.ts.map +1 -1
  39. package/dist/core/extensions/builtin/todotools/tools/todowrite.js +5 -8
  40. package/dist/core/extensions/builtin/todotools/tools/todowrite.js.map +1 -1
  41. package/dist/core/extensions/runner.d.ts +1 -0
  42. package/dist/core/extensions/runner.d.ts.map +1 -1
  43. package/dist/core/extensions/runner.js +5 -0
  44. package/dist/core/extensions/runner.js.map +1 -1
  45. package/dist/core/extensions/types.d.ts +5 -8
  46. package/dist/core/extensions/types.d.ts.map +1 -1
  47. package/dist/core/extensions/types.js.map +1 -1
  48. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  49. package/dist/core/extensions/wrapper.js +22 -3
  50. package/dist/core/extensions/wrapper.js.map +1 -1
  51. package/dist/core/keybindings.d.ts +8 -3
  52. package/dist/core/keybindings.d.ts.map +1 -1
  53. package/dist/core/keybindings.js +7 -3
  54. package/dist/core/keybindings.js.map +1 -1
  55. package/dist/core/model-registry.d.ts +1 -6
  56. package/dist/core/model-registry.d.ts.map +1 -1
  57. package/dist/core/model-registry.js +19 -6
  58. package/dist/core/model-registry.js.map +1 -1
  59. package/dist/core/resource-loader.d.ts +1 -0
  60. package/dist/core/resource-loader.d.ts.map +1 -1
  61. package/dist/core/resource-loader.js +20 -2
  62. package/dist/core/resource-loader.js.map +1 -1
  63. package/dist/core/settings-manager.d.ts +4 -3
  64. package/dist/core/settings-manager.d.ts.map +1 -1
  65. package/dist/core/settings-manager.js +2 -1
  66. package/dist/core/settings-manager.js.map +1 -1
  67. package/dist/index.d.ts +1 -0
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +1 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/modes/interactive/compaction-queue-transfer.d.ts +22 -0
  72. package/dist/modes/interactive/compaction-queue-transfer.d.ts.map +1 -0
  73. package/dist/modes/interactive/compaction-queue-transfer.js +82 -0
  74. package/dist/modes/interactive/compaction-queue-transfer.js.map +1 -0
  75. package/dist/modes/interactive/components/custom-editor.js +1 -1
  76. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  77. package/dist/modes/interactive/components/login-dialog.d.ts +4 -0
  78. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  79. package/dist/modes/interactive/components/login-dialog.js +9 -2
  80. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  81. package/dist/modes/interactive/components/settings-selector.js +1 -1
  82. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  83. package/dist/modes/interactive/components/thinking-selector.js +1 -1
  84. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  85. package/dist/modes/interactive/components/tool-execution-fallback.d.ts +6 -0
  86. package/dist/modes/interactive/components/tool-execution-fallback.d.ts.map +1 -0
  87. package/dist/modes/interactive/components/tool-execution-fallback.js +40 -0
  88. package/dist/modes/interactive/components/tool-execution-fallback.js.map +1 -0
  89. package/dist/modes/interactive/components/tool-execution-images.d.ts +23 -0
  90. package/dist/modes/interactive/components/tool-execution-images.d.ts.map +1 -0
  91. package/dist/modes/interactive/components/tool-execution-images.js +104 -0
  92. package/dist/modes/interactive/components/tool-execution-images.js.map +1 -0
  93. package/dist/modes/interactive/components/tool-execution-renderer.d.ts +28 -0
  94. package/dist/modes/interactive/components/tool-execution-renderer.d.ts.map +1 -0
  95. package/dist/modes/interactive/components/tool-execution-renderer.js +135 -0
  96. package/dist/modes/interactive/components/tool-execution-renderer.js.map +1 -0
  97. package/dist/modes/interactive/components/tool-execution-types.d.ts +23 -0
  98. package/dist/modes/interactive/components/tool-execution-types.d.ts.map +1 -0
  99. package/dist/modes/interactive/components/tool-execution-types.js +2 -0
  100. package/dist/modes/interactive/components/tool-execution-types.js.map +1 -0
  101. package/dist/modes/interactive/components/tool-execution.d.ts +13 -39
  102. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  103. package/dist/modes/interactive/components/tool-execution.js +51 -294
  104. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  105. package/dist/modes/interactive/components/tool-renderer-boundary.d.ts +17 -0
  106. package/dist/modes/interactive/components/tool-renderer-boundary.d.ts.map +1 -0
  107. package/dist/modes/interactive/components/tool-renderer-boundary.js +75 -0
  108. package/dist/modes/interactive/components/tool-renderer-boundary.js.map +1 -0
  109. package/dist/modes/interactive/components/tree-selector.d.ts +5 -0
  110. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  111. package/dist/modes/interactive/components/tree-selector.js +50 -17
  112. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  113. package/dist/modes/interactive/interactive-mode.d.ts +5 -2
  114. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  115. package/dist/modes/interactive/interactive-mode.js +127 -109
  116. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  117. package/dist/modes/interactive/theme/dark.json +1 -0
  118. package/dist/modes/interactive/theme/light.json +1 -0
  119. package/dist/modes/interactive/theme/theme-schema.json +6 -2
  120. package/dist/modes/interactive/theme/theme.d.ts +3 -2
  121. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  122. package/dist/modes/interactive/theme/theme.js +11 -4
  123. package/dist/modes/interactive/theme/theme.js.map +1 -1
  124. package/dist/utils/clipboard-native.d.ts +1 -0
  125. package/dist/utils/clipboard-native.d.ts.map +1 -1
  126. package/dist/utils/clipboard-native.js.map +1 -1
  127. package/dist/utils/clipboard.d.ts +2 -0
  128. package/dist/utils/clipboard.d.ts.map +1 -1
  129. package/dist/utils/clipboard.js +13 -0
  130. package/dist/utils/clipboard.js.map +1 -1
  131. package/docs/custom-provider.md +4 -3
  132. package/docs/extensions.md +140 -1
  133. package/docs/keybindings.md +1 -0
  134. package/docs/models.md +45 -4
  135. package/docs/providers.md +3 -0
  136. package/docs/quickstart.md +1 -1
  137. package/docs/rpc.md +2 -2
  138. package/docs/sdk.md +1 -1
  139. package/docs/settings.md +3 -3
  140. package/docs/themes.md +5 -3
  141. package/docs/tui.md +1 -1
  142. package/docs/usage.md +2 -1
  143. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  144. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  145. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  146. package/examples/extensions/gondolin/package-lock.json +2 -2
  147. package/examples/extensions/gondolin/package.json +1 -1
  148. package/examples/extensions/sandbox/package-lock.json +2 -2
  149. package/examples/extensions/sandbox/package.json +1 -1
  150. package/examples/extensions/with-deps/package-lock.json +2 -2
  151. package/examples/extensions/with-deps/package.json +1 -1
  152. package/node_modules/@babel/helper-string-parser/LICENSE +22 -0
  153. package/node_modules/@babel/helper-string-parser/README.md +19 -0
  154. package/node_modules/@babel/helper-string-parser/lib/index.js +295 -0
  155. package/node_modules/@babel/helper-string-parser/lib/index.js.map +1 -0
  156. package/node_modules/@babel/helper-string-parser/package.json +31 -0
  157. package/node_modules/@babel/helper-validator-identifier/LICENSE +22 -0
  158. package/node_modules/@babel/helper-validator-identifier/README.md +19 -0
  159. package/node_modules/@babel/helper-validator-identifier/lib/identifier.js +70 -0
  160. package/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +1 -0
  161. package/node_modules/@babel/helper-validator-identifier/lib/index.js +57 -0
  162. package/node_modules/@babel/helper-validator-identifier/lib/index.js.map +1 -0
  163. package/node_modules/@babel/helper-validator-identifier/lib/keyword.js +35 -0
  164. package/node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +1 -0
  165. package/node_modules/@babel/helper-validator-identifier/package.json +31 -0
  166. package/node_modules/@babel/parser/LICENSE +19 -0
  167. package/node_modules/@babel/parser/README.md +19 -0
  168. package/node_modules/@babel/parser/bin/babel-parser.js +15 -0
  169. package/node_modules/@babel/parser/lib/index.js +14599 -0
  170. package/node_modules/@babel/parser/lib/index.js.map +1 -0
  171. package/node_modules/@babel/parser/package.json +50 -0
  172. package/node_modules/@babel/parser/typings/babel-parser.d.ts +262 -0
  173. package/node_modules/@babel/types/LICENSE +22 -0
  174. package/node_modules/@babel/types/README.md +19 -0
  175. package/node_modules/@babel/types/lib/asserts/assertNode.js +16 -0
  176. package/node_modules/@babel/types/lib/asserts/assertNode.js.map +1 -0
  177. package/node_modules/@babel/types/lib/asserts/generated/index.js +1251 -0
  178. package/node_modules/@babel/types/lib/asserts/generated/index.js.map +1 -0
  179. package/node_modules/@babel/types/lib/ast-types/generated/index.js +3 -0
  180. package/node_modules/@babel/types/lib/ast-types/generated/index.js.map +1 -0
  181. package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +18 -0
  182. package/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +1 -0
  183. package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +31 -0
  184. package/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +1 -0
  185. package/node_modules/@babel/types/lib/builders/generated/index.js +29 -0
  186. package/node_modules/@babel/types/lib/builders/generated/index.js.map +1 -0
  187. package/node_modules/@babel/types/lib/builders/generated/lowercase.js +2902 -0
  188. package/node_modules/@babel/types/lib/builders/generated/lowercase.js.map +1 -0
  189. package/node_modules/@babel/types/lib/builders/generated/uppercase.js +272 -0
  190. package/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +1 -0
  191. package/node_modules/@babel/types/lib/builders/productions.js +12 -0
  192. package/node_modules/@babel/types/lib/builders/productions.js.map +1 -0
  193. package/node_modules/@babel/types/lib/builders/react/buildChildren.js +24 -0
  194. package/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +1 -0
  195. package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +22 -0
  196. package/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +1 -0
  197. package/node_modules/@babel/types/lib/builders/validateNode.js +21 -0
  198. package/node_modules/@babel/types/lib/builders/validateNode.js.map +1 -0
  199. package/node_modules/@babel/types/lib/clone/clone.js +12 -0
  200. package/node_modules/@babel/types/lib/clone/clone.js.map +1 -0
  201. package/node_modules/@babel/types/lib/clone/cloneDeep.js +12 -0
  202. package/node_modules/@babel/types/lib/clone/cloneDeep.js.map +1 -0
  203. package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +12 -0
  204. package/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +1 -0
  205. package/node_modules/@babel/types/lib/clone/cloneNode.js +107 -0
  206. package/node_modules/@babel/types/lib/clone/cloneNode.js.map +1 -0
  207. package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +12 -0
  208. package/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +1 -0
  209. package/node_modules/@babel/types/lib/comments/addComment.js +15 -0
  210. package/node_modules/@babel/types/lib/comments/addComment.js.map +1 -0
  211. package/node_modules/@babel/types/lib/comments/addComments.js +22 -0
  212. package/node_modules/@babel/types/lib/comments/addComments.js.map +1 -0
  213. package/node_modules/@babel/types/lib/comments/inheritInnerComments.js +12 -0
  214. package/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +1 -0
  215. package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +12 -0
  216. package/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +1 -0
  217. package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +12 -0
  218. package/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +1 -0
  219. package/node_modules/@babel/types/lib/comments/inheritsComments.js +17 -0
  220. package/node_modules/@babel/types/lib/comments/inheritsComments.js.map +1 -0
  221. package/node_modules/@babel/types/lib/comments/removeComments.js +15 -0
  222. package/node_modules/@babel/types/lib/comments/removeComments.js.map +1 -0
  223. package/node_modules/@babel/types/lib/constants/generated/index.js +60 -0
  224. package/node_modules/@babel/types/lib/constants/generated/index.js.map +1 -0
  225. package/node_modules/@babel/types/lib/constants/index.js +31 -0
  226. package/node_modules/@babel/types/lib/constants/index.js.map +1 -0
  227. package/node_modules/@babel/types/lib/converters/ensureBlock.js +14 -0
  228. package/node_modules/@babel/types/lib/converters/ensureBlock.js.map +1 -0
  229. package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +65 -0
  230. package/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +1 -0
  231. package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +14 -0
  232. package/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +1 -0
  233. package/node_modules/@babel/types/lib/converters/toBlock.js +29 -0
  234. package/node_modules/@babel/types/lib/converters/toBlock.js.map +1 -0
  235. package/node_modules/@babel/types/lib/converters/toComputedKey.js +14 -0
  236. package/node_modules/@babel/types/lib/converters/toComputedKey.js.map +1 -0
  237. package/node_modules/@babel/types/lib/converters/toExpression.js +28 -0
  238. package/node_modules/@babel/types/lib/converters/toExpression.js.map +1 -0
  239. package/node_modules/@babel/types/lib/converters/toIdentifier.js +25 -0
  240. package/node_modules/@babel/types/lib/converters/toIdentifier.js.map +1 -0
  241. package/node_modules/@babel/types/lib/converters/toKeyAlias.js +38 -0
  242. package/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +1 -0
  243. package/node_modules/@babel/types/lib/converters/toSequenceExpression.js +19 -0
  244. package/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +1 -0
  245. package/node_modules/@babel/types/lib/converters/toStatement.js +39 -0
  246. package/node_modules/@babel/types/lib/converters/toStatement.js.map +1 -0
  247. package/node_modules/@babel/types/lib/converters/valueToNode.js +89 -0
  248. package/node_modules/@babel/types/lib/converters/valueToNode.js.map +1 -0
  249. package/node_modules/@babel/types/lib/definitions/core.js +1725 -0
  250. package/node_modules/@babel/types/lib/definitions/core.js.map +1 -0
  251. package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js +11 -0
  252. package/node_modules/@babel/types/lib/definitions/deprecated-aliases.js.map +1 -0
  253. package/node_modules/@babel/types/lib/definitions/experimental.js +124 -0
  254. package/node_modules/@babel/types/lib/definitions/experimental.js.map +1 -0
  255. package/node_modules/@babel/types/lib/definitions/flow.js +495 -0
  256. package/node_modules/@babel/types/lib/definitions/flow.js.map +1 -0
  257. package/node_modules/@babel/types/lib/definitions/index.js +106 -0
  258. package/node_modules/@babel/types/lib/definitions/index.js.map +1 -0
  259. package/node_modules/@babel/types/lib/definitions/jsx.js +157 -0
  260. package/node_modules/@babel/types/lib/definitions/jsx.js.map +1 -0
  261. package/node_modules/@babel/types/lib/definitions/misc.js +31 -0
  262. package/node_modules/@babel/types/lib/definitions/misc.js.map +1 -0
  263. package/node_modules/@babel/types/lib/definitions/placeholders.js +27 -0
  264. package/node_modules/@babel/types/lib/definitions/placeholders.js.map +1 -0
  265. package/node_modules/@babel/types/lib/definitions/typescript.js +528 -0
  266. package/node_modules/@babel/types/lib/definitions/typescript.js.map +1 -0
  267. package/node_modules/@babel/types/lib/definitions/utils.js +296 -0
  268. package/node_modules/@babel/types/lib/definitions/utils.js.map +1 -0
  269. package/node_modules/@babel/types/lib/index-legacy.d.ts +2797 -0
  270. package/node_modules/@babel/types/lib/index.d.ts +3617 -0
  271. package/node_modules/@babel/types/lib/index.js +582 -0
  272. package/node_modules/@babel/types/lib/index.js.flow +2650 -0
  273. package/node_modules/@babel/types/lib/index.js.map +1 -0
  274. package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +15 -0
  275. package/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +1 -0
  276. package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +65 -0
  277. package/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +1 -0
  278. package/node_modules/@babel/types/lib/modifications/inherits.js +28 -0
  279. package/node_modules/@babel/types/lib/modifications/inherits.js.map +1 -0
  280. package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +17 -0
  281. package/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +1 -0
  282. package/node_modules/@babel/types/lib/modifications/removeProperties.js +24 -0
  283. package/node_modules/@babel/types/lib/modifications/removeProperties.js.map +1 -0
  284. package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +14 -0
  285. package/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +1 -0
  286. package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +66 -0
  287. package/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +1 -0
  288. package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js +48 -0
  289. package/node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js.map +1 -0
  290. package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +102 -0
  291. package/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +1 -0
  292. package/node_modules/@babel/types/lib/retrievers/getFunctionName.js +63 -0
  293. package/node_modules/@babel/types/lib/retrievers/getFunctionName.js.map +1 -0
  294. package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +13 -0
  295. package/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +1 -0
  296. package/node_modules/@babel/types/lib/traverse/traverse.js +50 -0
  297. package/node_modules/@babel/types/lib/traverse/traverse.js.map +1 -0
  298. package/node_modules/@babel/types/lib/traverse/traverseFast.js +40 -0
  299. package/node_modules/@babel/types/lib/traverse/traverseFast.js.map +1 -0
  300. package/node_modules/@babel/types/lib/utils/deprecationWarning.js +44 -0
  301. package/node_modules/@babel/types/lib/utils/deprecationWarning.js.map +1 -0
  302. package/node_modules/@babel/types/lib/utils/inherit.js +13 -0
  303. package/node_modules/@babel/types/lib/utils/inherit.js.map +1 -0
  304. package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +40 -0
  305. package/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +1 -0
  306. package/node_modules/@babel/types/lib/utils/shallowEqual.js +17 -0
  307. package/node_modules/@babel/types/lib/utils/shallowEqual.js.map +1 -0
  308. package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +13 -0
  309. package/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +1 -0
  310. package/node_modules/@babel/types/lib/validators/generated/index.js +2797 -0
  311. package/node_modules/@babel/types/lib/validators/generated/index.js.map +1 -0
  312. package/node_modules/@babel/types/lib/validators/is.js +27 -0
  313. package/node_modules/@babel/types/lib/validators/is.js.map +1 -0
  314. package/node_modules/@babel/types/lib/validators/isBinding.js +27 -0
  315. package/node_modules/@babel/types/lib/validators/isBinding.js.map +1 -0
  316. package/node_modules/@babel/types/lib/validators/isBlockScoped.js +13 -0
  317. package/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +1 -0
  318. package/node_modules/@babel/types/lib/validators/isImmutable.js +21 -0
  319. package/node_modules/@babel/types/lib/validators/isImmutable.js.map +1 -0
  320. package/node_modules/@babel/types/lib/validators/isLet.js +13 -0
  321. package/node_modules/@babel/types/lib/validators/isLet.js.map +1 -0
  322. package/node_modules/@babel/types/lib/validators/isNode.js +12 -0
  323. package/node_modules/@babel/types/lib/validators/isNode.js.map +1 -0
  324. package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +57 -0
  325. package/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +1 -0
  326. package/node_modules/@babel/types/lib/validators/isPlaceholderType.js +15 -0
  327. package/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +1 -0
  328. package/node_modules/@babel/types/lib/validators/isReferenced.js +96 -0
  329. package/node_modules/@babel/types/lib/validators/isReferenced.js.map +1 -0
  330. package/node_modules/@babel/types/lib/validators/isScope.js +18 -0
  331. package/node_modules/@babel/types/lib/validators/isScope.js.map +1 -0
  332. package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +14 -0
  333. package/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +1 -0
  334. package/node_modules/@babel/types/lib/validators/isType.js +17 -0
  335. package/node_modules/@babel/types/lib/validators/isType.js.map +1 -0
  336. package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +13 -0
  337. package/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +1 -0
  338. package/node_modules/@babel/types/lib/validators/isValidIdentifier.js +18 -0
  339. package/node_modules/@babel/types/lib/validators/isValidIdentifier.js.map +1 -0
  340. package/node_modules/@babel/types/lib/validators/isVar.js +15 -0
  341. package/node_modules/@babel/types/lib/validators/isVar.js.map +1 -0
  342. package/node_modules/@babel/types/lib/validators/matchesPattern.js +44 -0
  343. package/node_modules/@babel/types/lib/validators/matchesPattern.js.map +1 -0
  344. package/node_modules/@babel/types/lib/validators/react/isCompatTag.js +11 -0
  345. package/node_modules/@babel/types/lib/validators/react/isCompatTag.js.map +1 -0
  346. package/node_modules/@babel/types/lib/validators/react/isReactComponent.js +11 -0
  347. package/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +1 -0
  348. package/node_modules/@babel/types/lib/validators/validate.js +42 -0
  349. package/node_modules/@babel/types/lib/validators/validate.js.map +1 -0
  350. package/node_modules/@babel/types/package.json +39 -0
  351. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +13 -2
  352. package/node_modules/@code-yeongyu/senpi-codemode/README.md +128 -78
  353. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -3
  354. package/node_modules/@code-yeongyu/senpi-codemode/src/bridge/protocol.ts +22 -9
  355. package/node_modules/@code-yeongyu/senpi-codemode/src/bridge/reserved.ts +9 -0
  356. package/node_modules/@code-yeongyu/senpi-codemode/src/bridges/agent-bridge.ts +197 -0
  357. package/node_modules/@code-yeongyu/senpi-codemode/src/bridges/output-bridge.ts +96 -0
  358. package/node_modules/@code-yeongyu/senpi-codemode/src/bridges/schema-injection.ts +3 -0
  359. package/node_modules/@code-yeongyu/senpi-codemode/src/completion/handler.ts +95 -26
  360. package/node_modules/@code-yeongyu/senpi-codemode/src/completion/tool-bridge.ts +14 -2
  361. package/node_modules/@code-yeongyu/senpi-codemode/src/config/settings.ts +96 -8
  362. package/node_modules/@code-yeongyu/senpi-codemode/src/extension/session-manager.ts +92 -10
  363. package/node_modules/@code-yeongyu/senpi-codemode/src/index.ts +187 -27
  364. package/node_modules/@code-yeongyu/senpi-codemode/src/interpreters/detect.ts +1 -1
  365. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/jl/prelude.jl +252 -48
  366. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/jl/runner.jl +263 -83
  367. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/context-manager.ts +198 -149
  368. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/inline-worker-entry.js +23 -0
  369. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/inline-worker.ts +4 -175
  370. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/kernel-contract.ts +38 -0
  371. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/local-module-loader.ts +108 -0
  372. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/prelude.ts +8 -6
  373. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/rewrite-imports.ts +164 -0
  374. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/run-queue.ts +82 -0
  375. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/worker-core.js +13 -4
  376. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/worker-host.ts +117 -0
  377. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/worker-runtime.js +307 -41
  378. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/kernel-contract.ts +32 -0
  379. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/kernel.ts +232 -199
  380. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/prelude.py +792 -79
  381. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/process.ts +119 -0
  382. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/transport.ts +237 -0
  383. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/rb/prelude.rb +234 -21
  384. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/rb/runner.rb +154 -51
  385. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-contract.ts +22 -0
  386. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-kernel.ts +214 -189
  387. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-process.ts +174 -0
  388. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-queue.ts +101 -0
  389. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-run.ts +98 -0
  390. package/node_modules/@code-yeongyu/senpi-codemode/src/output/output-meta.ts +89 -0
  391. package/node_modules/@code-yeongyu/senpi-codemode/src/output/streaming-output.ts +296 -0
  392. package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt.ts +107 -30
  393. package/node_modules/@code-yeongyu/senpi-codemode/src/timeouts/bridge-timeout.ts +2 -0
  394. package/node_modules/@code-yeongyu/senpi-codemode/src/timeouts/idle-timeout.ts +8 -19
  395. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-handler.ts +267 -0
  396. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +226 -211
  397. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/image.ts +274 -0
  398. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/json-tree.ts +247 -0
  399. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +828 -35
  400. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/status-events.ts +12 -0
  401. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +30 -1
  402. package/node_modules/@earendil-works/pi-agent-core/README.md +1 -1
  403. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +2 -0
  404. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  405. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +4 -3
  406. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  407. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  408. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  409. package/node_modules/@earendil-works/pi-ai/README.md +4 -2
  410. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  411. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +89 -40
  412. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  413. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts +1 -1
  414. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -1
  415. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
  416. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  417. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +7 -7
  418. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  419. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts +1 -1
  420. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  421. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +10 -3
  422. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  423. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts +1 -1
  424. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  425. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +5 -1
  426. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  427. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts +3 -1
  428. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -1
  429. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +35 -4
  430. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  431. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts +1 -1
  432. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  433. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +7 -3
  434. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  435. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts.map +1 -1
  436. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +8 -3
  437. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js.map +1 -1
  438. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.d.ts.map +1 -1
  439. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js +4 -3
  440. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js.map +1 -1
  441. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts.map +1 -1
  442. package/node_modules/@earendil-works/pi-ai/dist/compat.js +2 -1
  443. package/node_modules/@earendil-works/pi-ai/dist/compat.js.map +1 -1
  444. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  445. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +483 -61
  446. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  447. package/node_modules/@earendil-works/pi-ai/dist/models.js +13 -4
  448. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  449. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  450. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +5 -1
  451. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  452. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts +62 -5
  453. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
  454. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js +32 -20
  455. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js.map +1 -1
  456. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts +11 -1
  457. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts.map +1 -1
  458. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js +6 -4
  459. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js.map +1 -1
  460. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts +7 -8
  461. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
  462. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js +20 -21
  463. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js.map +1 -1
  464. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts +11 -1
  465. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
  466. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js +6 -4
  467. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
  468. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.d.ts.map +1 -1
  469. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js +9 -6
  470. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js.map +1 -1
  471. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts +2 -2
  472. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts.map +1 -1
  473. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js +2 -2
  474. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js.map +1 -1
  475. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts +2 -2
  476. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts.map +1 -1
  477. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js +2 -2
  478. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js.map +1 -1
  479. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts +100 -2
  480. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts.map +1 -1
  481. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +64 -5
  482. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js.map +1 -1
  483. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts +56 -0
  484. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts.map +1 -1
  485. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js +20 -9
  486. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js.map +1 -1
  487. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts +77 -8
  488. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts.map +1 -1
  489. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js +37 -24
  490. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js.map +1 -1
  491. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts +3 -3
  492. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts.map +1 -1
  493. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js +3 -3
  494. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js.map +1 -1
  495. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts +80 -4
  496. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts.map +1 -1
  497. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js +64 -8
  498. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js.map +1 -1
  499. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts +25 -22
  500. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts.map +1 -1
  501. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +68 -83
  502. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js.map +1 -1
  503. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts +45 -1
  504. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  505. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +49 -13
  506. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  507. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts +1 -1
  508. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts.map +1 -1
  509. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js +1 -1
  510. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js.map +1 -1
  511. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts +1 -1
  512. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts.map +1 -1
  513. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js +1 -1
  514. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js.map +1 -1
  515. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +30 -7
  516. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  517. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  518. package/node_modules/@earendil-works/pi-ai/dist/utils/deferred-tools.d.ts +9 -0
  519. package/node_modules/@earendil-works/pi-ai/dist/utils/deferred-tools.d.ts.map +1 -0
  520. package/node_modules/@earendil-works/pi-ai/dist/utils/deferred-tools.js +36 -0
  521. package/node_modules/@earendil-works/pi-ai/dist/utils/deferred-tools.js.map +1 -0
  522. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.d.ts +3 -3
  523. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.d.ts.map +1 -1
  524. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.js +35 -14
  525. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.js.map +1 -1
  526. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  527. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  528. package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts.map +1 -1
  529. package/node_modules/@earendil-works/pi-tui/dist/components/image.js +2 -1
  530. package/node_modules/@earendil-works/pi-tui/dist/components/image.js.map +1 -1
  531. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +2 -1
  532. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  533. package/node_modules/@earendil-works/pi-tui/dist/index.js +2 -1
  534. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  535. package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts.map +1 -1
  536. package/node_modules/@earendil-works/pi-tui/dist/keys.js +6 -5
  537. package/node_modules/@earendil-works/pi-tui/dist/keys.js.map +1 -1
  538. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +0 -1
  539. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  540. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +0 -9
  541. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  542. package/node_modules/@earendil-works/pi-tui/dist/terminal-text.d.ts +4 -0
  543. package/node_modules/@earendil-works/pi-tui/dist/terminal-text.d.ts.map +1 -0
  544. package/node_modules/@earendil-works/pi-tui/dist/terminal-text.js +18 -0
  545. package/node_modules/@earendil-works/pi-tui/dist/terminal-text.js.map +1 -0
  546. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  547. package/package.json +6 -6
@@ -0,0 +1,1725 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.patternLikeCommon = exports.importAttributes = exports.functionTypeAnnotationCommon = exports.functionDeclarationCommon = exports.functionCommon = exports.classMethodOrPropertyUnionShapeCommon = exports.classMethodOrPropertyCommon = exports.classMethodOrDeclareMethodCommon = void 0;
7
+ var _is = require("../validators/is.js");
8
+ var _isValidIdentifier = require("../validators/isValidIdentifier.js");
9
+ var _helperValidatorIdentifier = require("@babel/helper-validator-identifier");
10
+ var _helperStringParser = require("@babel/helper-string-parser");
11
+ var _index = require("../constants/index.js");
12
+ var _utils = require("./utils.js");
13
+ const classMethodOrPropertyUnionShapeCommon = (allowPrivateName = false) => ({
14
+ unionShape: {
15
+ discriminator: "computed",
16
+ shapes: [{
17
+ name: "computed",
18
+ value: [true],
19
+ properties: {
20
+ key: {
21
+ validate: (0, _utils.assertNodeType)("Expression")
22
+ }
23
+ }
24
+ }, {
25
+ name: "nonComputed",
26
+ value: [false],
27
+ properties: {
28
+ key: {
29
+ validate: allowPrivateName ? (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName") : (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral")
30
+ }
31
+ }
32
+ }]
33
+ }
34
+ });
35
+ exports.classMethodOrPropertyUnionShapeCommon = classMethodOrPropertyUnionShapeCommon;
36
+ const defineType = (0, _utils.defineAliasedType)("Standardized");
37
+ defineType("ArrayExpression", {
38
+ fields: {
39
+ elements: {
40
+ validate: (0, _utils.arrayOf)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement")),
41
+ default: !process.env.BABEL_TYPES_8_BREAKING ? [] : undefined
42
+ }
43
+ },
44
+ visitor: ["elements"],
45
+ aliases: ["Expression"]
46
+ });
47
+ defineType("AssignmentExpression", {
48
+ fields: {
49
+ operator: {
50
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("string") : Object.assign(function () {
51
+ const identifier = (0, _utils.assertOneOf)(..._index.ASSIGNMENT_OPERATORS);
52
+ const pattern = (0, _utils.assertOneOf)("=");
53
+ return function (node, key, val) {
54
+ const validator = (0, _is.default)("Pattern", node.left) ? pattern : identifier;
55
+ validator(node, key, val);
56
+ };
57
+ }(), {
58
+ oneOf: _index.ASSIGNMENT_OPERATORS
59
+ })
60
+ },
61
+ left: {
62
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal", "OptionalMemberExpression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression", "OptionalMemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
63
+ },
64
+ right: {
65
+ validate: (0, _utils.assertNodeType)("Expression")
66
+ }
67
+ },
68
+ builder: ["operator", "left", "right"],
69
+ visitor: ["left", "right"],
70
+ aliases: ["Expression"]
71
+ });
72
+ defineType("BinaryExpression", {
73
+ builder: ["operator", "left", "right"],
74
+ fields: {
75
+ operator: {
76
+ validate: (0, _utils.assertOneOf)(..._index.BINARY_OPERATORS)
77
+ },
78
+ left: {
79
+ validate: function () {
80
+ const expression = (0, _utils.assertNodeType)("Expression");
81
+ const inOp = (0, _utils.assertNodeType)("Expression", "PrivateName");
82
+ const validator = Object.assign(function (node, key, val) {
83
+ const validator = node.operator === "in" ? inOp : expression;
84
+ validator(node, key, val);
85
+ }, {
86
+ oneOfNodeTypes: ["Expression", "PrivateName"]
87
+ });
88
+ return validator;
89
+ }()
90
+ },
91
+ right: {
92
+ validate: (0, _utils.assertNodeType)("Expression")
93
+ }
94
+ },
95
+ visitor: ["left", "right"],
96
+ aliases: ["Binary", "Expression"]
97
+ });
98
+ defineType("InterpreterDirective", {
99
+ builder: ["value"],
100
+ fields: {
101
+ value: {
102
+ validate: (0, _utils.assertValueType)("string")
103
+ }
104
+ }
105
+ });
106
+ defineType("Directive", {
107
+ visitor: ["value"],
108
+ fields: {
109
+ value: {
110
+ validate: (0, _utils.assertNodeType)("DirectiveLiteral")
111
+ }
112
+ }
113
+ });
114
+ defineType("DirectiveLiteral", {
115
+ builder: ["value"],
116
+ fields: {
117
+ value: {
118
+ validate: (0, _utils.assertValueType)("string")
119
+ }
120
+ }
121
+ });
122
+ defineType("BlockStatement", {
123
+ builder: ["body", "directives"],
124
+ visitor: ["directives", "body"],
125
+ fields: {
126
+ directives: {
127
+ validate: (0, _utils.arrayOfType)("Directive"),
128
+ default: []
129
+ },
130
+ body: (0, _utils.validateArrayOfType)("Statement")
131
+ },
132
+ aliases: ["Scopable", "BlockParent", "Block", "Statement"]
133
+ });
134
+ defineType("BreakStatement", {
135
+ visitor: ["label"],
136
+ fields: {
137
+ label: {
138
+ validate: (0, _utils.assertNodeType)("Identifier"),
139
+ optional: true
140
+ }
141
+ },
142
+ aliases: ["Statement", "Terminatorless", "CompletionStatement"]
143
+ });
144
+ defineType("CallExpression", {
145
+ visitor: ["callee", "typeParameters", "typeArguments", "arguments"],
146
+ builder: ["callee", "arguments"],
147
+ aliases: ["Expression"],
148
+ fields: Object.assign({
149
+ callee: {
150
+ validate: (0, _utils.assertNodeType)("Expression", "Super", "V8IntrinsicIdentifier")
151
+ },
152
+ arguments: (0, _utils.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"),
153
+ typeArguments: {
154
+ validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"),
155
+ optional: true
156
+ }
157
+ }, process.env.BABEL_TYPES_8_BREAKING ? {} : {
158
+ optional: {
159
+ validate: (0, _utils.assertValueType)("boolean"),
160
+ optional: true
161
+ },
162
+ typeParameters: {
163
+ validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"),
164
+ optional: true
165
+ }
166
+ })
167
+ });
168
+ defineType("CatchClause", {
169
+ visitor: ["param", "body"],
170
+ fields: {
171
+ param: {
172
+ validate: (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern"),
173
+ optional: true
174
+ },
175
+ body: {
176
+ validate: (0, _utils.assertNodeType)("BlockStatement")
177
+ }
178
+ },
179
+ aliases: ["Scopable", "BlockParent"]
180
+ });
181
+ defineType("ConditionalExpression", {
182
+ visitor: ["test", "consequent", "alternate"],
183
+ fields: {
184
+ test: {
185
+ validate: (0, _utils.assertNodeType)("Expression")
186
+ },
187
+ consequent: {
188
+ validate: (0, _utils.assertNodeType)("Expression")
189
+ },
190
+ alternate: {
191
+ validate: (0, _utils.assertNodeType)("Expression")
192
+ }
193
+ },
194
+ aliases: ["Expression", "Conditional"]
195
+ });
196
+ defineType("ContinueStatement", {
197
+ visitor: ["label"],
198
+ fields: {
199
+ label: {
200
+ validate: (0, _utils.assertNodeType)("Identifier"),
201
+ optional: true
202
+ }
203
+ },
204
+ aliases: ["Statement", "Terminatorless", "CompletionStatement"]
205
+ });
206
+ defineType("DebuggerStatement", {
207
+ aliases: ["Statement"]
208
+ });
209
+ defineType("DoWhileStatement", {
210
+ builder: ["test", "body"],
211
+ visitor: ["body", "test"],
212
+ fields: {
213
+ test: {
214
+ validate: (0, _utils.assertNodeType)("Expression")
215
+ },
216
+ body: {
217
+ validate: (0, _utils.assertNodeType)("Statement")
218
+ }
219
+ },
220
+ aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"]
221
+ });
222
+ defineType("EmptyStatement", {
223
+ aliases: ["Statement"]
224
+ });
225
+ defineType("ExpressionStatement", {
226
+ visitor: ["expression"],
227
+ fields: {
228
+ expression: {
229
+ validate: (0, _utils.assertNodeType)("Expression")
230
+ }
231
+ },
232
+ aliases: ["Statement", "ExpressionWrapper"]
233
+ });
234
+ defineType("File", {
235
+ builder: ["program", "comments", "tokens"],
236
+ visitor: ["program"],
237
+ fields: {
238
+ program: {
239
+ validate: (0, _utils.assertNodeType)("Program")
240
+ },
241
+ comments: {
242
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? Object.assign(() => {}, {
243
+ each: {
244
+ oneOfNodeTypes: ["CommentBlock", "CommentLine"]
245
+ }
246
+ }) : (0, _utils.assertEach)((0, _utils.assertNodeType)("CommentBlock", "CommentLine")),
247
+ optional: true
248
+ },
249
+ tokens: {
250
+ validate: (0, _utils.assertEach)(Object.assign(() => {}, {
251
+ type: "any"
252
+ })),
253
+ optional: true
254
+ }
255
+ }
256
+ });
257
+ defineType("ForInStatement", {
258
+ visitor: ["left", "right", "body"],
259
+ aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
260
+ fields: {
261
+ left: {
262
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("VariableDeclaration", "LVal") : (0, _utils.assertNodeType)("VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
263
+ },
264
+ right: {
265
+ validate: (0, _utils.assertNodeType)("Expression")
266
+ },
267
+ body: {
268
+ validate: (0, _utils.assertNodeType)("Statement")
269
+ }
270
+ }
271
+ });
272
+ defineType("ForStatement", {
273
+ visitor: ["init", "test", "update", "body"],
274
+ aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"],
275
+ fields: {
276
+ init: {
277
+ validate: (0, _utils.assertNodeType)("VariableDeclaration", "Expression"),
278
+ optional: true
279
+ },
280
+ test: {
281
+ validate: (0, _utils.assertNodeType)("Expression"),
282
+ optional: true
283
+ },
284
+ update: {
285
+ validate: (0, _utils.assertNodeType)("Expression"),
286
+ optional: true
287
+ },
288
+ body: {
289
+ validate: (0, _utils.assertNodeType)("Statement")
290
+ }
291
+ }
292
+ });
293
+ const functionCommon = () => ({
294
+ params: (0, _utils.validateArrayOfType)("FunctionParameter"),
295
+ generator: {
296
+ default: false
297
+ },
298
+ async: {
299
+ default: false
300
+ }
301
+ });
302
+ exports.functionCommon = functionCommon;
303
+ const functionTypeAnnotationCommon = () => ({
304
+ returnType: {
305
+ validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
306
+ optional: true
307
+ },
308
+ typeParameters: {
309
+ validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
310
+ optional: true
311
+ }
312
+ });
313
+ exports.functionTypeAnnotationCommon = functionTypeAnnotationCommon;
314
+ const functionDeclarationCommon = () => Object.assign({}, functionCommon(), {
315
+ declare: {
316
+ validate: (0, _utils.assertValueType)("boolean"),
317
+ optional: true
318
+ },
319
+ id: {
320
+ validate: (0, _utils.assertNodeType)("Identifier"),
321
+ optional: true
322
+ }
323
+ });
324
+ exports.functionDeclarationCommon = functionDeclarationCommon;
325
+ defineType("FunctionDeclaration", {
326
+ builder: ["id", "params", "body", "generator", "async"],
327
+ visitor: ["id", "typeParameters", "params", "predicate", "returnType", "body"],
328
+ fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), {
329
+ body: {
330
+ validate: (0, _utils.assertNodeType)("BlockStatement")
331
+ },
332
+ predicate: {
333
+ validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
334
+ optional: true
335
+ }
336
+ }),
337
+ aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"],
338
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? undefined : function () {
339
+ const identifier = (0, _utils.assertNodeType)("Identifier");
340
+ return function (parent, key, node) {
341
+ if (!(0, _is.default)("ExportDefaultDeclaration", parent)) {
342
+ identifier(node, "id", node.id);
343
+ }
344
+ };
345
+ }()
346
+ });
347
+ defineType("FunctionExpression", {
348
+ inherits: "FunctionDeclaration",
349
+ aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
350
+ fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
351
+ id: {
352
+ validate: (0, _utils.assertNodeType)("Identifier"),
353
+ optional: true
354
+ },
355
+ body: {
356
+ validate: (0, _utils.assertNodeType)("BlockStatement")
357
+ },
358
+ predicate: {
359
+ validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
360
+ optional: true
361
+ }
362
+ })
363
+ });
364
+ const patternLikeCommon = () => ({
365
+ typeAnnotation: {
366
+ validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
367
+ optional: true
368
+ },
369
+ optional: {
370
+ validate: (0, _utils.assertValueType)("boolean"),
371
+ optional: true
372
+ },
373
+ decorators: {
374
+ validate: (0, _utils.arrayOfType)("Decorator"),
375
+ optional: true
376
+ }
377
+ });
378
+ exports.patternLikeCommon = patternLikeCommon;
379
+ defineType("Identifier", {
380
+ builder: ["name"],
381
+ visitor: ["typeAnnotation", "decorators"],
382
+ aliases: ["Expression", "FunctionParameter", "PatternLike", "LVal", "TSEntityName"],
383
+ fields: Object.assign({}, patternLikeCommon(), {
384
+ name: {
385
+ validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function (node, key, val) {
386
+ if (!(0, _isValidIdentifier.default)(val, false)) {
387
+ throw new TypeError(`"${val}" is not a valid identifier name`);
388
+ }
389
+ }, {
390
+ type: "string"
391
+ })) : (0, _utils.assertValueType)("string")
392
+ }
393
+ }),
394
+ validate: process.env.BABEL_TYPES_8_BREAKING ? function (parent, key, node) {
395
+ const match = /\.(\w+)$/.exec(key.toString());
396
+ if (!match) return;
397
+ const [, parentKey] = match;
398
+ const nonComp = {
399
+ computed: false
400
+ };
401
+ if (parentKey === "property") {
402
+ if ((0, _is.default)("MemberExpression", parent, nonComp)) return;
403
+ if ((0, _is.default)("OptionalMemberExpression", parent, nonComp)) return;
404
+ } else if (parentKey === "key") {
405
+ if ((0, _is.default)("Property", parent, nonComp)) return;
406
+ if ((0, _is.default)("Method", parent, nonComp)) return;
407
+ } else if (parentKey === "exported") {
408
+ if ((0, _is.default)("ExportSpecifier", parent)) return;
409
+ } else if (parentKey === "imported") {
410
+ if ((0, _is.default)("ImportSpecifier", parent, {
411
+ imported: node
412
+ })) return;
413
+ } else if (parentKey === "meta") {
414
+ if ((0, _is.default)("MetaProperty", parent, {
415
+ meta: node
416
+ })) return;
417
+ }
418
+ if (((0, _helperValidatorIdentifier.isKeyword)(node.name) || (0, _helperValidatorIdentifier.isReservedWord)(node.name, false)) && node.name !== "this") {
419
+ throw new TypeError(`"${node.name}" is not a valid identifier`);
420
+ }
421
+ } : undefined
422
+ });
423
+ defineType("IfStatement", {
424
+ visitor: ["test", "consequent", "alternate"],
425
+ aliases: ["Statement", "Conditional"],
426
+ fields: {
427
+ test: {
428
+ validate: (0, _utils.assertNodeType)("Expression")
429
+ },
430
+ consequent: {
431
+ validate: (0, _utils.assertNodeType)("Statement")
432
+ },
433
+ alternate: {
434
+ optional: true,
435
+ validate: (0, _utils.assertNodeType)("Statement")
436
+ }
437
+ }
438
+ });
439
+ defineType("LabeledStatement", {
440
+ visitor: ["label", "body"],
441
+ aliases: ["Statement"],
442
+ fields: {
443
+ label: {
444
+ validate: (0, _utils.assertNodeType)("Identifier")
445
+ },
446
+ body: {
447
+ validate: (0, _utils.assertNodeType)("Statement")
448
+ }
449
+ }
450
+ });
451
+ defineType("StringLiteral", {
452
+ builder: ["value"],
453
+ fields: {
454
+ value: {
455
+ validate: (0, _utils.assertValueType)("string")
456
+ }
457
+ },
458
+ aliases: ["Expression", "Pureish", "Literal", "Immutable"]
459
+ });
460
+ defineType("NumericLiteral", {
461
+ builder: ["value"],
462
+ deprecatedAlias: "NumberLiteral",
463
+ fields: {
464
+ value: {
465
+ validate: (0, _utils.chain)((0, _utils.assertValueType)("number"), Object.assign(function (node, key, val) {
466
+ if (1 / val < 0 || !Number.isFinite(val)) {
467
+ const error = new Error("NumericLiterals must be non-negative finite numbers. " + `You can use t.valueToNode(${val}) instead.`);
468
+ }
469
+ }, {
470
+ type: "number"
471
+ }))
472
+ }
473
+ },
474
+ aliases: ["Expression", "Pureish", "Literal", "Immutable"]
475
+ });
476
+ defineType("NullLiteral", {
477
+ aliases: ["Expression", "Pureish", "Literal", "Immutable"]
478
+ });
479
+ defineType("BooleanLiteral", {
480
+ builder: ["value"],
481
+ fields: {
482
+ value: {
483
+ validate: (0, _utils.assertValueType)("boolean")
484
+ }
485
+ },
486
+ aliases: ["Expression", "Pureish", "Literal", "Immutable"]
487
+ });
488
+ defineType("RegExpLiteral", {
489
+ builder: ["pattern", "flags"],
490
+ deprecatedAlias: "RegexLiteral",
491
+ aliases: ["Expression", "Pureish", "Literal"],
492
+ fields: {
493
+ pattern: {
494
+ validate: (0, _utils.assertValueType)("string")
495
+ },
496
+ flags: {
497
+ validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("string"), Object.assign(function (node, key, val) {
498
+ const invalid = /[^dgimsuvy]/.exec(val);
499
+ if (invalid) {
500
+ throw new TypeError(`"${invalid[0]}" is not a valid RegExp flag`);
501
+ }
502
+ }, {
503
+ type: "string"
504
+ })) : (0, _utils.assertValueType)("string"),
505
+ default: ""
506
+ }
507
+ }
508
+ });
509
+ defineType("LogicalExpression", {
510
+ builder: ["operator", "left", "right"],
511
+ visitor: ["left", "right"],
512
+ aliases: ["Binary", "Expression"],
513
+ fields: {
514
+ operator: {
515
+ validate: (0, _utils.assertOneOf)(..._index.LOGICAL_OPERATORS)
516
+ },
517
+ left: {
518
+ validate: (0, _utils.assertNodeType)("Expression")
519
+ },
520
+ right: {
521
+ validate: (0, _utils.assertNodeType)("Expression")
522
+ }
523
+ }
524
+ });
525
+ defineType("MemberExpression", {
526
+ builder: ["object", "property", "computed", ...(!process.env.BABEL_TYPES_8_BREAKING ? ["optional"] : [])],
527
+ visitor: ["object", "property"],
528
+ aliases: ["Expression", "LVal", "PatternLike"],
529
+ unionShape: {
530
+ discriminator: "computed",
531
+ shapes: [{
532
+ name: "computed",
533
+ value: [true],
534
+ properties: {
535
+ property: {
536
+ validate: (0, _utils.assertNodeType)("Expression")
537
+ }
538
+ }
539
+ }, {
540
+ name: "nonComputed",
541
+ value: [false],
542
+ properties: {
543
+ property: {
544
+ validate: (0, _utils.assertNodeType)("Identifier", "PrivateName")
545
+ }
546
+ }
547
+ }]
548
+ },
549
+ fields: Object.assign({
550
+ object: {
551
+ validate: (0, _utils.assertNodeType)("Expression", "Super")
552
+ },
553
+ property: {
554
+ validate: function () {
555
+ const normal = (0, _utils.assertNodeType)("Identifier", "PrivateName");
556
+ const computed = (0, _utils.assertNodeType)("Expression");
557
+ const validator = function (node, key, val) {
558
+ const validator = node.computed ? computed : normal;
559
+ validator(node, key, val);
560
+ };
561
+ validator.oneOfNodeTypes = ["Expression", "Identifier", "PrivateName"];
562
+ return validator;
563
+ }()
564
+ },
565
+ computed: {
566
+ default: false
567
+ }
568
+ }, !process.env.BABEL_TYPES_8_BREAKING ? {
569
+ optional: {
570
+ validate: (0, _utils.assertValueType)("boolean"),
571
+ optional: true
572
+ }
573
+ } : {})
574
+ });
575
+ defineType("NewExpression", {
576
+ inherits: "CallExpression"
577
+ });
578
+ defineType("Program", {
579
+ visitor: ["directives", "body"],
580
+ builder: ["body", "directives", "sourceType", "interpreter"],
581
+ fields: {
582
+ sourceType: {
583
+ validate: (0, _utils.assertOneOf)("script", "module"),
584
+ default: "script"
585
+ },
586
+ interpreter: {
587
+ validate: (0, _utils.assertNodeType)("InterpreterDirective"),
588
+ default: null,
589
+ optional: true
590
+ },
591
+ directives: {
592
+ validate: (0, _utils.arrayOfType)("Directive"),
593
+ default: []
594
+ },
595
+ body: (0, _utils.validateArrayOfType)("Statement")
596
+ },
597
+ aliases: ["Scopable", "BlockParent", "Block"]
598
+ });
599
+ defineType("ObjectExpression", {
600
+ visitor: ["properties"],
601
+ aliases: ["Expression"],
602
+ fields: {
603
+ properties: (0, _utils.validateArrayOfType)("ObjectMethod", "ObjectProperty", "SpreadElement")
604
+ }
605
+ });
606
+ defineType("ObjectMethod", Object.assign({
607
+ builder: ["kind", "key", "params", "body", "computed", "generator", "async"],
608
+ visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"]
609
+ }, classMethodOrPropertyUnionShapeCommon(), {
610
+ fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
611
+ kind: Object.assign({
612
+ validate: (0, _utils.assertOneOf)("method", "get", "set")
613
+ }, !process.env.BABEL_TYPES_8_BREAKING ? {
614
+ default: "method"
615
+ } : {}),
616
+ computed: {
617
+ default: false
618
+ },
619
+ key: {
620
+ validate: function () {
621
+ const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral");
622
+ const computed = (0, _utils.assertNodeType)("Expression");
623
+ const validator = function (node, key, val) {
624
+ const validator = node.computed ? computed : normal;
625
+ validator(node, key, val);
626
+ };
627
+ validator.oneOfNodeTypes = ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral"];
628
+ return validator;
629
+ }()
630
+ },
631
+ decorators: {
632
+ validate: (0, _utils.arrayOfType)("Decorator"),
633
+ optional: true
634
+ },
635
+ body: {
636
+ validate: (0, _utils.assertNodeType)("BlockStatement")
637
+ }
638
+ }),
639
+ aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"]
640
+ }));
641
+ defineType("ObjectProperty", {
642
+ builder: ["key", "value", "computed", "shorthand", ...(!process.env.BABEL_TYPES_8_BREAKING ? ["decorators"] : [])],
643
+ unionShape: {
644
+ discriminator: "computed",
645
+ shapes: [{
646
+ name: "computed",
647
+ value: [true],
648
+ properties: {
649
+ key: {
650
+ validate: (0, _utils.assertNodeType)("Expression")
651
+ }
652
+ }
653
+ }, {
654
+ name: "nonComputed",
655
+ value: [false],
656
+ properties: {
657
+ key: {
658
+ validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName")
659
+ }
660
+ }
661
+ }]
662
+ },
663
+ fields: {
664
+ computed: {
665
+ default: false
666
+ },
667
+ key: {
668
+ validate: function () {
669
+ const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName");
670
+ const computed = (0, _utils.assertNodeType)("Expression");
671
+ const validator = Object.assign(function (node, key, val) {
672
+ const validator = node.computed ? computed : normal;
673
+ validator(node, key, val);
674
+ }, {
675
+ oneOfNodeTypes: ["Expression", "Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "DecimalLiteral", "PrivateName"]
676
+ });
677
+ return validator;
678
+ }()
679
+ },
680
+ value: {
681
+ validate: (0, _utils.assertNodeType)("Expression", "PatternLike")
682
+ },
683
+ shorthand: {
684
+ validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function (node, key, shorthand) {
685
+ if (!shorthand) return;
686
+ if (node.computed) {
687
+ throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");
688
+ }
689
+ if (!(0, _is.default)("Identifier", node.key)) {
690
+ throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier");
691
+ }
692
+ }, {
693
+ type: "boolean"
694
+ })) : (0, _utils.assertValueType)("boolean"),
695
+ default: false
696
+ },
697
+ decorators: {
698
+ validate: (0, _utils.arrayOfType)("Decorator"),
699
+ optional: true
700
+ }
701
+ },
702
+ visitor: ["decorators", "key", "value"],
703
+ aliases: ["UserWhitespacable", "Property", "ObjectMember"],
704
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? undefined : function () {
705
+ const pattern = (0, _utils.assertNodeType)("Identifier", "Pattern", "TSAsExpression", "TSSatisfiesExpression", "TSNonNullExpression", "TSTypeAssertion");
706
+ const expression = (0, _utils.assertNodeType)("Expression");
707
+ return function (parent, key, node) {
708
+ const validator = (0, _is.default)("ObjectPattern", parent) ? pattern : expression;
709
+ validator(node, "value", node.value);
710
+ };
711
+ }()
712
+ });
713
+ defineType("RestElement", {
714
+ visitor: ["argument", "typeAnnotation"],
715
+ builder: ["argument"],
716
+ aliases: ["FunctionParameter", "PatternLike", "LVal"],
717
+ deprecatedAlias: "RestProperty",
718
+ fields: Object.assign({}, patternLikeCommon(), {
719
+ argument: {
720
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression", "RestElement", "AssignmentPattern") : (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
721
+ }
722
+ }),
723
+ validate: process.env.BABEL_TYPES_8_BREAKING ? function (parent, key) {
724
+ const match = /(\w+)\[(\d+)\]/.exec(key.toString());
725
+ if (!match) throw new Error("Internal Babel error: malformed key.");
726
+ const [, listKey, index] = match;
727
+ if (parent[listKey].length > +index + 1) {
728
+ throw new TypeError(`RestElement must be last element of ${listKey}`);
729
+ }
730
+ } : undefined
731
+ });
732
+ defineType("ReturnStatement", {
733
+ visitor: ["argument"],
734
+ aliases: ["Statement", "Terminatorless", "CompletionStatement"],
735
+ fields: {
736
+ argument: {
737
+ validate: (0, _utils.assertNodeType)("Expression"),
738
+ optional: true
739
+ }
740
+ }
741
+ });
742
+ defineType("SequenceExpression", {
743
+ visitor: ["expressions"],
744
+ fields: {
745
+ expressions: (0, _utils.validateArrayOfType)("Expression")
746
+ },
747
+ aliases: ["Expression"]
748
+ });
749
+ defineType("ParenthesizedExpression", {
750
+ visitor: ["expression"],
751
+ aliases: ["Expression", "ExpressionWrapper"],
752
+ fields: {
753
+ expression: {
754
+ validate: (0, _utils.assertNodeType)("Expression")
755
+ }
756
+ }
757
+ });
758
+ defineType("SwitchCase", {
759
+ visitor: ["test", "consequent"],
760
+ fields: {
761
+ test: {
762
+ validate: (0, _utils.assertNodeType)("Expression"),
763
+ optional: true
764
+ },
765
+ consequent: (0, _utils.validateArrayOfType)("Statement")
766
+ }
767
+ });
768
+ defineType("SwitchStatement", {
769
+ visitor: ["discriminant", "cases"],
770
+ aliases: ["Statement", "BlockParent", "Scopable"],
771
+ fields: {
772
+ discriminant: {
773
+ validate: (0, _utils.assertNodeType)("Expression")
774
+ },
775
+ cases: (0, _utils.validateArrayOfType)("SwitchCase")
776
+ }
777
+ });
778
+ defineType("ThisExpression", {
779
+ aliases: ["Expression"]
780
+ });
781
+ defineType("ThrowStatement", {
782
+ visitor: ["argument"],
783
+ aliases: ["Statement", "Terminatorless", "CompletionStatement"],
784
+ fields: {
785
+ argument: {
786
+ validate: (0, _utils.assertNodeType)("Expression")
787
+ }
788
+ }
789
+ });
790
+ defineType("TryStatement", {
791
+ visitor: ["block", "handler", "finalizer"],
792
+ aliases: ["Statement"],
793
+ fields: {
794
+ block: {
795
+ validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)("BlockStatement"), Object.assign(function (node) {
796
+ if (!node.handler && !node.finalizer) {
797
+ throw new TypeError("TryStatement expects either a handler or finalizer, or both");
798
+ }
799
+ }, {
800
+ oneOfNodeTypes: ["BlockStatement"]
801
+ })) : (0, _utils.assertNodeType)("BlockStatement")
802
+ },
803
+ handler: {
804
+ optional: true,
805
+ validate: (0, _utils.assertNodeType)("CatchClause")
806
+ },
807
+ finalizer: {
808
+ optional: true,
809
+ validate: (0, _utils.assertNodeType)("BlockStatement")
810
+ }
811
+ }
812
+ });
813
+ defineType("UnaryExpression", {
814
+ builder: ["operator", "argument", "prefix"],
815
+ fields: {
816
+ prefix: {
817
+ default: true
818
+ },
819
+ argument: {
820
+ validate: (0, _utils.assertNodeType)("Expression")
821
+ },
822
+ operator: {
823
+ validate: (0, _utils.assertOneOf)(..._index.UNARY_OPERATORS)
824
+ }
825
+ },
826
+ visitor: ["argument"],
827
+ aliases: ["UnaryLike", "Expression"]
828
+ });
829
+ defineType("UpdateExpression", {
830
+ builder: ["operator", "argument", "prefix"],
831
+ fields: {
832
+ prefix: {
833
+ default: false
834
+ },
835
+ argument: {
836
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("Expression") : (0, _utils.assertNodeType)("Identifier", "MemberExpression")
837
+ },
838
+ operator: {
839
+ validate: (0, _utils.assertOneOf)(..._index.UPDATE_OPERATORS)
840
+ }
841
+ },
842
+ visitor: ["argument"],
843
+ aliases: ["Expression"]
844
+ });
845
+ defineType("VariableDeclaration", {
846
+ builder: ["kind", "declarations"],
847
+ visitor: ["declarations"],
848
+ aliases: ["Statement", "Declaration"],
849
+ fields: {
850
+ declare: {
851
+ validate: (0, _utils.assertValueType)("boolean"),
852
+ optional: true
853
+ },
854
+ kind: {
855
+ validate: (0, _utils.assertOneOf)("var", "let", "const", "using", "await using")
856
+ },
857
+ declarations: (0, _utils.validateArrayOfType)("VariableDeclarator")
858
+ },
859
+ validate: process.env.BABEL_TYPES_8_BREAKING ? (() => {
860
+ const withoutInit = (0, _utils.assertNodeType)("Identifier", "Placeholder");
861
+ const constOrLetOrVar = (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "Placeholder");
862
+ const usingOrAwaitUsing = (0, _utils.assertNodeType)("Identifier", "VoidPattern", "Placeholder");
863
+ return function (parent, key, node) {
864
+ const {
865
+ kind,
866
+ declarations
867
+ } = node;
868
+ const parentIsForX = (0, _is.default)("ForXStatement", parent, {
869
+ left: node
870
+ });
871
+ if (parentIsForX) {
872
+ if (declarations.length !== 1) {
873
+ throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`);
874
+ }
875
+ }
876
+ for (const decl of declarations) {
877
+ if (kind === "const" || kind === "let" || kind === "var") {
878
+ if (!parentIsForX && !decl.init) {
879
+ withoutInit(decl, "id", decl.id);
880
+ } else {
881
+ constOrLetOrVar(decl, "id", decl.id);
882
+ }
883
+ } else {
884
+ usingOrAwaitUsing(decl, "id", decl.id);
885
+ }
886
+ }
887
+ };
888
+ })() : undefined
889
+ });
890
+ defineType("VariableDeclarator", {
891
+ visitor: ["id", "init"],
892
+ fields: {
893
+ id: {
894
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)("LVal", "VoidPattern") : (0, _utils.assertNodeType)("Identifier", "ArrayPattern", "ObjectPattern", "VoidPattern")
895
+ },
896
+ definite: {
897
+ optional: true,
898
+ validate: (0, _utils.assertValueType)("boolean")
899
+ },
900
+ init: {
901
+ optional: true,
902
+ validate: (0, _utils.assertNodeType)("Expression")
903
+ }
904
+ }
905
+ });
906
+ defineType("WhileStatement", {
907
+ visitor: ["test", "body"],
908
+ aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"],
909
+ fields: {
910
+ test: {
911
+ validate: (0, _utils.assertNodeType)("Expression")
912
+ },
913
+ body: {
914
+ validate: (0, _utils.assertNodeType)("Statement")
915
+ }
916
+ }
917
+ });
918
+ defineType("WithStatement", {
919
+ visitor: ["object", "body"],
920
+ aliases: ["Statement"],
921
+ fields: {
922
+ object: {
923
+ validate: (0, _utils.assertNodeType)("Expression")
924
+ },
925
+ body: {
926
+ validate: (0, _utils.assertNodeType)("Statement")
927
+ }
928
+ }
929
+ });
930
+ defineType("AssignmentPattern", {
931
+ visitor: ["left", "right", "decorators"],
932
+ builder: ["left", "right"],
933
+ aliases: ["FunctionParameter", "Pattern", "PatternLike", "LVal"],
934
+ fields: Object.assign({}, patternLikeCommon(), {
935
+ left: {
936
+ validate: (0, _utils.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression")
937
+ },
938
+ right: {
939
+ validate: (0, _utils.assertNodeType)("Expression")
940
+ },
941
+ decorators: {
942
+ validate: (0, _utils.arrayOfType)("Decorator"),
943
+ optional: true
944
+ }
945
+ })
946
+ });
947
+ defineType("ArrayPattern", {
948
+ visitor: ["elements", "typeAnnotation"],
949
+ builder: ["elements"],
950
+ aliases: ["FunctionParameter", "Pattern", "PatternLike", "LVal"],
951
+ fields: Object.assign({}, patternLikeCommon(), {
952
+ elements: {
953
+ validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "PatternLike")))
954
+ }
955
+ })
956
+ });
957
+ defineType("ArrowFunctionExpression", {
958
+ builder: ["params", "body", "async"],
959
+ visitor: ["typeParameters", "params", "predicate", "returnType", "body"],
960
+ aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"],
961
+ fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {
962
+ expression: {
963
+ validate: (0, _utils.assertValueType)("boolean")
964
+ },
965
+ body: {
966
+ validate: (0, _utils.assertNodeType)("BlockStatement", "Expression")
967
+ },
968
+ predicate: {
969
+ validate: (0, _utils.assertNodeType)("DeclaredPredicate", "InferredPredicate"),
970
+ optional: true
971
+ }
972
+ })
973
+ });
974
+ defineType("ClassBody", {
975
+ visitor: ["body"],
976
+ fields: {
977
+ body: (0, _utils.validateArrayOfType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "ClassAccessorProperty", "TSDeclareMethod", "TSIndexSignature", "StaticBlock")
978
+ }
979
+ });
980
+ defineType("ClassExpression", {
981
+ builder: ["id", "superClass", "body", "decorators"],
982
+ visitor: ["decorators", "id", "typeParameters", "superClass", "superTypeParameters", "mixins", "implements", "body"],
983
+ aliases: ["Scopable", "Class", "Expression"],
984
+ fields: {
985
+ id: {
986
+ validate: (0, _utils.assertNodeType)("Identifier"),
987
+ optional: true
988
+ },
989
+ typeParameters: {
990
+ validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
991
+ optional: true
992
+ },
993
+ body: {
994
+ validate: (0, _utils.assertNodeType)("ClassBody")
995
+ },
996
+ superClass: {
997
+ optional: true,
998
+ validate: (0, _utils.assertNodeType)("Expression")
999
+ },
1000
+ ["superTypeParameters"]: {
1001
+ validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
1002
+ optional: true
1003
+ },
1004
+ implements: {
1005
+ validate: (0, _utils.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
1006
+ optional: true
1007
+ },
1008
+ decorators: {
1009
+ validate: (0, _utils.arrayOfType)("Decorator"),
1010
+ optional: true
1011
+ },
1012
+ mixins: {
1013
+ validate: (0, _utils.assertNodeType)("InterfaceExtends"),
1014
+ optional: true
1015
+ }
1016
+ }
1017
+ });
1018
+ defineType("ClassDeclaration", {
1019
+ inherits: "ClassExpression",
1020
+ aliases: ["Scopable", "Class", "Statement", "Declaration"],
1021
+ fields: {
1022
+ id: {
1023
+ validate: (0, _utils.assertNodeType)("Identifier"),
1024
+ optional: true
1025
+ },
1026
+ typeParameters: {
1027
+ validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"),
1028
+ optional: true
1029
+ },
1030
+ body: {
1031
+ validate: (0, _utils.assertNodeType)("ClassBody")
1032
+ },
1033
+ superClass: {
1034
+ optional: true,
1035
+ validate: (0, _utils.assertNodeType)("Expression")
1036
+ },
1037
+ ["superTypeParameters"]: {
1038
+ validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
1039
+ optional: true
1040
+ },
1041
+ implements: {
1042
+ validate: (0, _utils.arrayOfType)("TSExpressionWithTypeArguments", "ClassImplements"),
1043
+ optional: true
1044
+ },
1045
+ decorators: {
1046
+ validate: (0, _utils.arrayOfType)("Decorator"),
1047
+ optional: true
1048
+ },
1049
+ mixins: {
1050
+ validate: (0, _utils.assertNodeType)("InterfaceExtends"),
1051
+ optional: true
1052
+ },
1053
+ declare: {
1054
+ validate: (0, _utils.assertValueType)("boolean"),
1055
+ optional: true
1056
+ },
1057
+ abstract: {
1058
+ validate: (0, _utils.assertValueType)("boolean"),
1059
+ optional: true
1060
+ }
1061
+ },
1062
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? undefined : function () {
1063
+ const identifier = (0, _utils.assertNodeType)("Identifier");
1064
+ return function (parent, key, node) {
1065
+ if (!(0, _is.default)("ExportDefaultDeclaration", parent)) {
1066
+ identifier(node, "id", node.id);
1067
+ }
1068
+ };
1069
+ }()
1070
+ });
1071
+ const importAttributes = exports.importAttributes = {
1072
+ attributes: {
1073
+ optional: true,
1074
+ validate: (0, _utils.arrayOfType)("ImportAttribute")
1075
+ }
1076
+ };
1077
+ importAttributes.assertions = {
1078
+ deprecated: true,
1079
+ optional: true,
1080
+ validate: (0, _utils.arrayOfType)("ImportAttribute")
1081
+ };
1082
+ defineType("ExportAllDeclaration", {
1083
+ builder: ["source", "attributes"],
1084
+ visitor: ["source", "attributes", "assertions"],
1085
+ aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
1086
+ fields: Object.assign({
1087
+ source: {
1088
+ validate: (0, _utils.assertNodeType)("StringLiteral")
1089
+ },
1090
+ exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value"))
1091
+ }, importAttributes)
1092
+ });
1093
+ defineType("ExportDefaultDeclaration", {
1094
+ visitor: ["declaration"],
1095
+ aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
1096
+ fields: {
1097
+ declaration: (0, _utils.validateType)("TSDeclareFunction", "FunctionDeclaration", "ClassDeclaration", "Expression"),
1098
+ exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("value"))
1099
+ }
1100
+ });
1101
+ defineType("ExportNamedDeclaration", {
1102
+ builder: ["declaration", "specifiers", "source", "attributes"],
1103
+ visitor: ["declaration", "specifiers", "source", "attributes", "assertions"],
1104
+ aliases: ["Statement", "Declaration", "ImportOrExportDeclaration", "ExportDeclaration"],
1105
+ fields: Object.assign({
1106
+ declaration: {
1107
+ optional: true,
1108
+ validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)("Declaration"), Object.assign(function (node, key, val) {
1109
+ if (val && node.specifiers.length) {
1110
+ throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");
1111
+ }
1112
+ if (val && node.source) {
1113
+ throw new TypeError("Cannot export a declaration from a source");
1114
+ }
1115
+ }, {
1116
+ oneOfNodeTypes: ["Declaration"]
1117
+ })) : (0, _utils.assertNodeType)("Declaration")
1118
+ }
1119
+ }, importAttributes, {
1120
+ specifiers: {
1121
+ default: [],
1122
+ validate: (0, _utils.arrayOf)(function () {
1123
+ const sourced = (0, _utils.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier");
1124
+ const sourceless = (0, _utils.assertNodeType)("ExportSpecifier");
1125
+ if (!process.env.BABEL_TYPES_8_BREAKING) return sourced;
1126
+ return Object.assign(function (node, key, val) {
1127
+ const validator = node.source ? sourced : sourceless;
1128
+ validator(node, key, val);
1129
+ }, {
1130
+ oneOfNodeTypes: ["ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"]
1131
+ });
1132
+ }())
1133
+ },
1134
+ source: {
1135
+ validate: (0, _utils.assertNodeType)("StringLiteral"),
1136
+ optional: true
1137
+ },
1138
+ exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value"))
1139
+ })
1140
+ });
1141
+ defineType("ExportSpecifier", {
1142
+ visitor: ["local", "exported"],
1143
+ aliases: ["ModuleSpecifier"],
1144
+ fields: {
1145
+ local: {
1146
+ validate: (0, _utils.assertNodeType)("Identifier")
1147
+ },
1148
+ exported: {
1149
+ validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral")
1150
+ },
1151
+ exportKind: {
1152
+ validate: (0, _utils.assertOneOf)("type", "value"),
1153
+ optional: true
1154
+ }
1155
+ }
1156
+ });
1157
+ defineType("ForOfStatement", {
1158
+ visitor: ["left", "right", "body"],
1159
+ builder: ["left", "right", "body", "await"],
1160
+ aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"],
1161
+ fields: {
1162
+ left: {
1163
+ validate: function () {
1164
+ if (!process.env.BABEL_TYPES_8_BREAKING) {
1165
+ return (0, _utils.assertNodeType)("VariableDeclaration", "LVal");
1166
+ }
1167
+ const declaration = (0, _utils.assertNodeType)("VariableDeclaration");
1168
+ const lval = (0, _utils.assertNodeType)("Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression");
1169
+ return Object.assign(function (node, key, val) {
1170
+ if ((0, _is.default)("VariableDeclaration", val)) {
1171
+ declaration(node, key, val);
1172
+ } else {
1173
+ lval(node, key, val);
1174
+ }
1175
+ }, {
1176
+ oneOfNodeTypes: ["VariableDeclaration", "Identifier", "MemberExpression", "ArrayPattern", "ObjectPattern", "TSAsExpression", "TSSatisfiesExpression", "TSTypeAssertion", "TSNonNullExpression"]
1177
+ });
1178
+ }()
1179
+ },
1180
+ right: {
1181
+ validate: (0, _utils.assertNodeType)("Expression")
1182
+ },
1183
+ body: {
1184
+ validate: (0, _utils.assertNodeType)("Statement")
1185
+ },
1186
+ await: {
1187
+ default: false
1188
+ }
1189
+ }
1190
+ });
1191
+ defineType("ImportDeclaration", {
1192
+ builder: ["specifiers", "source", "attributes"],
1193
+ visitor: ["specifiers", "source", "attributes", "assertions"],
1194
+ aliases: ["Statement", "Declaration", "ImportOrExportDeclaration"],
1195
+ fields: Object.assign({}, importAttributes, {
1196
+ module: {
1197
+ optional: true,
1198
+ validate: (0, _utils.assertValueType)("boolean")
1199
+ },
1200
+ phase: {
1201
+ default: null,
1202
+ validate: (0, _utils.assertOneOf)("source", "defer")
1203
+ },
1204
+ specifiers: (0, _utils.validateArrayOfType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"),
1205
+ source: {
1206
+ validate: (0, _utils.assertNodeType)("StringLiteral")
1207
+ },
1208
+ importKind: {
1209
+ validate: (0, _utils.assertOneOf)("type", "typeof", "value"),
1210
+ optional: true
1211
+ }
1212
+ })
1213
+ });
1214
+ defineType("ImportDefaultSpecifier", {
1215
+ visitor: ["local"],
1216
+ aliases: ["ModuleSpecifier"],
1217
+ fields: {
1218
+ local: {
1219
+ validate: (0, _utils.assertNodeType)("Identifier")
1220
+ }
1221
+ }
1222
+ });
1223
+ defineType("ImportNamespaceSpecifier", {
1224
+ visitor: ["local"],
1225
+ aliases: ["ModuleSpecifier"],
1226
+ fields: {
1227
+ local: {
1228
+ validate: (0, _utils.assertNodeType)("Identifier")
1229
+ }
1230
+ }
1231
+ });
1232
+ defineType("ImportSpecifier", {
1233
+ visitor: ["imported", "local"],
1234
+ builder: ["local", "imported"],
1235
+ aliases: ["ModuleSpecifier"],
1236
+ fields: {
1237
+ local: {
1238
+ validate: (0, _utils.assertNodeType)("Identifier")
1239
+ },
1240
+ imported: {
1241
+ validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral")
1242
+ },
1243
+ importKind: {
1244
+ validate: (0, _utils.assertOneOf)("type", "typeof", "value"),
1245
+ optional: true
1246
+ }
1247
+ }
1248
+ });
1249
+ defineType("ImportExpression", {
1250
+ visitor: ["source", "options"],
1251
+ aliases: ["Expression"],
1252
+ fields: {
1253
+ phase: {
1254
+ default: null,
1255
+ validate: (0, _utils.assertOneOf)("source", "defer")
1256
+ },
1257
+ source: {
1258
+ validate: (0, _utils.assertNodeType)("Expression")
1259
+ },
1260
+ options: {
1261
+ validate: (0, _utils.assertNodeType)("Expression"),
1262
+ optional: true
1263
+ }
1264
+ }
1265
+ });
1266
+ defineType("MetaProperty", {
1267
+ visitor: ["meta", "property"],
1268
+ aliases: ["Expression"],
1269
+ fields: {
1270
+ meta: {
1271
+ validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)("Identifier"), Object.assign(function (node, key, val) {
1272
+ let property;
1273
+ switch (val.name) {
1274
+ case "function":
1275
+ property = "sent";
1276
+ break;
1277
+ case "new":
1278
+ property = "target";
1279
+ break;
1280
+ case "import":
1281
+ property = "meta";
1282
+ break;
1283
+ }
1284
+ if (!(0, _is.default)("Identifier", node.property, {
1285
+ name: property
1286
+ })) {
1287
+ throw new TypeError("Unrecognised MetaProperty");
1288
+ }
1289
+ }, {
1290
+ oneOfNodeTypes: ["Identifier"]
1291
+ })) : (0, _utils.assertNodeType)("Identifier")
1292
+ },
1293
+ property: {
1294
+ validate: (0, _utils.assertNodeType)("Identifier")
1295
+ }
1296
+ }
1297
+ });
1298
+ const classMethodOrPropertyCommon = () => ({
1299
+ abstract: {
1300
+ validate: (0, _utils.assertValueType)("boolean"),
1301
+ optional: true
1302
+ },
1303
+ accessibility: {
1304
+ validate: (0, _utils.assertOneOf)("public", "private", "protected"),
1305
+ optional: true
1306
+ },
1307
+ static: {
1308
+ default: false
1309
+ },
1310
+ override: {
1311
+ default: false
1312
+ },
1313
+ computed: {
1314
+ default: false
1315
+ },
1316
+ optional: {
1317
+ validate: (0, _utils.assertValueType)("boolean"),
1318
+ optional: true
1319
+ },
1320
+ key: {
1321
+ validate: (0, _utils.chain)(function () {
1322
+ const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral");
1323
+ const computed = (0, _utils.assertNodeType)("Expression");
1324
+ return function (node, key, val) {
1325
+ const validator = node.computed ? computed : normal;
1326
+ validator(node, key, val);
1327
+ };
1328
+ }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression"))
1329
+ }
1330
+ });
1331
+ exports.classMethodOrPropertyCommon = classMethodOrPropertyCommon;
1332
+ const classMethodOrDeclareMethodCommon = () => Object.assign({}, functionCommon(), classMethodOrPropertyCommon(), {
1333
+ params: (0, _utils.validateArrayOfType)("FunctionParameter", "TSParameterProperty"),
1334
+ kind: {
1335
+ validate: (0, _utils.assertOneOf)("get", "set", "method", "constructor"),
1336
+ default: "method"
1337
+ },
1338
+ access: {
1339
+ validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")),
1340
+ optional: true
1341
+ },
1342
+ decorators: {
1343
+ validate: (0, _utils.arrayOfType)("Decorator"),
1344
+ optional: true
1345
+ }
1346
+ });
1347
+ exports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon;
1348
+ defineType("ClassMethod", Object.assign({
1349
+ aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"],
1350
+ builder: ["kind", "key", "params", "body", "computed", "static", "generator", "async"],
1351
+ visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"]
1352
+ }, classMethodOrPropertyUnionShapeCommon(), {
1353
+ fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {
1354
+ body: {
1355
+ validate: (0, _utils.assertNodeType)("BlockStatement")
1356
+ }
1357
+ })
1358
+ }));
1359
+ defineType("ObjectPattern", {
1360
+ visitor: ["decorators", "properties", "typeAnnotation"],
1361
+ builder: ["properties"],
1362
+ aliases: ["FunctionParameter", "Pattern", "PatternLike", "LVal"],
1363
+ fields: Object.assign({}, patternLikeCommon(), {
1364
+ properties: (0, _utils.validateArrayOfType)("RestElement", "ObjectProperty")
1365
+ })
1366
+ });
1367
+ defineType("SpreadElement", {
1368
+ visitor: ["argument"],
1369
+ aliases: ["UnaryLike"],
1370
+ deprecatedAlias: "SpreadProperty",
1371
+ fields: {
1372
+ argument: {
1373
+ validate: (0, _utils.assertNodeType)("Expression")
1374
+ }
1375
+ }
1376
+ });
1377
+ defineType("Super", {
1378
+ aliases: ["Expression"]
1379
+ });
1380
+ defineType("TaggedTemplateExpression", {
1381
+ visitor: ["tag", "typeParameters", "quasi"],
1382
+ builder: ["tag", "quasi"],
1383
+ aliases: ["Expression"],
1384
+ fields: {
1385
+ tag: {
1386
+ validate: (0, _utils.assertNodeType)("Expression")
1387
+ },
1388
+ quasi: {
1389
+ validate: (0, _utils.assertNodeType)("TemplateLiteral")
1390
+ },
1391
+ ["typeParameters"]: {
1392
+ validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"),
1393
+ optional: true
1394
+ }
1395
+ }
1396
+ });
1397
+ defineType("TemplateElement", {
1398
+ builder: ["value", "tail"],
1399
+ fields: {
1400
+ value: {
1401
+ validate: (0, _utils.chain)((0, _utils.assertShape)({
1402
+ raw: {
1403
+ validate: (0, _utils.assertValueType)("string")
1404
+ },
1405
+ cooked: {
1406
+ validate: (0, _utils.assertValueType)("string"),
1407
+ optional: true
1408
+ }
1409
+ }), function templateElementCookedValidator(node) {
1410
+ const raw = node.value.raw;
1411
+ let unterminatedCalled = false;
1412
+ const error = () => {
1413
+ throw new Error("Internal @babel/types error.");
1414
+ };
1415
+ const {
1416
+ str,
1417
+ firstInvalidLoc
1418
+ } = (0, _helperStringParser.readStringContents)("template", raw, 0, 0, 0, {
1419
+ unterminated() {
1420
+ unterminatedCalled = true;
1421
+ },
1422
+ strictNumericEscape: error,
1423
+ invalidEscapeSequence: error,
1424
+ numericSeparatorInEscapeSequence: error,
1425
+ unexpectedNumericSeparator: error,
1426
+ invalidDigit: error,
1427
+ invalidCodePoint: error
1428
+ });
1429
+ if (!unterminatedCalled) throw new Error("Invalid raw");
1430
+ node.value.cooked = firstInvalidLoc ? null : str;
1431
+ })
1432
+ },
1433
+ tail: {
1434
+ default: false
1435
+ }
1436
+ }
1437
+ });
1438
+ defineType("TemplateLiteral", {
1439
+ visitor: ["quasis", "expressions"],
1440
+ aliases: ["Expression", "Literal"],
1441
+ fields: {
1442
+ quasis: (0, _utils.validateArrayOfType)("TemplateElement"),
1443
+ expressions: {
1444
+ validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "TSType")), function (node, key, val) {
1445
+ if (node.quasis.length !== val.length + 1) {
1446
+ throw new TypeError(`Number of ${node.type} quasis should be exactly one more than the number of expressions.\nExpected ${val.length + 1} quasis but got ${node.quasis.length}`);
1447
+ }
1448
+ })
1449
+ }
1450
+ }
1451
+ });
1452
+ defineType("YieldExpression", {
1453
+ builder: ["argument", "delegate"],
1454
+ visitor: ["argument"],
1455
+ aliases: ["Expression", "Terminatorless"],
1456
+ fields: {
1457
+ delegate: {
1458
+ validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)("boolean"), Object.assign(function (node, key, val) {
1459
+ if (val && !node.argument) {
1460
+ throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument");
1461
+ }
1462
+ }, {
1463
+ type: "boolean"
1464
+ })) : (0, _utils.assertValueType)("boolean"),
1465
+ default: false
1466
+ },
1467
+ argument: {
1468
+ optional: true,
1469
+ validate: (0, _utils.assertNodeType)("Expression")
1470
+ }
1471
+ }
1472
+ });
1473
+ defineType("AwaitExpression", {
1474
+ builder: ["argument"],
1475
+ visitor: ["argument"],
1476
+ aliases: ["Expression", "Terminatorless"],
1477
+ fields: {
1478
+ argument: {
1479
+ validate: (0, _utils.assertNodeType)("Expression")
1480
+ }
1481
+ }
1482
+ });
1483
+ defineType("Import", {
1484
+ aliases: ["Expression"]
1485
+ });
1486
+ defineType("BigIntLiteral", {
1487
+ builder: ["value"],
1488
+ fields: {
1489
+ value: {
1490
+ validate: (0, _utils.assertValueType)("string")
1491
+ }
1492
+ },
1493
+ aliases: ["Expression", "Pureish", "Literal", "Immutable"]
1494
+ });
1495
+ defineType("ExportNamespaceSpecifier", {
1496
+ visitor: ["exported"],
1497
+ aliases: ["ModuleSpecifier"],
1498
+ fields: {
1499
+ exported: {
1500
+ validate: (0, _utils.assertNodeType)("Identifier")
1501
+ }
1502
+ }
1503
+ });
1504
+ defineType("OptionalMemberExpression", {
1505
+ builder: ["object", "property", "computed", "optional"],
1506
+ visitor: ["object", "property"],
1507
+ aliases: ["Expression"],
1508
+ fields: {
1509
+ object: {
1510
+ validate: (0, _utils.assertNodeType)("Expression")
1511
+ },
1512
+ property: {
1513
+ validate: function () {
1514
+ const normal = (0, _utils.assertNodeType)("Identifier");
1515
+ const computed = (0, _utils.assertNodeType)("Expression");
1516
+ const validator = Object.assign(function (node, key, val) {
1517
+ const validator = node.computed ? computed : normal;
1518
+ validator(node, key, val);
1519
+ }, {
1520
+ oneOfNodeTypes: ["Expression", "Identifier"]
1521
+ });
1522
+ return validator;
1523
+ }()
1524
+ },
1525
+ computed: {
1526
+ default: false
1527
+ },
1528
+ optional: {
1529
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)())
1530
+ }
1531
+ }
1532
+ });
1533
+ defineType("OptionalCallExpression", {
1534
+ visitor: ["callee", "typeParameters", "typeArguments", "arguments"],
1535
+ builder: ["callee", "arguments", "optional"],
1536
+ aliases: ["Expression"],
1537
+ fields: Object.assign({
1538
+ callee: {
1539
+ validate: (0, _utils.assertNodeType)("Expression")
1540
+ },
1541
+ arguments: (0, _utils.validateArrayOfType)("Expression", "SpreadElement", "ArgumentPlaceholder"),
1542
+ optional: {
1543
+ validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)("boolean") : (0, _utils.chain)((0, _utils.assertValueType)("boolean"), (0, _utils.assertOptionalChainStart)())
1544
+ },
1545
+ typeArguments: {
1546
+ validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"),
1547
+ optional: true
1548
+ }
1549
+ }, {
1550
+ typeParameters: {
1551
+ validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"),
1552
+ optional: true
1553
+ }
1554
+ })
1555
+ });
1556
+ defineType("ClassProperty", Object.assign({
1557
+ visitor: ["decorators", "variance", "key", "typeAnnotation", "value"],
1558
+ builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
1559
+ aliases: ["Property"]
1560
+ }, classMethodOrPropertyUnionShapeCommon(), {
1561
+ fields: Object.assign({}, classMethodOrPropertyCommon(), {
1562
+ value: {
1563
+ validate: (0, _utils.assertNodeType)("Expression"),
1564
+ optional: true
1565
+ },
1566
+ definite: {
1567
+ validate: (0, _utils.assertValueType)("boolean"),
1568
+ optional: true
1569
+ },
1570
+ typeAnnotation: {
1571
+ validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
1572
+ optional: true
1573
+ },
1574
+ decorators: {
1575
+ validate: (0, _utils.arrayOfType)("Decorator"),
1576
+ optional: true
1577
+ },
1578
+ readonly: {
1579
+ validate: (0, _utils.assertValueType)("boolean"),
1580
+ optional: true
1581
+ },
1582
+ declare: {
1583
+ validate: (0, _utils.assertValueType)("boolean"),
1584
+ optional: true
1585
+ },
1586
+ variance: {
1587
+ validate: (0, _utils.assertNodeType)("Variance"),
1588
+ optional: true
1589
+ }
1590
+ })
1591
+ }));
1592
+ defineType("ClassAccessorProperty", Object.assign({
1593
+ visitor: ["decorators", "key", "typeAnnotation", "value"],
1594
+ builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"],
1595
+ aliases: ["Property", "Accessor"]
1596
+ }, classMethodOrPropertyUnionShapeCommon(true), {
1597
+ fields: Object.assign({}, classMethodOrPropertyCommon(), {
1598
+ key: {
1599
+ validate: (0, _utils.chain)(function () {
1600
+ const normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "PrivateName");
1601
+ const computed = (0, _utils.assertNodeType)("Expression");
1602
+ return function (node, key, val) {
1603
+ const validator = node.computed ? computed : normal;
1604
+ validator(node, key, val);
1605
+ };
1606
+ }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "BigIntLiteral", "Expression", "PrivateName"))
1607
+ },
1608
+ value: {
1609
+ validate: (0, _utils.assertNodeType)("Expression"),
1610
+ optional: true
1611
+ },
1612
+ definite: {
1613
+ validate: (0, _utils.assertValueType)("boolean"),
1614
+ optional: true
1615
+ },
1616
+ typeAnnotation: {
1617
+ validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
1618
+ optional: true
1619
+ },
1620
+ decorators: {
1621
+ validate: (0, _utils.arrayOfType)("Decorator"),
1622
+ optional: true
1623
+ },
1624
+ readonly: {
1625
+ validate: (0, _utils.assertValueType)("boolean"),
1626
+ optional: true
1627
+ },
1628
+ declare: {
1629
+ validate: (0, _utils.assertValueType)("boolean"),
1630
+ optional: true
1631
+ },
1632
+ variance: {
1633
+ validate: (0, _utils.assertNodeType)("Variance"),
1634
+ optional: true
1635
+ }
1636
+ })
1637
+ }));
1638
+ defineType("ClassPrivateProperty", {
1639
+ visitor: ["decorators", "variance", "key", "typeAnnotation", "value"],
1640
+ builder: ["key", "value", "decorators", "static"],
1641
+ aliases: ["Property", "Private"],
1642
+ fields: {
1643
+ key: {
1644
+ validate: (0, _utils.assertNodeType)("PrivateName")
1645
+ },
1646
+ value: {
1647
+ validate: (0, _utils.assertNodeType)("Expression"),
1648
+ optional: true
1649
+ },
1650
+ typeAnnotation: {
1651
+ validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"),
1652
+ optional: true
1653
+ },
1654
+ decorators: {
1655
+ validate: (0, _utils.arrayOfType)("Decorator"),
1656
+ optional: true
1657
+ },
1658
+ static: {
1659
+ validate: (0, _utils.assertValueType)("boolean"),
1660
+ default: false
1661
+ },
1662
+ readonly: {
1663
+ validate: (0, _utils.assertValueType)("boolean"),
1664
+ optional: true
1665
+ },
1666
+ optional: {
1667
+ validate: (0, _utils.assertValueType)("boolean"),
1668
+ optional: true
1669
+ },
1670
+ definite: {
1671
+ validate: (0, _utils.assertValueType)("boolean"),
1672
+ optional: true
1673
+ },
1674
+ variance: {
1675
+ validate: (0, _utils.assertNodeType)("Variance"),
1676
+ optional: true
1677
+ }
1678
+ }
1679
+ });
1680
+ defineType("ClassPrivateMethod", {
1681
+ builder: ["kind", "key", "params", "body", "static"],
1682
+ visitor: ["decorators", "key", "typeParameters", "params", "returnType", "body"],
1683
+ aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"],
1684
+ fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {
1685
+ kind: {
1686
+ validate: (0, _utils.assertOneOf)("get", "set", "method"),
1687
+ default: "method"
1688
+ },
1689
+ key: {
1690
+ validate: (0, _utils.assertNodeType)("PrivateName")
1691
+ },
1692
+ body: {
1693
+ validate: (0, _utils.assertNodeType)("BlockStatement")
1694
+ }
1695
+ })
1696
+ });
1697
+ defineType("PrivateName", {
1698
+ visitor: ["id"],
1699
+ aliases: ["Private"],
1700
+ fields: {
1701
+ id: {
1702
+ validate: (0, _utils.assertNodeType)("Identifier")
1703
+ }
1704
+ }
1705
+ });
1706
+ defineType("StaticBlock", {
1707
+ visitor: ["body"],
1708
+ fields: {
1709
+ body: (0, _utils.validateArrayOfType)("Statement")
1710
+ },
1711
+ aliases: ["Scopable", "BlockParent", "FunctionParent"]
1712
+ });
1713
+ defineType("ImportAttribute", {
1714
+ visitor: ["key", "value"],
1715
+ fields: {
1716
+ key: {
1717
+ validate: (0, _utils.assertNodeType)("Identifier", "StringLiteral")
1718
+ },
1719
+ value: {
1720
+ validate: (0, _utils.assertNodeType)("StringLiteral")
1721
+ }
1722
+ }
1723
+ });
1724
+
1725
+ //# sourceMappingURL=core.js.map