@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,296 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.allExpandedTypes = exports.VISITOR_KEYS = exports.NODE_UNION_SHAPES__PRIVATE = exports.NODE_PARENT_VALIDATIONS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.ALIAS_KEYS = void 0;
7
+ exports.arrayOf = arrayOf;
8
+ exports.arrayOfType = arrayOfType;
9
+ exports.assertEach = assertEach;
10
+ exports.assertNodeOrValueType = assertNodeOrValueType;
11
+ exports.assertNodeType = assertNodeType;
12
+ exports.assertOneOf = assertOneOf;
13
+ exports.assertOptionalChainStart = assertOptionalChainStart;
14
+ exports.assertShape = assertShape;
15
+ exports.assertValueType = assertValueType;
16
+ exports.chain = chain;
17
+ exports.default = defineType;
18
+ exports.defineAliasedType = defineAliasedType;
19
+ exports.validate = validate;
20
+ exports.validateArrayOfType = validateArrayOfType;
21
+ exports.validateOptional = validateOptional;
22
+ exports.validateOptionalType = validateOptionalType;
23
+ exports.validateType = validateType;
24
+ var _is = require("../validators/is.js");
25
+ var _validate = require("../validators/validate.js");
26
+ const VISITOR_KEYS = exports.VISITOR_KEYS = {};
27
+ const ALIAS_KEYS = exports.ALIAS_KEYS = {};
28
+ const FLIPPED_ALIAS_KEYS = exports.FLIPPED_ALIAS_KEYS = {};
29
+ const NODE_FIELDS = exports.NODE_FIELDS = {};
30
+ const BUILDER_KEYS = exports.BUILDER_KEYS = {};
31
+ const DEPRECATED_KEYS = exports.DEPRECATED_KEYS = {};
32
+ const NODE_PARENT_VALIDATIONS = exports.NODE_PARENT_VALIDATIONS = {};
33
+ const NODE_UNION_SHAPES__PRIVATE = exports.NODE_UNION_SHAPES__PRIVATE = {};
34
+ function getType(val) {
35
+ if (Array.isArray(val)) {
36
+ return "array";
37
+ } else if (val === null) {
38
+ return "null";
39
+ } else {
40
+ return typeof val;
41
+ }
42
+ }
43
+ function validate(validate) {
44
+ return {
45
+ validate
46
+ };
47
+ }
48
+ function validateType(...typeNames) {
49
+ return validate(assertNodeType(...typeNames));
50
+ }
51
+ function validateOptional(validate) {
52
+ return {
53
+ validate,
54
+ optional: true
55
+ };
56
+ }
57
+ function validateOptionalType(...typeNames) {
58
+ return {
59
+ validate: assertNodeType(...typeNames),
60
+ optional: true
61
+ };
62
+ }
63
+ function arrayOf(elementType) {
64
+ return chain(assertValueType("array"), assertEach(elementType));
65
+ }
66
+ function arrayOfType(...typeNames) {
67
+ return arrayOf(assertNodeType(...typeNames));
68
+ }
69
+ function validateArrayOfType(...typeNames) {
70
+ return validate(arrayOfType(...typeNames));
71
+ }
72
+ function assertEach(callback) {
73
+ const childValidator = process.env.BABEL_TYPES_8_BREAKING ? _validate.validateChild : () => {};
74
+ function validator(node, key, val) {
75
+ if (!Array.isArray(val)) return;
76
+ let i = 0;
77
+ const subKey = {
78
+ toString() {
79
+ return `${key}[${i}]`;
80
+ }
81
+ };
82
+ for (; i < val.length; i++) {
83
+ const v = val[i];
84
+ callback(node, subKey, v);
85
+ childValidator(node, subKey, v);
86
+ }
87
+ }
88
+ validator.each = callback;
89
+ return validator;
90
+ }
91
+ function assertOneOf(...values) {
92
+ function validate(node, key, val) {
93
+ if (!values.includes(val)) {
94
+ throw new TypeError(`Property ${key} expected value to be one of ${JSON.stringify(values)} but got ${JSON.stringify(val)}`);
95
+ }
96
+ }
97
+ validate.oneOf = values;
98
+ return validate;
99
+ }
100
+ const allExpandedTypes = exports.allExpandedTypes = [];
101
+ function assertNodeType(...types) {
102
+ const expandedTypes = new Set();
103
+ allExpandedTypes.push({
104
+ types,
105
+ set: expandedTypes
106
+ });
107
+ function validate(node, key, val) {
108
+ const valType = val == null ? void 0 : val.type;
109
+ if (valType != null) {
110
+ if (expandedTypes.has(valType)) {
111
+ (0, _validate.validateChild)(node, key, val);
112
+ return;
113
+ }
114
+ if (valType === "Placeholder") {
115
+ for (const type of types) {
116
+ if ((0, _is.default)(type, val)) {
117
+ (0, _validate.validateChild)(node, key, val);
118
+ return;
119
+ }
120
+ }
121
+ }
122
+ }
123
+ throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(valType)}`);
124
+ }
125
+ validate.oneOfNodeTypes = types;
126
+ return validate;
127
+ }
128
+ function assertNodeOrValueType(...types) {
129
+ function validate(node, key, val) {
130
+ const primitiveType = getType(val);
131
+ for (const type of types) {
132
+ if (primitiveType === type || (0, _is.default)(type, val)) {
133
+ (0, _validate.validateChild)(node, key, val);
134
+ return;
135
+ }
136
+ }
137
+ throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);
138
+ }
139
+ validate.oneOfNodeOrValueTypes = types;
140
+ return validate;
141
+ }
142
+ function assertValueType(type) {
143
+ function validate(node, key, val) {
144
+ if (getType(val) === type) {
145
+ return;
146
+ }
147
+ throw new TypeError(`Property ${key} expected type of ${type} but got ${getType(val)}`);
148
+ }
149
+ validate.type = type;
150
+ return validate;
151
+ }
152
+ function assertShape(shape) {
153
+ const keys = Object.keys(shape);
154
+ function validate(node, key, val) {
155
+ const errors = [];
156
+ for (const property of keys) {
157
+ try {
158
+ (0, _validate.validateField)(node, property, val[property], shape[property]);
159
+ } catch (error) {
160
+ if (error instanceof TypeError) {
161
+ errors.push(error.message);
162
+ continue;
163
+ }
164
+ throw error;
165
+ }
166
+ }
167
+ if (errors.length) {
168
+ throw new TypeError(`Property ${key} of ${node.type} expected to have the following:\n${errors.join("\n")}`);
169
+ }
170
+ }
171
+ validate.shapeOf = shape;
172
+ return validate;
173
+ }
174
+ function assertOptionalChainStart() {
175
+ function validate(node) {
176
+ var _current;
177
+ let current = node;
178
+ while (node) {
179
+ const {
180
+ type
181
+ } = current;
182
+ if (type === "OptionalCallExpression") {
183
+ if (current.optional) return;
184
+ current = current.callee;
185
+ continue;
186
+ }
187
+ if (type === "OptionalMemberExpression") {
188
+ if (current.optional) return;
189
+ current = current.object;
190
+ continue;
191
+ }
192
+ break;
193
+ }
194
+ throw new TypeError(`Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${(_current = current) == null ? void 0 : _current.type}`);
195
+ }
196
+ return validate;
197
+ }
198
+ function chain(...fns) {
199
+ function validate(...args) {
200
+ for (const fn of fns) {
201
+ fn(...args);
202
+ }
203
+ }
204
+ validate.chainOf = fns;
205
+ if (fns.length >= 2 && "type" in fns[0] && fns[0].type === "array" && !("each" in fns[1])) {
206
+ throw new Error(`An assertValueType("array") validator can only be followed by an assertEach(...) validator.`);
207
+ }
208
+ return validate;
209
+ }
210
+ const validTypeOpts = new Set(["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate", "unionShape"]);
211
+ const validFieldKeys = new Set(["default", "optional", "deprecated", "validate"]);
212
+ const store = {};
213
+ function defineAliasedType(...aliases) {
214
+ return (type, opts = {}) => {
215
+ let defined = opts.aliases;
216
+ if (!defined) {
217
+ var _store$opts$inherits$;
218
+ if (opts.inherits) defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice();
219
+ defined != null ? defined : defined = [];
220
+ opts.aliases = defined;
221
+ }
222
+ const additional = aliases.filter(a => !defined.includes(a));
223
+ defined.unshift(...additional);
224
+ defineType(type, opts);
225
+ };
226
+ }
227
+ function defineType(type, opts = {}) {
228
+ const inherits = opts.inherits && store[opts.inherits] || {};
229
+ let fields = opts.fields;
230
+ if (!fields) {
231
+ fields = {};
232
+ if (inherits.fields) {
233
+ const keys = Object.getOwnPropertyNames(inherits.fields);
234
+ for (const key of keys) {
235
+ const field = inherits.fields[key];
236
+ const def = field.default;
237
+ if (Array.isArray(def) ? def.length > 0 : def && typeof def === "object") {
238
+ throw new Error("field defaults can only be primitives or empty arrays currently");
239
+ }
240
+ fields[key] = {
241
+ default: Array.isArray(def) ? [] : def,
242
+ optional: field.optional,
243
+ deprecated: field.deprecated,
244
+ validate: field.validate
245
+ };
246
+ }
247
+ }
248
+ }
249
+ const visitor = opts.visitor || inherits.visitor || [];
250
+ const aliases = opts.aliases || inherits.aliases || [];
251
+ const builder = opts.builder || inherits.builder || opts.visitor || [];
252
+ for (const k of Object.keys(opts)) {
253
+ if (!validTypeOpts.has(k)) {
254
+ throw new Error(`Unknown type option "${k}" on ${type}`);
255
+ }
256
+ }
257
+ if (opts.deprecatedAlias) {
258
+ DEPRECATED_KEYS[opts.deprecatedAlias] = type;
259
+ }
260
+ for (const key of visitor.concat(builder)) {
261
+ fields[key] = fields[key] || {};
262
+ }
263
+ for (const key of Object.keys(fields)) {
264
+ const field = fields[key];
265
+ if (field.default !== undefined && !builder.includes(key)) {
266
+ field.optional = true;
267
+ }
268
+ if (field.default === undefined) {
269
+ field.default = null;
270
+ } else if (!field.validate && field.default != null) {
271
+ field.validate = assertValueType(getType(field.default));
272
+ }
273
+ for (const k of Object.keys(field)) {
274
+ if (!validFieldKeys.has(k)) {
275
+ throw new Error(`Unknown field key "${k}" on ${type}.${key}`);
276
+ }
277
+ }
278
+ }
279
+ VISITOR_KEYS[type] = opts.visitor = visitor;
280
+ BUILDER_KEYS[type] = opts.builder = builder;
281
+ NODE_FIELDS[type] = opts.fields = fields;
282
+ ALIAS_KEYS[type] = opts.aliases = aliases;
283
+ aliases.forEach(alias => {
284
+ FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];
285
+ FLIPPED_ALIAS_KEYS[alias].push(type);
286
+ });
287
+ if (opts.validate) {
288
+ NODE_PARENT_VALIDATIONS[type] = opts.validate;
289
+ }
290
+ if (opts.unionShape) {
291
+ NODE_UNION_SHAPES__PRIVATE[type] = opts.unionShape;
292
+ }
293
+ store[type] = opts;
294
+ }
295
+
296
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_is","require","_validate","VISITOR_KEYS","exports","ALIAS_KEYS","FLIPPED_ALIAS_KEYS","NODE_FIELDS","BUILDER_KEYS","DEPRECATED_KEYS","NODE_PARENT_VALIDATIONS","NODE_UNION_SHAPES__PRIVATE","getType","val","Array","isArray","validate","validateType","typeNames","assertNodeType","validateOptional","optional","validateOptionalType","arrayOf","elementType","chain","assertValueType","assertEach","arrayOfType","validateArrayOfType","callback","childValidator","process","env","BABEL_TYPES_8_BREAKING","validateChild","validator","node","key","i","subKey","toString","length","v","each","assertOneOf","values","includes","TypeError","JSON","stringify","oneOf","allExpandedTypes","types","expandedTypes","Set","push","set","valType","type","has","is","oneOfNodeTypes","assertNodeOrValueType","primitiveType","oneOfNodeOrValueTypes","assertShape","shape","keys","Object","errors","property","validateField","error","message","join","shapeOf","assertOptionalChainStart","_current","current","callee","object","fns","args","fn","chainOf","Error","validTypeOpts","validFieldKeys","store","defineAliasedType","aliases","opts","defined","_store$opts$inherits$","inherits","slice","additional","filter","a","unshift","defineType","fields","getOwnPropertyNames","field","def","default","deprecated","visitor","builder","k","deprecatedAlias","concat","undefined","forEach","alias","unionShape"],"sources":["../../src/definitions/utils.ts"],"sourcesContent":["import is from \"../validators/is.ts\";\nimport { validateField, validateChild } from \"../validators/validate.ts\";\nimport type * as t from \"../index.ts\";\n\nexport const VISITOR_KEYS: Record<string, string[]> = {};\nexport const ALIAS_KEYS: Partial<Record<NodeTypesWithoutComment, string[]>> =\n {};\nexport const FLIPPED_ALIAS_KEYS: Record<string, NodeTypesWithoutComment[]> = {};\nexport const NODE_FIELDS: Record<string, FieldDefinitions> = {};\nexport const BUILDER_KEYS: Record<string, string[]> = {};\nexport const DEPRECATED_KEYS: Record<string, NodeTypesWithoutComment> = {};\nexport const NODE_PARENT_VALIDATIONS: Record<string, Validator> = {};\nexport const NODE_UNION_SHAPES__PRIVATE: Record<string, UnionShape> = {};\n\nfunction getType(val: any) {\n if (Array.isArray(val)) {\n return \"array\";\n } else if (val === null) {\n return \"null\";\n } else {\n return typeof val;\n }\n}\n\ntype NodeTypesWithoutComment = t.Node[\"type\"] | keyof t.Aliases;\n\ntype NodeTypes = NodeTypesWithoutComment | t.Comment[\"type\"];\n\ntype PrimitiveTypes = ReturnType<typeof getType>;\n\ntype FieldDefinitions = Record<string, FieldOptions>;\n\ntype UnionShape = {\n discriminator: string;\n shapes: {\n name: string;\n value: any[];\n properties: Record<string, FieldOptions>;\n }[];\n};\n\ntype DefineTypeOpts = {\n fields?: FieldDefinitions;\n visitor?: string[];\n aliases?: string[];\n builder?: string[];\n inherits?: NodeTypes;\n deprecatedAlias?: string;\n validate?: Validator;\n unionShape?: UnionShape;\n};\n\nexport type ValidatorImpl = (\n node?: t.Node,\n key?: string | { toString(): string },\n val?: any,\n) => void;\n\nexport type ValidatorType = { type: PrimitiveTypes } & ValidatorImpl;\nexport type ValidatorEach = { each: Validator } & ValidatorImpl;\nexport type ValidatorChainOf = {\n chainOf: readonly Validator[];\n} & ValidatorImpl;\nexport type ValidatorOneOf = { oneOf: readonly any[] } & ValidatorImpl;\nexport type ValidatorOneOfNodeTypes = {\n oneOfNodeTypes: readonly NodeTypes[];\n} & ValidatorImpl;\nexport type ValidatorOneOfNodeOrValueTypes = {\n oneOfNodeOrValueTypes: readonly (NodeTypes | PrimitiveTypes)[];\n} & ValidatorImpl;\nexport type ValidatorShapeOf = {\n shapeOf: Record<string, FieldOptions>;\n} & ValidatorImpl;\n\nexport type Validator =\n | ValidatorType\n | ValidatorEach\n | ValidatorChainOf\n | ValidatorOneOf\n | ValidatorOneOfNodeTypes\n | ValidatorOneOfNodeOrValueTypes\n | ValidatorShapeOf\n | ValidatorImpl;\n\nexport type FieldOptions = {\n default?: string | number | boolean | [];\n optional?: boolean;\n deprecated?: boolean;\n validate?: Validator;\n};\n\nexport function validate(validate: Validator): FieldOptions {\n return { validate };\n}\n\nexport function validateType(...typeNames: NodeTypes[]) {\n return validate(assertNodeType(...typeNames));\n}\n\nexport function validateOptional(validate: Validator): FieldOptions {\n return { validate, optional: true };\n}\n\nexport function validateOptionalType(...typeNames: NodeTypes[]): FieldOptions {\n return { validate: assertNodeType(...typeNames), optional: true };\n}\n\nexport function arrayOf(elementType: Validator): Validator {\n return chain(assertValueType(\"array\"), assertEach(elementType));\n}\n\nexport function arrayOfType(...typeNames: NodeTypes[]) {\n return arrayOf(assertNodeType(...typeNames));\n}\n\nexport function validateArrayOfType(...typeNames: NodeTypes[]) {\n return validate(arrayOfType(...typeNames));\n}\n\nexport function assertEach(callback: Validator): Validator {\n const childValidator =\n process.env.BABEL_8_BREAKING || process.env.BABEL_TYPES_8_BREAKING\n ? validateChild\n : () => {};\n\n function validator(node: t.Node, key: string, val: any) {\n if (!Array.isArray(val)) return;\n\n let i = 0;\n // We lazily concatenate strings here for performance reasons.\n // Concatenating the strings is expensive because we are actually concatenating a string and a number,\n // so V8 cannot just create a \"rope string\" but has to allocate memory for the string resulting from the number\n // This string is very rarely used, only in error paths, so we can skip the concatenation cost in most cases\n const subKey = {\n toString() {\n return `${key}[${i}]`;\n },\n };\n\n for (; i < val.length; i++) {\n const v = val[i];\n callback(node, subKey, v);\n childValidator(node, subKey, v);\n }\n }\n validator.each = callback;\n return validator;\n}\n\nexport function assertOneOf(...values: any[]): Validator {\n function validate(node: any, key: string, val: any) {\n if (!values.includes(val)) {\n throw new TypeError(\n `Property ${key} expected value to be one of ${JSON.stringify(\n values,\n )} but got ${JSON.stringify(val)}`,\n );\n }\n }\n\n validate.oneOf = values;\n\n return validate;\n}\n\nexport const allExpandedTypes: {\n types: NodeTypes[];\n set: Set<string>;\n}[] = [];\n\nexport function assertNodeType(...types: NodeTypes[]): Validator {\n const expandedTypes = new Set<string>();\n\n allExpandedTypes.push({ types, set: expandedTypes });\n\n function validate(node: t.Node, key: string, val: any) {\n const valType = val?.type;\n if (valType != null) {\n if (expandedTypes.has(valType)) {\n validateChild(node, key, val);\n return;\n }\n if (valType === \"Placeholder\") {\n for (const type of types) {\n if (is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(valType)}`,\n );\n }\n\n validate.oneOfNodeTypes = types;\n\n return validate;\n}\n\nexport function assertNodeOrValueType(\n ...types: (NodeTypes | PrimitiveTypes)[]\n): Validator {\n function validate(node: t.Node, key: string, val: any) {\n const primitiveType = getType(val);\n for (const type of types) {\n if (primitiveType === type || is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(val?.type)}`,\n );\n }\n\n validate.oneOfNodeOrValueTypes = types;\n\n return validate;\n}\n\nexport function assertValueType(type: PrimitiveTypes): Validator {\n function validate(node: t.Node, key: string, val: any) {\n if (getType(val) === type) {\n return;\n }\n\n throw new TypeError(\n `Property ${key} expected type of ${type} but got ${getType(val)}`,\n );\n }\n\n validate.type = type;\n\n return validate;\n}\n\nexport function assertShape(shape: Record<string, FieldOptions>): Validator {\n const keys = Object.keys(shape);\n function validate(node: t.Node, key: string, val: any) {\n const errors = [];\n for (const property of keys) {\n try {\n validateField(node, property, val[property], shape[property]);\n } catch (error) {\n if (error instanceof TypeError) {\n errors.push(error.message);\n continue;\n }\n throw error;\n }\n }\n if (errors.length) {\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected to have the following:\\n${errors.join(\"\\n\")}`,\n );\n }\n }\n\n validate.shapeOf = shape;\n\n return validate;\n}\n\nexport function assertOptionalChainStart(): Validator {\n function validate(node: t.Node) {\n let current = node;\n while (node) {\n const { type } = current;\n if (type === \"OptionalCallExpression\") {\n if (current.optional) return;\n current = current.callee;\n continue;\n }\n\n if (type === \"OptionalMemberExpression\") {\n if (current.optional) return;\n current = current.object;\n continue;\n }\n\n break;\n }\n\n throw new TypeError(\n `Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${current?.type}`,\n );\n }\n\n return validate;\n}\n\nexport function chain(...fns: Validator[]): Validator {\n function validate(...args: Parameters<Validator>) {\n for (const fn of fns) {\n fn(...args);\n }\n }\n validate.chainOf = fns;\n\n if (\n fns.length >= 2 &&\n \"type\" in fns[0] &&\n fns[0].type === \"array\" &&\n !(\"each\" in fns[1])\n ) {\n throw new Error(\n `An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.`,\n );\n }\n\n return validate;\n}\n\nconst validTypeOpts = new Set([\n \"aliases\",\n \"builder\",\n \"deprecatedAlias\",\n \"fields\",\n \"inherits\",\n \"visitor\",\n \"validate\",\n \"unionShape\",\n]);\nconst validFieldKeys = new Set([\n \"default\",\n \"optional\",\n \"deprecated\",\n \"validate\",\n]);\n\nconst store = {} as Record<string, DefineTypeOpts>;\n\n// Wraps defineType to ensure these aliases are included.\nexport function defineAliasedType(...aliases: string[]) {\n return (type: string, opts: DefineTypeOpts = {}) => {\n let defined = opts.aliases;\n if (!defined) {\n if (opts.inherits) defined = store[opts.inherits].aliases?.slice();\n defined ??= [];\n opts.aliases = defined;\n }\n const additional = aliases.filter(a => !defined.includes(a));\n defined.unshift(...additional);\n defineType(type, opts);\n };\n}\n\nexport default function defineType(type: string, opts: DefineTypeOpts = {}) {\n const inherits = (opts.inherits && store[opts.inherits]) || {};\n\n let fields = opts.fields;\n if (!fields) {\n fields = {};\n if (inherits.fields) {\n const keys = Object.getOwnPropertyNames(inherits.fields);\n for (const key of keys) {\n const field = inherits.fields[key];\n const def = field.default;\n if (\n Array.isArray(def) ? def.length > 0 : def && typeof def === \"object\"\n ) {\n throw new Error(\n \"field defaults can only be primitives or empty arrays currently\",\n );\n }\n fields[key] = {\n default: Array.isArray(def) ? [] : def,\n optional: field.optional,\n deprecated: field.deprecated,\n validate: field.validate,\n };\n }\n }\n }\n\n const visitor: string[] = opts.visitor || inherits.visitor || [];\n const aliases: string[] = opts.aliases || inherits.aliases || [];\n const builder: string[] =\n opts.builder || inherits.builder || opts.visitor || [];\n\n for (const k of Object.keys(opts)) {\n if (!validTypeOpts.has(k)) {\n throw new Error(`Unknown type option \"${k}\" on ${type}`);\n }\n }\n\n if (opts.deprecatedAlias) {\n DEPRECATED_KEYS[opts.deprecatedAlias] = type as NodeTypesWithoutComment;\n }\n\n // ensure all field keys are represented in `fields`\n for (const key of visitor.concat(builder)) {\n fields[key] = fields[key] || {};\n }\n\n for (const key of Object.keys(fields)) {\n const field = fields[key];\n\n if (field.default !== undefined && !builder.includes(key)) {\n field.optional = true;\n }\n if (field.default === undefined) {\n field.default = null;\n } else if (!field.validate && field.default != null) {\n field.validate = assertValueType(getType(field.default));\n }\n\n for (const k of Object.keys(field)) {\n if (!validFieldKeys.has(k)) {\n throw new Error(`Unknown field key \"${k}\" on ${type}.${key}`);\n }\n }\n }\n\n VISITOR_KEYS[type] = opts.visitor = visitor;\n BUILDER_KEYS[type] = opts.builder = builder;\n NODE_FIELDS[type] = opts.fields = fields;\n ALIAS_KEYS[type as NodeTypesWithoutComment] = opts.aliases = aliases;\n aliases.forEach(alias => {\n FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];\n FLIPPED_ALIAS_KEYS[alias].push(type as NodeTypesWithoutComment);\n });\n\n if (opts.validate) {\n NODE_PARENT_VALIDATIONS[type] = opts.validate;\n }\n if (opts.unionShape) {\n NODE_UNION_SHAPES__PRIVATE[type] = opts.unionShape;\n }\n\n store[type] = opts;\n}\n"],"mappings":"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","ignoreList":[]}